rdos/lib/print.asm

34 lines
445 B
NASM
Raw Normal View History

2019-09-26 16:55:46 +02:00
; important functions in this file: kprintf
; print a word
; in: ax
print16:
xchg ah,al
call print8
xchg ah,al
; print a byte
; in: al
print8:
push ax ; avoid destroying ah
push bx
xor bx, bx
aam 16 ; high nibble moved into ah, low nibble into al
add ax, 0x3030
push ax
xchg al, ah
call .nib
pop ax
call .nib
pop bx
pop ax
ret
.nib:
cmp al, 0x3a
jl .out
add al, 0x07
.out:
mov ah, 0x0e
int 0x10
ret