H8(その23)
7thステップ終了
プログラムエラーが沢山でて、結構苦戦した。
まとめようとして、うまくまとめられない。
以下に記す。
main.cに、割り込みハンドラ関数 (voidがinterrupt.hで変換されて、関数ポインタになっている)を作る。
softvec_setintrで、ramの先頭に、
割り込みタイプと割り込みハンドラ(関数ポインタ)を登録
SOFTVECS[type] = handler;
(SOFTVECSは、ramの先頭のアドレス)
CPUが、割り込みベクタ(intr_serintr)を呼び出す。
intr.Sで、レジスタを保存し、関数ポインタinterrupt()を呼び出す。
(割り込みタイプとspを送る)
interrupt()は、登録されているSOFTVECS[type]をポインタ関数に入れて、実行する。
次に進もう。