.VECTOR


割り込みベクタテーブルを生成します。

[指定形式]

シンボル欄
ニモニック欄
オペランド欄
コメント欄
シンボル名
.VECTOR
ベクタテーブル配置アドレス
[; コメント]

[機能]

-

.VECTOR疑似命令は割り込みベクタテーブルを生成します。

[詳細説明]

-

割り込みハンドラにベクタテーブル配置アドレスを設定します。

-

シンボル名には割り込み発生時の分岐先ラベルを指定します。

-

.VECTOR疑似命令は対象関数の定義と同一モジュール内より先に記述しなければなりません。

-

ベクタテーブル配置アドレスとして指定可能なのは,0x00000〜0x0007Eの範囲にある偶数アドレスで,それ以外の値を指定した場合はエラーとなります。

-

1つの関数に対し複数のアドレスの設定が可能です。

-

.VECTOR疑似命令が扱う情報は,C言語ソース・プログラムの#pragma interrupt指定に対してコンパイラが出力するベクタテーブル情報です。本疑似命令が含まれる場合(C言語ソース・プログラムで#pragma interrupt指定を行った場合)は,スタートアップ・ルーチン等のアセンブリ・ソース・プログラム中でベクタテーブルを定義する際に,セクション定義疑似命令ではなく本疑似命令を使用する必要があります。

-

.VECTOR疑似命令で記述されたベクタテーブルとセクション定義疑似命令で記述されたベクタテーブルが混在する場合,最適化リンカでエラーとなります。

[使用例]

割り込みハンドラintfuncに対して複数のアドレス(0x00008,0x0000a)を設定

_intfunc        .VECTOR 0x00008
_intfunc        .VECTOR 0x0000a
.SECTION        .text, TEXT
_intfunc:

 

割り込みハンドラintfunc2に対して複数のアドレス(0x00020,0x00022,0x00024,0x00026,0x00028)を設定

ADDR            .SET    0x00020
                .REPT   5
_intfunc2       .VECTOR ADDR
ADDR            .SET    ADDR + 2
                .ENDM
.SECTION        .text, TEXT
_intfunc2: