summaryrefslogtreecommitdiff
path: root/bootloader/bootloader.asm
diff options
context:
space:
mode:
Diffstat (limited to 'bootloader/bootloader.asm')
-rw-r--r--bootloader/bootloader.asm28
1 files changed, 27 insertions, 1 deletions
diff --git a/bootloader/bootloader.asm b/bootloader/bootloader.asm
index 25b9a46..f1bb48a 100644
--- a/bootloader/bootloader.asm
+++ b/bootloader/bootloader.asm
@@ -4,10 +4,36 @@
;Save the first adress with a label to complete the MBR at the end.
start:
+;Include bios routines and jump to skip including code
+jmp skipInc
+%include "clearScreenIntBios.asm"
+%include "printIntBios.asm"
+skipInc:
+
;Init CPU registers
-mov ax, 0x0C70 ;Put bootloader adress in ax register
+mov ax, 0x07C0 ;Put bootloader adress in ax register
mov ds, ax ;Init data segment
+;Init stack from 0x80000 to 0x8f000
+mov ax, 0x8000
+mov ss, ax ;Set stack segment
+mov ax, 0x0f00
+mov sp, ax ;Set stack offset
+
+;Clear the screen
+call clearScreenIntBios
+
+;Print msg
+mov si, helloBootloader ;load msg in si register
+call printIntBios ;print the msg
+
+;Pause here !
+infiniteLoop:
+ jmp infiniteLoop
+
+;Define data
+helloBootloader db "PiegOS bootloader successfully running !", 0
+
;Complete the MBR with nothing
times 510 - ($ - start) db 0x0