]> git.dujemihanovic.xyz Git - nameless-os.git/blobdiff - boot.s
Add Makefile
[nameless-os.git] / boot.s
diff --git a/boot.s b/boot.s
index 50730d0c39dd9566f3eef2e0b87582758af13444..eb115d0324dd6a2e8e83d94aee9d197d71299392 100644 (file)
--- a/boot.s
+++ b/boot.s
@@ -1,22 +1,23 @@
        bits 16 ; boot sectors run in real mode
-       org 7c00h ; boot sector is always loaded at 0x7c00
+       org 7c00h ; boot sector is loaded at 0x7c00
 
-       mov al, 1 ; update cursor after write
-       mov bh, 0 ; write to page 0
-       mov bl, 00000111b ; attribute: high nibble is foreground (light gray),
-                                         ; low nibble is background (black)
-                                         ; NOTE: in the binary, these will be inverted, so low nibble here will become high nibble in binary and vice versa!
-       mov cx, msg1end - msg1 ; size of message
-       mov dl, 0 ; column to write to
-       mov dh, 0 ; row to write to
-       push cs ; push code segment to stack
-       pop es ; pop pushed code segment to extra segment, this serves as the base to the string
-       mov bp, msg1 ; offset where the string is
-       mov ah, 13h ; write string subservice 
-       int 10h ; call BIOS interrupt 0x10
-       jmp msg1end ; jmp to endless loop
-       msg1 db "Gotta start somewhere"
-       msg1end: jmp msg1end
+       mov di, printing_numbers
+       call print
+
+       mov dx, 0DEADh ; number to print
+       call print_word
+       mov dx, 0BEEFh
+       call print_word
+
+       mov di, goodbye
+       call print
+
+       jmp $
+
+printing_numbers: db "Printing some random hex numbers", 0
+goodbye: db "Thank you for your attention", 0
+
+%include "print.s"
 
        times 510-($-$$) db 0 ; fill with 0 until 0x1fc is reached
-       dw 0xaa55 ; BIOS MBR signature
+       dw 0AA55h ; BIOS MBR signature