N88-BASIC(86) CHAIN命令
CHAIN
- 機能
- プログラムを連結し実行する
- 書式
- CHAIN [MERGE]ファイルディスクリプタ[, 行番号][,ALL]
- 文例
- CHAIN MERGE "1:TEST", 500, ALL, DELETE 500-600
CHAINを実行すると,メモリ上にあるプログラムで使用中のファイルは,そのままの状態でロードされるプログラムに引き継がれます.また.OPTION BASEもロードされるプログラムに引き継がれます.
(1) MERGEオプションを省略した場合
メモリ上のプログラムは消去され,ディスクから〈ファイルディスクリプタ〉で指定したプログラムがロードされ,実行されます.
〈行番号〉には,ロードされたプログラムの開始行番号を指定します.省略した場合は,プログラムの最初から実行されます.
ALLオプションは,ロードされるプログラムに変数,配列を引き渡すのに使います.これを指定した場合すべての変数,配列が引き渡され,省略した場合いっさい引き渡されません.必要な変数,配列だけを引き渡したいという場合はCOMMONを使います(COMMON参照).
DELETEオプションは,この場合意味をもちません.
(2) MERGEオプションを指定した場合
メモリ上のプログラムと,ディスクからロードされたプログラムとが,合成(マージ)されてひとつのプログラムとなった後,実行されます.
〈ファイルディスクリプタ〉には,ディスクからロードするプログラムを指定します.この場合,ディスクからロードするプログラムは,必ずアスキセーブされたものでなければなりません.
〈行番号〉には,合成後のプログラムの開始行番号を指定します.行番号を省略した場合には,合成後のプログラムの最初から実行されます.
ALLオプションの扱いは. (1)と同様です.
DELETEオプションおよび〈範囲〉を指定すると,メモリ上のプログラムの指定範囲が削除された後,ディスクのプログラムの合成が行われます.〈範囲〉は,"200-300"のように,行番号をマイナス記号でつないで指定します. DELETEオプションで指定する〈範囲〉の行番号はRENUMを実行すると書き換えられます.また, 〈範囲〉の指定には,ラベル名を使うことができます.
注意
- 実行開始行を指定する〈行番号〉は, RENUMを実行しでも書き換えられません.また,〈行番号〉としてラベル名を使うことはできません.
- DEFINT, DEFSNG, DEFDBL, DEFSTRなどの宣言文は, MERGEオプションを指定した場合,合成後のプログラムに対しでも有効となりますが,指定がない場合,ロードされたプログラムには何の効果も与えません.
- CHAINを実行すると, DEF FN,あるいはON COM GOSUB, ON ERROR GOTOなどの割り込み制御は無効となります.
- MERGEオプションを指定したCHAINを, FOR........NEXTループ内で実行することはできません.
出典:N88-日本語BASIC(86)(Ver6.2) リファレンスマニュアル、日本電気株式会社、1991年発行