第9章 ソフトを作る
パソコンでゲームばかりしていたわけではありません。元々はゲームをするより自分でプログラムを作って動かしたいというのがパソコンの購入動機でした。
9.1 BASE-80
パソコンの性能を発揮させるゲームソフトなどは、マシン語で作成しなければならなかった時代がありました。マシン語とは16進数で表される言語ですが、それでもわかりやすくするためにアセンブラというツールでプログラムを書いていました。記述方法は独特ですが、慣れるとプログラムが組めるようになります。その頃はBASIC言語はわかりやすいものの速度が遅く、難易度の高いマシン語でプログラムが組める人はステータスが高かったものです。
キャリーラボというソフト会社は、わかりにくいアセンブラをBASIC風に記述できるようにするツールを開発しました。特に条件判断の処理は、BASICのIF文と同じような書き方ができます。文法的な例は以下の通りです。(Wikipediaから引用します)。
Z80マシン語
LD A,B ・・・ Bレジスタの内容をAレジスタに転送する
OR A ・・・ AレジスタとAレジスタのORをとる(Z80は計算対象がAレジスタ)
JR Z,xx ・・・ もし、演算結果が0でなかったら(Not Zero)つまりAレジスタが0だったら、相対アドレスxxにジャンプする
BASE-80ではこんな感じになります。
A=B
IF A=0 THEN xxx
BASIC言語に近くてわかりやすいですね。しかし、ここで出てくるAとかBは任意の変数ではなく、Z80のアセンブラのAレジスタやBレジスタです。BASICコンパイラではなくZ80のアセンブラの表現を変えているものです。つまり、Z80のアセンブラは理解した上で、表記しやすくしたという感じですね。 BASE-80はザイログ社製 のZ80用でした。モトローラ社製 の6809用にBASE-09も発売されました。これはFM-7版として発売されました。私も持っていました。8086用のBASE-86もあったようですが、発売はされなかったようですね。