bif-c (v0.01.00 32/64bit *nix (maybe MinGW/CygWin)) | 2014-02-03 07:58 |
よっし、 bif-c のコンパイルが出来ました。それじゃ、次はどうしたらいいですか?
まああああ、そう…です、ね。長い話になりますね。 bif-c は標準 FORTH ではあるまい。正確な fig (Forth Interest Group) FORTH でもありません。それどころか、まだバッグっぱなしです。
(いつか、デーブ=ライオン氏の 6800 模型 fig-FORTH を稼働するために 6800 のエミュレータを作りたい。現在でも エミュレーターの一つを手に入れることができましたが、ディスクのやりとりが分かりませんでした。)
でも、今の bif-c は、後置きの整数電卓として利用することも、簡単な機能を定義したりすることもできます。
先ずは、コンパイルしたディレクトリ内で
./bif-c -h
という構文でコマンド行パラメータを見せてもらえます。現時点では、ディスクイメージ及びメモリ量の二つの種類のオプションを指定できます。
ディスクイメージの指定はこんな感じです。
./bif-c -d0 -ro TOOLS.G00.disk -d1 example.disk
これは僕が用意しておいた二つのディスクイメージを最初の二つのディスクドライブとして指定します。使い道はまだそれほど豊富にあるわけではないのですが。
(ディスクイメージを生成したり、その容量を延長したりする道具に興味がござるなら、簡単なものを tools のディレクトリに置きました。)
(因みに、起動する時点ではデバグ情報が結構ながされる。気にする必要ありません。)
記憶量はデフォルトでは結構きつい制限が付けられています。最終的にはスタック量などをもっと細かく制御出来るようにしておきたいのですが、現時点ではとりあえず、全体的に一メガバイトの記憶領域を以下のとおりコマンド行で指定できます。
./bif-c -m 1M
一メガバイトのメモリ領域を使うことはまだないと思いますが、起動のデバッグ情報で獲得したかどうかを確認でキす。 >8-*
オプションの指定を二つ併せて使うことも出来ます。
./bif-c -d0 -ro TOOLS.G00.disk -d1 example.disk -m 1M
bif-c の命令入力行で
を打ち込むと脱出できます。
現時点では大文字・小文字を区別して認識しています。また、用意済みの定義は大体大文字で定義しています。したがった、たとえ「TOTAL」及び「total」したら、別々の定義として存在してしまいます。(良い事か悪い事かは言いきれないにしてもやや不便が出ます。)それにして、「do」を定義しても FORTH の数取巡回開始識別子の「DO」とは(考えの混乱以外は)追突しません。8-<
いずれも、 caps-lock のキーを使うのは頭痛をさけるでしょう。
現時点は、bif-c にプログラムのソースコード入力については、技術の慎んだコピーペースト法がもっとも効力的でしょう。tools_stdio.textというファイルは幾つかの便利で利用性のある定義を定義しています。例えば、記憶領域を表示する「DUMP」やディスクの「スクリーン」を表示する「LIST」があります。このファイルをテキストエディタで開けて、中身をコピーして bif-c の命令入力行でペーストするとその定義を入力出来ます。
そのソースコードを見るのはいろんなことが分かってくるかもう知りません。
元々の BIF-6809 マニュアルを bif-c 用に直して翻訳することを予定にしていますが、それもぼちぼちと進ませています。申し訳ありませんが未だ途中のままです。いずれも、無いよりは増し、かな? BIF というディレクトリ内の"BIFDOC.TXT"というファイルです。
777 OK
16777216 OK
9 OK
4247781 OK
9 4247781 OK
OK
引用子の後の間隔をよく気をつけてください。稼働させるのは
Hello, Waldo! OK
OK
0 1 2 3 4 5 6 7 8 9 OK
FORGET は未だバグっているので "BYE" で終了してやり直すのです。テキストエディターを開いた手の近いところに出したままコピーペーストをよく活躍させてください。
OK
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 OK
よそのところに見つかるソースコードはいじること無く動作しないでしょう。直さないといけない残っているバグの所為か実装するつもりもないモノもあります。
利用になる FORTH をお探しの場合はあちらこちら手に入れること出来ます。自分の定番のサーチエンジンでお探しください。(僕の場合は gforth と言いうモノが結構役に立ちますし、標準に近いところまで出来ています。しかし他にも色々あります。)
しかも、よそに見つかるものの中、少し弄ってでも、動作できるソースコードもあります。
まあ、これで最初の一歩ができると、嬉しゅう存じます。
bif-c を視ていただいて、ありがとうございます。