导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→参考

* 88087: 求助:如何将BCD码转换成十六进制,求51的汇编算法程序

   Kuang-chingTsui 
Kuang-chingTsui发表的帖子 

 参考
用“乘十加数”法。例如,有BCD码 1001 , 0010 , 0011 (表示9 2 3),算法如下:(Yh为转换后的十六进数)

Yh = (((09X0A)+02)X0A)+03 = 39B
另外,用汇编写乘法程序比较麻烦,X0A的算法可以写成:
X08+X02, 例如: 09X0A = 09X08 + 09X02。
在二进制运算中,X8实际上是将被乘数左移三位,X2是将被乘数左移一位,于是,以09X0A为例,就可以写成:
00001001 左移三位——01001000,00001001 左移一位——00010010
01001000+00010010=01011010(5A)。
以上算法在汇编很容易实现,你自己发挥吧


发表时间:2006年1月14日9:31:09

  
回复该帖

本主题共有 2 帖,分页:>>>>>该主题的所有内容[2]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:不少用户已经制作成功编程器插件[em01]
[下一篇帖子]:西门子c167请问      那里可以下