西安邮电大学微机原理与汇编语言第5章.ppt

西安邮电大学微机原理与汇编语言第5章.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 2.寄存器内容的保护和恢复 通常主程序和过程的设计是分开的,因而他们所使用的寄存器往往会发生冲突。为避免冲突,应在进入过程时,将该过程所用到的寄存器内容保护起来,称为保护现场。而从过程返回主程序前,再将这些寄存器的内容恢复,称为恢复现场。保护现场和恢复现场通常分别用堆栈压入指令和弹出指令来实现。例如: * * SUBPR PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX POP DX POP CX POP BX POP AX RET SUBPR ENDP PUSH AX PUSH BX PUSH CX PUSH DX CALL SUBP POP DX POP CX POP BX POP AX … … … * * 3.主程序和过程之间的参数传递 主程序调用过程时,必须先将过程所需要的初始数据设置好,这些初始数据称为过程的入口参数。过程执行完毕返回主程序时也必须将过程运行所得的结果送给主程序,这些回送的结果称为过程的出口参数。过程入口参数的送入和出口参数的送出城为主程序和过程间的参数传递,也称过程通信。过程通信通常有四种方法。 ⑴ 通过寄存器传递参数 ⑵ 通过变量传递参数 ⑶ 通过地址表传递参数 ⑷ 通过堆栈传递参数 * * 4.子程序的嵌套与递归调用 一个子程序调用另一个子程序叫子程序嵌套,如下图所示: CALL CALL CALL RET RET RET 主程序 子程序1 子程序2 子程序n * * 由于调用子程序时,断点地址保存在堆栈中,因此只要有足够的堆栈空间,嵌套的层次(也称深度)是不受限制的。 若一个子程序调用该子程序自身,则称为递归调用。递归调用是子程序嵌套的特例。 5. 子程序调用和宏指令使用的例子 [例7] AX寄存器中存放着4位十六进制数,试编写程序将这4位十六进制数分别转换为相应的ASCII码,并依次存放到RESULT数组的4个字节中去,要求分别用子程序和宏指令的方法实现。 * * ⑴ 用子程序方法编程: DATA SEGMENT HEXDATA DW 4D7EH RESULT DB 4 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START:

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档