enter protected mode

This commit is contained in:
nub31
2025-08-22 21:14:44 +02:00
parent 238345c2a7
commit 9e3f54c909

View File

@@ -1,8 +1,47 @@
bits 16
org 0x7c00
[org 0x7c00]
[bits 16]
CODE_SEG equ gdt_code - gdt_start
cli
lgdt [gdt_descriptor]
mov eax, cr0
or eax, 1
mov cr0, eax
jmp CODE_SEG:start_protected_mode
jmp $
gdt_start:
gdt_null:
dd 0x0
dd 0x0
gdt_code:
dw 0xffff
dw 0x0
db 0x0
db 0b10011010
db 0b11001111
db 0x0
gdt_data:
dw 0xffff
dw 0x0
db 0x0
db 0b10010010
db 0b11001111
db 0x0
gdt_end:
gdt_descriptor:
dw gdt_end - gdt_start - 1
dd gdt_start
[bits 32]
start_protected_mode:
jmp $
halt:
jmp halt
times 510-($-$$) db 0
db 0x55, 0xaa
dw 0xaa55