bamboo’s blog

Bambooの気まぐれブログ

x86-64 呼び出し規約(概略)

Microsoft x64

引数

第1 第2 第3 第4
整数・ポインタ RCX RDX R8 R9
浮動小数 XMM0 XMM1 XMM2 XMM3
  • レジスタだけでは引数が不足する場合、スタックを使用する。

戻り値

 整数型・ポインタ型はRAXを、浮動小数点型はXMM0を使用して返される。

System V AMD64 ABI

引数

第1 第2 第3 第4
整数・ポインタ RDI RSI RDX RCX
浮動小数 XMM0 XMM1 XMM2 XMM3
第5 第6 第7 第8
整数・ポインタ R8 R9
浮動小数 XMM4 XMM5 XMM6 XMM7

戻り値

 RAXを使用して返される。

アライメント

 x86-64では16バイトにアラインされる。