在win64里,只有一种调用约定

在win64里,只有一种调用约定。以下是通过寄存器来传递4个整数类型的例子:
  *RCX:第一个参数
  *RDX:第二个参数
  *R8:第三个参数
  *R9:第四个参数
  参数里开头的4个整数会这样传给栈。传递浮点数参数时,使用的是XMMO-XMM3寄存器。

 

调用约定简化了:一律使用__fastcall,前四个参数用 RCX、RDX、R8 和 R9传递,除了这四个外加RAX、R10、R11,其他寄存器都是非易失的。

posted on 2015-10-02 10:44  深蓝无忌  阅读(365)  评论(0编辑  收藏  举报

导航