blob: cfbf58c62b890a15ab9380be283e3a398a608705 [file] [log] [blame]
org 100h
[map all]
section .bss ; follows=.data
buffer resb 123h
section .data
msg db "this is a message", 0
section .text
mov ax, msg
call showax
mov ax, buffer
call showax
ret
;-----------------
showax:
push cx
push dx
mov cx, 4 ; four digits to show
.top
rol ax, 4 ; rotate one digit into position
mov dl, al ; make a copy to process
and dl, 0Fh ; mask off a single (hex) digit
cmp dl, 9 ; is it in the "A" to "F" range?
jbe .dec_dig ; no, skip it
add dl, 7 ; adjust
.dec_dig:
add dl, 30h ; convert to character
push ax
mov ah, 2
int 21h
pop ax
loop .top
pop dx
pop cx
ret
;--------------------------