Sun Sparc レジスタ保存規則 (32 ビット)

呼び出されたプロシージャは、すべてのローカル レジスタおよび入力レジスタ (10 から 17 および i0 から i7) を保存、復元します。呼び出し側プロシージャは、これらのレジスタのみが呼び出し間で維持されるものと見なすことができます。関数の結果は、結果のデータ型に応じて、通常は o0、f0、または f0 と f1 の両方、または呼び出し元から指定された結果用一時記憶域に結び付けられます。詳細については、「Sun Sparc 関数の結果の規則」のセクションを参照してください。

呼び出されたプロシージャ用の新しいスタック フレームの設定、および維持されているすべてのローカル レジスタおよび入力レジスタの保存と復元は、そのプロシージャ自身が行います。これは、SAVE 命令により行われます。値を返す前に、呼び出されたプロシージャは、すべての関数の結果値を保存し、すべてのローカル レジスタおよび入力レジスタを復元して、スタック フレームを調整する必要があります。これは、o0、f0、または f0 と f1 の両方のロード、または結果用一時記憶域への保存、および RESTORE 命令によって行われます。