Int 13/AH=21h

Prev Next Ralf Interrups Categories Contents

------

HARD DISK - PS/1 and newer PS/2 - READ MULTIPLE DISK SECTORS

AH = 21h
AL = number of sectors to write
CH = low byte of 12-bit cylinder number
CL = starting sector (bits 0-5) and bits 8-9 of cylinder (bits 6-7)
DH = head number (bits 0-5) and bits 10-11 of cylinder (bits 6-7)
DL = drive number (80h,81h)
ES:BX -> buffer for data to be read

Return:
CF clear if successful ES:BX buffer filled CF set on error AH = status (see #00234 at AH=01h)

Desc: Read from the disk using the Multiple Block mode available on newer IDE drives and some hard disk controllers, which generates an interrupt only after the end of transferring a group of sectors rather than after each sector

Notes: Must call AH=24h"PS/1" before using this function. Input values in CL and DH are not range-checked. The byte at address 0040h:0074h is set to the status of the operation

See Also: AH=02h - AH=22h"PS/1" - AH=23h"PS/1" - AH=24h"PS/1"

Category: Disk I/O Enhancements - Int 13h - H

------

Prev Next Ralf Interrups Categories Contents