Files
nub-os/boot/boot.asm
2025-08-22 21:14:44 +02:00

47 lines
612 B
NASM

[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 $
times 510-($-$$) db 0
dw 0xaa55