diff options
author | Joursoir <chat@joursoir.net> | 2021-08-13 23:19:36 +0000 |
---|---|---|
committer | Joursoir <chat@joursoir.net> | 2021-08-13 23:24:30 +0000 |
commit | b51923e1fa3ab6c3cdeb7c1ff139083082511d33 (patch) | |
tree | d212fe984b1577b65dbb15f698a689281ab2f6dd /arch/x86/boot | |
parent | 4432d2242c1474ec0195c4952897a629b212c996 (diff) | |
download | mfsos-b51923e1fa3ab6c3cdeb7c1ff139083082511d33.tar.gz mfsos-b51923e1fa3ab6c3cdeb7c1ff139083082511d33.tar.bz2 mfsos-b51923e1fa3ab6c3cdeb7c1ff139083082511d33.zip |
x86/boot: add macros for BIOS print interrupts
Diffstat (limited to 'arch/x86/boot')
-rw-r--r-- | arch/x86/boot/bios.inc | 19 |
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 |