7.2を読み直しました。H8/3069Fの割込み処理についての解説です。
・割込みベクタは、0x000000~0x0000ffの256バイト。
・1つの割込みベクタは4バイトなので最大64個の割込みベクタが持てる。
・割込み要因は、リセットが1つ、NMIが1つ、トラップ命令が4つ、外部割込みが6つ、他に内蔵I/O割込み等。
・リセット割込み入力は負論理なのでLowでリセットがかかりHighでリセットが解除されリセット割込みがかかる。
・H8ではシステムコールはトラップ命令を実行することによって発生するトラップ割込みを使って実現される。
・コンディションコードレジスタCCRには割込みを有効/無効にするビットが含まれる。他にオーバーフローやキャリーフラグも存在する。
・割込みが発生するとCCRの1バイトとPCの3バイトの計4バイトがスタックに積まれる。H8/3069Fのアドレス線は24本なので3バイトで足りる。
・割込みコントローラにはNMIと外部割込み入力がつながっていて割込みに優先順位を持たせる等細かい制御が可能。
・CCRの最上位ビットを1にすると割込み禁止になる。上位から2番目のUIビットは他のレジスタの設定次第では割込み禁止ビットとして使うことも可能になる。
・割込み復帰命令はrte。
・割込みベクタは、0x000000~0x0000ffの256バイト。
・1つの割込みベクタは4バイトなので最大64個の割込みベクタが持てる。
・割込み要因は、リセットが1つ、NMIが1つ、トラップ命令が4つ、外部割込みが6つ、他に内蔵I/O割込み等。
・リセット割込み入力は負論理なのでLowでリセットがかかりHighでリセットが解除されリセット割込みがかかる。
・H8ではシステムコールはトラップ命令を実行することによって発生するトラップ割込みを使って実現される。
・コンディションコードレジスタCCRには割込みを有効/無効にするビットが含まれる。他にオーバーフローやキャリーフラグも存在する。
・割込みが発生するとCCRの1バイトとPCの3バイトの計4バイトがスタックに積まれる。H8/3069Fのアドレス線は24本なので3バイトで足りる。
・割込みコントローラにはNMIと外部割込み入力がつながっていて割込みに優先順位を持たせる等細かい制御が可能。
・CCRの最上位ビットを1にすると割込み禁止になる。上位から2番目のUIビットは他のレジスタの設定次第では割込み禁止ビットとして使うことも可能になる。
・割込み復帰命令はrte。