Outils pour utilisateurs

Outils du site


back2root:ibm-pc-ms-dos:interrupts:int_13:start

Int 13h - Disks - WIP

Most disk BIOS calls use the following parameter scheme:

reg description
AH function request number
AL number of sectors (1-128 dec.)
CH cylinder number (0-1023 dec.)
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)
DL drive number (0=A:, 1=2nd floppy, 80h=C:, 81h=D:)
Note that some programming references use (0-3) as the drive number which represents diskettes only.
ES:BX address of user buffer

and return with:

CF 0 if successful
1 if error
AH status of operation (see INT 13,01)
  • INT 13 diskette read functions should be retried at least 3 times to assure the disk motor has time to spin up to speed
  • physical sector numbers can be converted to and from DOS sector numbers with the following formulas:

DosSector = (sector - 1) + (head * SectorsPerTrack) + (track * SectorsPerTrack * NumHeads)

PhysicalSector = 1 + (DosSector  MOD  SectorsPerTrack)

PhysicalHead = (DosSector / SectorsPerTrack)  MOD  NumHeads

PhysicalTrack = DosSector / (SectorsPerTrack * NumHeads)

Back

back2root/ibm-pc-ms-dos/interrupts/int_13/start.txt · Dernière modification : de frater