代码之家  ›  专栏  ›  技术社区  ›  10minutes

stdcall是否使用SSE寄存器?他恢复了吗?

  •  0
  • 10minutes  · 技术社区  · 2 年前

    我对stdcall是否在x86上使用SSE寄存器感兴趣,如果是,它会恢复它们,比如ESI、EDI、EBP、EBX吗?

    1 回复  |  直到 2 年前
        1
  •  1
  •   Cody Gray iPhone Developer    2 年前

    正如你所说, the Windows x86-32 ABI 指定 EAX , EDX ECX 作为函数内部的“scratch”寄存器提供(clobbered);保留所有其他通用整数寄存器(即。, EBX , ESI , EDI , EBP EIP )。这不适用于SSE寄存器;仅适用于通用整数寄存器。所有SSE寄存器都被认为已被关闭。