[新連載]復活!TINY BASIC
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
すべてはここからはじまりました。
中日電工も。
40年前を振り返りつつ新連載です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第47回]
●PRTSTG,QTSTG(2)
前回の続きです。
前回はQTSTRで ” ” の処理について説明をしたところで終ってしまいました。
QTSTRでは最初に ” をチェックします。
056CのQTSTG:RST 1です。
ここで ” が検出されなかったときは、アドレス056Eの値(0F=15バイト)が次のアドレス056Fに加算され、その結果のアドレス(057E)にジャンプします。
057EのQT3:です。
QT3:ではRST 1で ’(文字コード27)をチェックしています。
一致した場合には0581にジャンプします。
不一致の場合にはアドレス0580の値(05)が次のアドレス0581に加算され、その結果のアドレス(0586)にジャンプします。
一致した場合にはAレジスタに27( ’ の文字コード)を入れてQT1にジャンプします。
QT1:からの処理については前回説明した通りです。
前回はAレジスタに22を入れてQT1:以下を実行しましたが今回はAレジスタに27( ’ の文字コード)を入れてQT1:以下を実行します。
ですから今回は ’ の次の文字から ’ の前までの文字列が表示されることになります。
さて。
前回は「QTSTGでは ” ” か ’ ’ で囲まれた文字列を表示します」と書きましたが、実はQTSTGはそのほかにもう1つしていることがあります。
” も ’ も検出されなかったときにはQT4:(アドレス0586)以下が実行されます。
QT4:ではRST 1でコード5Fの検出を行なっています。
5FはJISキーボードでは「_」(「ろ」のキー)の文字コードです。
7ビットASCIIでも_(underbar)で同じです。
しかしオリジナルのTINY BASICではBACK−ARROWと書いてあります。
おそらくその昔のTTY端末のキーボードの仕様だと思います。
現在の英字キーボードにも日本語キーボードにもありません。
オリジナルのTINY BASICではBACK−ARROWの入力によって、CRの動作(LFは伴わない)をする、と説明されています。
これは昔の英文タイプで間違って打ってしまった文字を上から/などで消すときなどに使った機能ではないかと思われます。
今のところ「中日電工版」TINY BASICではこの部分はオリジナルのまま残っていますが、勿論PRINT文で_を表示させてみてもオリジナルの説明にあるような動作はしません(文字化け表示になります)。
いずれにせよこれと同じ機能をそのまま使えるようにしてみたところで、今日のWindows画面での表示に対してそれが必要かどうか疑問です。
ですので「中日電工版」TINY BASICの編集作業をしていく過程でQT4:RST 1〜JMP QT2は削除するつもりです。
復活!TINY BASIC[第47回]
2020.7.25upload
前へ
次へ
ホームページトップへ戻る