summaryrefslogtreecommitdiff
path: root/bootloader/bootloader.asm
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-19 09:19:58 +0400
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-19 09:19:58 +0400
commit37e7a5d80b88d29ae1b76fc6efc9f0b819c18c02 (patch)
treef8b82f4ed1e2eb441f66d9c248b2d87b46fafc0f /bootloader/bootloader.asm
parentcef56790ea642c4308e34c280508fdcc63a313f0 (diff)
parenta49a53e48af9bdf64fee43c3772cb654ceb8e6ab (diff)
Solve conflicts
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