- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Procedure 3. Facilitates debugging of a program because defects can be more clearly isolated. 4. Helps in the ongoing maintenance of programs because procedures are readily identified for modification. Outline Procedure Directive Instructions CALL RET Subroutine Programming Procedure Directives A code segment contains one or more procedures One procedure coded as: ProcName PROC [near|far] ;entry point for first instruction to execute. ... ... ;end a procedure ProcName ENDP Procedure Directives The procedure name (ProcName) must be present, unique and follow assembler naming conventions. The procedure attribute can is NEAR/FAR , default is NEAR (that is, within ±32K)attribute. ProcName PROC [near|far] ... ... ProcName ENDP Calling procedure and procedure Calling procedure procedure CALL label RET Instructions Format: [label2:] RET [pop-value] [label1:] CALL proc-name Instructions Call instruction is to transfer control to a called procedure. RET instruction returns from the called procedure to the original calling procedure ( the instruction after CALL instruction). RET should be the last instruction in the called procedure. Near Call and Return A call to a procedure within the same segment is near. Performs: 1) by means of a push operation, decrements SP by 2 (one word) and transfers IP value onto the stack. 2) inserts the offset address of the called procedure into IP. Near Call and Return A RET that returns from a near procedure basically reverses the CALL steps: 1) pops the old IP value from the stack back into IP. 2) increments SP by 2. Far Call and Return A far call calls a procedure labeled far, possibly in another code segment. Performs: 1) first pushes the contents of CS onto the stack and inserts the new segment address in CS. 2) then pushes IP onto the stack and inserts a new offset address in IP. Far Call and Return The CS:IP pair now points to the address of the first instruction to execute in the called subpr
文档评论(0)