2018年10月
  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(続き) »

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

コメント

コメントを書く

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

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1140145/38860223

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

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