一团小源子 发表于 2020-4-13 00:53:17

(小鹏老师)为什么每次执行一段代码堆栈-4?


当我执行push 2 的之后



堆栈地址减了4,是因为push的是个立即数占4位嘛?还是其他什么原因

1026184114 发表于 2020-4-13 07:16:44

基础问题,建议你去看看讲师发的王爽汇编语言

1026184114 发表于 2020-4-13 07:33:15

我也学的没多久,应该是push push然后call,add esp一套反汇编下来应该是个函数调用过程,push的数字应该就是函数里面的参数,参数是四字节还是一个字节是程序员自己设置的,当然也有可能是因为32位程序的原因,也有可能是字节对齐的原因,只是给你参考,自己再去学学王爽的汇编

aatonghua 发表于 2020-4-13 17:05:02

小鹏 发表于 2020-4-13 20:35:22

因为你压入的2是0000002 是32位的 占4个字节 所以每次减4

一团小源子 发表于 2020-4-13 22:43:49

好的吧 我再研究研究
页: [1]
查看完整版本: (小鹏老师)为什么每次执行一段代码堆栈-4?