31 lines
428 B
NASM
31 lines
428 B
NASM
%define MAGIC 0xe85250d6
|
|
%define ARCH 0
|
|
%define LEN (header_end - header_start)
|
|
%define CHECKSUM -(MAGIC + ARCH + LEN)
|
|
|
|
header_start:
|
|
align 8
|
|
dd MAGIC
|
|
dd ARCH
|
|
dd LEN
|
|
dd CHECKSUM
|
|
dw 0
|
|
dd 8
|
|
header_end:
|
|
|
|
section .bss
|
|
align 16
|
|
resb 16384
|
|
stack_top:
|
|
|
|
extern kernel_main
|
|
|
|
section .text
|
|
global _start
|
|
_start:
|
|
mov esp, stack_top
|
|
call kernel_main
|
|
cli
|
|
hang:
|
|
hlt
|
|
jmp hang |