bits 64
default rel
extern kmain
global _start
section .text
_start:
; Set up segment registers for long mode
mov ax, 0x30
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
mov ss, ax
xor rbp, rbp
lea rsp, [rel kernelStackEnd]
call kmain
.hang:
cli
hlt
jmp .hang
;section .bss
align 16
kernelStackEnd:
times 16384 db 0
kernelStackStart: