mirror of https://github.com/E-Almqvist/eOS
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
450 B
24 lines
450 B
disk_read:
|
|
pusha
|
|
|
|
push dx
|
|
mov ah, BIOS_DISK_READ
|
|
mov al, dh ; sector count
|
|
mov cl, 0x02
|
|
|
|
mov ch, 0x00 ; read from first cylinder
|
|
mov dh, 0x00 ; head
|
|
|
|
; data pointer: es:bx (standard)
|
|
int BIOS_DISK_INT ; do the interrupt
|
|
jc disk_error ; if flag is set then jump to error
|
|
|
|
disk_error:
|
|
mov bx, DISK_ERROR
|
|
call println
|
|
|
|
mov dh, ah
|
|
|
|
|
|
DISK_ERROR: db "Disk read error", ASCII_END
|
|
SECTORS_ERROR: db "Invalid number of sectors read", ASCII_END
|
|
|