- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MCS-51单片机实用子程序库2
MCS-51单片机实用子程序库(二)
(11) 标号: DIVS 功能:双字节二进制有符号数除法(补码)
入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。出口信息:OV=0时商在R2、R3中,OV=1时溢出。影响资源:PSW、A、B、R1~R7 堆栈需求: 5字节DIVS: LCALL MDS ;计算结果的符号和两个操作数的绝对值PUSH PSW ;保存结果的符号LCALL DIVD ;计算两个绝对值的商JNB OV,DVS1 ;溢出否?POP ACC ;溢出,放去结果的符号,保留溢出标志RETDVS1: POP PSW ;未溢出,取出结果的符号MOV R4,#0MOV R5,#0MDSE: JB F0,MDS2 ;用补码表示结果CLR OV ;结果为正,原码即补码,计算成功RETMDS: CLR F0 ;结果符号初始化MOV A,R6 ;判断第二操作数的符号JNB ACC.7,MDS1;为正,不必处理CPL F0 ;为负,结果符号取反XCH A,R7 ;第二操作数取补,得到其绝对值CPL AADD A,#1XCH A,R7CPL AADDC A,#0MOV R6,AMDS1: MOV A,R2 ;判断第一操作数或运算结果的符号JNB ACC.7,MDS3;为正,不必处理CPL F0 ;为负,结果符号取反MDS2: MOV A,R5 ;求第一操作数的绝对值或运算结果的补码CPL AADD A,#1MOV R5,AMOV A,R4CPL AADDC A,#0MOV R4,AMOV A,R3CPL AADDC A,#0MOV R3,AMOV A,R2CPL AADDC A,#0MOV R2,AMDS3: CLR OV ;运算成功RET (12) 标号: SH2 功能:双字节二进制无符号数开平方(快速)
入口条件:被开方数在R2、R3中。出口信息:平方根仍在R2、R3中,整数部分的位数为原数的一半,其余为小数。影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节SH2: MOV A,R2ORL A,R3JNZ SH20RET ;被开方数为零,不必运算SH20: MOV R7,#0 ;左规次数初始化MOV A,R2SH22: ANL A,#0C0H ;被开方数高字节小于40H否?JNZ SQRH ;不小于40H,左规格化完成,转开方过程CLR C ;每左规一次,被开方数左移两位MOV A,R3RLC AMOV F0,CCLR CRLC AMOV R3,AMOV A,R2MOV ACC.7,CMOV C,F0RLC ARLC AMOV R2,AINC R7 ;左规次数加一SJMP SH22 ;继续左规 (13) 标号: SH4 功能:四字节二进制无符号数开平方(快速)
入口条件:被开方数在R2、R3、R4、R5中。出口信息:平方根在R2、R3中,整数部分的位数为原数的一半,其余为小数。影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节SH4: MOV A,R2ORL A,R3ORL A,R4ORL A,R5JNZ SH40RET ;被开方数为零,不必运算SH40: MOV R7,#0 ;左规次数初始化MOV A,R2SH41: ANL A,#0C0H ;被开方数高字节小于40H否?JNZ SQRH ;不小于40H,左规格化完成MOV R6,#2 ;每左规一次,被开方数左移两位SH42: CLR C ;被开方数左移一位MOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV A,R2RLC AMOV R2,ADJNZ R6,SH42 ;被开方数左移完两位INC R7 ;左规次数加一SJMP SH41 ;继续左规SQRH: MOV A,R2 ;规格化后高字节按折线法分为三个区间ADD A,#57HJC SQR2ADD A,#45HJC SQR1ADD A,#24HMOV B,#0E3H ;第一区间的斜率MOV R4,#80H ;第一区间的平方根基数SJMP SQR3SQR1: MOV B,#0B2H ;第二区间的斜率MOV R4,#0A0H;第二区间的平方根基数SJMP SQR3SQR2: MOV B,#8DH ;第三区间的斜率MOV R4,#0D0H;第三区间的平方根基数SQR3: MUL AB ;与区间基点的偏移量乘区间斜率MOV A,BADD A,R4 ;累加到平方根的基数上MOV R4,A
您可能关注的文档
最近下载
- 肠套叠护理PPT课件讲解PPT课件.pptx VIP
- (沪教版2024)二年级数学上册新教材解读课件.pptx
- 小儿肛管排气.pptx VIP
- 新解读《GB_T 5271.9 - 2001信息技术 词汇 第9部分_数据通信》最新解读.docx VIP
- 新解读《GB_T 18492-2001信息技术 系统及软件完整性级别》最新解读.docx VIP
- PPT灌肠操作及并发症处理.pptx VIP
- 基于ABAQUS的橡胶材料粘弹性特性仿真.docx VIP
- 《带式输送机概述》PPT课件.pptx
- 1 “钓鱼”游戏(课件)一年级上册科学人教鄂教版2025.ppt
- 山东理工大学2021-2022学年《Python程序设计》期末考试试卷(A卷)及标准答案.docx
文档评论(0)