uPD78C10のCALT命令の動作を確認しておきます。引数はエントリー番号の0~31でいいだろうと「CALT 0」と記述してアセンブルすると引数エラーが発生してしまいます。使ったPROASMⅡは各命令をマクロ展開しますが定義部分をみるとこうなっていました。
どうも引数はコールテーブルの実アドレス80H,82H,84H・・・を要求するようです。ニーモニックの解説からするとエントリー番号の方がいいような気もするのでマクロ定義を直してしまおうかと思いましたが、コールテーブルに付けたラベル自体を引数にできるというメリットもあるかもしれません。
以下の例は80H:SWCHK(タクトスイッチを読取りAregにセット)、82H:LEDDRV(Areg内容をLED出力)を繰返し呼ぶもので相対ジャンプを使えば全3バイトで済みます
スイッチ押すと、LEDが点灯する。ただそれだけですが。
The macro assmbler ASもuPD78C10に対応しているのに気付いたので同じソースをアセンブルしてみました。全く同じバイナリができるのでCALT命令の引数はテーブルのアドレスで良いようです。