MB-6892

LEVEL-3 BASIC

概要(一部)

変数

  属性文字 変数の型 メモリ上のデータサイズ
数値変数 % 整数型(Integer) 2バイト(bytes)
! 単精度型(Single Float) 4バイト(bytes)
# 倍精度型(Double Float) 8バイト(bytes)
文字変数 $ 文字列型(String) 最大255バイト(bytes)
  省略時 単精度型
ただし、DEFINT/DBL/STRで指定した英字で始まる場合は、
それぞれ宣言した型になる。

配列変数は変数名の後に()を使って添字を指定する。配列変数の宣言はDIM文で行う。

ファイルディスクリプタ(File Descriptors)

装置名 デバイス名 I/O 備考
キーボード(Keyboard) KYBD: I  
スクリーン(Screen) SCRN: O  
プリンター(Printer) LPT0: O  
LPT1: O
LPT2: O
RS-232C COM0: I/O

オプションとして以下の指定ができる。

F/S ... クロック(Clock)(F:1/16 S:1/64)
7/8 ... ワード長(Bit Length)(7:7ビット 8:8ビット)
E/O/N ... パリティ(Parity)(E:偶数 O:奇数 N:パリティなし)
1/2 ...ストップビット(Stop bit)(1:1ビット 2ビット)

例: COM0:(S8N2)

COM1: I/O
COM2: I/O
COM3: I/O
COM4: I/O
カセット(Cassette) CAS0: I/O ROM BASIC時のデフォルトデバイス(Default device at ROM BASIC)
フロッピー(Floppy) 0: I/O DISK BASIC時のデフォルトデバイス(Default device at DISK BASIC)
1: I/O
2: I/O
3: I/O

演算子の優先順位(Operator Precedence)

  1. ^
  2. +, - (符号)
  3. *, /
  4. \
  5. MOD
  6. +, -
  7. =, <>, ><, <, >, <=, =<, >=, =>
  8. NOT
  9. AND
  10. OR
  11. XOR
  12. IMP
  13. EQV

機械語とBASIC (Machine code and BASIC)

命令一覧

*

*, / 演算子
機能
乗算、除算(実数)
A! = 2 * 3 → 6
B! = 5 / 2 → 2.5

+, - 演算子
機能
(1)符号
(2)加算、減算
(1) -1234
(2) A = 1 + 2

< 演算子
機能
小さい
解説
右辺より左辺が小さければ真(-1)
IF A < B THEN ...

<=, =< 演算子
機能
等しいか小さい
解説
右辺より左辺が等しいか小さければ真(-1)
IF A <= B THEN ...

<>, >< 演算子
機能
等しくない
解説
右辺と左辺が等しくなければ真(-1)
IF A <> B THEN ...

= 演算子
機能
(1)等しい
(2)代入
解説
(1) 右辺と左辺が等しければ真(-1)
(1) IF A = B THEN ...
(2) A = 1234
関連
LET

> 演算子
機能
大きい
解説
右辺より左辺が大きければ真(-1)
IF A > B THEN ...

>=, =>演算子
機能
等しいか大きい
解説
右辺より左辺が等しいか大きければ真(-1)
IF A >= B THEN ...

\ 演算子
機能
整数の除算
A = 5 \ 2 → 2

^ 演算子
機能
べき乗
A = 2 ^ 4 → 16

A

ABS関数
機能
絶対値を返す。
書式
ABS(<引数>)

AND演算子
機能
論理積
解説
(1)左辺かつ右辺が真なら真(-1)
(2)左辺かつ右辺のビットが1ならそのビットが1となる。
(1)IF A >= 0 AND A <= 100 THEN ...
(2)23 AND 15 → 7
関連
EQV演算子, IMP演算子, NOT演算子, OR演算子, XOR演算子

ASC関数
機能
キャラクターコードを返す。
書式
ASC(<文字式>)

ATN関数
機能
逆正接を返す。
書式
ATN(<引数>)
解説
引数はラジアン(-π/2 ~ π/2)

AUTOコマンド
機能
行番号を自動的に出力する。
書式
AUTO [<開始行番号>][,<増分>]

B

BEEPコマンド
機能
内蔵スピーカから音を出す。
書式
BEEP [<数値>]
解説
数値は意味を成さない。

C

CDBL関数
機能
倍精度型に変換する。
書式
CDBL(<引数>)

CHR$関数
機能
キャラクターコードに対応した文字を返す。
書式
CHR$(<引数>)

CINT関数
機能
整数型に変換する。小数部分は四捨五入する。
書式
CINT(<引数>)

CLEARコマンド
機能
変数値をクリアし、文字領域の大きさとBASICで使用するメモリの上限を設定。
書式
CLEAR [<文字領域の大きさ>[,<BASICで使用するメモリの上限番地>]]
解説
<文字領域の大きさ> ... 初期値 300
<BASICで使用するメモリの上限番地> ... 初期値 &H7FFF

