永发信息网

如何把一位16进制的数转换成对应的ASCII码 2

答案:2  悬赏:20  手机版
解决时间 2021-01-31 01:14
如何把一位16进制的数转换成对应的ASCII码 2
最佳答案
补充:之前第一段话说的有问题,所以修改了下,如下:(另外提交的时候没注意,第一个兄弟的回答已经是正确的了^_^)
主要思想是0~9转为对应的ASCII码时加30h,而a,b,c,d,e,f则加37h,比30h多出来的7h就是通过adc(多加了CF的01h)以及daa(多加了06h)实现的。

先说对0~9的,以5为例,
and al,0fh
add al,90h
变为95h
daa
这个时候的daa,由于95h低位,高位都小于9,且无进位,所以不变
adc al,40h
95h + 40h + CF = D5h
daa
低位不变,高位大于9,所以加60h,变为35h,且CF = 1
最终结果为35h,即字符5对应的ascii码53.

然后是A~F,以C为例:
and al,0fh
add al,90h
变为9Ch
daa
这个时候的daa,先看低位,由于低位是C,大于9,所以加06h,结果变为A2h,再看高位,高位A,大于9,所以加60h,变为02h,CF = 1(有进位)

adc al,40h
adc操作,02h + 40h + CF = 43h
daa
此时43h低高位都小于9,所以无变化。最后结果43h,也即C的ASCII码67
全部回答
这段程序的难点就是daa的作用: 如果al的低4位大于9或af=1,则al的内容加06h,并将af置1;然后如果al的高4位大于9或cf=1,则al的内容加60h,且将cf置1。如果两个都不满足,则将af,cf清零。 1. 如果al的值是0-9,那么: add al,90h ---------al变成90-99h daa ---------al不变 adc al,40h ---------al为d0-d9 daa ---------al加上60h,变成30-39h,正是0-9的ascii码。 2. 如果al的值是a-f,那么: add al,90h ---------al变成9a-9fh daa ---------al加6,高4位变a,所以再加60h,成00-05,且cf=1 adc al,40h ---------al为41-46h,正是a-f的ascii码。 daa ---------al不变
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
一个人在外地上高中学籍也转到外地了,高考考
输卵管碘油造影疼吗
如何严格规范公务支出
雕润的意思是什么啊?知道的请说下!
雪铁龙世嘉2012款电脑板维修多少钱
1.若m分之m的绝对值等于1,则m?0 2.m分之m的绝
踏板摩托车油管拔掉会漏油吗
在曝光的明星中,有多少是女的比男的年龄大的
驼负的意思是什么啊?知道的请说下!
已知三角形ABC的顶点为A(2,2),B(6,0)和C
石墨是一种混合型晶体 是哪种晶体和哪种晶体
室内捉人游戏有哪种?
作计的意思是什么啊?知道的请说下!
剑魂带佩鲁斯有意义吗???????????
根据国债()的不同,可将国债分为货币国债与
推荐资讯
在波士顿矩阵中,拥有较高的市场占有率和较低
橡胶树每天割多少胶单株每日的出胶量?
手机号怎么解绑快手,我原来那个手机号丢了,
Where can I find the swimwear supplie
如何让淘宝店铺的商品能自动发货到旺旺
南园旅馆(承德平泉县)地址在什么地方,想过去
没有抽烟为什么房间里有很多烟味也没去其他地
银行对某头寸设定了50万元的限额,当该头寸累
2016广西河池市罗城县中小学教师招聘报考情况
人民币11117171号码好吗
抚顺市新抚区中行分行营业部地址在什么地方,
虎妞针织地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?