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

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

3.4.1. 汎用レジスター

Nios II アーキテクチャーは、32 個の 32 ビット汎用レジスターr0~r31を提供します。一部のレジスターにはアセンブラーで認識される名前があります。例えば、zeroレジスター (r0) は常にゼロの値を返し、zeroへの書き込みは無効です。raレジスター (r31) は、プロシージャー・コールで使用される戻りアドレスを保持し、callcallr、およびret命令によって暗黙的にアクセスされます。C および C++ コンパイラーは、共通のプロシージャー・コール規約を使用して、レジスターr1~r23およびr26~r28に特定の意味を割り当てます。

表 13.  Nios II の汎用レジスター
レジスター 名前 関数 レジスター 名前 関数
r0 zero 0x00000000 r16   呼び出し先退避レジスター
r1 at テンポラリー・アッセンブラー r17   呼び出し先退避レジスター
r2   戻り値 r18   呼び出し先退避レジスター
r3   戻り値 r19   呼び出し先退避レジスター
r4   レジスター引数 r20   呼び出し先退避レジスター
r5   レジスター引数 r21   呼び出し先退避レジスター
r6   レジスター引数 r22   呼び出し先退避レジスター
r7   レジスター引数 r23   呼び出し先退避レジスター
r8   呼び出し元退避レジスター r24 et 一時例外
r9   呼び出し元退避レジスター r25 bt 一時ブレークポイント
r10   呼び出し元退避レジスター r26 gp グローバルポインター
r11   呼び出し元退避レジスター r27 sp スタックポインター
r12   呼び出し元退避レジスター r28 fp フレームポインター
r13   呼び出し元退避レジスター r29 ea 例外戻りアドレス
r14   呼び出し元退避レジスター r30 sstatus ステータスレジスター
r15   呼び出し元退避レジスター r31 ra 戻りアドレス
注: r25は JTAG デバッグモジュールで排他的に使用されます。また、通常のレジスターセットの一時ブレークポイント (bt) レジスターとして使用されます。シャドー・レジスター・セットではr25が予約されます。
注: r30は通常のレジスターセットのブレークポイントの戻りアドレス (ba) として、また、各シャドー・レジスター・セットのシャドー・レジスター・セット・ステータス (sstatus) として使用されます。sstatusについて詳しくは、「ステータスレジスター」の項を参照してください。

詳しくは、「Nios II プロセッサー・リファレンス・ハンドブック」の「アプリケーション・バイナリー・インターフェイス」の章を参照してください。