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


PIC−USBIO using BASIC

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
USBインターフェースを内蔵したPICを使ってWindowsパソコンで外部回路を制御するための各種I/O基板の製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第189回]



●PICUSBIO用BASIC説明書(4)BASICコマンド

今回はBASIC説明書の第4回です。
前回は第2章を書きました。
その次の3章は最初に書いてしまいましたので([第186回])今回はその続きということで、第4章です。

4章  BASICコマンド

コマンドはコマンドモードでのみ実行可能なものでプログラム内部で使用することはできません。
プログラム中で使用するとエラーコードが表示されます。
ここではBASICプログラムを作成したり実行したりするときに使用するコマンドをまとめて説明します。

AUTO

[書式]AUTO n

プログラム作成時に行番号を自動表示します。
nは1〜32767の範囲の整数で、この数から10番置きに自動表示されます。

[使用例]
>AUTO 100 [Enter]
>   100    ………行番号を表示してカーソルが表示されるので文を入力します。

>   100XYZ=123[Enter] ……[Enter]を入力すると
>   110           …………次の行番号が表示されます。続けて次の行の文を入力します。

このように[Enter]を入力するとその行をメモリに格納するとともに次の行番号を表示するため毎回行番号を入力する手間が省けます。
行番号が表示される他は通常の入力モードと同じです。
AUTO表示を中止するときは[Ctrl]Bを入力します。

[注意]
すでに作成済のプログラムの修正、追加作業でAUTO機能を使用するときは行番号が重ならないように注意して下さい。
AUTOによって表示された行番号がすでに存在する場合新しい文を入力して[Enter]を押すと同じ行番号の古い文は消されて新しい文に書き換えられてしまいます。

CONT

ブレイクしたポイントからプログラムの実行を再開します。
STOP文の実行や[Ctrl]B入力によりプログラムの実行は中止(ブレイク)されますがその後でこのCONTコマンドを入力するとさきほどブレイクしたポイントから再びプログラムの実行を開始します。
INPUT文の入力の途中でブレイクした場合には正しい位置から実行が再開されないことがあります。
ブレイク後にPRINT文をダイレクト実行して変数の値を参照したりLET文をダイレクト実行して変数の値を変更したあとでCONTコマンドを実行することもできます。

[注意]
ブレイク後にプログラムの一部を書き換えた後にCONTコマンドを入力するとプログラムの実行は正しく行われません(LISTコマンドでプログラムを表示させることは構いません)。

DELETE

プログラムの一括削除を行います。

[書式@]DELETE L1−L2
[書式A]DELETE −L2
[書式B]DELETE L1−

L1は削除を開始する行番号L2は削除を終了する行番号です。
[書式@]ではL1〜L2の行番号の行がまとめて削除されます。
もしL1またはL2に該当する行番号が存在しなければL1より大きくてL2より小さい範囲の行番号の行が削除されます。
[書式A]のようにL1を省略した場合は始めからL2までの行が削除されます。
[書式B]のようにL2を省略した場合はL1から最後までの行が削除されます。
 
[注意]
DELETEコマンドや行番号のみの入力により削除したプログラムはHELPコマンドによっても復活させることはできません。

[使用例]
DELETE 100−230 ………行番号100から230まで削除
DELETE −320 ………はじめから行番号320まで削除
DELETE 560− ………行番号560から最後まで削除

HELP

プログラムを復活させます。
NEWコマンドを入力するとBASICプログラムは消えてしまいます。
そのような場合にHELPコマンドを入力するとBASICプログラムが元通りに復活します。

LIST

プログラムを表示します。

[書式@]LIST L1−L2
[書式A]LIST −L2
[書式B]LIST L1−
[書式C]LIST
[書式D]LIST L1

L1、L2は1〜32767の整数で行番号を示します。
[書式@]は行番号L1〜行番号L2までの範囲にあるプログラムの内容を行番号の小さい順に出力(ディスプレイ画面に表示)します。
L1、L2の値としてそのプログラムに存在しない行番号を指定するとL1より大きくてL2より小さい行番号の行が順に出力されます。
[書式A]のようにL1を省略するとプログラムの始めからL2までが出力されます。
[書式B]のようにL2を省略するとL1からプログラムの最後までが出力されます。
[書式C]のようにL1−L2を省略するとプログラム全部が出力されます。
[書式D]のように−(ハイフン)をつけないでL1だけを指定するとそのL1の1行だけが出力されます(この時存在しない行番号を指定するとなにも出力されませんが特にエラーメッセージは出ません)。

