两条线有什么区别
push eax
mov [esp], eax
不会将eax插入堆栈(esp指向的位置与mov [esp]一样,而eax指向吗?)
最佳答案
“push”将自动增加“esp”(您的堆栈指针)的值。 “mov”不会。因此,如果您想使用push
将多个项目放到堆栈中,则只需执行以下操作:
push eax
push ebx
...
使用
mov
,要获得相同的结果,您将需要:sub esp,4
mov [esp], eax
sub esp,4
mov [esp], ebx
...
关于
push
的好处是,存在反向操作,pop
允许您以相反的顺序撤回操作。当然,这就是堆栈的全部含义。 :)关于assembly - PUSH eax和mov [esp],eax之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18660148/