为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

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

2017-10-17 2页 doc 12KB 141阅读

用户头像

is_721103

暂无简介

举报
如何把一位16进制的数转换成对应的ASCII码 2如何把一位16进制的数转换成对应的ASCII码 2 如何把一位16进制数转化为对应的ASCII码 功能:把1位16进制数转换为对应的ASCII码 入口参数:al的低4位为要转换的16进制数 出口参数:al含对应的ASCII码 htoasc proc and al,0fh add al,90h ------->从这里起后面的不懂,给解释下。 daa adc al,40h daa ret htoasc endp 补充:之前第一段话说的有问题,所以修改了下,如下:(另外提交的时候没注意,第一个兄弟的回答已经是...
如何把一位16进制的数转换成对应的ASCII码 2
如何把一位16进制的数转换成对应的ASCII码 2 如何把一位16进制数转化为对应的ASCII码 功能:把1位16进制数转换为对应的ASCII码 入口参数:al的低4位为要转换的16进制数 出口参数:al含对应的ASCII码 htoasc proc and al,0fh add al,90h ------->从这里起后面的不懂,给解释下。 daa adc al,40h daa ret htoasc endp 补充:之前第一段话说的有问,所以修改了下,如下:(另外提交的时候没注意,第一个兄弟的回答已经是正确的了^_^) 主要思想是0~9转为对应的ASCII码时加30h,(即48D)而a,b,c,d,e,f则加37h(即55D),比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
/
本文档为【如何把一位16进制的数转换成对应的ASCII码 2】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索