38 lines
864 B
PHP
38 lines
864 B
PHP
MBALIGN equ 1<<0 ; align loaded modules on page boundaries
|
|
MEMINFO equ 1<<1 ; provide memory map
|
|
FLAGS equ 0 ; this is the Multiboot 'flag' field
|
|
MAGIC equ 0x1BADB002 ; 'magic number' lets bootloader find the header
|
|
CHECKSUM equ -(MAGIC + FLAGS) ; checksum of above, to prove we are multiboot
|
|
section .multiboot
|
|
align 4
|
|
dd MAGIC
|
|
dd FLAGS
|
|
dd CHECKSUM
|
|
|
|
section .bss
|
|
resb 2*4096 ; 0x2000
|
|
|
|
stack_top:
|
|
|
|
section .text
|
|
|
|
_start:
|
|
main:
|
|
xor eax, eax
|
|
xor ecx, ecx
|
|
xor edx, edx
|
|
xor ebx, ebx
|
|
; xor esp, esp
|
|
mov esp, stack_top
|
|
xor ebp, ebp
|
|
xor esi, esi
|
|
xor edi, edi
|
|
|
|
; make space for memory operations
|
|
%rep 8
|
|
push 0
|
|
%endrep
|
|
|
|
push 0
|
|
popf
|