[SOLVED] Problem with int 0x13 ah=0x48
Posted: Thu Aug 28, 2014 11:13 am
Today I decided to add boot device locator (should convert initial DL to ATA port number and master/slave bit).
This is code from my stage 2 bootloader:
But something goes wrong (carry flag sets).
EDIT: I am 100% sure it restores DL right.
This is code from my stage 2 bootloader:
Code: Select all
...
xor eax, eax
mov al, [edx] ; Restores DL.
mov edx, eax
mov ah, 0x48
mov si, 0x500
int 0x13
jc disk_io_err
cli ; Fake breakpoint for testing.
hlt
...
EDIT: I am 100% sure it restores DL right.