Specifications

MICROPROCESSADORES
INTERRUPÇÕES
5
Luís Miguel Charrua Figueiredo 5 - 8 E.N.I.D.H.
INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)
AH = 0Ah
AL = number of sectors (01h may be only value supported)
CH = low eight bits of cylinder number
CL = sector number (bits 5-0)
high two bits of cylinder number (bits 7-6)
DH = head number
DL = drive number (80h = first, 81h = second)
ES:BX -> data buffer
Return
: CF clear if successful
CF set on error
AH = status (see #00234)
AL = number of sectors transferred
Notes
: this function reads in four to seven bytes of error-correcting code
along with each sector's worth of information data errors are not automatically
corrected, and the read is aborted after the first sector with an ECC error used for
diagnostics only on PS/2 systems; IBM officially classifies this function as optional
BUG
: on the original IBM AT BIOS (1984/01/10) this function does not
disable
interrupts for harddisks (DL >= 80h). On these machines the MS-
DOS/
PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the
buggy code in the ROM (see CALL F000h:211Eh)
SeeAlso
: AH=02h,AH=0Bh,MEM 0040h:0074h
INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)
AH = 0Bh
AL = number of sectors (01h may be only value supported)
CH = low eight bits of cylinder number
CL = sector number (bits 5-0)
high two bits of cylinder number (bits 7-6)
DH = head number
DL = drive number (80h = first, 81h = second)
ES:BX -> data buffer
Return
: CF clear if successful
CF set on error
AH = status (see #00234)
AL = number of sectors transferred
Notes
: each sector's worth of data must be followed by four to seven bytes of
error-correction information used for diagnostics only on PS/2 systems; IBM
officially classifies this function as optional
SeeAlso
: AH=03h,AH=0Ah,MEM 0040h:0074h
INT 13 - HARD DISK - SEEK TO CYLINDER
AH = 0Ch
CH = low eight bits of cylinder number
CL = sector number (bits 5-0)
high two bits of cylinder number (bits 7-6)
DH = head number
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status (see #00234)
SeeAlso
: AH=00h,AH=02h,AH=0Ah,AH=47h
INT 13 - HARD DISK - RESET HARD DISKS
AH = 0Dh
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status (see #00234)
Notes
: reinitializes the hard disk controller, resets the specified drive's
parameters, and recalibrates the drive's heads (seek to track 0) for PS/2 35SX,
35LS, 40SX and L40SX, as well as many other systems, both the master drive
and the slave drive respond to the Reset function that is issued to either drive not
for PS/2 ESDI drives
SeeAlso
: AH=00h,INT 21/AH=0Dh
INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)
AH = 0Eh
DL = drive number (80h = first, 81h = second hard disk)
ES:BX -> buffer
Return
: CF set on error
CF clear if successful
AH = status code (see #00234)
Notes
: transfers controller's sector buffer. No data is read from the drive
used for diagnostics only on PS/2 systems
SeeAlso
: AH=0Ah
INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)
AH = 0Fh
DL = drive number (80h = first, 81h = second hard disk)
ES:BX -> buffer
Return
: CF set on error
CF clear if successful
AH = status code (see #00234)
Notes
: does not write data to the drive should be called before formatting to
initialize an XT-type controller's sector buffer used for diagnostics only on PS/2
systems
SeeAlso
: AH=0Bh
INT 13 - HARD DISK - CHECK IF DRIVE READY
AH = 10h
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status (see #00234 at AH=01h)
SeeAlso
: AH=11h
INT 13 - HARD DISK - RECALIBRATE DRIVE
AH = 11h
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status (see #00234 at AH=01h)
Note
: causes hard disk controller to seek the specified drive to cylinder 0
SeeAlso
: AH=00h,AH=0Ch,AH=10h,AH=19h"FIXED DISK",MEM 0040h:003Eh
INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)
AH = 12h
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status code (see #00234 at AH=01h)
AL = 00h
SeeAlso
: AH=13h,AH=14h
INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)
AH = 13h
DL = drive number (80h = first, 81h = second hard disk)
Return
: CF set on error
CF clear if successful
AH = status code (see #00234 at AH=01h)
AL = 00h
SeeAlso
: AH=12h"HARD DISK",AH=14h"HARD DISK"
INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC
AH = 14h
Return
: CF set on error
CF clear if successful
AH = status code (see #00234 at AH=01h)
AL = 00h
SeeAlso
: AH=12h,AH=13h
INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)
AH = 15h
DL = drive number (bit 7 set for hard disk)
(AL = FFh, CX = FFFFh, see Note)
Return
: CF clear if successful