汇编子程序中用作传递参数的寄存器需要进栈保存吗?
时间:2011-11-28
来源:互联网
子程序中用到的一些寄存器通常是要在子程序开始的地方一个个push进栈保存的.
那麽对于那些用作参数传递的寄存器有没有必要也push进去呢?
还是看具体情况讨论?
举个具体例子,我在编程的时候发现寄存器(dx)要:
1)被用作给子程序传递参数
2)不需要用作给主程序传递返回值
3)但一开始给子程序传递参数的寄存器(dx)中的值仍在返回后继续被主程序使用
那么对于这种情况一般大家是怎么处理的呢?
那麽对于那些用作参数传递的寄存器有没有必要也push进去呢?
还是看具体情况讨论?
举个具体例子,我在编程的时候发现寄存器(dx)要:
1)被用作给子程序传递参数
2)不需要用作给主程序传递返回值
3)但一开始给子程序传递参数的寄存器(dx)中的值仍在返回后继续被主程序使用
那么对于这种情况一般大家是怎么处理的呢?
作者: handmewc 发布时间: 2011-11-28
看你们自己的使用约定了。象这种用 dx 来传递参数,一般由子程来做保存和恢复的操作,如果子程需要使用到并修改 dx 的内容的话。主程来做,也不是不可以,只是可能不是所有的子程实例都会修改对 dx 进行保存恢复,这样就会显得多余。
作者: zara 发布时间: 2011-11-28
基本原则就是子程序中要用到的寄存器在调用前需要入栈保护,调用后恢复。
作者: masmaster 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28