标签: assembly x86 stdcall
在x86上的winapi __stdcall中,存储的第二个参数是什么寄存器? (ECX?) - 还有,我可以在哪里找到关于此的文档?
答案 0 :(得分:3)
对于stdcall,参数存储在堆栈中,然后被调用者将其删除 第一个参数位于[esp + 4] [esp + 8]的第二个参数 函数/被调用者的每次推动都会使ESP的这些偏移更大。
使用push ebp和mov ebp,esp的默认序言,第一个参数位于[ebp + 8],第二个参数位于[ebp + 12]。
push ebp
mov ebp,esp