您好,欢迎光临本网站![请登录][注册会员]  
文件名称: AVR汇编百例_-_计算程序
  所属分类: 其它
  开发工具:
  文件大小: 48kb
  下载次数: 0
  上传时间: 2015-08-23
  提 供 者: gjx***
 详细说明: ;范例9 ;16位整数被乘数*16位小数乘数-->16位整数积,精确到0.5 MUL165: RCALL MUL16 ;先得到32位积 SBRS R14,7 ;积小数部分最高位为1,将整数部分加1 RET ;否则返回 LDI R17,255 SUB R13,R17 SBC R12,R17 ;以减去-1($FFFF)替代加1 RET ;范例10 ;32位被除数/16位除数-->16位商,精确到1 DIV16: LDI R16,16 ;(r12r13r14r15)/(r10r11)-->r14r15 DLOOP: LSL R15 ROL R14 ROL R13 ROL R12 ;被除数左移1位 BRCS DI1 SUB R13,R11 SBC R12,R10 ;移出位为0,被除数高位字减去除数试商 BRCC DI2 ;够减,本位商为1 ADD R13,R11 ADC R12,R10 ;否则恢复被除数 RJMP DI3 ;本位商0 DI1: SUB R13,R11 SBC R12,R10 ;移出位为1,被除数高位字减去除数 DI2: INC R15 ;本位商1 DI3: DEC R16 BRNE DLOOP RET ;范例11 ;32位被除数/16位除数-->16位商,精确到0.5 ;可能产生溢出!例$7FFFC000/$8000=$FFFF.8->$10000! DIV165: RCALL DIV16 ;(r12r13r14r15)/(r10r11)-->r14r15 LSL R13 ROL R12 ;余数乘2 BRCS D165 ;有进位,转5入 SUB R13,R11 SBC R12,R10 ;否则,余数乘2减去除数 BRCS D164 ;不够减,转4舍 D165: CLR R13 ;否则将商增1 SEC ADC R15,R13 ADC R14,R13 ADC R13,R13 ;若有溢出,溢出位在R13中 RET D164: CLR R13 RET ;范例12 ;32位整数/16位整数->16整数+16位小数->4字节浮点数 ;(r12r13r14r15)/(r10r11)-->r12r13r14r15 DIV16F: RCALL DIV16 ;先做整数除法 MOV R9,r15 MOV R8,r14 ;保存整数部分 CLR R15 CLR R14 RCALL DIV16 ;除得小数部分 MOV R11,R15 MOV R15,R14 MOV R13,R8 MOV R14,R9 ;整数部分在r13r14,小数部分在r15r11 LDI R17,$90 ;预设阶码$90(整数为16位) MOV R12,R17 LDI R17,32 ;设32次右移 DIV16L: SBRC R13,7 RJMP NMLDN ;最高位为1,已完成规格化 LSL R11 ;否则继续右移R13,R14,R15,R11 ROL R15 ROL R14 ROL R13 DEC R12 ;阶码减1 DEC R17 BRNE DIV16L CLR R12 ;右移达32次,浮点数为零,置零阶 RET NMLDN: SBRS R11,7 RJMP DIVRT ;欲舍去部分(R11)最高位为0,转4舍 RCALL INC3 ;否则尾数部分增1 BRNE DIVRT INC R12 ;尾数增1后变为0,改为0.5,并将阶码增1 DIVRT: LDI R17,$7F ;将尾数最高位清除,表示正数(负数不要清除) AND R13,R17 ;规格化浮点数在R12(阶码)R13R14R15(尾数)中 RET ;范例13 ;(R16,R12,R13,R14,R15)/(R10,R11)-->R13,R14,R15 DIV24: CLR R16 ;32位整数/16位整数->24位整数,要求(R10)不为0;否则 ;要求(R12)<(R11) DIV40: LDI 17,24 ;40位整数/16位整数->24位整数 要求(R16,R12) LXP: LSL R15 ; <(R10,R11) ROL R14 ROL R13 ROL R12 ROL R16 BRCC LXP1 SUB R12,R11 ;右移后C=1 够减 SBC R16,R10 ;被除数减 ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 单片机
 输入关键字,在本站1000多万海量源码库中尽情搜索: