搜索
bottom↓
回复: 8

请教大神,A51中的除法运算???谢谢

[复制链接]

出0入0汤圆

发表于 2012-6-18 16:53:02 | 显示全部楼层 |阅读模式
将一个变量除以256,此变量小于256,要求取到到小数点后两位????不知道怎么编程,麻烦大神用A51指教???谢谢

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2012-6-18 17:29:46 | 显示全部楼层
先乘以100,再左移8bit

出0入0汤圆

发表于 2012-6-18 17:38:09 | 显示全部楼层
先除在取余,中间过程用移位

出0入0汤圆

 楼主| 发表于 2012-6-18 20:20:11 | 显示全部楼层
raxb 发表于 2012-6-18 17:29
先乘以100,再左移8bit

是右移8bit吧??

出0入0汤圆

发表于 2012-6-19 12:32:31 | 显示全部楼层
scsf 发表于 2012-6-18 20:20
是右移8bit吧??

对,是右移,写错了,不知道*100有什么好办法

出0入85汤圆

发表于 2012-6-19 13:11:40 | 显示全部楼层
看似你的程序至少需要双字节的除法,A51是有现成的汇编库的,网上搜搜51单片机双字节的除法,直接调用

出0入0汤圆

 楼主| 发表于 2012-6-19 16:54:37 | 显示全部楼层
marshallemon 发表于 2012-6-19 13:11
看似你的程序至少需要双字节的除法,A51是有现成的汇编库的,网上搜搜51单片机双字节的除法,直接调用 ...

我在keil里面找过,没有找到,网上的库还没有找过,找到发上来,大家享用

出0入85汤圆

发表于 2012-6-19 16:57:20 | 显示全部楼层
scsf 发表于 2012-6-19 16:54
我在keil里面找过,没有找到,网上的库还没有找过,找到发上来,大家享用 ...

;双字节无符号除法程序 (R5R2R3R4/R6R7)=(R2)R3R4 余数R6R7
;入口    :R5,R2,R3,R4,R6,R7
;占用资源:ACC,B,F0
;堆栈需求:4字节
;出口    :(R2),R3,R4,R6,R7,OV
NDIV42   :MOV    A,R1
          PUSH   A
          MOV    B,#00H
NDV421   :MOV    A,R2
          CLR    C
          SUBB   A,R7
          MOV    R1,A
          MOV    A,R5
          SUBB   A,R6
          JC     NDV422
          MOV    R5,A
          MOV    A,R1
          MOV    R2,A
          INC    B
          SJMP   NDV421
NDV422   :PUSH   B
          MOV    B,#10H
NDV423   :CLR    C
          MOV    A,R4
          RLC    A
          MOV    R4,A
          MOV    A,R3
          RLC    A
          MOV    R3,A
          MOV    A,R2
          RLC    A
          MOV    R2,A
          XCH    A,R5
          RLC    A
          XCH    A,R5
          MOV    F0,C
          CLR    C
          SUBB   A,R7
          MOV    R1,A
          MOV    A,R5
          SUBB   A,R6
          JB     F0,NCV424
          JC     NDV425
NCV424   :MOV    R5,A
          MOV    A,R1
          MOV    R2,A
          INC    R4
NDV425   :DJNZ   B,NDV423
          POP    A
          CLR    OV
          JNZ    NDV426
          SETB   OV
NDV426   :XCH    A,R2
          MOV    R7,A
          MOV    A,R5
          MOV    R6,A
          POP    A
          MOV    R1,A
          RET

出0入0汤圆

 楼主| 发表于 2012-6-19 17:01:49 | 显示全部楼层
marshallemon 发表于 2012-6-19 16:57
;双字节无符号除法程序 (R5R2R3R4/R6R7)=(R2)R3R4 余数R6R7
;入口    :R5,R2,R3,R4,R6,R7
;占用资源:ACC, ...

非常感谢
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 00:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表