51单片机——双字节乘以双字节

DBmulDB:                                ; Double Byte × Double Byte
        MOV  R7 , # 0
        MOV  R6 , # 0
        MOV  R5 , # 0
        MOV   R4 , # 0                      ;R3R2×R2R1=R7R6R5R4
;低字节乘以低字节
        MOV   A, R0
        MOV   B , R2
        MUL   AB
        MOV  R4 ,A
        MOV   R5 , B
;高字节乘以低字节
        MOV   A, R1
        MOV   B , R2
        MUL   AB
        ADD   A, R5
        MOV   R5 ,A
        MOV   A, B
        ADDC A, # 0
        MOV   R6 ,A
;低字节乘以高字节
        MOV   A, R0
        MOV   B , R3
        MUL   AB
        ADD    A, R5
        MOV   R5 ,A
        MOV   A, B
        ADDC A, # 0
        ADD   A, R6
        MOV  R6 ,A
        MOV   A, # 0
        ADDC   A, # 0
        MOV   R7 ,A
;高字节乘以高字节
        MOV  A, R1
        MOV  B , R3
        MUL  AB
        ADD   A, R6
        MOV   R6 ,A
        MOV   A, B
        ADDC  A, R7
        MOV   R7 ,A
        RET
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值