summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/x86/boot/bios.inc19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/x86/boot/bios.inc b/arch/x86/boot/bios.inc
new file mode 100644
index 0000000..d01b27c
--- /dev/null
+++ b/arch/x86/boot/bios.inc
@@ -0,0 +1,19 @@
+.macro BIOS_PRINT string
+ mov $0x0e, %ah # Set writing char in TTY mode routine
+ mov \string, %si # Set in Source Index reg the beginning
+ # address of a string
+print_loop\@:
+ lodsb # Increase SI by 1 byte => get next char
+ or %al, %al # Check for a '\0'
+ jz print_done\@
+
+ int $0x10 # Print a char in al register
+ jmp print_loop\@
+print_done\@:
+.endm
+
+.macro PUTCHAR char
+ mov $0x0e, %ah # Set writing char in TTY mode routine
+ mov \char, %al
+ int $0x10 # Print a char in al register
+.endm