1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
global long_mode_start section .text bits 64 long_mode_start: ; load 0 into all data segment registers mov ax, 0 mov ss, ax mov ds, ax mov es, ax mov fs, ax mov gs, ax extern main call main ; print `OKAY` to screen mov rax, 0x2f592f412f4b2f4f mov qword [0xb8000], rax hlt