搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 关于调用子程序用堆栈作参数时的问题
标题:
关于调用子程序用堆栈作参数时的问题
只看楼主
魔城侠客
等 级:
新手上路
帖 子:200
专家分:0
注 册:2006-4-4
结帖率:
50%
楼主
问题点数:0 回复次数:5
关于调用子程序用堆栈作参数时的问题
在调用子程序前堆栈中已经有数据,在调用子程序后,堆栈的顶端是否保存了返回的地址????
如果在子程序里子程序再调用自己,那这时堆栈顶端的返回地址是否有变化???
觉在堆栈这里子程序的调用有点迷惑,希望高手来解决
搜索更多相关主题的帖子:
子程序
堆栈
里子
顶端
地址
2007-06-14 17:51
菜鸟上路
等 级:
贵宾
威 望:
14
帖 子:1120
专家分:0
注 册:2006-3-21
第
2
楼
得分:0
堆栈段只要不益处,可以一直存放数据或地址什么的
2007-06-14 19:30
爱以走远
等 级:
贵宾
威 望:
52
帖 子:7542
专家分:21
注 册:2007-3-16
第
3
楼
得分:0
调用子程序的时候 当子程序执行完后 程序会自动返回
堆栈就是用来保存一些数据的 如ax在主程序里有一个值 但是在子程序里要用到ax
这样就先把ax入栈 等子程序运行完后 在弹出ax原来的值
好好活着,因为我们会死很久!!!
2007-06-14 20:40
hkbyest
等 级:
新手上路
威 望:
2
帖 子:30
专家分:0
注 册:2007-6-14
第
4
楼
得分:0
关于这个问题,一般做法是在子程序里push ebp mov ebp,esp然后用ebp来定位参数。即call proc前参数入栈,然后是返回地址入栈,这时ebp+2 +4 +6 +8等就是参数位置。
BLOG:
/hkbyest" target="_blank">http://blog./hkbyest
2007-06-14 22:12
魔城侠客
等 级:
新手上路
帖 子:200
专家分:0
注 册:2006-4-4
第
5
楼
得分:0
嗯,现在知道了,是在堆栈里直接取数据用,而不用pop的
West and east,home is best……
2007-06-17 10:51
雨竹
等 级:
新手上路
帖 子:13
专家分:0
注 册:2007-6-14
第
6
楼
得分:0
为什么我什么都不懂?
2007-06-20 10:10
6
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-147503-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.191200 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved