global loader MAGIC_NUMBER equ 0x1BADB002 ; 1 bad boot FLAGS equ 0x0 CHECKSUM equ -MAGIC_NUMBER ; (magic number + checksum + flags should equal 0) section .text: align 4 dd MAGIC_NUMBER dd FLAGS dd CHECKSUM extern kernelMain KERNEL_STACK_SIZE equ 4096 ; 4kb of stack _start: ; setup stack mov esp, stack + KERNEL_STACK_SIZE ; call main function call kernelMain .loop: jmp .loop section .bss align 4 stack: resb KERNEL_STACK_SIZE