Nios II Gen2 プロセッサー・リファレンス・ガイド

ID 683836
日付 10/28/2016
Public
ドキュメント目次

7.5.1. 引数

関数への最初の 16 バイトは、レジスターr4からr7に渡されます。引数は、引数の型を含む構造体が構築され、構造体の最初の 16 バイトがr4からr7にあるかのように渡されます。

シンプルな例

int function (int a, int b);

引数を表す同等の構造体は次のとおりです。

struct { int a; int b; };

structの最初の 16 バイトはr4からr7に割り当てられます。したがって、r4は a の値とr5の b の値です。

可変引数を取る関数への最初の 16 バイトは、可変引数を取らない関数と同じ方法で渡されます。呼び出される関数は、可変引数をサポートするために必要に応じてスタックをクリーンアップする必要があります。

可変引数を持つ関数については、スタックフレームを参照してください。