global loader MAGIC_NUMBER equ 0x1BADB002 FLAGS equ 0x0 CHECKSUM equ -MAGIC_NUMBER KERNEL_STACK_SIZE equ 4096 ; size of stack in bytes section .text: align 4 dd MAGIC_NUMBER dd FLAGS dd CHECKSUM loader: extern kmain call kmain ;mov eax, 0xCAFEBABE ;mov esp, kernel_stack + KERNEL_STACK_SIZE ; piont ESP to the start of the stack (end of memory area) .loop: jmp .loop section .bss alignb 4 resb KERNEL_STACK_SIZE ; reserve stack for kernel kernel_stack: