Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- TASM 2.x / MASM 6.x Assembly Language - <b>int 13h, 04h (4) verify sectors all</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 13h,  04h (4)        Verify Sectors                                   all

    Verifies one or more fixed disk or diskette sectors.

       On entry:      AH         04h
                      AL         Number of sectors to verify
                      CH         Cylinder number (10-bit value; upper 2 bits
                                 in CL)
                      CL         Starting sector number
                      DH         Head number
                      DL         Drive number

       Returns:       AH         Status of operation (See Service 01h)
                      AL         Number of sectors verified
                      CF         Set if error, cleared otherwise

  --------------------------------------------------------------------------

    Verifies the specified number of sectors starting at the specified
    location (head, cylinder, and track) on the disk. The verification
    process consists of checking that the sectors can be found and read
    (checking address fields) and that the Cyclic Redundancy Check (CRC)
    is correct. No memory area is needed for this operation.

       Notes:         Values in DL less than 80h specify floppy disks;
                      values greater than 80h specify fixed disks. For
                      example, 0 means the first floppy diskette, while
                      80h means the first fixed disk.

                      The cylinder number is a ten-bit quantity (0 through
                      1023). Its most significant two bits are in bits 7
                      and 6 of CL; the remaining eight bits are in CH. The
                      starting sector number fits in the low-order portion
                      (lower 6 bits) of CL.

                      The value returned in AL (number of sectors
                      verified) may not give the correct number of
                      sectors, even though no error occurred while
                      verifying. Use the results of the Carry flag and AH
                      (status flag) to determine the status of the
                      operation.

                      The sectors verified must all be on the same
                      cylinder and same side for diskettes, while a hard
                      disk can verify up to 255 sectors at one time.

                      If an error is encountered verifying a sector, use
                      Service 0h to reset the drive and retry the
                      operation. It is recommended that at least 3 retries
                      be attempted before an error is signalled, since the
                      error may have resulted from the diskette motor not
                      being up to speed.

                      For the AT, XT-286, and PC Convertible, the BIOS
                      executes INT 15h, Service 90h (Device Busy), for the
                      diskette (Type = 01h) and the fixed disk (Type =
                      00h) prior to waiting for the interrupt. INT 15h,
                      Service 91h (Interrupt Complete), is executed upon
                      completion. Also diskette operations that require
                      the diskette motor to be on will call INT 15h,
                      Service 90 (Device Busy), with the type equal to
                      "Diskette Drive Motor Start" (Type = FDh). This
                      allows the system to perform another task while the
                      drive motor is waiting to get up to speed.

See Also: INT 13h, 01h

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson