- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机原理与应用 汇编语言程序设计简介
* 4.2.8 运算程序 一、 加、 减法程序 例 18 将40H开始存放的 10 个字节的数与 50H开始存放的10 个字节的数相减(假设被减数大于减数)。 设被减数指针为 R0, 减数指针为 R1, 差数放回被减数单元, R5 存放字节个数, 则程序如下: * SUB: MOV R0, #40H MOV R1, #50H MOV R5, #10 CLR C SUB1: MOV A, @R0 SUBB A, @R1 MOV @R0, A INC R0 INC R1 DJNZ R5, SUB1 RET * 二、 乘法运算程序 在计算机中, 常将乘法采用移位和加法来实现。 例19 将(R2R3)和(R6R7)中双字节无符号数相乘, 结果存入 R4R5R6R7。 此乘法可以采用部分积右移的方法来实现, 其程序框图如图4.6 所示 * 图4.6 NMUL程序框图 * NMUL: MOV R4, #0 ; 初始化 MOV R5, #0 CLR C MOV R0, #16 NMUL1: MOV A, R4 ; CyR4R5R6R7右移一位 RRC A MOV R4, A MOV A, R5 * RRC A MOV R5, A MOV A, R6 RRC A MOV R6, A MOV A, R7 RRC MOV R7, A JNC NMUL2 ; C为移出乘数的最低位 MOV A, R5 ; (R4R5)+(R2F3)→(R4R5) * ADD A, R3 MOV R5, A MOV A, R4 ADDC A, R2 MOV R4, A NMUL2: DJNZ R0, NMUL1 ; 循环16位 MOV A, R4 ; 最后结果再移一位 RRC A MOV R4, A MOV A, R5 RRC A MOV R5, A MOV A, R6 * RRC A MOV R6, A MOV A, R7 RRC A MOV R7, A RET * 例 20 假定被乘数在(R4R3)中, 乘数放在R2中, 乘积放在R7R6和R5中。 MCS - 51 中有 8 位数的乘法指令MUL, 用它来实现多字节乘法时, 可表示为 (R4R3)×(R2) =[(R4)×28+(R3)]×(R2) =(R4)×(R2)×28+(R3)×(R2) 其中(R4)×(R2)和(R3)×(R2)都是可直接用MUL指令来实现, 而乘以28意味着左移 8 位。由此可编写如下程 序: * NMUL1: MOV A, R2 MOV B, R3 MUL AB ; (R3)×(R2) MOV R5, A ; 积的低位送R5 MOV R6, B ; 积的高位送R6 MOV A, R2 MOV B, R4 MUL AB ; (R4)×(R2) ADD A, R6 ; (R3)×(R2)的高位加(R4)×(R2)的低位 MOV A, B ADDC A, #00H ; (R4)×(R2)的高位加Cy MOV R7, A ; 结果送R7 RET * 三、 除法运算程序 除法是乘法的逆运算, 用移位、 相减的方法来完成。 首先比较被除数的高位字与除数, 如被除数高位大于除数, 则商为1, 并从被除数中减去除数, 形成一个部分余数; 否则商位为 0, 不执行减法。 然后把新的部分余数左移一位, 并与除数再次进行比较。循环此步骤, 直到被除数的所有位都处理完为止,一般商的字长为 n, 则需循环n次。 一般计算机中, 被除数均为双倍位, 即如果除数和商为双字节, 则被除数为四字节。如果在除法中发生商大于规定字节, 称为溢出。 在进行除法前, 应该检查是否会产生溢出。一般可在进行除法前, 先比较被除数的高位与除数, 如被除数高位大于除数, 则溢出, 置溢出标志, 不执行除法。 * 图 4.7 除
您可能关注的文档
- 十套模拟小升初.doc
- 十字花科蔬菜繁种技术.ppt
- 十星级识字课件.ppt
- 十条小鱼荷花下4.ppt
- 十标复工施组.doc
- 十款素食菜谱,调整节后综合症.doc
- 千万不能犯错 细数菜鸟四大装机误区.doc
- 千与千寻_日文剧本标注假名版.doc
- 十岁卖花童给营销总监上的一堂课.ppt
- 千元左右学生平板电脑推荐.doc
- 幼儿园员工辞职原因分析.docx
- 2024-2025学年小学数学三年级上册北京版(2024)教学设计合集.docx
- 2024-2025学年小学科学五年级上册青岛版(六三制2024)教学设计合集.docx
- 2024-2025学年小学数学三年级上册冀教版(2024)教学设计合集.docx
- 重庆万州事业单位招聘考试真题2024.docx
- 工程项目进度优化的管理措施.docx
- 2024-2025学年小学科学五年级下册湘科版(2024)教学设计合集.docx
- 2024-2025学年小学数学三年级上册西师大版(2024)教学设计合集.docx
- 数智化驱动高等教育创新发展路径.docx
- 贵州遵义医科大学第二附属医院招聘考试真题2024.docx
最近下载
- 二单元民族学的源流理论视角及研究方法.ppt
- 我国政务B站号传播效果现状及影响因素研究.docx VIP
- DB15T 3962.7-2025绿色矿山建设规范 第7部分:水泥灰岩行业.pdf VIP
- 高中语文统编版下册《祝福》、《林教头风雪山神庙》联读 (1).pptx
- 一种D-手性肌醇的制备方法.pdf VIP
- 辽宁省2024学年度普通高中学业水平合格性考试化学试题及答案.docx
- 跨境电商平台的财务管理策略.docx VIP
- 合规性评价报告(2025年).docx
- 【英语试卷+答案】2024年宁德市4月初中毕业班质量检测.pdf VIP
- 2025云南省红河州开远市纪委监委招聘合同制辅助人员(8人)笔试备考试题及答案解析.docx VIP
文档评论(0)