5.6.8 ベクタテーブル

ベクタテーブルには、固定ベクタテーブルと可変ベクタテーブルがあります。ベクタテーブルは、1ベクタあたり4バイトで構成されており、各ベクタには対応する例外処理ルーチンの先頭アドレスを設定します。

(1)

固定ベクタテーブル

固定ベクタテーブルは、テーブルの配置アドレスが固定されたベクタテーブルです。FFFFFF80h〜FFFFFFFFh番地に、特権命令例外、アクセス例外、未定義命令例外、浮動小数点例外、ノンマスカブル割り込み、リセットの各ベクタを配置しています。図 5.9に固定ベクタテーブルを示します。

図 5.9

固定ベクタテーブル

 

(2)

可変ベクタテーブル

可変ベクタテーブルは、テーブルの配置アドレスを変えることができるベクタテーブルです。割り込みテーブルレジスタ(INTB)の内容で示された値を先頭アドレス(IntBase)とする1,024バイトの領域に、無条件トラップ、割り込みの各ベクタを配置しています。図 5.10に可変ベクタテーブルを示します。

可変ベクタテーブルには、ベクタごとに番号(0〜255)が付けられています。無条件トラップ発生要因のINT命令ではINT命令番号(0〜255)に対応したベクタが、BRK命令では番号0のベクタが割り当てられています。また、割り込み要因では、製品ごとに決められた番号(0〜255)が割り当てられています。

図 5.10

可変ベクタテーブル