- 1、本文档共43页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编语言教学课件8
第八章 子程序设计 8.1 子程序的引出 8.2 子程序(过程)定义伪指令 8.3 调用和返回指令 8.4 子程序设计方法 8.4.1 现场的保护和恢复 8.4.2 子程序说明文件 8.4.3 主程序与子程序之间的参数传递 8.5 子程序嵌套 8.6 递归子程序 8.8 程序的连接 8.1 子程序的引出 在我们编写解决实际问题的程序时,往往会遇到多处使用相同功能的程序段, 使用该程序段的唯一差别是对程序变量赋不同的值,例如计算: S=√2X+√3Y+√150 计算上述函数需要多次使用开方运算,如果每次用到开方运算就编写一段开方程序,那么开方程序在程序中会多次出现,不仅书写麻烦,容易出错,编辑、汇编它时,也会花费较多时间。同时,由于冗长,占用内存也较多。如果把多次使用的功能程序编制为一个独立的程序段,每当用到这种功能时,就将控制转向它,完成功能后再返回到原来的程序,这就会大大减少编程工作量。 8.1 子程序的引出 8.1 子程序的引出 8.2 子程序(过程)定义伪指令 子程序定义伪指令所定义的子程序的一般格式: PN PROC[NEAR]/[FAR] ;说明过程开始 : ;过程体 : PN ENDP ;说明过程结束 8.3 调用和返回指令 1.调用分类 (1)段内调用与段间调用(p127) (2)直接调用与间接调用(p127) 2.调用指令 指令汇编格式:CALL PROCNAME/REGNAME/MEMLABEL 操作:(1)段内调用: SP←SP-2 (SP+1,SP)←IP IP←OFFSET PROCNAME或REGNAME或(MEMLABEL) (2)段间调用: SP←SP-2 (SP+1,SP)←CS CS←SEG PROCNAME或(MEMLABEL+2,MEMLABEL+3) SP←SP-2 (SP+1,SP)←IP IP←OFFSET PROCNAME或(MEMLABEL,MEMLABEL+1) 受影响的寄存器:没有 调用指令举例 1、段内调用: a. 段内直接调用 CALL PROC_N b. 段内寄存器间接调用 CALL SI c. 段内存储器间接调用 CALL MEM_W CALL WORD PTR[BX] CALL WORD PTR[SI+DISP] CALL WORD PTR[BX+DISP] CALL WORD PTR[BX+SI+DISP] 调用指令举例 2、段间调用: a. 段间直接调用 CALL FAR PTR PROC_N c. 段间存储器间接调用 CALL DWORD PTR MEM_D CALL DWORD PTR[BX] CALL DWORD PTR[SI+DISP] CALL DWORD PTR[BX+DISP] CALL DWORD PTR[BX+SI+DISP] 调用的类型与过程定义的类型必须一致; 由于在转返过程中要使用堆栈保存断点,以备返回,因此在程序设计中必须要有堆栈段。同时注意主程序、子程序应使用统一堆栈,否则转返过程不易控制。堆栈最好放在主程序中,其大小应由嵌套层次、传递参数等因素决定。 3.返回指令 指令汇编格式:RET [VAL]VAL为无符号偶数 操作:(1) 段内返回: IP←(SP+1,SP) SP←SP+2 SP←SP+VAL(如果选用了VAL) (2) 段间返回: IP←(SP+1,SP) SP←SP+2 CS←(SP+1,SP) SP←SP+2 SP←SP+VAL(如果选用了VAL) 受影响的寄存器:没有 8.4子程序设计方法 8.4.1 现场的保护和恢复 8.4.2 子程序说明文件 8.4.3 主程序与子程序之间的参数传递 8.4.1 现场的保护
您可能关注的文档
- 高考数列、解析几何、导数、三角函数综合练习.doc
- 选修7 Unit 3 Under the sea-Words& expressions(王国平).ppt
- FVS538多对多IP NAT.doc
- 被动语态练习1.doc
- ch8应力应变ok-2012.ppt
- 第21章 代数方程 单元测试(二).doc
- 电力企业适应坚强智能电网建设的集约化检修管理.doc
- 语文导学案四年级《爬山虎的脚》.doc
- 大学体育课教案3.doc
- 课时教学计划PS2.doc
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)