6809 あせんぶら

uPD70616 関連は一息ついたので、もう1つに気になっている 6809 もどきの 052001 のアセンブラを作れるか調べてみた。

6809 のアドレッシングモードをよくしらなかったりするわけで比較する以前の勉強が必要だったわけだがとりあえず OK. あとは AS の code6809.c のソースが気に入らないのでリファクタリングを実行。コード生成でコア部分に渡す関数ポインタの引数が void なのがよろしくないわけで、 void * にしたらグローバル変数は減るし、052001 の対応もやりやすいというのに...

話がそれた。6809 と 052001 の opcode の並べ方が異なって、前者は1つの命令に対する opcode がアドレッシングモードによって4つで、後者は2つになる。次の opcode でアドレッシングモードをさらに分類できるようにしている。って、なんだか分かりづらいアドレッシングが多いんだな。

その他細かいところはあるが、機能面では 6809 とほぼ同じなのでアセンブラ構文解析は使い回せる。opcode の encode の部分を分離できれば、できるのでやりがいはあると思う。

まあ... 自分にとって需要がないので暇なときにやりませうみたいなことになるけど。