[[[ ZDIS for MS−DOS & PC−1600K ]]] Z80 逆アセンブラです。 1.はじめに   PC-1600Kのソフトの中にはソースリストを公開していないものもありますが、 そんなソフトの中身を見たいと思ったのがこのソフトを作成したきっかけです。 2.特徴 RST命令を、BCALLやROMといった命令語として逆アセンブルします。 インデックスレジスタの上位/下位バイト(IXH,IXL,IYH,IYL)に関する未定義命令 や、その他SLIA AやIN (C)やLD A,RLC(IX+d)などの未定義命令にも対応していま す。 3.使用法 MS-DOSのコマンドラインから zdis 機械語ファイル と入力します。 例えば、添付のサンプルファイル TEST.OBJ を使用する場合、 zdis TEST.OBJ と入力して下さい。 機械語ファイル TEST.OBJ が逆アセンブルされ、TEST.DISというファイルに出力 されます。 4.バージョンアップの履歴 version 1.0 92/01/19 初版 version 1.1 92/01/23 インデックスレジスタに関する未定義命令をサポート (LD IXL,xx や LD xx,IYH など) version 1.2 92/02/02 (IX+d)に対するビット操作命令が正しく表示されない バグを修正 LD HL,(nn)がLD BC,(nn)と表示されるバグを修正 その他の未定義命令をいくつかサポート version 1.3 92/02/03 (IX+d)に対するビット操作命令が正しく表示されない バグがまだ残っていたのを修正 version 1.4 92/02/06 CALL命令のアドレスがIOCSのエントリの場合にコメント を付加するように改良 version 1.5 92/02/15 LD E,IXH / LD E,IXL / LD E,IYH / LD E,IYL が 正しく表示されないバグを修正 version 1.6 92/09/20 IX/IYのディスプレースメントが負数の場合の処理を 忘れていたので、正しく追加した。 未定義命令に関して、IN (HL),(C)からIN (C)など、 いくつかを訂正した。 version 1.0 〜 1.2までは MicrosoftのQuickBASICで作成しました。オブジェク トのサイズがかなり大きくなるのと、実行速度が遅いということで、Cで書き直 しました。その結果、ある程度オブジェクトが小さくなり、実行速度が若干速く なりました。 QuickBASICのオブジェクトは98でしか動作しないですが、Cで書き直したことで 98以外のMS-DOSマシンでも動かすことができるようにできたと思います。 5.配布や転載について このプログラムはフリーソフトウェアです。著作権は加古英児が保持します。 配布や転載は、改変せずに、営利を目的とせずに、その他の作者の持つ著作上 の権利を侵害しないようにして、あとは自由に配布や転載して下さい。 いちおう、作者は、このソフトウェアにバグを出さないように努めましたが、 このソフトウェアを利用することで損害が発生しても、作者は免責とします。