割込みハンドラを配置するアドレスを特定のアドレスに記述しておくというものです。この「ハンドラのアドレスを記述しておく特定のアドレス」を割込みベクタと呼び、この方法をベクタ割込み方式と呼びます。
割込みが発生すると、CPUは割込みベクタを参照してハンドラの配置場所を知り、そこに強制的に処理が飛びます。
H8はベクタ割込み方式で、割込みベクタは割込みの種類に応じて、アドレスが0x000000~0x0000ffのメモリ上に配置されています。割込みにはいくつか種類がありますが、まず知らなければならないのはリセット・ベクタです。
電源ONやリセットも割込みの一種です。H8は、リセットが発生するとリセット・ベクタを参照してそこから動作を開始します。
H8では、割込みベクタの先頭がリセット・ベクタになっています。
ここで注目は、vector.cのvector[]という配列を定義しています。
vector[0]にはstart関数のアドレスが設定されており、それはstartup.sで記述したラベルのことです。
割込みが発生すると、CPUは割込みベクタを参照してハンドラの配置場所を知り、そこに強制的に処理が飛びます。
H8はベクタ割込み方式で、割込みベクタは割込みの種類に応じて、アドレスが0x000000~0x0000ffのメモリ上に配置されています。割込みにはいくつか種類がありますが、まず知らなければならないのはリセット・ベクタです。
電源ONやリセットも割込みの一種です。H8は、リセットが発生するとリセット・ベクタを参照してそこから動作を開始します。
H8では、割込みベクタの先頭がリセット・ベクタになっています。
ここで注目は、vector.cのvector[]という配列を定義しています。
vector[0]にはstart関数のアドレスが設定されており、それはstartup.sで記述したラベルのことです。