- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
子程序的调用
子程序的调用 子程序的结构 子程序的定义 子程序的调用与返回指令 子程序的编程原则 参数的传递 子程序的定义 1.基本概念 功能相对独立的一段程序. 输入\输出\处理过程均可编写为相应的子程序. 使程序的模块化,便于代码复用、简化编程。 2.子程序的定义 过程定义伪指令 过程名 PROC [NEAR/FAR] ;过程的开始,FAR、NEAR 过程的属性 过程体 RET 过程名 ENDP ;过程结束 子程序的定义 3.注意问题 1)过程体内必须有一条RET指令被执行 proc1 proc mov ax,0 proc1 endp proc2 proc mov bx,-1 ret proc endp 子程序的定义 2)调用程序和过程在同一程序段时,属性选择NEAR,当调用程序和过程不在同一程序段时,应选择FAR 3)在调用时,NEAR 和FAR 可以强制改变 CALL FAR PTR NEARPROC CALL NEAR PTR FARPROC 子过程的调用与返回指令 子过程的调用是个”有去有回”的过程,子程序执行完后必须返回CALL指令的下一条指令处,因此必须对CALL指令的下条指令的地址进行保存.保存地址的操作是通过堆栈来完成.不是采用PUSH \POP指令来实现,而是用CALL\RET指令隐含完成. 子过程的调用与返回指令 1.子程序的调用指令 指令格式: CALL DST DST 是子程序的子程序名或子程序的首地址.可以采用与转移指令有关的四种转移的寻址方式之一,即:段内直接调用\段内间接调用\段间直接调用\段间间接调用. 段内、段间:调用程序和子程序在同一段内,为段内调 用;否则 段间调用; 直接、间接:DST为子程序名(子程序首地址),是转移 地址,该有效地址直接出现在CALL指中; 若有效地址出现在寄存器中间接得到,则为间 接调用 子过程的调用与返回指令 1)段内直接调用 SP=SP-2;SS:[SP] CALL下一条指令的IP IP =IP+D16 (DST为16位) 2)段内间接调用 SP=SP-2;SS:[SP] CALL下一条指令的IP IP =DST中的有效地址EA( DST为16位) 子过程的调用与返回指令 3)段间直接调用 SP=SP-2 ;SS:[SP] 返回地址的段地址 SP=SP-2; SS:[SP] 返回地址的偏移值 IP=DST的偏移地址 CS=DST的段地址 4)段间间接调用 SP=SP-2 ;SS:[SP] 返回地址的段地址 SP=SP-2; SS:[SP] 返回地址的偏移值 IP=EA的低16位 CS=EA的高16位 子过程的调用与返回指令 例题:判断下列CALL指令的寻址方式: 1)PRO1 为过程名,属性为NEAR CALL PRO1 2)PRO2 为过程名,属性为FAR CALL PRO2 3)设过程的偏移地址在BX中,则有指令: CALL BX 4)设过程的偏移地址在[BX]中,则有指令: CALL [BX] 子过程的调用与返回指令 5)设过程地址在数据段addi所指的单元中,则有 指令: CALL DWORD PTR addi 6)设过程地址在[BX]中,则有指令: CALL DWORD PTR [BX] 子过程的调用与返回指令 2. 子程序的返回指令 指令格式:RET/RET N/RETF 指令功能: RET:返回地址出栈IP(段内) RETF:返回地址出栈IP(段内 段间)和CS寄存器(段间) RET N:返回地址出栈IP(段内 段间)和CS寄存器(段间)
您可能关注的文档
最近下载
- YY:T 1870-2023 液相色谱 - 质谱法测定试剂盒通用要求.pdf VIP
- 炎德英才大联考·雅礼中学2026届高三9月月考试卷(二)英语试卷(含答案详解).doc VIP
- 四川省成都市玉林中学2024-2025学年九年级上学期10月月考物理试题.docx VIP
- 石油钻井典型事故案例(钻井课件培训资料).ppt VIP
- 《人民币》解说词全五集.doc VIP
- 工程流体力学(闻建龙)课后习题答案解析.docx VIP
- 吉林省中考英语模拟题及答案.doc VIP
- 四川省巴中市南江县实验中学2024-2025学年九年级上学期10月月考物理试题.docx VIP
- 课件:中石油四起典型事故案例分析.ppt VIP
- 通过法律的社会控制.pdf VIP
文档评论(0)