TCALL 命令 (Table Call)
プログラムカウンタの値をスタックにプッシュし、255ページ内に置かれるアドレステーブルからアドレスを取得し、アセンブリの実行位置を変えます。

TCALL オーバーロード
オペコード 構文 アドレッシングモード バイト数 命令サイクル
01
TCALL 0
Table Index
2
8
11
TCALL 1
Table Index
2
8
21
TCALL 2
Table Index
2
8
31
TCALL 3
Table Index
2
8
41
TCALL 4
Table Index
2
8
51
TCALL 5
Table Index
2
8
61
TCALL 6
Table Index
2
8
71
TCALL 7
Table Index
2
8
81
TCALL 8
Table Index
2
8
91
TCALL 9
Table Index
2
8
A1
TCALL A
Table Index
2
8
B1
TCALL B
Table Index
2
8
C1
TCALL C
Table Index
2
8
D1
TCALL D
Table Index
2
8
E1
TCALL E
Table Index
2
8
F1
TCALL F
Table Index
2
8

 
フラグ変化
--------

この命令はステータスフラグを変更しない。

解説
TCALL命令は、プログラムカウンタの値をスタックに退避し、255ページ内に配置されるアドレステーブルから新しいプログラムカウンタの値を取得することで関数呼出を行います。
アドレステーブルは $FFC0 - $FFDF の32バイトの領域に配置され、取得されるアドレスは、TCALLのオペランドを n として $FFC0 + n * 2 に記述されている絶対アドレスとなります。
CALL命令による関数呼出と速度が変わらないため、頻繁に利用する関数はTCALL命令によって呼出すことで、バイト効率が改善されます。

参照