CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

アドレッシングモード

TLCS-900JPインストラクションの引数は即値だけでレジスタ直接指定:JP(XHL),JP(XBC),JP(XDE)は無くなった・・・なんて書いてしまいましたがこれは間違いでした。

マニュアルをちゃんと見ればJP [cc],memの項に示されていてmの5bitを使って各種アドレッシングモードが指定できるとあります

Z80に比べて機能が縮退しているわけがありません。命令ごとのアドレッシングモードの制約が無くなった分、マニュアル上まとめて記載されていて見落としてました

たとえば以下のようなテストコードを書いてみるとちゃんとアセンブルが通ります。さらにCALLレジスタ直接指定・・これはZ80ではできなかったはず・・もTLCS-900ならばできます

ただしJP (123456H)のようなメモリ直接指定はさすがに出来ず、即値指定と全く同じコードを出力しています。エラーも出ないのでこれはアセンブラの仕様というしかありません

ということでGコマンドはこのように簡潔に書き直してしまいます