From b51923e1fa3ab6c3cdeb7c1ff139083082511d33 Mon Sep 17 00:00:00 2001
From: Joursoir <chat@joursoir.net>
Date: Fri, 13 Aug 2021 23:19:36 +0000
Subject: x86/boot: add macros for BIOS print interrupts

---
 arch/x86/boot/bios.inc | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 arch/x86/boot/bios.inc

(limited to 'arch/x86/boot')

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
-- 
cgit v1.2.3-18-g5258