弹出或添加esp,4?有什么不同?

Kir*_*rov 10 assembly

我看到了这个问题,但我没有找到答案.

那么,为什么我更喜欢使用add esp, 4add esp, 8不使用pop一两次呢?是否存在任何差异(性能,安全性等)或者是个人选择的问题?

Bla*_*ear 19

pop也是add esp, 4这样,它只是在其操作数之前保存堆栈顶部的任何内容.如果你需要堆栈上的内容可能pop比它快,mov wherever, [esp]; add esp, 4但如果你只需要清除堆栈add esp, 4就可以了.