AH = 02
AL = number of sectors to read (1-128 dec.)
CH = track/cylinder number (0-1023 dec., see below)
CL = sector number (1-17 dec.)
DH = head number (0-15 dec.)
DL = drive number (0=A:, 1=2nd floppy, 80h=drive 0, 81h=drive 1)
ES:BX = pointer to buffer
on return:
AH = status (see ~INT 13,STATUS~)
AL = number of sectors read
CF = 0 if successful
= 1 if error
- 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):
¦F¦E¦D¦C¦B¦A¦9¦8¦7¦6¦5-0¦ CX
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +----- sector number
¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ +--------- high order 2 bits of track/cylinder
+------------------------ low order 8 bits of track/cyl number
- see ~INT 13,A~
Zurück zum Interrupt Info. | Roger Morgan / 1998 | L.Änderung 29.03.99 |