c语言无符号数除法,[求助]关于双字节无符号数除法

是不是大家现在全部都使用C语言了呢?

这些是从keilc中的反汇编来的,个人感觉代码很紧凑.值得学习.

C?UIDIV:

C:0x0003    BC000B   CJNE     R4,#0x00,C:0011

C:0x0006    BE0029   CJNE     R6,#0x00,C:0032

C:0x0009    EF       MOV      A,R7

C:0x000A    8DF0     MOV      B(0xF0),R5

C:0x000C    84       DIV      AB

C:0x000D    FF       MOV      R7,A

C:0x000E    ADF0     MOV      R5,B(0xF0)

C:0x0010    22       RET

C:0x0011    E4       CLR      A

C:0x0012    CC       XCH      A,R4

C:0x0013    F8       MOV      R0,A

C:0x0014    75F008   MOV      B(0xF0),#0x08

C:0x0017    EF       MOV      A,R7

C:0x0018    2F       ADD      A,R7

C:0x0019    FF       MOV      R7,A

C:0x001A    EE       MOV      A,R6

C:0x001B    33       RLC      A

C:0x001C    FE       MOV      R6,A

C:0x001D    EC       MOV      A,R4

C:0x001E    33       RLC      A

C:0x001F    FC       MOV      R4,A

C:0x0020    EE       MOV      A,R6

C:0x0021    9D       SUBB     A,R5

C:0x0022    EC       MOV      A,R4

C:0x0023    98       SUBB     A,R0

C:0x0024    4005     JC       C:002B

C:0x0026    FC       MOV      R4,A

C:0x0027    EE       MOV      A,R6

C:0x0028    9D       SUBB     A,R5

C:0x0029    FE       MOV      R6,A

C:0x002A    0F       INC      R7

C:0x002B    D5F0E9   DJNZ     B(0xF0),C:0017

C:0x002E    E4       CLR      A

C:0x002F    CE       XCH      A,R6

C:0x0030    FD       MOV      R5,A

C:0x0031    22       RET

C:0x0032    ED       MOV      A,R5

C:0x0033    F8       MOV      R0,A

C:0x0034    F5F0     MOV      B(0xF0),A

C:0x0036    EE       MOV      A,R6

C:0x0037    84       DIV      AB

C:0x0038    20D21C   JB       OV(0xD0.2),C:0057

C:0x003B    FE       MOV      R6,A

C:0x003C    ADF0     MOV      R5,B(0xF0)

C:0x003E    75F008   MOV      B(0xF0),#0x08

C:0x0041    EF       MOV      A,R7

C:0x0042    2F       ADD      A,R7

C:0x0043    FF       MOV      R7,A

C:0x0044    ED       MOV      A,R5

C:0x0045    33       RLC      A

C:0x0046    FD       MOV      R5,A

C:0x0047    4007     JC       C:0050

C:0x0049    98       SUBB     A,R0

C:0x004A    5006     JNC      C:0052

C:0x004C    D5F0F2   DJNZ     B(0xF0),C:0041

C:0x004F    22       RET

C:0x0050    C3       CLR      C

C:0x0051    98       SUBB     A,R0

C:0x0052    FD       MOV      R5,A

C:0x0053    0F       INC      R7

C:0x0054    D5F0EA   DJNZ     B(0xF0),C:0041

C:0x0057    22       RET

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值