jankos/loader/main.s

32 lines
615 B
ArmAsm

; Since we have no stack we have to create one for the OS
global loader
; NOTE: these symbols are what we use to represent the "magic bytes" for the whole os
MAGIC_NUMBER equ 0x1BADB002
FLAGS equ 0x0
CHECKSUM equ -MAGIC_NUMBER
; extern kmain
section .text
; align all instructions to 4 byte boundary by the x86 instruction set law
align 4
; dropping our magic and other things into memory
dd MAGIC_NUMBER
dd FLAGS
dd CHECKSUM
; sets up our gdt and segment selectors for later use
;loader:
; call kmain
loader:
.loop:
mov eax, 0xfeedbeef
jmp .loop
mov eax, 0xfeedbeef