summaryrefslogtreecommitdiff
path: root/bootloader/printIntBios.asm
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-18 11:16:14 +0400
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-18 11:16:14 +0400
commitb4c413da4b691dfd04beb5c747dd922e097dffc1 (patch)
tree744079ee9ccb1027a770944ff0a9bf99a6d5a38b /bootloader/printIntBios.asm
parent22a23d6784e8104366f81a3b4902c4a1c3c3726a (diff)
Add print routine
Diffstat (limited to 'bootloader/printIntBios.asm')
-rw-r--r--bootloader/printIntBios.asm27
1 files changed, 27 insertions, 0 deletions
diff --git a/bootloader/printIntBios.asm b/bootloader/printIntBios.asm
new file mode 100644
index 0000000..2a6c735
--- /dev/null
+++ b/bootloader/printIntBios.asm
@@ -0,0 +1,27 @@
+printIntBios:
+
+ ;Save registers
+ push ax
+ push bx
+
+ ;Print loop
+ .loop:
+
+ mov ah, 0x0E ;Use 0xE bios service for teletype print
+ lodsb ;Load char in al and inc SI register
+ cmp al, 0x0 ;Check if we print all the chain
+ je .end ;If yes go to end
+
+ mov bl, 0x0F ;Else set color register
+
+ int 0x10 ;And print the character
+
+ jmp .loop ;Go to the next character
+ .end:
+
+ ;Restore registers
+ pop bx
+ pop ax
+
+ ;Back to previous task
+ ret