アーム例外処理の基本を調べていたところ、次のような疑いが生じました: (アボート例外の例を取り上げています) プロセッサがユーザー モードで実行されていると仮定しましょう。
例外が発生すると、プロセッサは現在pc
を abort_modeLR
およびCPSR
アボート モードに保存しSPSR
、実行はアボートのベクトル アドレスにジャンプするため、アボートのベクトル アドレスPC
が含まれるようになります。
したがって、ここで得られるのは、フローをアボート モードに転送する前です (PC でベクトルをアボートする)。CPU は以下のタスクを実行します: 上記のように、「現在pc
は abort_mode に移行LR
し、CPSR
モードを中止SPSR
し、実行は中止のベクトル アドレスにジャンプします」。上記のタスクを実行するために、どのモードで、どこから命令が実行されますか?