INT 13H 02H: Read Sectors

                                                              [PC] [XT] [AT]
 Expects: AH    02H
          AL    sector count (see notes)
          CH    track (cylinder) number (0-n) ◄═╗
          CL    sector number (1-n) ◄═══════════╩══ (see notes)
          DL    drive: 0-3=diskette; 80H-81H=hard disk
          DH    head number
          ES:BX caller's buffer address
          0:078 Diskette Parameter Table  (for diskette operations)
          0:104 Hard Disk Parameter Table  (for hard disk operations)
 Returns: AH    BIOS disk error code if CF is set to CY
          ES:BX caller's buffer will contain requested data (if no error)
    Info: This reads the specified sectors into memory at ES:BX.

   Notes: ■ CX is actually used as a 6-bit and 10-bit field to specify
            sector and cylinder (this is important on hard disks with more
            than 256 cylinders).  CX is laid out as:

                ┌────── CH ─────┬───── CL ──────┐
                 1 1 1 1 1 1
            CX: ║c c c c c c c c C c S s s s s s║
                                 ╚═╩═══► high bits of cylinder number

            Note that this imposes a "hard stop" low-level limit on the
            number of cylinders on a disk (1024).  Some BIOSs may support
            larger values by simulating additional heads and translating
            each request.

          ■ On diskette reads, this function stops a multi-sector read at
            the last sector in a track.

          ■ On hard disks (with XT and AT BIOSes), a multi-sector read
            continues on the next higher head of the same cylinder and if
            necessary, advances to the next higher cylinder on the first

          ■ Parameters are the same as for INT 13H 03H (write sectors).

          ■ Use INT 13H 0aH (extended read to read data+ECC).

See Also: INT 25H (read absolute sectors)
          DOS fn 440dH 61H (IOCTL read track)
          INT 13H: BIOS Disk I/O
          ROM-BIOS Functions