stdcall 是否使用 SSE 寄存器?他会恢复它们吗?
Does stdcall use SSE registers? And does he restore them?
我感兴趣的是 stdcall 是否在 x86 上使用 SSE 寄存器,如果是,它会恢复它们,如 ESI、EDI、EBP、EBX 吗?
没有
如您所述,the Windows x86-32 ABI 指定 EAX
、EDX
和 ECX
可用作函数内部的“临时”寄存器(已破坏);所有其他 general-purpose 整数寄存器都被保留(即 EBX
、ESI
、EDI
、EBP
和 EIP
)。这不适用于 SSE 注册;仅 general-purpose 整数寄存器。所有 SSE 寄存器都被认为已损坏。
我感兴趣的是 stdcall 是否在 x86 上使用 SSE 寄存器,如果是,它会恢复它们,如 ESI、EDI、EBP、EBX 吗?
没有
如您所述,the Windows x86-32 ABI 指定 EAX
、EDX
和 ECX
可用作函数内部的“临时”寄存器(已破坏);所有其他 general-purpose 整数寄存器都被保留(即 EBX
、ESI
、EDI
、EBP
和 EIP
)。这不适用于 SSE 注册;仅 general-purpose 整数寄存器。所有 SSE 寄存器都被认为已损坏。