x64アーキテクチャでの関数の引数レジスタ

資格・学習
この記事は約1分で読めます。

備忘録。

いつもわからなくなるので。

x64でのレジスタと引数の対応

x86とは呼び出し規約がだいぶ違う。

その中でも一番の違いは、関数呼び出し時の引数の扱い。

x86では、最後の引数から第一引数の順番でスタックにPUSHしていたが、x64では

  • 第1引数 RCX
  • 第2引数 RDX
  • 第3引数 R8
  • 第4引数 R9
  • 第5引数以降 スタックにPUSH

というのが基本。

まとめ

自分用のメモ。

x86とx64を行き来するとわからなくなるので書いておいた。

コメント

タイトルとURLをコピーしました