2-8. スタックポインターへのPUSH/POP

これは、「レジスターの役割(スタックポインターへのPUSH/POP)」を説明した図です。

例外発生時のレジスターPUSH/POP動作を説明します。
Arm® Cortex®-M3は、例外/割り込みハンドラー開始および終了時、自動的にPUSH/POPを実行します。 自動でPUSH/POPされるレジスターは、R00R3,R12,R14,R15,xPSRの8個です。 
例外/割り込みイベント発生するプログラムフローの例で、PUSH/POP動作を見てみましょう

第2章 Arm® Cortex®-M3

2-1. ハードウェア構成
2-2. NVIC(Nested Vectored Interrupt Controller)
2-3. メインコア
2-4. レジスター構成
2-5. レジスターの役割
2-6. PC, LR
2-7. スタックポインター
2-9. 特殊レジスター
2-10-1. 動作モードとスタックポインター(1)
2-10-2. 動作モードとスタックポインター(2)
2-11. 例外(リセット,割り込み,フォールト,システムコール)
2-12. NVICの役割
2-13. NVICによるテールチェーン制御
2-14. メモリーマップ
2-15. Arm® Cortex®-M3仕様のメモリーマップ
2-16. TX03シリーズTMPM330実装例のメモリーマップ
2-17-1. ベクターテーブル(1)
2-17-2. ベクターテーブル(2)
2-18-1. ビットバンド領域とビットバンドエイリアス領域(1)
2-18-2. ビットバンド領域とビットバンドエイリアス領域(2)

※ArmおよびCortexはArm Limited(またはその子会社)のUSまたはその他の国における登録商標です。