10位2进制数转化成4位bcd码

[复制链接]
 楼主| op2sql 发表于 2010-6-28 14:31 | 显示全部楼层 |阅读模式
这10位二进制数可以使高8位在一字节,或者高2位在一字节.谁有好的算法.  用汇编.
 楼主| op2sql 发表于 2010-6-28 22:57 | 显示全部楼层
我想好了.
ljm810010 发表于 2010-6-28 23:12 | 显示全部楼层
输入  r7: b9 b8 b7 b6 b5 b4 b3 b2
         r6: b1 b0  0   0   0   0   0   0
输出  r7:  千位  百位
      r6:  十位  个位
;=======================
        mov a,r7
        mov b,#25
        div ab
        add a,#0
        da  a
        mov r7,a
        mov a,#10
        xch a,b
        orl a,r6
        rl  a
        rl  a
        div ab
        swap a
        orl a,b
        mov r6,a
xhtxzxw 发表于 2010-6-29 02:40 | 显示全部楼层
错???      
        mov a,r7
        mov b,#25
        div ab
        add a,#0
        da  a
        mov r7,a
        mov a,b
        orl   a,r6
        rl  a
        rl  a
        add a, #0
        da  a
        mov r6,a
ljm810010 发表于 2010-6-29 12:59 | 显示全部楼层
4# xhtxzxw

对与错验证一下便知了。比如说输入16,(r7r6 = 00000100  00xxxxxx)
3 楼输出:r7r6 = 0016 h(bcd)
4 楼输出:r7r6 = 0010 h(???)
xhtxzxw 发表于 2010-6-30 15:45 | 显示全部楼层
恩,打错了
        mov a,r7
        mov b,#25
        div ab
        add a,#0
        da  a
        mov r7,a
        mov a,b
        orl   a,r6
        add a,acc
        add a,acc
        da  a
        mov r6,a
yczhang 发表于 2010-6-30 17:04 | 显示全部楼层
R7=37,R6=0时试了一下,3楼对,6楼错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

209

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

2

主题

209

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部