- 1、本文档共58页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言(天津大学)chapter 6课件
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用 §6.1 子程序的设计方法 一、子程序指令 二、子程序的调用与返回 三、现场的保护与恢复 四、子程序参数的传递 一、子程序指令 子程序是完成特定功能的一段程序 当主程序(调用程序)需要执行这个功能时,采用CALL调用指令转移到该子程序的起始处执行 当运行完子程序功能后,采用RET返回指令回到主程序继续执行 一、子程序指令—调用指令 CALL指令分成4种类型(类似JMP) CALL label ;段内调用、直接寻址 CALL r16/m16 ;段内调用、间接寻址 CALL far ptr label ;段间调用、直接寻址 CALL far ptr mem ;段间调用、间接寻址 CALL指令需要保存返回地址: 段内调用——入栈偏移地址IP SP←SP-2,SS:[SP]←IP 段间调用——入栈偏移地址IP和段地址CS SP←SP-2,SS:[SP]←CS SP←SP-2,SS:[SP]←IP 一、子程序指令—返回指令 根据段内和段间、有无参数,分成4种类型 RET ;无参数段内返回 RET i16 ;有参数段内返回 RET ;无参数段间返回 RET i16 ;有参数段间返回 需要弹出CALL指令压入堆栈的返回地址 段内返回——出栈偏移地址IP IP←SS:[SP], SP←SP+2 段间返回——出栈偏移地址IP和段地址CS IP←SS:[SP],SP←SP+2 CS←SS:[SP],SP←SP+2 一、子程序指令—返回指令RET的参数 RET i16 ;有参数返回 RET指令可以带有一个立即数i16,完成RET操作后,堆栈指针SP将增加,即 SP←SP+i16 这个特点使得程序可以方便地废除若干执行CALL指令以前入栈的参数 二、子程序的调用与返回 二、子程序的调用与返回 —书写形式(同一代码段内) 二、子程序的调用与返回 —书写形式(不同代码段) 三、现场的保护与恢复 现场:主程序转向子程序之前,其所使用的一些资源的状态(如标志位、R/M等) 子程序与主程序分别编制,通常会导致使用的资源发生冲突而影响主程序在调用子程序之后的正确执行 方法:利用堆栈 在主程序中进行 在子程序中进行 三、现场的保护与恢复 —在主程序中进行 …… PUSH BX PUSH AX CALL SUB1 POP AX POP BX …… 三、现场的保护与恢复 —在子程序中进行 SUB1 PROC PUSH BX PUSH AX …… POP AX POP BX RET SUB1 ENDP 四、子程序参数的传递 入口参数(输入参数):主程序提供给子程序 出口参数(输出参数):子程序返回给主程序 参数的形式: ① 数据本身(传值) ② 数据的地址(传址) 传递的方法: ① 寄存器 ② 变量 ③ 堆栈 四、子程序参数的传递 通过寄存器传送参数 例6.3十进制到到十六进制转换程序。程序要求从键盘取得一个十进制数,然后把该数以十六进制的形式显示出来。 四、子程序参数的传递 Decihex segment assume cs:decihex Main proc far Repeat :call decibin call crlf call binihex call crlf jmp repeat Main endp 四、子程序参数的传递 Decibin proc near mov bx,0 newchar: mov ah,1 int 21h sub al,30h jl exit cmp al,9d jg exit cbw 四、子程序参数的传递 Binhex proc near mov ch,4 rotate: mov cl,4 rol bx,cl mov al,bl and al,0fh add al,30h cmp al,3ah jl printit add al,7h 四、子程序参数的传递 Crlf proc near mov dl,0dh mov ah,2 int
您可能关注的文档
- 公共经济学习题选 附答案(参考)1课件.ppt
- 湖北省实验动物管理介绍课件.ppt
- 化工原理第十章干燥 期末考点课件.ppt
- 八年级政治上册单元评价检测课件课件.ppt
- 华东理工大学 汇编第8讲课件.ppt
- 公司业务流程在ERP系统中的应用课件.ppt
- 湖南大学 大学物理 模拟考试2课件.ppt
- 化工流程图题解题策略课件.ppt
- 化工热力学习题解答五~七章课件.ppt
- 化工热力学第五章ppt课件.ppt
- 2025年江西工业贸易职业技术学院高职单招职业技能考试题库含答案解析.docx
- (精选模板)活动策划书(汇编15).docx
- 2025年郴州职业技术学院高职单招职业技能考试题库含答案解析.docx
- 2025年南京科技职业学院高职单招职业技能考试题库含答案解析.docx
- 2025年江西工业职业技术学院高职单招职业技能考试题库带答案解析.docx
- 2025年黑龙江能源职业学院高职单招职业技能考试题库带答案解析.docx
- 2025年成都纺织高等专科学校高职单招职业技能考试题库带答案解析.docx
- 2025年广西英华国际职业学院高职单招职业技能考试题库带答案解析.docx
- 2025年南京旅游职业学院高职单招职业技能考试题库带答案解析.docx
- 2025年延边职业技术学院高职单招职业技能考试题库带答案解析.docx
最近下载
- 物理丨山东省实验中学2025届高三下学期3月第五次诊断考试物理试卷及答案.pdf VIP
- MOS集成电路工艺入门资料PPT课件.pptx
- 跨学科实践活动1 探究土壤酸碱性对植物生长的影响 课件(共22张PPT)2025年中考化学一轮考点研究(人教版).pptx VIP
- 线段图法解决和差问题--奥数专题(课件)-2021-2022学年数学三年级上册 全国通用.ppt
- 2025年安阳职业技术学院单招职业适应性测试题库学生专用.docx
- 2025届山东省实验中学高三第五次诊物理试题.pdf VIP
- 凉山州小学数学教师业务素质考试试题(真题+训练).pdf
- 【经济学课件】经济学原理曼昆.ppt VIP
- 幼儿园讲座培训课件:幼儿园保育教育质量评估指南.pptx
- 2025年安阳职业技术学院单招职业倾向性考试题库新版.docx
文档评论(0)