欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    教学课件微机原理(第2版)3.17子程序概述ppt(全).pptx

    • 资源ID:78003055       资源大小:1.15MB        全文页数:19页
    • 资源格式: PPTX        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    教学课件微机原理(第2版)3.17子程序概述ppt(全).pptx

    教学课件微机原理(第2版)3.17子程序概述2学习内容:子程序概述目标:掌握子程序的调用、参数传递与现场保护第3章 8051指令系统和汇编程序设计3.6.1 子程序概述3第3章 8051指令系统和汇编程序设计在程序设计中,常把一些具有独立功能、并且多处都需要用到的一段程序,设计为子程序。子程序可供主程序或其它程序调用。3.6.1 子程序概述第3章 8051指令系统和汇编程序设计1.子程序的优点不必重复书写同样的程序,提高编程效率。可使程序的逻辑结构简单,便于阅读。便于程序编写、调试和修改等。缩短源程序和目标程序的长度,节省程序存储器空间。使程序模块化、通用化,便于交流和继承。3.6.1 子程序概述5第3章 8051指令系统和汇编程序设计2.子程序的调用和嵌套 通常将主程序中调用子程序指令的下一条指令的地址称为断点,子程序的第一条指令地址称为子程序首地址或称入口地址。子程序调用:CALL指令自动将断点地址压入堆栈保护,然后将子程序入口地址送PC,实现子程序的调用;子程序返回时,RET指令将使堆栈顶部的断点地址弹出到PC,实现子程序的返回。3.6.1 子程序概述第3章 8051指令系统和汇编程序设计 在子程序的执行过程中,可能出现子程序调用其它子程序的情况,称为子程序嵌套调用。3.6.1 子程序概述7第3章 8051指令系统和汇编程序设计2.子程序编写要点(1)子程序的第1条指令前必须有标号。既表示子程序的名称,也作为调用指令的符号地址。(2)子程序必须能够正确地传递参数。要有入口条件用来说明调用该子程序的条件(如指明要处理的数,或存放的寄存器或内存地址等);要有出口状态,即调用子程序后的结果(结果形式或存放地址等)。3.6.1 子程序概述第3章 8051指令系统和汇编程序设计(3)注意保护现场和恢复现场。保护现场即在调用子程序前将不允许被破坏的内容保存起来;恢复现场即在子程序执行完毕返回主程序前,将保存起来的内容恢复到保护现场前的状况;要注意堆栈的“先进后出”操作规则,以保证现场保护和恢复的正确。3.6.1 子程序概述9第3章 8051指令系统和汇编程序设计2.子程序编写要点(4)要保证子程序能够正确返回。首先子程序必须以RET指令结束;执行RET指令时,堆栈顶部的内容是调用时保存的断点地址;子程序中,对堆栈的入栈和出栈操作次数必须相同,以保证返回时堆栈指针SP的值与调用进入时一致。3.6.1 子程序概述第3章 8051指令系统和汇编程序设计2.子程序编写要点(5)子程序在功能上应具有通用性和完整性。(6)子程序的功能描述要求:子程序应有功能说明,标明子程序的资源占用情况,以便调用时参考;子程序应注明入口参数和出口参数,以便在调用时赋值和返回时获取结果。3.6.2 子程序的参数传递11第3章 8051指令系统和汇编程序设计2.子程序编写要点参数传递:进行调用程序和子程序之间的信息传递入口参数:调用程序向子程序传递的参数出口参数:子程序向调用程序传递的参数常用的参数传递方法:寄存器法和约定存储单元法3.6.2 子程序的参数传递第3章 8051指令系统和汇编程序设计1.寄存器法:将入口参数和出口参数存放在约定的寄存器中。特点:数据传递速度快、编程方便、节省内存单元,是最直接、简便,的参数传递方式。但是MCU的寄存器个数有限,该方法适用于传递较少的参数信息。2.约定存储单元法:把入口参数和出口参数都放在事先约定好的内存单元中特点:不占用寄存器,参数个数可以较多,每个子程序要处理的数据和送出的结果都有独立的存储单元。但是该方法要用一定数量的存储单元,会增加编程中对变量定义的难度。3.6.2 子程序的参数传递第3章 8051指令系统和汇编程序设计3.6.3 现场的保护与恢复14第3章 8051指令系统和汇编程序设计 主程序的断点地址(即返回地址)是调用指令自动保护的;但是对于主程序中的数据(A、PSW、Rn等),为了防止执行子程序后遭到破坏,则需要编写程序加以保护。保护的内容为主程序中用到而子程序也要使用的寄存器、内存等。数据保护与恢复的三种方法:堆栈暂存:子程序首先将需要保护的数据依次压入堆栈保存,返回指令前,反序弹出堆栈以恢复现场;切换工作寄存器组:通过修改RS1、RS0,使主程序与子程序使用不同组别的工作寄存器;存储器暂存:子程序首先将需要保护的内容,保存到空闲的寄存器或内存单元暂存,返回指令前,从保存处取出以恢复现场。3.6.3 现场的保护与恢复第3章 8051指令系统和汇编程序设计3.6.3 现场的保护与恢复16第3章 8051指令系统和汇编程序设计 PROG1:MOV R2,#04H PRO1:ACALL SUB1 DJNZ R2,PRO1 RET子程序:SUB1:MOV R2,#20HLOOP:DJNZ R2,LOOP RET由于SUB1子程序中,也要用到R2,因此必须要先保护后恢复。主程序:出现了死循环,主程序中的R2始终不会到03.6.3 现场的保护与恢复17第3章 8051指令系统和汇编程序设计 PROG1:MOV R2,#04H PRO1:ACALL SUB1 DJNZ R2,PRO1 RET子程序中的数据保护(切换工作寄存器组):SUB1:SETB RS0 ;选择第1组的Rn MOV R2,#20HLOOP:DJNZ R2,LOOP CLR RS0 ;恢复使用第0组的Rn RET主程序:子程序中的数据保护(堆栈保护):SUB1:PUSH 02H ;R2的内容入栈保护 MOV R2,#20H;子程序使用R2LOOP:DJNZ R2,LOOP POP 02H ;出栈恢复R2的内容 RET3.6.3 现场的保护与恢复第3章 8051指令系统和汇编程序设计3.6.3 现场的保护与恢复第3章 8051指令系统和汇编程序设计子程序中的数据保护(内存保护):SUB1:MOV 30H,R2 ;R2的内容暂存到30H MOV R2,#20HLOOP:DJNZ R2,LOOP MOV R2,30H ;恢复R2内容 RET

    注意事项

    本文(教学课件微机原理(第2版)3.17子程序概述ppt(全).pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开