我目前正在学习x64汇编,并且在从c ++调用汇编过程时无法理解堆栈发生的情况.
根据我目前从MSDN和Intel的理解,前4个整数/浮点参数存储在rcx/xmm0,rdx/xmm1,r8/xmm2和r9/xmm3寄存器中,其他所有参数都将放在堆栈中.
我不理解为什么我有由于前32个字节在寄存器访问,以访问该第五参数从RSP [RSP + 28H] 40个字节,而不是仅仅8.
有人能解释我究竟发生了什么吗?
谢谢.
64-bit stack parameter-passing fastcall
64-bit ×1
fastcall ×1
parameter-passing ×1
stack ×1