CLOSEコマンド
機能
ファイルを閉じる。
書式
CLOSE [[#]<ファイル番号>[,[#]<ファイル番号>...]]

CLSコマンド
機能
画面を消去しカーソルをホーム位置に移動する。
書式
CLS

COLORコマンド
機能
文字色と背景色を指定する。
書式
COLOR [<文字色>][,<背景色>] (省略形はCOL.)
解説
<文字色> ... 0~15
<背景色> ... 0~7

COM(n) ON/OFF/STOPコマンド
機能
コミュニケーションポートからの割り込みを許可/禁止/停止する。
書式
COM(<ポート番号>) { ON | OFF | STOP }
解説
<ポート番号> ... 0 (1~4:拡張ボードがある場合)
関連

CONSOLEコマンド
機能
スクロール範囲を指定する。
書式
CONSOLE <開始行>,<行数>[,<PFキー表示>] (省略形はCONS.)
解説
<開始行> ... 0~24 スクロールを開始する行。
<行数> ... 1~25 スクロール行数。
<PFキー表示> ... 0:表示しない 1:表示する 省略時現在の状態を維持する。
注意
3つのパラメータの合計は25以下であること。
関連
SCREENコマンド, WIDTHコマンド

CONTコマンド
機能
中断したプログラムの実行を開始する。
書式
CONT (省略形はC.)
関連
RUNコマンド, STOP

COS関数
機能
余弦を返す。
書式
COS(<引数>)
解説
引数はラジアン(-π/2 ~ π/2)

CSNG関数
機能
単精度型に変換する。
書式
CSNG(<引数>)

CSRLIN関数
機能
画面上のカーソルの垂直位置を返す。
書式
CSRLIN

CVD, CVI, CVS関数  DISK BASIC
機能
ランダムアクセス用の数値文字列を数値に変換する。
書式
CVD(<8バイト文字列>) , CVI(<2バイト文字列>) , CVS(<4バイト文字列>)
解説
整数型...CVI, 単精度型...CVS, 倍精度型...CVDを使用する。
関連

D

DATA文
機能
READ文で使用するデータを定義する。
書式
DATA <定数>[,<定数>...]
解説
定数にカンマ、コロン、スペースを含む場合「"」で囲む。
注意
行番号のあとにスペースを2つ以上入れるとこの行のDATA文は無視される。

DATE関数
機能
内蔵クロックの日数を返す。
書式
DATE

DATE$システム変数
機能
(1)内蔵クロックの日付を返す。/ (2)日付を設定する。
書式
(1) DATE$
(2) DATE$ = "YY/MM/DD"

DEF FN文
機能
ユーザ関数を定義する。
書式
DEF FN<名前>[(<仮引数>[,<仮引数>...])]=<関数の定義式>
解説
<名前>は変数名と同じ命名規則に従う。
関連
FN関数

DEFINT/SNG/DBL/STR文
機能
変数名の型宣言を行う。
書式
DEF<形> <変数名の頭文字の範囲>
解説
<形> ... INT:整数形, SNG:単精度形, DBL:倍精度形, STR:文字形
<変数名の頭文字の範囲> ... カンマあるいはハイフンで指定。
型宣言をしても変数の属性を優先する。
※属性 ... 「%」:整数形 「!」:単精度形 「#」:倍精度形 「$」:文字形

DEF USR文
機能
機械語サブルーチンの開始番地を定義する。
書式
DEF USR<番号>=<開始番地>
解説
<番号>は0~9の計10個登録できる。省略すると番号0として処理する。
関連
USR関数

DELETEコマンド
機能
指定行を消去する。
書式
DELETE [<開始行番号>][{-|,}[<終了行番号>]]
DELETE {-|,} <終了行番号>

DEVICEコマンド  5インチ版 DISK BASIC
機能
ファイルデスクリプタ省略時などデフォルトで使用するドライブを指定する。
書式
DEVICE "<ファイルデスクリプタ>"

DIM文
機能
配列変数の最大値を指定し、メモリ領域を割り当てる。
書式
DIM <配列変数名>(<添字の最大値>[,<添字の最大値>...])[,<配列変数名>...]

DSKF関数  DISK BASIC
機能
ディスクの空きエリアを返す。単位はグループ(クラスタ)となる。
書式
DSKF( <ドライブ番号> )

DSKI$文  5インチ版 DISK BASIC
機能
ディスクの指定したセクタの内容を文字列で得る。
書式
DSKI$ <ドライブ番号>, <トラック番号>, <セクタ番号>, <文字列変数名1> [, <文字列変数名2>]
解説
文字列変数には128バイトのデータが入る。
<ドライブ番号> ... 0 ~ 3
<トラック番号> ... 0 ~ 39
<セクタ番号> ... 1 ~ 32

DSKI$関数  3インチ版 DISK BASIC
機能
ディスクの指定したセクタの内容を文字列で得る。
書式
DSKI$(<ドライブ番号>, <トラック番号>, <セクタ番号>)
解説
文字列変数には128バイトのデータが入る。
<ドライブ番号> ... 0 ~ 3
<トラック番号> ... 0 ~ 39
<セクタ番号> ... 1 ~ 16

DSKINIコマンド  DISK BASIC
機能
ディスクのファイル管理エリアを初期化する。
書式
DSKINI <ドライブ番号>
注意
ディスクはあらかじめユーティリティにてフォーマットをしておくこと。

DSKO$文  5インチ版 DISK BASIC
機能
ディスクの指定したセクタに文字式の内容を書き込む。
書式
DSKO$ <ドライブ番号>, <トラック番号>, <セクタ番号>, <文字式1> [, <文字式2>]
解説
文字式には128バイトのデータを入れる。
<ドライブ番号> ... 0 ~ 3
<トラック番号> ... 0 ~ 39
<セクタ番号> ... 1 ~ 32

DSKO$文  3インチ版 DISK BASIC
機能
ディスクの指定したセクタに文字式の内容を書き込む。
書式
DSKO$ <ドライブ番号>, <トラック番号>, <セクタ番号>, <文字式>
解説
文字式には128バイトのデータを入れる。
<ドライブ番号> ... 0 ~ 3
<トラック番号> ... 0 ~ 39
<セクタ番号> ... 1 ~ 16

E

EDITコマンド
機能
指定した1行を表示しカーソルをステートメントの先頭に移動する。
書式
EDIT <行番号>

END文
機能
プログラムの実行を終了する。
書式
END

EOF関数
機能
ファイル終端であるかを返す。
書式
EOF(<ファイル番号>)
解説
ファイル終端(EOF)を検出すると-1を返す。

EQV演算子
機能
同値
解説
左辺と右辺のビットが同値の場合にそのビットが1となる。
16 EQV 6 → -23
関連
AND演算子, IMP演算子, NOT演算子, OR演算子, XOR演算子

ERL関数
機能
エラーが発生した行番号を返す。
書式
ERL

ERR関数
機能
発生したエラーのエラーコードを返す。
書式
ERR

ERROR文
機能
エラー発生をエミュレートする。
書式
ERROR <エラーコード>

EXECコマンド
機能
機械語プログラムを実行する。
書式
EXEC [<機械語プログラムの開始番地>]

EXP関数
機能
e(自然対数)のべき乗を返す。
書式
EXP(<引数>)

F

FIELD文  DISK BASIC
機能
ランダムアクセス用のレコードのフィールド定義。
書式
FIELD [#]<ファイル番号>, <フィールド長> AS <文字変数名> [, <フィールド長> AS <文字変数名> ... ]
注意
3インチ版: フィールド長の合計は128バイトまで
5インチ版: フィールド長の合計はOPEN文で指定した値まで。
関連
GET文, PUT文, LSET文, RSET文, OPEN

FILESコマンド
機能
ディスクやカセットテープ上のファイル名一覧を表示する。
書式
FILES ["<ファイルディスクリプタ>"]
注意
終了する場合は CTRL+D を入力しCLOSEコマンドを実行する。
関連
CLOSEコマンド, LOADコマンド, SAVEコマンド

FIX関数
機能
整数部を返す。
書式
FIX(<引数>)

FN関数
機能
ユーザ関数を実行し結果を返す。
書式
FN<名前>[ ( <引数> [, <引数> ] ) ]
解説
DEF FN文で定義したユーザ関数を実行する。
関連

FOR~NEXT文
機能
繰り返し実行。
書式
FOR <変数名>=<初期値> TO <終値>[ STEP <増分>]

NEXT[ <変数名>[,<変数名>...]]

FRE関数
機能
メモリまたは文字領域の未使用領域を返す。
書式
FRE(<引数>)
解説
引数が数式ならメモリの、文字式なら文字領域の未使用領域の大きさを返す。

G

GET文  DISK BASIC
機能
ランダムアクセスファイルからレコードを読み込む。
書式
GET [#]<ファイル番号> [, <レコード番号> ]
解説
データはFIELD文にて指定した変数に格納される。レコード番号を省略するとLOC関数の値が使用される。
関連
FIELD文, PUT

GOSUB~RETURN文
機能
指定した行番号のサブルーチンへ分岐し、実行後指定した行番号に復帰する。
書式
GOSUB <行番号> (省略形はGOS.)

RETURN [<行番号>] (省略形はRET.)

GOTO文
機能
指定した行番号へ無条件に分岐する。
書式
GOTO <行番号> (省略形はGO.)

H

HEX$関数
機能
数値の16進数を文字列で返す。
書式
HEX$(<数値>)
解説
数値は0~65535

I

IF~THEN文
機能
条件分岐。
書式
IF <論理式> THEN {<文>|<行番号>} [ELSE {<文>|<行番号>}]
IF<論理式> GOTO <行番号> [ELSE {<文>|<行番号>}]

IMP演算子
機能
包含
解説
左辺のビットが1、右辺のビットが0の場合にそのビットが0となる。
12 IMP 5 → -9
関連
AND演算子, EQV演算子, NOT演算子, OR演算子, XOR演算子

INKEY$関数
機能
キーボードバッファより1文字を返す。
書式
INKEY$
解説
キーが押されていればその文字を、キーが押されていなければヌルストリングを返す。

INPUT文
機能
キーボードより入力する。
書式
INPUT ["<プロンプト文>"{;|,}] <変数名>[,<変数名...>]
関連

INPUT #文
機能
入力ファイルからデータを読む。
書式
INPUT #<ファイル番号>,<変数名>[,<変数名...>]
解説
"I"でOPENしたファイルからデータを読み変数に代入する。
関連

INPUT$関数
機能
キーボード/入力ファイルより文字列を取得しそれを返す。
書式
INPUT$(<文字数> [, [#]<ファイル番号>])
解説
指定した文字数分の文字列を返す。

INPUT WAIT文
機能
時間制限付きでキーボードより入力する。
書式
INPUT WAIT <行番号>;<待ち時間(秒)>,["<プロンプト文>"{;|,}] <変数名>[,<変数名...>]
解説
待ち時間の間入力待ちを行う。時間内に入力が完了しない場合、行番号の行に制御が移る。

INSTR関数
機能
一致する文字列を検索しその文字位置を返す。
書式
INSTR([<引数>,] <文字式1>, <文字2> )
解説
文字式1の引数で指定した文字位置から文字2が一致する位置を返す。一致しない場合は0を返す。

INT関数
機能
引数の整数を返す。
書式
INT(<引数>)

K

KEYコマンド
機能
PFキーの内容を設定する。
書式
KEY <PFキー番号>, <文字式>

KEY LISTコマンド
機能
PFキーの内容を表示する。
書式
KEY LIST

KEY (n) ON/OFF/STOP文
機能
番号nのPFキーの割り込みを許可/禁止/一時停止する。
書式
KEY (<PFキー番号>) {ON|OFF|STOP}
解説
KEY(n)ONにするとPFキーnが押されるたびにON KEY(n) GOSUBで指定した行番号に制御を移す。
関連

KILLコマンド  DISK BASIC
機能
ファイルを削除する。
書式
KILL <ファイル名>

L

LEFT$関数
機能
文字列の左部分を返す。
書式
LEFT$(<文字式>, <引数>)
解説
文字式の左側から引数で指定した文字数分の文字列を返す。
関連
MID$文, RIGHT$関数

LEN関数
機能
文字列の長さを返す。
書式
LEN(<文字式>)

LET文
機能
変数に値を代入する。
書式
[LET] <変数名>=<式>
解説
"LET"は省略できる。

LINE文
機能
指定した2点間に線または四角形を描く。
書式
(1) LINE[@][(<始点位置>)]-(<終点位置>),<機能>[,<色コード>][,<オプション>]
(2)LINE[@][(<始点位置>)]-(<終点位置>),<文字式>[,<色コード>][,<オプション>]
解説
(1)グラフィックで線または四角形を描く。
<始点位置><終点位置>は座標(0,0)~(639,199)を指定。
<機能>...「PSET」で線を描く。「PRESET」で線を消す。
<色コード>...0~15
<オプション>... 「B」を指定すると四角形、「BF」で四角形の塗りつぶし。
(2)指定した文字で線または四角形を描く。
<始点位置><終点位置>は座標(0,0)~(79,24)を指定。
<文字式>...一文字
<色コード>...0~15
<オプション>... 「B」を指定すると四角形、「BF」で四角形の塗りつぶし。
関連
PSET文, PRESET

LINE INPUT文
機能
1行を区切ることなく文字変数に入力する。
書式
LINE INPUT ["<プロンプト文>"{;|,}] <変数名>
解説
RETURNキーが入力されるまで変数に代入する。
関連

LINE INPUT #文
機能
入力ファイルから1行分のデータを読む。
書式
LINE INPUT #<ファイル番号>,<変数名>[,<変数名...>]
解説
"I"でOPENしたファイルから改行までのデータを読み変数に代入する。
関連

LISTコマンド
機能
プログラムを指定先に出力する。
書式
LIST [<開始行番号>][{-|,}[<終了行番号>]] (省略形はL.)
LIST "<ファイルディスクリプタ>"[,[<開始行番号>][{-|,}[<終了行番号>]]]

LOADコマンド
機能
ディスクやカセットテープからプログラムを読み込む。
書式
LOAD ["[<ファイルディスクリプタ>][<ファイル名>]"[,R]] (省略形はLO.)
解説
R ... プログラムロード後ただちに実行を開始する。
関連
FILESコマンド, SAVEコマンド

LOAD?コマンド
機能
カセットテープ上のファイルのチェックを行う。
書式
LOAD? ["[CAS0:][<ファイル名>]"] (省略形はLO.?)
注意
メモリ上のプログラムとの比較は行わない。
関連
LOADコマンド

LOADMコマンド
機能
ディスクやカセットテープから機械語プログラムを読み込む。
書式
LOADM ["[<ファイルディスクリプタ>][<ファイル名>]"[,[<オフセット>][,R]]] (省略形はLO.M)
解説
<オフセット> ... 記録時の番地にオフセットを加えた番地にロードする。
R ... プログラムロード後直ちに実行を開始する。(開始番地はSAVEM時に指定した番地)
関連
SAVEMコマンド

LOC関数  DISK BASIC
機能
ランダムアクセスファイルに最後にGET,PUTした次のレコード番号を返す。
書式
LOC(<ファイル番号>)

LOCATE文
機能
カーソルの位置および機能を指定する。
書式
LOCATE <水平位置>,<垂直位置>[,<カーソルモード>] (省略形はLOC.)
解説
<カーソルモード> ... 0:カーソル表示点滅なし 1:カーソル非表示 2:カーソル表示倍速点滅 3:カーソル表示通常点滅

LOF関数
機能
入力バッファ内の文字数を返す。ランダムアクセスファイルの場合、最大レコード番号を返す。
書式
LOF(<ファイル番号>)

LOG関数
機能
自然対数を返す。
書式
LOG(<式>)

LSET文  DISK BASIC
機能
ランダムアクセスファイル用の変数にデータを左詰めで格納する。
書式
LSET <文字変数名> = <文字式>
解説
FIELD文にて指定した変数に格納する。右詰めの場合はRSET。数値はMKI$,MKS$,MKD$を用いて文字列に変換する。

M

MERGEコマンド
機能
メモリ上のプログラムにディスクやカセットテープからのプログラムを追加する。
書式
MERGE ["[<ファイルディスクリプタ>][<ファイル名>]"[,R]] (省略形はME.)
解説
R ... プログラムロード後ただちに実行を開始する。
注意
MERGEに使用するプログラムはキャラクタ形式でSAVEされたものでなければならない。
関連
SAVEコマンド

MID$文
機能
文字変数の一部を置換する。
書式
MID$(<文字変数名>,<引数1>[,<引数2>])=<文字式>
解説
<文字変数名>の<引数1>文字目から<引数2>個の文字を<文字式>の内容で置き換える。

MID$関数
機能
文字列から一部を抜き出す。
書式
MID$(<文字式>,<引数1>[,<引数2>])
解説
<文字式>の内容の<引数1>文字目から<引数2>個の文字列を抜き出す。
関連
LEFT$関数, RIGHT$関数

MKD$, MKI$, MKS$関数  DISK BASIC
機能
数値を文字列データに変換する。
書式
MKD$(<引数>) , MKI$(<引数>) , MKS$(<引数>)
解説
整数型...MKI$, 単精度型...MKS$, 倍精度型...MKD$を使用する。
関連
LSET文, RSET文, CVD, CVI, CVS関数

MOD演算子
機能
剰余(余り)
A = 10 MOD 3 → 1

MONコマンド
機能
機械語モニタへ実行を移す。
書式
MON
解説
使用できるコマンド
D[<メモリ番地(16進数)>] ... メモリの内容を表示(64バイトごと)。
M[<メモリ番地(16進数)>] ... メモリの内容を編集。終了するには16進数以外を入力。
R ... レジスタの内容を変更。
G[<メモリ番地(16進数)>] ... プログラムの実行。
MONコマンドはBREAKキー、CTRL+C、CTRL+Dのいずれかで終了しBASICに戻る。

MOTORコマンド
機能
カセットテープレコーダーのモータを制御する。
書式
MOTOR [{ ON | OFF }]

N

NAMEコマンド  DISK BASIC
機能
ファイル名を変更する。
書式
NAME <旧ファイル名> AS <新ファイル名>

NEWコマンド
機能
メモリ上のプログラムを消去し変数をクリアする。
書式
NEW

NEW ONコマンド
機能
システムのモードを切り替え再起動する。
書式
NEW ON <式>

NOT演算子
機能
否定
解説
(1)真と偽を入れ替える
(2)ビットの1と0を入れ替える
(1)IF NOT A=0 THEN ... → IF A <> 0 THEN ...
(2)NOT 0 → -1
関連
AND演算子, EQV演算子, IMP演算子, OR演算子, XOR演算子

O

OCT$関数
機能
数値の8進数を文字列で返す。
書式
OCT$(<数値>)

ON COM(n) GOSUB文
機能
COMポートからの割り込み発生時に実行するサブルーチンの開始行を設定する。
書式
ON COM(<ポート番号>) GOSUB <行番号>
関連
COM(n) ON/OFF/STOPコマンド

ON ERROR GOTO文
機能
エラー発生時に実行するエラー処理の開始行を設定する。
書式
ON ERROR GOTO<行番号>
解説
プログラム中にエラーが発生すると指定した行に制御を移す。行番号に0を指定するとエラー制御を解除する。エラーが発生した行の次から制御を戻すにはRESUME文を用いる。
関連
RESUME文, ERROR

ON KEY(n) GOSUB文
機能
PFキーの割り込み発生時に実行するサブルーチンの開始行を設定する。
書式
ON KEY(<PFキー番号>) GOSUB <行番号>
関連

ON n GOTO/GOSUB文
機能
式の値により指定した行へ分岐する。
書式
ON <式> {GOTO|GOSUB} <行番号>[,<行番号>...]
解説
式の値(1,2,...)により指定した行に制御を移す。

ON PEN GOSUB文
機能
ライトペンの割り込み発生時に実行するサブルーチンの開始行を設定する。
書式
ON PEN GOSUB <未定義領域検知時の行番号>[,[<第1領域検知時の行番号>]...]
ON PEN GOSUB ,[<第1領域検知時の行番号>][,[<第n領域検知時の行番号>]...]
解説
PEN文で指定した領域でライトペンが検知すると指定した行へ制御を移す。
関連

OPEN文
機能
入出力ファイルを開きファイル番号に割り当てる。
書式
OPEN "<モード>",[#]<ファイル番号>,"<ファイルディスクリプタ>" [, <レコード長> ]
解説
<モード> ... I:入力 O:出力 R:ランダムアクセス(ディスクのみ)
レコード長の指定は5インチ版DISK BASICにてランダムアクセスを行う場合のみ有効。また、最大レコード長はユーティリティにて指定した値となる。
関連
CLOSEコマンド, INPUT #文, PRINT # (USING)

OR演算子
機能
論理和
解説
(1)左辺または右辺が真なら真(-1)
(2)左辺または右辺のビットが1ならそのビットが1となる。
(1)IF A < 0 OR A > 100 THEN ...
(2)23 OR 15 → 31
関連
AND演算子, EQV演算子, IMP演算子, NOT演算子, XOR演算子

P

PAINT文
機能
指定した境界内を着色する。
書式
PAINT(<X座標>,<Y座標>),<色コード>[,<境界色コード>]

PEEK関数
機能
メモリ番地の内容を返す。
書式
PEEK(<メモリ番地>)

PEN文
機能
ライトペンの検知領域を設定する。
書式
PEN<番号>;[(領域開始座標)-(領域終了座標)][,<番号>;[(領域開始座標)-(領域終了座標)]...]
解説
番号は1~9までON PEN GOSUB文の行番号の順番と合わせる。座標はキャラクタ単位でX,Yの形式で指定する。座標を省略すると設定解除となる。
関連

PEN関数
機能
ライトペンの情報を返す。
書式
PEN(<引数>)
解説
引数に指定する値:
0 ... トリガセンス:ライトペンを押したら-1、押されていない場合0を返す。
1 ... トリガセンス:ライトペンを押した時の水平座標。
2 ... トリガセンス:ライトペンを押した時の垂直座標。
3 ... レベルセンス:ライトペンを押したら-1、押されていない場合0を返す。
4 ... レベルセンス:ライトペンを押した時の水平座標。
5 ... レベルセンス:ライトペンを押した時の垂直座標。
* トリガセンス:ライトペンを押した時の情報を返す。
* レベルセンス:関数呼び出し時のライトペンの状態を返す。

PEN ON/OFF/STOP文
機能
ライトペンの割り込みを許可/禁止/一時停止する。
書式
PEN {ON|OFF|STOP}
解説
PEN ONにするとライトペンが反応するたびにON PEN GOSUBで指定した行番号に制御を移す。
関連

POINT関数
機能
指定したグラフィック座標上に点があるかを調べる。
書式
POINT(<水平位置>,<垂直位置>)

POKE文
機能
指定したメモリ番地にデータを書き込む。
書式
POKE <メモリ番地>,<データ>

POS関数
機能
画面上のカーソルの水平位置、または出力ファイルの出力文字数を返す。
書式
POS(<引数>)
解説
引数に0を指定すると、画面上のカーソル位置を返す。
引数にファイル番号を指定すると、ファイルの出力文字数を返す。

PRESET文
機能
指定した座標の点を消す。
書式
PRESET(<水平位置>,<垂直位置>)
関連
LINE文, PSET

PRINT文
機能
ディスプレイに式の値を出力する。
書式
PRINT [<式>[{;|,|△}<式...>][{;|,}]] (省略形は?)
解説
式の間を「,」で区切ると14文字タブとなる。「;」「△(空白)」で区切ると連続して出力される。

PRINT # (USING)文
機能
ファイルに値を出力する。
書式
PRINT #<ファイル番号> ...
PRINT #<ファイル番号>, USING ...
解説
書式はPRINT, PRINT USINGに準ずる。
関連
OPEN

PRINT USING文
機能
フォーマットに従って値を出力する。
書式
PRINT USING "<フォーマット>";<式>[{;|,}<式...>][{;|,}]
解説
フォーマットに用いる制御文字
! ... 一文字
&△△...△& ... &で挟まれた文字数分の文字列(△は空白)
###.## ... #で数値の桁数を指定する。 "."は小数点
+### -### ###- ... 数値の前あるいは後ろに符号をつける。
###, ... 3桁ごとにカンマを入れる。
**### ... アスタリスクでサプレス。
\\### ... 数値の前に円記号をつける。
**### ...アスタリスクでサプレスし数値の前に円記号をつける。
##.###^^^^ ... 浮動小数点の書式
関連

PSET文
機能
指定した座標に点を描く。
書式
PSET(<水平位置>,<垂直位置>,<色コード>)
関連
LINE文, PRESET

PUT文  DISK BASIC
機能
ランダムアクセスファイルのレコードに書き込む。
書式
PUT [#]<ファイル番号> [, <レコード番号> ]
解説
データはFIELD文にて指定した変数にLSET、RSET文で格納する。レコード番号を省略するとLOC関数の値が使用される。
関連
FIELD文, GET

R

RANDOMIZE文
機能
乱数の系列(シード)を指定する。
書式
RANDOMIZE [ (<引数>) ] (省略形はRNDM.)
解説
引数は-32768~32767の範囲で数値を指定する。

READ文
機能
DATA文で定義されたデータを変数に読み込む。
書式
READ <変数名>[,<変数名>...]
関連

REM文
機能
プログラム中に注釈をつける。
書式
REM [ <文字列> ] (省略形は')
解説
REM文以降行末までの実行文は無視される。

RENUMコマンド
機能
プログラムの行番号を付け直す。
書式
RENUM [ <新行番号> ][,[<旧行番号>][,<増分>]]
解説
旧行番号以降を新行番号に付け直す。新行番号、増分は省略すると10が適用される。

RESTORE文
機能
DATA文からの読み込み開始行を指定する。
書式
RESTORE [<行番号>]
関連
READ

RESUME文
機能
エラー処理ルーチンから復帰する。
書式
RESUME { [<行番号>] | NEXT }
解説
"NEXT"を指定するとエラーが発生した行の次の行に復帰する。
関連

RIGHT$関数
機能
文字列の右部分を返す。
書式
RIGHT$(<文字式>, <引数>)
解説
文字式の左側から引数で指定した文字数分の文字列を返す。
関連
LEFT$関数, MID$

RND関数
機能
乱数を発生させる。
書式
RND[ (<引数>) ]
解説
0より大きく、1より小さい乱数を発生させる。
引数を省略したり正の数を指定するとセットされている乱数系列から乱数を発生させる。
引数に0を指定すると、直前に発生させた乱数を返す。
引数に負の数を指定すると引数で決まる系列の乱数を発生させる。
関連

RSET文  DISK BASIC
機能
ランダムアクセスファイル用の変数にデータを右詰めで格納する。
書式
RSET <文字変数名> = <文字式>
解説
FIELD文にて指定した変数に格納する。左詰めの場合はLSET。数値はMKI$,MKS$,MKD$を用いて文字列に変換する。
関連

RUNコマンド
機能
プログラムを(ロードし)実行する。
書式
(1) RUN [<行番号>] (省略形はR.)
(2)RUN "[<ファイルディスクリプタ>][<ファイル名>]"[,R]
解説
(1) 指定した行番号から実行する。
(2) 指定したファイルからプログラムをロードし直ちに実行する。
関連
LOADコマンド

S

SAVEコマンド
機能
ディスクやカセットテープにプログラムを記録する。
書式
SAVE "[<ファイルディスクリプタ>]<ファイル名>"[,{A | P}] (省略形はSA.)
解説
A ... プログラムをキャラクタ形式で記録する。
P ... プロテクト。LOADしてもプログラムの閲覧編集ができなくなる。
関連
FILESコマンド, LOADコマンド

SAVEMコマンド
機能
ディスクやカセットテープに機械語プログラムを記録する。
書式
SAVEM "[<ファイルディスクリプタ>]<ファイル名>",<先頭番地>,<最終番地>,<開始番地> (省略形はSA.M)
関連
LOADMコマンド

SCREENコマンド
機能
画面モードおよびページを指定する。
書式
SCREEN [<精細度モード>][,[<ページ番号>][,<インターレース>]]
解説
<精細度モード> ... 0:ノーマルモード 1:ハイレゾモード 省略時現在のモードを維持。
<ページ番号> ... 1~16 省略時1
<インターレース> ... 0:インターレース 1:ノンインターレース 省略時現在のモードを維持
関連
CONSOLEコマンド, WIDTHコマンド

SCREEN関数
機能
画面の指定位置のキャラクターコード、属性を返す。
書式
SCREEN(<水平位置>, <垂直位置> [, <スイッチ>])
解説
スイッチが0の時、キャラクターコードを返す。スイッチが1の時、カラーコード(0~15)+グラフィック(+16)を返す。

SGN関数
機能
引数の符号を返す。
書式
SGN(<引数>)
解説
引数が正なら1、負なら-1、零なら0を返す。

SIN関数
機能
正弦を返す。
書式
SIN(<引数>)
解説
引数はラジアン(-π/2 ~ π/2)

SKIPFコマンド
機能
カセットテープ上のファイルの読み飛ばしとチェックを行う。
書式
SKIPF ["[CAS0:][<ファイル名>]"] (省略形はSK.)
解説
LOAD?と同じ機能。

SPACE$関数
機能
空白の文字列を返す。
書式
SPACE$(<文字数>)

SPC関数
機能
空白を出力する。
書式
SPC(<文字数>)

SQR関数
機能
平方根を返す。
書式
SQR(<数値>)

STOP文
機能
プログラムの実行を一時停止する。
書式
STOP
解説
指定した行で実行を停止しコマンド待ちに戻る。CONTコマンドで実行再開できる。
関連
CONTコマンド

STR$関数
機能
数値を文字列に変換する。
書式
STR$(<数値>)

STRING$関数
機能
1文字を繰り返した文字列を返す。
書式
STRING$(<文字数>, <文字>)
解説
文字には1文字の文字列もしくはキャラクターコードを指定する。

SWAP文
機能
2つの変数の値を交換する。
書式
SWAP <変数名>, <変数名>

T

TAB関数
機能
指定した水平位置までカーソルを移動する。
書式
TAB(<引数>)

TAN関数
機能
正接を返す。
書式
TAN(<引数>)
解説
引数はラジアン(-π/2 ~ π/2)

TERM コマンド
機能
ターミナルモードに設定する。
書式
TERM ["<オプション文字列>"]
解説
RS-232Cを介して通信を行う。オプション文字列には以下の項目毎に1文字を選択し文字列にして設定する。
1)クロック ... F/S (F:Fast(1/16) S:Slow(1/64))
2)ワード長 ... 7/8 (7:7ビット 8:8ビット)
3)パリティ ... E/O/N (E:偶数 O:奇数 N:パリティなし)
4)ストップビット ... 1/2 (1:1ストップビット 2:2ストップビット)
5)モード ... H/F (H:半二重 F:全二重)
例:F8N2F ... クロック1/16、8ビット、パリティなし、2ストップビット、全二重
注意
COM0:でのみ使用できる。

TIME関数
機能
内蔵クロックの午前00:00:00からの秒数を返す。
書式
TIME

TIME$システム変数
機能
(1)内蔵クロックの時刻を返す。/ (2)時刻を設定する。
書式
(1) TIME$
(2) TIME$ = "HH:MM:SS"

TRON / TROFF コマンド
機能
トレースモードのON/OFFを行う。
書式
TRON / TROFF
解説
TRONするとBASICはトレースモードとなり、実行中の行番号を画面に表示ようになる。

U

UNLISTコマンド
機能
リスト出力を禁止する。
書式
UNLIST [ <行番号> ]
解説
行番号以降のリスト出力を禁止する。行番号を省略すると全行禁止となる。

USR関数
機能
ユーザが定義した機械語サブルーチンを呼び出す。
書式
USR[ <番号> ]( <引数> )
解説
DEF USRにて定義した開始アドレスから機械語を実行する。<番号>は0~9。省略すると番号0として処理する。
関連

V

VAL関数
機能
文字列を数値に変換する。
書式
VAL(<文字式>)

VARPTR関数
機能
変数のデータが格納されている先頭番地を返す。
書式
VARPTR(<変数名>)

VERIFYコマンド  5インチ版 DISK BASIC
機能
ファイル書き込み時のベリファイを指定する。
書式
VERIFY {ON | OFF }

W

WIDTHコマンド
機能
1行あたりの表示文字数を指定する。
書式
WIDTH <水平表示文字数> (省略形はW.)
解説
<水平表示文字数> ... 40 または 80
関連
CONSOLEコマンド, SCREENコマンド

X

XOR演算子
機能
排他的論理和
解説
左辺か右辺のどちらかだけのビットが1ならそのビットが1となる。
16 XOR 6 → 22
関連
AND演算子, EQV演算子, IMP演算子, NOT演算子, OR演算子

エラーメッセージ一覧

メッセージ コード 内容
Bad Data In File 58 ファイル上にあるデータの形式が間違っている。
Bad File Descriptor 55 ファイル・ディスクリプタにありえないものを指定した。
Bad File Mode 51 OPEN時のモードと対応しない入出力命令を実行しようとした。
Bad File Number 50 OPENされていないファイル番号を指定した。
Bad File Structure 71 [DISK BASIC] ファイル構造が誤っている。(FAT、ディレクトリーがおかしい)
Bad Record Number 70 [DISK BASIC] PUTまたはGETで範囲外のレコード番号を指定した。
Buffer Overflow 61 入出力バッファがオーバー・フローした。(ファイルが正しく読めないなど)
Can't Continue 17 CONTコマンドによるプログラムの続行ができない。(ポインタが破壊されている)
Device I/O Error 53 使用したデバイスの読み込みまたは書き込みにエラーが生じた。
Device In Use 59 ディスク以外の使用中のデバイスを(コマンドやOPEN命令で)使用しようとした。
Device Unavailable 60 デバイスが使用可能な状態にない。(インターフェイスは実装されているが、コネクタが接続されていないなど)
Directory Full 64 [DISK BASIC] ディレクトリがいっぱいになったので、ファイルを作成することができない。
Direct Statement In File 56 ASCIIフォーマットでのLOAD中にダイレクト・ステートメントがあった。(データーファイルをLOADしようとした時など)
Disk Full 66 [DISK BASIC] すべてのグループ(クラスタ)が使用された状態で、さらにファイルの拡張、作成をしようとした。(ユーザー・エリアが残っていない)
このエラーが発生したときは、ディスケットをドライブに挿入したまますぐにCLOSEを実行してください。
Disk Write Protected 73 [DISK BASIC] ライト・プロテクト・ノッチの貼ってあるデイスケットに書き込みを行なおうとした。
Division By Zero 11 除算の除数に0が指定された。
Drive Not Ready 72 [DISK BASIC] 指定されたドライブにディスケットが装着されていない。
Duplicate Definition 10 配列またはユーザ関数を二重に定義しようとした。
End Of Record 75 [5インチ版 DISK BASIC] シーケンシャルファイルをランダムアクセスで開いている時に、レコードの終端に達した。
Field Overflow 68 [DISK BASIC] FIELD文で、サイズの合計が指定のバイトを越えた。
File Not open 57 OPENしていないファイルをアクセスしようとした。(ファイルをOPENしないでファイル番号を使う命令を使用しようとした)
File Already Exists 67 [DISK BASIC] 既に同一ディスケット上に存在するファイル名をNAMEコマンドの新ファイル名に指定した。
File Already Open 52 既にOPEN状態にあるファイルを再びOPENしようとした。
File Not Found 63 [DISK BASIC] ディスク上にないファイル名を指定した。
For Without Next 23 FOR~NEXTが正しく対応していない。(FOR文が多すぎる)
Illegal Direct 12 ダイレクト・コマンドとして使えないステートメントをコマンドとして実行しようとした。
Illegal Function Call 5 ステートメントの機能の呼び方が誤っている。 (引数が範囲外の値を指定しているなど)
Input Past End 54 ファイルのすべてのデータを読み尽した後にファイル入力文が実行された。
Missing Operand 22 ステートメント中に必要なパラメータなどが指定されていない。
Next Without For 1 FOR~NEXTが正しく対応していない。(NEXTが多過ぎるか、2つ以上のFOR~NEXTループが交錯している)
No Resume 19 エラー処理後プログラムの実行を再開することができない。
Out Of FIELD Buffers 74 [5インチ版 DISK BASIC] FIELD用のバッファが足りない。
Out Of Data 4 READ文で読まれるべきデータがDATA文の中に用意されていない。(DATA文がないか、DATAを読み尽した後に更にREAD文がある)
Out Of Memory 7 メモリ容量が足りなくなった。(プログラムが長すぎる、配列が大きすぎるなど)
Out Of String Space 14 CLEAR文などで指定したストリング変数用メモリ・エリアが足りなくなった。
Overflow 6 演算結果や入力された数値が許容されている範囲からはずれている。
Protected Program 62 [DISK BASIC] 保護されたプログラムに対して、書き込みや修正を行なおうとした。
Resume Without Error 20 エラーとRESUMEが対応していない。(エラーがないのにRESUMEした)
Return Without Gosub 3 GOSUB~RETURNが正しく対応していない。(RETURN文だけがある)
String Formula Too Complex 16 文字式が複雑すぎる。(かっこのネスティングが深すぎるなど)
String Not Fielded 69 [DISK BASIC] LSETまたはRSET文で、代入する文字変数がFIELD定義されていない。または、FIELD文で定義した文字変数にLSET、RSET以外の命令で内容を変更しようとした。
String Too Long 15 ストリング(引用符で囲まれた文字列)が長すぎる。(255文字を越えた)
Subscript Out Of Range 9 配列変数の添宇が規定の範囲内にない。
Syntax Error 2 プログラムが文法にそっていない。プログラム中に規定のステートメント以外のものがあるなど。
Too Many open Disk Files 65 [DISK BASIC] FCB(ファイル・コントロール・ブロック)の数以上のファイルを同時にOPENしようとした。
Type Mismatch 13 式の左辺と右辺、関数の引数などのデータ形式が一致していない。(数値とストリングなど)
Undefined Line Number 8 必要とされるプログラム行(GOTOの飛び先など)がない。
Undefined User Function 18 DEFFNで定義されていないユーザ関数を参照しようとした。
Unprintable Error その他 メッセージの定義されていないエラーが発生した。
Verification Error 76 [5インチ版 DISK BASIC] 書き込みでベリファイエラー。
WEND without WHILE 25 WHILEとWENDが正しく対応していない。
WHILE without WEND 24 WHILEとWENDが正しく対応していない。

 

TOP PAGE