0

在 x86 上的 winapi __stdcall 中,第二个参数存储在哪个寄存器中?(ECX?)-另外,我知道在哪里可以找到有关此的一些文档吗?

4

1 回答 1

3

对于stdcall,参数存储在堆栈中,然后是被调用者删除它们。
第一个参数将位于 [esp+4]
第二个参数位于 [esp+8]
函数/被调用者所做的每次推送都会使这些对 ESP 的偏移量更大。

使用默认序言,push ebpmov ebp,esp一个参数位于 [ebp+8],第二个参数位于 [ebp+12]。

于 2015-02-15T20:19:19.453 回答