2020.10.11
前へ
次へ
ホームページトップへ戻る

[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜



[第109回]


●マイコン独立化セット用中日電工版TINY BASIC(スクリーンエディタ版)プログラムの説明

マイコン独立化セット用TINY BASIC(スクリーンエディタ版)tinybs6c.txtはUSB接続用TINY BASIC(スクリーンエディタ版)tinybs3f.txtをもとにしてその一部を書き換えて作りました。
書き換えた部分をWinMergeで示しながら説明することにします。
WinMergeについては[第97回]で紹介していますので参照願います。

左側がtinybs3f.txt、右側がtinybs6c.txtです。
tinybs3f.txtは[第102回]で説明をしました。

左(tinybs3f.txt)はUSB接続なのでSIN、SOUTというサブルーチン名を使っていましたが、右(tinybs6c.txt)は独立型はシリアル入出力ではありませんから、それなりの名前に変更しました。
スクリーンエディタはSEDTR、文字表示はADISP、キー入力はKEYにしました。
それぞれのアドレスも変更しました。
KEYBFはスクリーンエディタのキー入力バッファです。

INPUT命令の実行中にブレークできるように、’¥’(文字コード5C)を入力することにしました。


行データ入力部分は大きく変わっています。

CALL SEDTRでスクリーンエディタにエントリします。
リターンしてきたときにZフラグが立っていたらブレーク入力([Ctrl]+[B])が検出されたことを示しています。
スクリーンエディタは行の上下移動もできます。
’)’がないところで命令行を入力するかもしれませんから’)’の有無を確認します。
小文字のa〜zは大文字のA〜Zに変換します。

文字表示部分です。

独立型の文字表示ルーチンはBレジスタを書き換えませんからPUSH B、POP Bを外しました。

ブレークチェック部分です。

独立型ではCALL KEYを実行したときに、[Ctrl]+[B]が押されているとAレジスタにコード02が入ります。
今気が付きました。
JZ BRKDP
RET
BRKDP:
は冗長でした。
ここは
JZ BRKDP
RET
の代わりに
RNZ
とすべきでした。

ND80Z3.5用とND8080用の比較です。

スクリーンエディタと文字表示、KEY入力の各ルーチンのエントリアドレスのみを変更しました。
そのほかは同じです。

復活!TINY BASIC[第109回]
2020.10.11upload

前へ
次へ
ホームページトップへ戻る