スタックポインターへの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

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

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