;al=待转换的十六进制数码
;al=ascii码
htoasc proc
and al,0fh
add al,90h
daa
adc al,40h
daa
ret
htoasc endp
------解决方案--------------------------------------------------------
不好意思,#2~#5错了
调用htoasc前,设al=01h,调用后al=31h,即‘1’
htoasc proc
and al,0fh
add al,90h ;al=91h
daa ; al=91h,cf=0,af=0
adc al,40h ; al=40h+91h=d1h
daa ; al=d1h+60h=31h,cf=1
ret
htoasc endp
调用htoasc前,设al=0Bh,调用后al=41h,即‘B’
htoasc proc
and al,0fh
add al,90h ;al=9bh
daa ; al=9bh+6=01h,cf=1,af=0
adc al,40h ; al=40h+cf+01h=42h
daa ; al=42h
ret
htoasc endp