昨日の続きの話みたいなもんですが、30年ほど昔に技術評論社から出ている「プロセッサ」という雑誌に、エッセイだったか、コラムを書いてる現役のSEの方のちょっとした小技的な話にZ80のOPコード一覧を16x16の方眼目に並べたモノを作って 手元に置いてると言う話があった。当時は「ふーん」ってな感じで右から左だったワケだが、同様なものを誰かが作っているかと検索したが、A4の用紙に区切りよく配置されたモノは全く無かった。 6809だと、ASCII出版の名著「6809ハンドブック」の巻末に付録として最高の出来のOPコードテーブルがあるのでコレに勝てるものはないと思う。 私も買って持っているが、実家に置いたままで手元にはない。 近いものだと、モトローラのデータシートにできの荒い一覧がある。 こんな感じ 実際のモトローラのデータシートのものは90度回転して縦長だったのでA4横に再配置してみた inkscapeで扱うSVGZ形式で良ければ リンク に上げるのでどうぞ。 こんな感じ、現物はA4用紙に配置して作ったが、A6のシステム手帳サイズに縮小して使おうと試しに縮小したのを印刷したら。悲しいことに文字が小さすぎて老眼にはまともに使えない細かさだった。ぎりぎりA5サイズが限界だった。 こちらも、 リンク 先に上げと置くので必要ならどうぞ。 メイン以外の拡張命令の部分の一覧も作っているので適当に加工して使ってください。 元データはlibreofficeで扱うODS形式なのでexcelで読めるかどうかは不明。ods,svg,pdfで書庫にしてますのでお好きにどうぞ。
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コードを表示してくれる。ただそれだけ。