You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried running the example 14 on a real machine it's a Pentium dual-core. I debugged the code and I found that the problem starts at the line call KERNEL_OFFSET
I think the kernel is not loaded here, however, the disk procedures don't return any error, so I assume the int 0x13 already loads the kernel but where is it?
I don't know if my inspections are right or not. Any help, please?
The text was updated successfully, but these errors were encountered:
Even i had problems running things on real machine.
Eventually i found a solution, that was just to set the CS register to zero. CS being non-zero causes problem with offsetting of the memory thats why.
here is how it worked for me:
; --[init stuf for your bootloader]--jmp0:mainBOOT ; setting CS register to zero with the jumpmainBOOT:mov[DISK],dl ; saving the drive number we booted frommovbp,0x9000 ; setting the base pointer far from kernel load location, cuz stack grows downwardsmovsp,bp ; setting stack pointer; --[the rest of your bootloader]--
tell me if it works or not.
PS: last time i made a fake entry for the drive as a 1.44 MB floppy disk. wasted 5 HOURS! then came to know that CS register was non-zero. dont make the same mistake xd.
I tried running the example 14 on a real machine it's a Pentium dual-core. I debugged the code and I found that the problem starts at the line
call KERNEL_OFFSET
I think the kernel is not loaded here, however, the disk procedures don't return any error, so I assume the int 0x13 already loads the kernel but where is it?
I don't know if my inspections are right or not. Any help, please?
The text was updated successfully, but these errors were encountered: