Loader moved into new build workflow
This commit is contained in:
31
loader/main.s
Normal file
31
loader/main.s
Normal file
@@ -0,0 +1,31 @@
|
||||
; 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user