:: limine / test / multiboot_trampoline.asm 684 B raw

1
%define MULTIBOOT_HEADER_MAGIC 0x1badb002
2
3
; Flags:
4
;
5
; bit 2: request framebuffer
6
%define MULTIBOOT_HEADER_FLAGS (1 << 2)
7
8
extern multiboot_main
9
10
global _start
11
12
section .multiboot_header
13
14
align 4
15
header_start:
16
    dd MULTIBOOT_HEADER_MAGIC 	                                    ; Magic number (multiboot 1)
17
    dd MULTIBOOT_HEADER_FLAGS                                       ; Flags
18
    dd -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)           ; Checksum
19
header_end:
20
21
section .text
22
bits 32
23
24
_start:
25
    cli
26
27
    mov esp, stack_top
28
29
    push ebx
30
    push eax
31
32
    call multiboot_main ; Jump to our multiboot test kernel
33
34
section .bss
35
stack_bottom:
36
    resb 4096 * 16
37
stack_top:
tab: 248 wrap: offon