インテルのみ表示可能 — GUID: iga1409334290537
Ixiasoft
インテルのみ表示可能 — GUID: iga1409334290537
Ixiasoft
3.4.1. 汎用レジスター
Nios II アーキテクチャーは、32 個の 32 ビット汎用レジスターr0~r31を提供します。一部のレジスターにはアセンブラーで認識される名前があります。例えば、zeroレジスター (r0) は常にゼロの値を返し、zeroへの書き込みは無効です。raレジスター (r31) は、プロシージャー・コールで使用される戻りアドレスを保持し、call、callr、およびret命令によって暗黙的にアクセスされます。C および C++ コンパイラーは、共通のプロシージャー・コール規約を使用して、レジスターr1~r23およびr26~r28に特定の意味を割り当てます。
レジスター | 名前 | 関数 | レジスター | 名前 | 関数 |
---|---|---|---|---|---|
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 | 戻りアドレス |
詳しくは、「Nios II プロセッサー・リファレンス・ハンドブック」の「アプリケーション・バイナリー・インターフェイス」の章を参照してください。