CPU実験室

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

コンパイル結果

TLCS-90はZ80の上位互換のインストラクションセットを持っています。
同じソースコードを -mz80オプションでZ80コードを吐くように指示するとほぼ同じアセンブラコードが得られますが、よくよく見るとTLCS-90では出来たSPへのイミディエイト値の加算:ADD SP,#-256
がZ80のコードでは以下のように3命令を費やしています。
 
 
イメージ 1

ではコード効率が良い拡張機能をあきらめて、Z80のコードで実行すれば・・・と思ったのですがニーモニックでは互換でもバイナリ互換ではないのですね。
バイトコードのマトリクス表(上:TLCS90/下:Z80)で比較するとNOPが00で同じくらいであとはことごとく違います。
ライセンスの問題とか、コードを拡張するためとかなんでしょうがこれでは使えません

 

 
 
イメージ 2