- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
4 调用和返回指令 在程序设计中,有时因操作要求,需反复执行某段程序,使这段程序能被公用。这样可减少程序编写和调试的工作量,于是引进了主程序和子程序的概念。 指令系统中一般都有主程序调用子程序的指令和从子程序返回主程序的指令。 通常把具有一定功能的公用程序段作为子程序,子程序的最后一条指令为返回主程序指令(RET)。主程序转子程序以及子程序返回主程序的过程如图所示。 第1次调用子程序 返回1 子程序 DELAY_1S 返回2 第2次调用子程序 断点1 断点2 主程序 RET (1)调用指令(2条) 1、短调用指令 短调用指令提供了11位目标地址,限定在2K地址空间内调用。 格式: ACALL addr11 ; 执行操作: (PC)+2 PC, 断点值 (SP)+1 SP (PC7~0) (SP) 压入断点 (SP)+1 SP (PC15~8) (SP) addr10~0 PC10~0(2KB区域内地址),(PC15~11)不变 例如:设符号地址“SUBRTN”所对应的程序存储器实际地址为0345H,在(PC)=0123H处执行指令ACALL SUBRTN。 执行结果: (PC)+2=0125H,压入堆栈, (SP)+1=07H+1=08H单元压入25H, (SP)+1=08H+1=09H压入01H。 SUBRIN的低11位送给PC的低11位,PC值的高5位内容不变。 (PC)=0345H 程序转向子程序首地址0345H单元开始执行。寻址在0125H为起始地址的同一个2K字节范围内。 2、长调用指令 长调用指令提供了16位目标地址,限定在2K地址空间内调用。 格式: LCALL addr16 ; 执行操作: (PC)+3 PC, 断点值 (SP)+1 SP (PC7~0) (SP) 压入断点 (SP)+1 SP (PC15~8) (SP) addr15~0 PC15~0 (3)返回指令(2条) RET RET是子程序返回指令。当程序执行到本指令时,表示结束子程序的执行,返回调用指令(ACALL或LCALL)的下一条指令处(断电)继续往下执行。 执行操作: ((SP)) (PC15~8);弹出断点高8位地址 (SP)-1 SP ((SP)) (PC7~0) ;弹出断点低8位地址 (SP)-1 SP (3)返回指令(2条) RETI RETI是中断返回指令。除具有“RET”指令的功能外,还将清除相应中断优先级状态位(告诉中断控制系统当前的中断已结束,The only difference between RET and RETI is that RETI tells the interrupt control system that the interrupt in progress is done.)。 执行操作: ((SP)) (PC15~8);弹出断点高8位地址 (SP)-1 SP ((SP)) (PC7~0) ;弹出断点低8位地址 (SP)-1 SP 5 位操作(布尔处理)类指令(17条) 1、位数据传送指令(2条) 2、位修正指令(6条) 3、逻辑运算指令(4条) 4、位条件转移类指令(5条) 说明: 位操作指令是以位为单位进行操作或处理的。 在进行位操作时,进位标志位Cy——布尔累加器(位累加器),简写成C。 位寻址区: 片内RAM字节地址20H~2FH单元中连续的128位(位地址00H~7FH)和部分特殊功能寄存器SFR。 位地址的表达方式: 1、直接写位地址: 如D4H; 2、采用点操作符号: 如PSW.4或(D0H).4; 3、采用位名称方式: 如RS1; 4、用户定义名方式: 如用伪指令bit 例:SUB.REG bit RS1; 经定义后,允许指令中用SUB.REG代替RS1。 1、位数据传送指令(2条) MOV C, bit MOV bit, C 2、位修正指令(6条) (1)位清0指令(2条) CLR C CLR bit (2)位置1指令(2条) SETB C SETB bit (3)位取反指令(2条) CPL C CPL bit 3、逻辑运算指令(4条) (1)位逻辑“与”指令(2条) ANL C, bit ANL C, /bit ;执行操作: (C)∧(bit) C (2)位逻辑“或”指令(2条) ORL C, bit ORL C, /bit ;执行操
您可能关注的文档
最近下载
- 亚低温治疗新生儿缺氧缺血性脑病专家共识(2022).pptx VIP
- 2025北京中船集团旗下中国船舶工业贸易有限公司校园招聘7人笔试备考试题及答案解析.docx VIP
- 构网型储能应用于电压暂降治理的研究 (1).pdf VIP
- 译林版四年级上册英语全册新质教学课件(配2025年秋改版教材).pptx
- ACARS介绍_原创文档.pdf VIP
- 苏教版三年级上册数学全册教学设计(配2025年秋新版教材).docx VIP
- +第一单元第2课《生活之美》课件+2024——2025学年人教版(2024)初中美术七年级下册.pptx VIP
- 朱自清—春预习课件.ppt VIP
- 50米快速跑单元计划.doc VIP
- 中小型代理商易助B级认证考试(答案).docx VIP
文档评论(0)