1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
.global begin_long_mode .section .text .code64 begin_long_mode: // reload segment registers mov $0, %eax mov %eax, %ss mov %eax, %ds mov %eax, %es mov %eax, %fs mov %eax, %gs popq %rdi popq %rsi cli call kernel_main hlt