[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]
FUNCTION ReadSector(drive, head, track, sector : Byte; buff: Pointer): Byte;
{ drive = 0 for drive A:, 1 = B:, }
{ 80h = first hard drive. }
ASSEMBLER; ASM
mov ax, 0201h { read 1 sector }
les bx, [buff] { es:bx -> buffer }
mov ch, [track]
mov cl, [sector]
mov dh, [head]
mov dl, [drive]
int 13h
mov al, ah { status result in al }
END;
FUNCTION WriteSector(drive, head, track, sector : Byte; buff: Pointer): Byte;
{ drive = 0 for drive A:, 1 = B:, }
{ 80h = first hard drive. }
ASSEMBLER; ASM
mov ax, 0301h { read 1 sector }
les bx, [buff] { es:bx -> buffer }
mov ch, [track]
mov cl, [sector]
mov dh, [head]
mov dl, [drive]
int 13h
mov al, ah { status result in al }
END;
[Back to DRIVES SWAG index] [Back to Main SWAG index] [Original]