![]() |
叢書 | コンピュータサイエンス大学講座 |
書名 | マイクロコンピュータプログラミング入門
Tiny BASIC インタプリタ | |
編者 | 石田晴久 | |
発行元 | 株式会社近代科学社 | |
発行日 | 昭和53年8月10日 | |
定価 | 1900円(本体) | |
サイズ | A5判ハードカバー | |
頁数 | 215頁 |
今から20年前に出版された本である。当時、ちいさな言語が流行っていた というか、ちいさな言語しかマイクロコンピュータ上では動かせなかったので ある。
その中でも、Tiny BASIC は人気が高かった。日本国内でも、いくつかの Tiny BASIC が作成されていたと思ったが、はっきりとした記憶がない。
当時、マイクロコンピュータに限らず、コンピュータ全般にわたって、近代 科学社が優れた本を出していた。その中の薄い方のシリーズの中の1冊である。
東京版 Tiny BASIC インタープリタについての作り方、内部のルーチンの仕 様などが詳しく書かれている。2バイト整数型の簡単なBASICで、出力はPRINT 文、入力はINPUT文くらいしかない。変数名や配列名も英字1文字という制限 つきである。当時は、BASICが動くというだけで注目を集めた時代である。
このTiny BASICは、たった4種類の命令しかない中間言語によって動いてい るのであった。たった4種類しかない命令で、どうしてちゃんと動くかという と、その中の1つに、機械語プログラムを呼び出す、というのが用意されてい て、困ったときには機械語だのみというのである。でも、これで、見通しは機 械語の場合と比べて随分良い。
4種類の命令:
MCALL a | a番地から始まる機械語のプログラムを直接呼び出して実行させる。 |
ICALL a | a番地から始まる解釈ルーチンを呼び出して、解釈させる。 |
JUMP a | この中間言語ルーチンの中でa番地へジャンプする。 |
TEST a,s | 与えられた文字列がsに等しいかどうかを調べ、等しくなければ、 a番地へジャンプする。 |
これだけの命令で、この中間言語の実装は、基本的に2バイト単位である。 TEST命令のときだけ、2バイトの後ろに文字列が繋がる。2バイト内の構成は、 上位2ビットで命令を識別し、残りの14ビットでアドレスを示す。
こんな命令体系で、BASICインタープリタの作成を丁寧に書いた本で、私は 何度も何度も読んで、本の一部がバラバラになってしまった。コンピュータ関 係の本で、この本より熱心に読んだ本はない筈だ。
その後、BASICコンパイラを何本か作成したが、それらに最も影響した本で ある。あまり熱心にプログラムを追いかけすぎて、いくつかのバグも見つけちゃっ た思い出がある。
そういう思い出があるので、引越しの時にも、どうしても捨てられなかった ものである。