- 思想
- 0 ~ 9和’
0' ~ '9'
之间的映射关系
1 + 30H = 31H = '1'
0BH + 37H = 42H = 'B'
标准处理手法:先加上30H,与'9' = 39H
比较,大于就加7H
assume cs:code,ds:data
data segment
show db 2 dup(0),0AH,0DH,'$'
data ends
code segment
start:
mov ax,data
mov ds,ax
xor ax,ax
mov si,0
mov al,2Bh;AL传递参数用
call showbyte
lea dx,show
mov ah,09h
int 21h
mov ax,4ch
int 21h
showbyte:
mov ah,al
mov cl,4
shr ah,cl;右移4位得到高四位的值
add ah,30h
cmp ah,'9'
jl next0
add ah,7h
next0:
mov show[si],ah
;处理AL
inc si
and al,00001111b;al中为低4位的值
add aL,30h
cmp al,'9'
jl next1
add al,7h
next1:
mov show[si],al
ret
code ends
end start