- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例19 将内部RAM从DATA单元开始的10个无符号数相加,相加结果送SUM单元保存。 设相加结果不超过8位二进制数,则相应的程序如下: CLR C MOV R0,#0AH ;设置循环次数 MOV R1,#DATA ;R1作地址指针,指向数据块首地址 CLR A ;A清零 LOOP: ADDC A,@R1 ;加一个数 INC R1 ;修改指针,指向下一个数 DJNZ R0,LOOP ;R0减1,不为0循环 MOV SUM,A ;存10个数相加的和 3.7 子程序调用与返回指令 3.7.1 子程序调用指令 子程序调用指令有长调用和绝对调用两条,它们都是双周期指令。 《单片微机原理及应用》教学课件 LCALL addr16 子程序长调用指令 ——可在64K范围内调用子程序 LCALL,可调用64 KB范围内的子程序。由于该指令为3字节,所以执行该指令时首先应执行(PC)←(PC)+3,以获得下一条指令地址,并把此时的PC内容压入堆栈(先压入低字节,后压入高字节)作为返回地址,堆栈指针SP加2指向栈顶,然后把目的地址addr16送入PC。该指令执行不影响标志位。 ACALL addr11 子程序绝对调用指令 ——可在指令所在的2K范围内调用子程序 ACALL提供11位地址,只能调用与PC在同一2 KB范围内的子程序。由于该指令为2字节指令,所以执行该指令时应执行(PC)←(PC)+2以获得下一条指令地址,并把该地址压入堆栈作为返回地址。机器码的组成如下: a10 a9 a8 1 0 0 0 1 a7 a6 a5 a4 a3 a2 a1 a0 被调用子程序的目的地址也是由执行 ACALL指令的当前PC值的高5位与指令中提供的11位直接地址形成。PC值如下: a15 a14 a13 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 LCALL和ACALL指令类似于转移指令LJMP和AJMP,不同之处在于LCALL和ACALL在转移前要把执行完该指令的PC内容自动压入堆栈后(为了返回),才将子程序入口地址addr16(或addr11)送PC,实现转移。 而LJMP和AJMP,没有堆栈操作,从给出的目的地址开始执行, 不存在子程序返回的问题。 3.7.2 返回指令 返回指令共两条:一条是对应两条调用指令的子程序返回指令RET,另一条是对应从中断服务程序的返回指令RETI。 从上述两条指令的功能操作看,都是从堆栈中弹出返回地址送PC,堆栈指针减2,但它们是两条不同的指令。其有下面两点不同: (1) 从使用上,RET指令必须是子程序的最后一条指令;RETI必须是中断服务程序的最后一条指令。 (2) RETI指令除恢复断点地址外,还恢复CPU响应中断时硬件自动保护的现场信息。执行RETI指令后,将清除中断响应时所置位的优先级状态触发器,使得已申请的同级或低级中断申请可以响应;而RET指令只能恢复返回地址。 《单片微机原理及应用》教学课件 LCALL addr16 子程序长调用指令 ——可在64K范围内调用子程序 子程序调用及返回: (LCALL,ACALL,RET,RETI——4条) ACALL addr11 子程序绝对调用指令 ——可在指令所在的2K范围内调用子程序 RET 子程序返回指令 ——子程序结束并返回调用的下一条指令 RETI 中断服务子程序返回指令 ——中断结束/返回被打断处的下一条指令 控制转移类指令 此类指令改变程序的执行顺序——改变当前PC值 无条件转移: (LJMP,AJMP,SJMP,JMP——4条) 条件转移(判断跳转): (JZ,JNZ,CJNE,DJNZ——8条) 子程序调用及返回: (LCALL,ACALL,RET,RETI——4条) 空操作: (NOP——1条) “耗时”一个机器周期。 3.8 位操作类指令 位操作类指令在单片机指令系统中占有重要地位,这是因为单片
您可能关注的文档
- 第三章(2) SQL语言.ppt
- 第三章(寻址方式及传送指令).ppt
- 第三章-曲柄连杆机构1-4节(讲义) (2).ppt
- 第三章-2遥感图像的种类与特性 (2).ppt
- 第三章-网络零售.ppt
- 第三章-蛋的组成及特性.ppt
- 第三章.java基础语法.ppt
- 第三章-食品增稠剂1.ppt
- 第三章.液体制剂.ppt
- 第三章-计算机网络12.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
最近下载
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学.ppt VIP
- (完整版)药店医疗器械培训试题及答案 .pdf VIP
- 苏教版一年级下册科学《2-4 水是什么样的》ppt课件 (8).pptx
- 中考语文一轮专题复习课件:我国古代贬谪文学鉴赏——以《小石潭记》《岳阳楼记》《记承天寺夜游》为例.pptx VIP
- 客户找车合同范本.docx VIP
- 华南理工大学《电力经济与管理》教学:电力经济与管理2-经济学(2).ppt VIP
- 20230720-西部证券-医脉通-2192.HK-深度报告:上下游场景持续拓展,专业医生平台构筑竞争壁垒.pdf
- 中船科技(600072)公司2023年财务分析研究报告.doc
- 中国书法简介英语版-chinese-calligraphy(完整版).ppt
- 2025年供电营业规则考试题库.pdf
文档评论(0)