;把al保存的数值以16进制字符的形式显示在屏幕中央
assume cs:code
code segment
start:
mov al, 0abh ;设置参数
call showbyte
mov ah, 0
int 16h
mov ax, 4c00h
int 21h
showbyte:
jmp short show
table db '0123456789ABCDEF' ;用table[bx]来访问字符表
show:
push bx
push cx
push es
mov ah, al
mov cl, 4
shr ah, cl
and al, 00001111b
mov bl, ah ;通过用table[bx]查表
mov bh, 0 ;把ah里的数值转换成对应的ASCII码
mov ah, table[bx]
mov bx, 0b800h
mov es, bx
mov es:[160 * 12 + 40 * 2], AH ;改
mov bl, al
mov BH, 0 ;改
mov ah, table[bx]
mov es:[160 * 12 + 41 * 2], AH ;改
pop es
pop cx
pop bx
ret
code ends
end start
共改了三处。