summaryrefslogtreecommitdiff
path: root/src/bootloader/bios_functions/print.asm
diff options
context:
space:
mode:
Diffstat (limited to 'src/bootloader/bios_functions/print.asm')
-rw-r--r--src/bootloader/bios_functions/print.asm58
1 files changed, 0 insertions, 58 deletions
diff --git a/src/bootloader/bios_functions/print.asm b/src/bootloader/bios_functions/print.asm
deleted file mode 100644
index 303fa8f..0000000
--- a/src/bootloader/bios_functions/print.asm
+++ /dev/null
@@ -1,58 +0,0 @@
-;TODO fix null problem, allow passing value insted of pointer
-bios_print:
-pusha
-mov ah, 0x0e
-
-.print_loop:
-mov al, [bx]
-cmp al, 0
-je .fini
-
-test cx, cx ; if cx is zero, ascii, otherwise hex string
-jne .print_hex
-int 0x10
-.print_hex_ret:
-inc bx
-jmp .print_loop
-
-.fini:
-mov al, 0xd
-int 0x10
-mov al, 0xa
-int 0x10
-popa
-ret
-
-
-.print_hex:
-mov al, '0'
-int 0x10
-
-mov al, 'x'
-int 0x10
-
-mov al, [bx]
-shr al, 4
-call .bios_print_nibble
-
-mov al, [bx]
-and al, 0x0f
-call .bios_print_nibble
-
-mov al, ' '
-int 0x10
-
-jmp .print_hex_ret
-
-
-.bios_print_nibble:
-cmp al, 9
-ja .print_hex_letter
-add al, 0x30
-int 0x10
-ret
-
-.print_hex_letter:
-add al, 0x57
-int 0x10
-ret