diff --git a/lib/print.asm b/lib/print.asm index 906c6e5..85e2124 100644 --- a/lib/print.asm +++ b/lib/print.asm @@ -1,33 +1,33 @@ -; 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 +; 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