打印
[51单片机]

哪位高手帮看下,这是个什么算法?

[复制链接]
1301|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xuehc|  楼主 | 2014-2-13 11:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, vr, rc, TI, rcs
L0:     MOV    B, #10H
L1:     CLR    C
        MOV    A, R5
        RLC    A
        MOV    R5, A
        MOV    A, R4
        RLC    A
        MOV    R4, A
        MOV    A, R3
        RLC    A
        MOV    R3, A
        XCH    A, R2
        RLC    A
        XCH    A, R2
        MOV    F0, C
        CLR    C
        SUBB   A, R7
        MOV    09H, A
        MOV    A, R2
        SUBB   A, R6
        JB     F0, L2
        JC     L3
L2:     MOV    R2, A
        MOV    A, 09H
        MOV    R3, A
        INC    R5
L3:     DJNZ   B, L1
        RETI

相关帖子

沙发
soso| | 2014-2-13 11:57 | 只看该作者
这是汇编代码。比如MOV等,明显是汇编命令
望采纳

使用特权

评论回复
板凳
受不了了| | 2014-2-13 12:27 | 只看该作者
填入不同的数据,然后运行观测结果

使用特权

评论回复
地板
cool_coder| | 2014-2-13 15:32 | 只看该作者
本帖最后由 cool_coder 于 2014-2-13 15:46 编辑

16位除法?
如果用高级语言,只要一句 b /= a 就完事了。

使用特权

评论回复
5
cool_coder| | 2014-2-14 09:57 | 只看该作者
更详细一点,程序开始时:
B = 16,控制程序循环次数,即计算总位数
R2:R3中存放被除数,R2是MSB
R6:R7中存放除数,R6是MSB
程序结束时:
R4:R5中存放商
R2:R3中存放余数

另外,这段程序是在中断里做的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