HC-88でプログラミング! その7

6301アセンブラ

Twitter等で6800アセンブラの情報をありがとうございました。

全く探していなかったので、いろいろと試すチャンスが出来ました!

で…いろいろとやってみたのですが、どうもしっくりこず…

結局、自作してしまった(^-^;

教えてくださった皆さま、すみませんでした…orz

 

何年か前にも必要にかられて6809のアセンブラを書いた事があったが、その時は富士通のアブソリュートアセンブラソースコードがそのまま通るようにしようと頑張ってしまったため、大変な労力が必要になってしまった汗

 

今回は適当にも適当に作った自分アセンブラ(^-^;;

アセンブラを自作するのってアマチュア時代から数えて何回目だ?もはや覚えてないw

6301CPU側の空きメモリを考えても、多分数百行のソースがアセンブル出来れば良いレベルなので、豪華仕様は全てカットした!

f:id:PocketGriffon:20201024003832j:plain

↑こんな感じに書いたコードが…

↓こんな感じにアセンブル出来て、これまた自作逆アセンブラでちゃんと出た!

f:id:PocketGriffon:20201024004123j:plain

実はまだ変な書き方をしたりするとSegmentation faultで落ちてしまったりするんだけど、これはもう使いながら直していくしかないw

 

よしコレでじっくりとスレーブCPU側のプログラムを作ろうって気になってきた!

今回は「アセンブラ作った」の報告だけ!(^-^;;

 

ではまた次回!(^-^)ノ

 

メモ

・6301はリセット後、初期設定が終わるとスリープモードに入る。その後、IRQ割り込みにより起こされてZ80とのやりとりを始める。

・他にもタイマー割り込みなどもあるみたい。

・ダイレクトページの$A8に重要なステータスが入ってるようだけど未解析。

・割り込みや重要な処理ではRAMへのフックが存在しているので、ここを書き替える事で拡張が容易に出来る。特に6301へのコマンド番号$80以降は拡張しやすそう。