rulimine/test/multiboot_trampoline.asm

38 lines
684 B
NASM

%define MULTIBOOT_HEADER_MAGIC 0x1badb002
; Flags:
;
; bit 2: request framebuffer
%define MULTIBOOT_HEADER_FLAGS (1 << 2)
extern multiboot_main
global _start
section .multiboot_header
align 4
header_start:
dd MULTIBOOT_HEADER_MAGIC ; Magic number (multiboot 1)
dd MULTIBOOT_HEADER_FLAGS ; Flags
dd -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS) ; Checksum
header_end:
section .text
bits 32
_start:
cli
mov esp, stack_top
push ebx
push eax
call multiboot_main ; Jump to our multiboot test kernel
section .bss
stack_bottom:
resb 4096 * 16
stack_top: