4

MIPS32 例外ハンドラで、例外が I/O 割り込みによって発生したかどうかを判断したいと考えています。コーズ レジスタのビット 2 ~ 6 を含めてチェックする必要があります。これを決定するための MIPS アセンブリ コードは何ですか?

4

1 に答える 1

2

割り込みがどこから来たかを確認するには、各ビットをマスクする必要があります。例外ハンドラの手順を次に示します。ExcHandler 割り込みがどこから発生したかを示すハードウェアのマニュアルを参照できます。多くの場合、エラーコードをレジスタにロードし、EPIEレジスタと比較して、例外がトラップであるかどうかを確認できます。割り込み、エラーから戻る前にEPIE(エラーステータスレジスタ)をリセットし、プロセッサ制御レジスタの割り込みビットを有効にして、ハードウェアが割り込みを行えるようにすることを忘れないでください。

これは、Nios IIの例外ハンドラーをコーディングするときに使用したスキームです。手​​順は、MIPS32の場合と同様である必要があります。

MIPSアセンブリ言語MIPS:割り込みと例外ページ22

于 2010-05-27T20:21:23.630 に答える