Table des matières
INT 0x13 - 0x02 - Read Disk Sectors
Request/Call:
reg | value | descr |
---|---|---|
AH | 0x02 | |
AL | var | number of sectors to read (1-128 dec.) |
CH | var | track/cylinder number (0-1023 dec., see below) |
CL | var | sector number (1-17 dec.) |
DH | var | head number (0-15 dec.) |
DL | var | drive number (0=A:, 1=2nd floppy, 80h=drive 0, 81h=drive 1) |
ES:BX | var | pointer to buffer |
Return:
reg | descr |
---|---|
CF | 0 : succesfull 1 : error |
AH | status (see INT 13,01) |
AL | number of sectors read |
Notes & Comments
- BIOS disk reads should be retried at least three times and the controller should be reset upon error detection
- be sure ES:BX does not cross a 64K segment boundary or a DMA boundary error will occur
- many programming references list only floppy disk register values
- only the disk number is checked for validity
- the parameters in CX change depending on the number of cylinders; the track/cylinder number is a 10 bit value taken from the 2 high order bits of CL and the 8 bits in CH (low order 8 bits of track):
bit | descr |
---|---|
0-5 | sector number |
6-7 | high order 2 bits of track/cylinder |
8-15 | low order 8 bits of track/cyl number |