[使用例]
>LIST 30−120[Enter] ………行番号30(なければその次の行番号)から行番号120(なければその前
                       の行番号)までが出力される                    
>LIST −300[Enter]   ………プログラムの始めから行番号300(なければその前の行番号)までが出
                       力される
>LIST 70−[Enter]    ………行番号70(なければその次の行番号)からプログラムの最後までが出力
                       される 
>LIST 100[Enter]    ………行番号100の行だけが出力される。行番号100が存在しなければ何も出
                       力されない
>LIST[Enter]        ………プログラム全部が出力される

/LOAD

BASICプログラムをLOADします。

[書式]
/LOAD ファイルネーム

テキスト形式で保存されたファイルをBASICプログラムとして読み込みます。
ファイルネームがファイル名のみの場合にはBASICインタプリタが存在するフォルダからLOADします。
ファイルがみつからないときは XXX(ファイル名) cannot open と表示されます。
ファイル名にドライブ名やフォルダ名を含めて記述することで別のドライブやフォルダにあるファイルをLOADすることができます(使用例B)。
メモ帳などのテキストエディタで作成したプログラムも文法的に正しければ/SAVEで保存されたファイルと同じようにLOADすることができます。

[注意1]
LOADコマンドの動作は、NEW + /LOAD というように必ずNEWコマンドの動作を伴っています(LOAD前にRAMに存在したプログラムは失われます)。
[注意2]
メモ帳(Notepad)は問題ありませんが、WriteやWordでは通常はそれぞれの形式でファイルが作成されます。
保存するときにテキスト形式を指定してもゴミが混じる場合があります。
Writeなどで作成したファイルがうまくLOADできないときは一度メモ帳(Notepad)で開いてゴミを削除してメモ帳で保存してからLOADしてみてください。

[使用例@]
>/LOAD TEST.TXT[Enter]
[使用例A]
>/LOAD MIHON[Enter]   ………テキスト形式のファイルなら拡張子のついていないファイルでもよい
[使用例B]
>/LOAD D:¥BASIC¥TESTPRO.TXT[Enter]
この例のように別のドライブや別のフォルダにあるファイルをLOADすることもできます。

[注意]
テキスト形式(拡張子の種類に関わらず内容がテキスト形式になっている)以外のファイルをLOADするとBASICシステムが暴走してハングアップすることがあります。

NEW

[書式]NEW

BASICプログラムを消去します。
プログラムを消去する、と説明しましたが正確には「消去」するのではなくてプログラムの終わりのアドレスを管理しているレジスタをクリアするだけでプログラムそのものはまだ消えずにそのまま残っています。
HELPコマンドを実行するとこのレジスタの値を元に戻すためプログラムが復活することになります。

REN

[書式]REN

プログラムの行番号を整理して新しく付け直します。
行のはじめにある行番号だけではなくGOTO、GOSUB、RESTORE、RESUMEの行番号部分も正しく更新されます。

RUN

BASICプログラムを実行するためのコマンドです。
RUN[Enter]とキーボードから入力すると一番先頭の行から実行が開始されます。

/SAVE

[書式]/SAVE ファイルネーム

BASICプログラムをテキスト形式でSAVEします。
ファイルネームがファイル名のみの場合にはBASICインタプリタが存在するフォルダにSAVEされます。
同じファイル名があると下のように表示されます。

XXX(ファイル名) already exists.overwrite ok? y or else

上書きしてよければy[enter]を/SAVEを中止する場合にはその他の文字を入力します。
ファイル名にドライブ名やフォルダ名を含めて記述することで、別のドライブやフォルダにSAVEすることができます(使用例B)。

[使用例@]
>/SAVE TEST.TXT[Enter]
[使用例A]
>/SAVE MIHON[Enter]   ………拡張子はなくてもよい。
[使用例B]
>/SAVE D:¥BASIC¥TESTPRO.TXT[Enter]
[注記1]
使用例Bのように別のドライブや別のフォルダにSAVEすることもできます(上の@A例ではBASICインタプリタの存在するフォルダにSAVEされます)。
[注記2]
TXT以外の拡張子をつけて保存してもBASICでの作業には支障ありません。
Windowsではディレクトリ表示をしたときにテキストファイルのアイコンがつかないため整理がしにくいかもしれないことと、アプリケーションから開くことしかできない欠点があります。

PIC−USBIO using BASIC[第189回]
2023.2.27upload

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