Entering 32bit (un)real mode
Posted: Fri Jan 04, 2008 12:44 am
Ive been searching on the net for like a week now and I havn't found any resource that teaches the basics as good as this site... So I thought id ask here.
Ive fiddled with the code from the tutorials here and came up with this:
Ive also commented out:
The thing is is that this does not work... what have I done wrong?
Ive fiddled with the code from the tutorials here and came up with this:
Code: Select all
EnterStage3:
cli ; clear interrupts
mov eax, cr0 ; set bit 0 in cr0--enter pmode
or eax, 1
dec eax
mov cr0, eax
mov si, JumpMsg
call Puts16
jmp 08h:Stage3 ; far jump to fix CS. Remember that the code selector is 0x8!
Code: Select all
;-------------------------------;
; Install our GDT ;
;-------------------------------;
;call InstallGDT ; install our GDT
;-------------------------------;
; Enable A20 ;
;-------------------------------;
;call _EnableA20
The thing is is that this does not work... what have I done wrong?