栈的问题
本帖最后由 pengxiang01 于 2012-1-27 16:47 编辑movecx,dword ptr ss:的效果 和 pop ecx 一样的吗? movecx,dword ptr ss:的效果 和 pop ecx取得ECX的数据是一样的 但栈顶SP却改变了 SP=sp+4指向栈顶所以说还是有区别d的 后面 SS: 定义指出了出栈的空间 像是个特定的位置:loveliness:
浅见 如果地址一样 就一样 这个问题,你还是没有搞清楚,不知道你怎么给绕进去了。mov ecx,dword ptr ss:这仅仅相当于赋值,而pop ecx这是在ecx已经居有这个值的基础上先将ecx进行push一下,将ecx的当前值进行保存备份,在需要的时候再用pop ecx将ecx先前备份的值给重新pop出来,从而对ecx进行恢复。再有不明白的直接给我回贴就行。 我有些理解了 谢谢 本帖最后由 eons 于 2012-1-27 19:46 编辑
4楼分析的很独到!一个是赋值,一个是弹出数据、
疯狂程序员中绝影也说过这个问题,女老师问他pop eax是什么意思,他回答的是mov eax,dword ptr ess:,add esp,4
而且在小甲鱼16位汇编中,mov好像是不能修改标志寄存器的、不知道pop也是不是不修改标志寄存器、
多读多看多操作,没区别的很少,有区别的太多。。。。;P;P
页:
[1]