Z80や8080のバイナリダンプをつらつら眺めてると、C3やCDを見つけてはジャンプ、コール命令だなとか、FEで比較処理してるなとか、01,11,21でレジスタペアに代入してるなってのは慣れてくると読めるようになるんだが、咄嗟に74とか出てもホイホイと出るほどには仙人になれない。 z80_mnemonic.py z80_mnemonic.sh いつもの4shared サーバーです。 nikohon@b553:~/ダウンロード/Works$ python ./z80_mnemonic.py 2桁の16進数を入力してください: 80 オペコード 80 に対応するニーモニック: ADD A,B nikohon@b553:~/ダウンロード/Works$ ./z80_mnemonic.sh 80 Error: Argument must be a hex value in the format 0x00 to 0xFF. nikohon@b553:~/ダウンロード/Works$ ./z80_mnemonic.sh 0x80 Mnemonic for 0x80: ADD A,B nikohon@b553:~/ダウンロード/Works$ 使い方としては、python版は作業フォルダにでも入れて python ./z80_mnemonic.pyと打てば メッセージに従い、2桁の16進数を $や0xなど抜きで入れれば 該当するOPコードを表示してくれる。ただそれだけ。 同じことを、シェルスクリプトでもできるだろうと作ったのが、z80_mnemonic.sh こちらは 引数として0x付きで16進数2桁を入れて呼び出せば 該当するOPコードを表示してくれる。ただそれだけ。
本家のたけおかさんの方でGC80の公開を再開していただけたようなので こちらも改変したソースの公開をしようと思う。 ファイルは gc80_fix-source.zip おなじみの4sharedのサーバーです。 cp/m-80用 GAME-80コンパイラ GC80について 元のアーカイブから、必要なファイルだけ抜き出して再構成してます。 makefileとかありましたが、linuxなどの環境でビルドできる訳でもないので抜きました。 普通にcp/mの環境でhi-tech-Cのあるドライブ上に、 gc80.cとgame80.GGGファイルを持ってきてコンパイルすれば使えます。 linuxの端末上からhi-tech-Cでビルドする場合 私の環境だと、エミュレータはcpmとcpm32があるが cpm32経由でしかビルドが出来ない。 エミュレータcpmはlinux上のドライブを、そのまま地続きの仮想ドライブとしてcpmのA:に仮定して動作してくれるが hi-tech-Cのファイル読み取りのやり方がオーソドックスなCPMのファイルアクセスとは違うようで ライブラリの一部が読めないとエラーになる。 A>c309-17 gc80_fix Hi-Tech Z80 C Compiler (CP/M-80) V3.09-17 Copyright (C) 1984-87 HI-TECH SOFTWARE Updated from https://github.com/agn453/HI-TECH-Z80-C error: cannot find fp entry for FCB at dbae fctn 35, FCB named P1 COM C309-17 COM d49b 一方、エミュレーターcpm32は 立ち位置的にはwineに似た動作なので ~/cpm_works/hi-tech-C$ ./cpm32 -h C309-17.COM gc80_fix.c などと、linuxのシェルからビルドできてしまう。 これで GC80_FIX.COMができているので cpmのコマンド処理系が「_」(アンダーバー)を受け付けないのでgc80_fix.comからgc80fix.comに名前を変えて 実行させると A>gc80fix maz...