我可以通过这样做将4个字节压入堆栈:
push DWORD 123
Run Code Online (Sandbox Code Playgroud)
但我发现我可以在push不指定操作数大小的情况下使用:
push 123
Run Code Online (Sandbox Code Playgroud)
在这种情况下,push指令将多少字节压入堆栈?推送的字节数是否取决于操作数大小(因此在我的示例中它将推送1个字节)?
在x64上,每个PUSH指令是否会推送8个字节的倍数?如果没有,它会推动多少?
此外,每个函数参数消耗多少堆栈空间?