首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编 怎么将十六进制数转换成十进制数输出显示出来

2014-01-03 
汇编 如何将十六进制数转换成十进制数输出显示出来。本帖最后由 damimi111 于 2013-12-30 21:53:39 编辑AL

汇编 如何将十六进制数转换成十进制数输出显示出来。
本帖最后由 damimi111 于 2013-12-30 21:53:39 编辑 AL寄存器存放了一个十六进制数,它的范围在00H-FFH。

我现在希望能有一个算法,能够将它转换成十进制,并显示在屏幕上。(最好能用 MOV AH, 02H INT 21H这个来显示)
比如,AL中存放的是30H,则输出048,或者就48也行。AL中放的是70H,则输出112。

00h-09h的算法很好实现,自己已经解决。
但是一旦转换出来的十进制数超过2位,这个算法就困难了,数学不好,看着ASCII码看了半天,归纳了很久没找到规律。。。求大神指教。

初识汇编,较关键的地方希望能多给点注释,感激不尽。




[解决办法]
xor dx,dx 就是将 dx 置 0 ;由于要保证除以 10 时不溢出,所以用的是 div cx(=10),这样就是 dx:ax 组成的 dword 除以 cx,而 ax 里是原来的被除数,所以就要将 dx 置 0 了,否则有了其它内容的话,就会产生错误的结果。
test ax,ax 就是看商是否为 0;如果 为 0 了说明除法操作该结束了。

热点排行