我试图了解如何在 32 位中计算从
ebp
到 esp
的偏移量。push
到堆栈时,esp
会递减并指向较低的地址,在 32 位上一次 4 个字节。我认为 (ebp
- 4) 到达 a1fa1fa
是正确的,因为它是递减的 - 但后来我做了 (esp
+ 4 + 4 + 4 + 4) 来获得与 esp
的偏移,这不正确。
28号怎么样?
图中不是 28。
a1fa1fa
是 EBP 下面 1 个堆栈槽(双字),ESP 上面 4 个。[ebp-4]
或 [esp+16]
。
我看到这就是你输入的内容;与您的导师讨论他们测验程序中的错误。