1

私は現在、Cortex-M3 を使用して作業を行っていますが、xPSR の使用法を理解するのに苦労しています。ISR 番号が下位 8 ビットに格納される理由がわかりません。

オンライン ソースとデータシートでは、数値を xPSR に保存する必要がある理由についての手がかりが得られません。ARM7-TDMI では、現在のモード (FIQ、IRQ、SVC、USR、ABT、UND) が CPSR の下位 8 ビットに格納されます。私はそれがそこに格納されていると仮定しているので、例外が発生してモードが切り替えられると、プロセッサは CPSR の状態を保存するレジスタのバンクを認識します。ただし、Cortex-M3 にはバンク化されたレジスタがなく、ISR を処理する必要がある場合、xPSR はスタックに保存されます。

誰でも私を啓発できますか?

4

2 に答える 2