标题:小白求助 关于压栈的问题
只看楼主
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
结帖率:50%
 问题点数:0 回复次数:3 
小白求助 关于压栈的问题
请问 push ax等价于
mov word ptr ds:[edx-2],ax
lea edx,dword ptr ds:[edx-2]吗
搜索更多相关主题的帖子: 压栈 push word dword mov 
2020-04-25 14:17
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
得分:0 
假设edx为栈顶
2020-04-25 14:21
Valenciax
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:11
帖 子:337
专家分:2462
注 册:2016-5-15
得分:0 
push ax的等价动作是
sub esp,2
mov [esp],ax
其余暂存器不变

lea edx,dword ptr ds:[edx-2]这句有几个问题

1.
栈段是ss
lea edx,dword ptr ss:[edx-2]才是
2.
edx改变了
3.
esp未变

可改修改为
lea edx,dword ptr ss:[edx-2]
mov esp,edx

即使这样,edx仍是被变了,除非程式师不介意,但不能说等价.
等价的意义应该是结果一致且影响一致.
2020-04-25 20:19
d7se123
Rank: 2
等 级:论坛游民
帖 子:65
专家分:14
注 册:2020-3-13
得分:0 
回复 3楼 Valenciax
好的 谢谢大佬
2020-04-27 15:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501246-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.153753 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved