鱼C论坛

 找回密码
 立即注册
查看: 2769|回复: 7

栈的问题

[复制链接]
发表于 2012-1-27 16:46:49 | 显示全部楼层 |阅读模式
6鱼币
本帖最后由 pengxiang01 于 2012-1-27 16:47 编辑

mov  ecx,dword ptr ss:[esp+0x4]  的效果 和 pop ecx 一样的吗?

最佳答案

查看完整内容

mov ecx,dword ptr ss:[esp+0x4] 的效果 和 pop ecx 取得ECX的数据是一样的 但栈顶SP却改变了 SP=sp+4 指向栈顶 所以说还是有区别d的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-27 16:46:50 | 显示全部楼层
mov  ecx,dword ptr ss:[esp+0x4]  的效果 和 pop ecx  取得ECX的数据是一样的     但栈顶SP却改变了   SP=sp+4  指向栈顶  所以说还是有区别d的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-27 17:11:33 | 显示全部楼层
后面 SS:[ESP+0X4] 定义指出了出栈的空间 像是个特定的位置:loveliness:
浅见
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-27 17:45:52 | 显示全部楼层
如果地址一样 就一样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-27 19:28:00 | 显示全部楼层
这个问题,你还是没有搞清楚,不知道你怎么给绕进去了。mov ecx,dword ptr ss:[esp+0*4]这仅仅相当于赋值,而pop ecx这是在ecx已经居有这个值的基础上先将ecx进行push一下,将ecx的当前值进行保存备份,在需要的时候再用pop ecx将ecx先前备份的值给重新pop出来,从而对ecx进行恢复。再有不明白的直接给我回贴就行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-1-27 19:41:26 | 显示全部楼层
我有些理解了 谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-27 19:44:05 | 显示全部楼层
本帖最后由 eons 于 2012-1-27 19:46 编辑

4楼分析的很独到!一个是赋值,一个是弹出数据、
疯狂程序员中绝影也说过这个问题,女老师问他pop eax是什么意思,他回答的是mov eax,dword ptr ess:[esp],add esp,4
而且在小甲鱼16位汇编中,mov好像是不能修改标志寄存器的、不知道pop也是不是不修改标志寄存器、

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-29 02:32:25 | 显示全部楼层
多读多看多操作,没区别的很少,有区别的太多。。。。;P;P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 18:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表