2023年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

カテゴリー

ブログパーツ

無料ブログはココログ

« XBeeでちょっと訂正 | トップページ | PICで走るTiny-BASIC(続き) »

2011年2月14日 (月)

PICで走るTiny-BASIC

管理人のページ:

ここ何週かにわたってPICで走るTiny-BASICを作っています。ちょっと思うところあってですが、結果的にはナツカシ製作になったような… とにかく名前はHANA-BASICです。

PICはいつもの16F886、さすがにRAM容量がありませんので、256(32KByte)のシリアルEEPをプログラム保存用に使っています。プログラムのロードや実行は、シリアルポートでTeraTermに接続して行います。モノはこんなにカンタンです。(もちろん、RS232Cへのレベルコンバータは別途必要です)

Dscn1491

そもそもTiny-BASICの仕様を良く覚えていなかったので、大体こんなもんだろうという感じで作り始めました。16bit整数演算で式の評価は左側から、変数はA-Zの26個、@演算子でのメモリやI/Oアクセス、IF〜THEN、FOR〜NEXTループなどなど、基本機能は備えていると思います。

プログラムを実行した結果はこんな感じです。(クリックすると拡大します)
loadコマンドでプログラム入力モードになり、プロンプト>が表示されます。ここで、あらかじめテキストエディタで作っておいたBASICプログラムをペーストします。大文字でも小文字でもかまいません。内部で大文字に変換しています。
プログラムの最後のeofは入力モードを終わらせるコマンドです。あとはrunで実行します。そろばんでおなじみの総和の計算をやっています。

Hanabasic_sample1

伝統的なBASICと大きく違うのは行番号が無いことです。行番号を付ければ、編集操作が可能になるので、ターミナルだけでプログラム開発ができます。ただ、EEP上のデータを移動する作業が頻発するので、書き込みに5msほどもかかるEEPでは、一行入力する度に何秒も待たされることになりそうです。
今回の仕様では、プログラムはテキストエディタで作ることとして、行番号による編集機能は省きました。行番号が無いので、GOTOなどはラベルを使って実装しています。

PICで走るTiny-Basicといえば、BASIC Stampが有名ですが、これはプログラムするのに、専用の開発環境が必要です。おそらく効率のいい中間コードに落とす作業を、このツールで行っているようです。

今回の開発の主眼点は、このような専用のツールを使わずに「ターミナルからテキストを送り込めばプログラムが実行できる」ことです。プラットフォームを選びませんし、HPから遠隔地にあるHANA-BASICをプログラムするなんてことも、カンタンに実現できそうです。

詳しい説明は次回投稿します。

« XBeeでちょっと訂正 | トップページ | PICで走るTiny-BASIC(続き) »

管理人のページ」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: PICで走るTiny-BASIC:

« XBeeでちょっと訂正 | トップページ | PICで走るTiny-BASIC(続き) »