mxrox/boot.s

41 lines
442 B
ArmAsm

global loader
global stack_ptr
extern main
MODULEALIGN equ 1<<0
MEMINFO equ 1<<1
FLAGS equ MODULEALIGN | MEMINFO
MAGIC equ 0x1BADB002
CHECKSUM equ -(MAGIC + FLAGS)
section .mbheader
align 4
MultiBootHeader:
dd MAGIC
dd FLAGS
dd CHECKSUM
section .text
STACKSIZE equ 0x4000
loader:
mov esp, stack+STACKSIZE
push eax
push ebx
call main
cli
hang:
hlt
jmp hang
section .bss
align 4
stack:
resb STACKSIZE
stack_ptr: