hexprint16:
xchg ah, al
call hexprint8
hexprint8:
push ax
push cx
mov cl, 4
shr al, cl
call hexprint4
pop cx
pop ax
hexprint4:
and al, 0xf
cmp al, 10
jb .digit09
add al, 'a' - '0' - 10
.digit09:
add al, '0'
mov ah, 0x0e
int 0x10
ret
space:
mov ax, 0x0e00 + ' '
hang:
hlt
jmp hang
wait_key:
xor ah, ah
int 0x16