B6逆アセンブラの製作

99年12月2日 逆アセンブラの製作とマップのプロット

B6のプログラムを逆アセンブルしたら、いくつかの
命令が追加されているようで、不完全なアセンブル
リストが出来上がってしまいました。

分からない命令は4つ程度なのですが、これが分からないと
データなのかプログラムなのか判定できない場所も
あります。

プログラムの前後を読んで、この命令が何をしているのか
を幾つかは予想がついたのですが、あくまでも予想(^^;;

「うーん、困った」と集めまくった各社データシートを
眺めていたところ、灯台下暗し!、持っていたデータ
シートにまさに予想通りの命令が追加されたCPUが
載っているではないですか。実は予想の通りだったのですが、
確信できた方がうれしいです。

この命令も自動で逆アセンブルして欲しいので、今回も
AW11 S/Cと同じように逆アセンブラを作ることにしました。
とは言っても、すごいことじゃなくて、前回作った
アセンブラの命令テーブル(例えば33Hという命令がNOPである
というような対応テーブル)を書き換えるだけです。

思い付いたが吉日で、早速作りましたが、2.5時間位で
完成しました。うーん、もう8bitCPUマスターになれるかも。

アセンブラソースと逆アセンブルのスナップをどぉぞ。


これで見事に逆アセンブルできるようになったので、
大体目星のついていた、二次元マップをいくつかプロット
してみました。私の所からもリンクさせていただいて
いる丸山さんのページにもあるように、これらが
燃料マップと点火マップです。



残りはおいおい解析していきましょう(^^;;



shmz@cds.ne.jp