some stuff

This commit is contained in:
Adrien Bourmault 2019-03-05 00:15:08 +01:00
parent a24008e617
commit 991b34eea3
1 changed files with 23 additions and 19 deletions

View File

@ -31,6 +31,7 @@
%include "boot/loader/multiboot.inc" %include "boot/loader/multiboot.inc"
;; Normal entry point, but a little bit unused since we never use it because...
_start: _start:
mov ax, cs ; correcting cs after the horrible far jump mov ax, cs ; correcting cs after the horrible far jump
mov ds, ax ; hm... And ds too mov ds, ax ; hm... And ds too
@ -39,6 +40,7 @@ _start:
xor dl, dl xor dl, dl
jmp 0x0000:main ; pas sûr jmp 0x0000:main ; pas sûr
;; Magnificent multiboot header for GRUB ------------------------------------ ;;
MB_header: MB_header:
align 4 align 4
dd MB_HEADER_MAGIC dd MB_HEADER_MAGIC
@ -50,6 +52,7 @@ MB_header:
dd 00 ; (bss) not necessary dd 00 ; (bss) not necessary
dd MB_start ; entry address GRUB will start at dd MB_start ; entry address GRUB will start at
;; Multiboot entry point for Grub ------------------------------------------- ;;
MB_start: MB_start:
mov esp, KERNEL_STACK ; Setup the stack mov esp, KERNEL_STACK ; Setup the stack
push 0 ; Reset EFLAGS push 0 ; Reset EFLAGS
@ -57,16 +60,17 @@ MB_start:
push eax ; 2nd argument is magic number push eax ; 2nd argument is magic number
push ebx ; 1st argument multiboot info pointer push ebx ; 1st argument multiboot info pointer
call main call main
add esp, 8 ; Cleanup 8 bytes pushed as arguments add esp, 8 ; Cleanup arguments "A la MIPS"
jmp Die jmp Die ; Aufwiedersehen
;; BEGIN OF THE HOLE -------------------------------------------------------- ;; ;; THE HOLE ----------------------------------------------------------------- ;;
Die: Die:
cli cli
hlt ; die nooooow hlt ; die nooooow
;jmp 0xF000:0xFFF0 ;jmp 0xF000:0xFFF0
jmp $ jmp $
;; END OF THE HOLE ---------------------------------------------------------- ;;
;; THE CODE ------------------------------------------------------------------;;
main: main:
jmp Die jmp Die