N88-BASIC(86) 命令・関数一覧

はじめに

NEC PC-9800シリーズのN88-BASIC(86)およびN88-日本語BASIC(86)で使える命令・関数について簡単な機能の説明、書式、文例を挙げています。というか内容はほぼ『PC-9801VX BASICリファレンスブック』(日本電気株式会社、1987年発行)の写しですが、N-BASIC(86)のみに該当する記述は省略しています。N88-日本語BASIC(86)はシステムディスク(FD)から起動するスタンドアロン版が対象です。

N88-BASIC(86) BASIC言語のEmEditor強調表示用構文ファイルを作りました。EmEditorをお持ちの方はよろしければお使い下さい。

Image: EmEditor Highlighter for N88-BASIC(86) PC-98x1 built-in BASIC

コマンド

システム制御コマンド

CONT

機能
STOPキー入力、またはSTOP文によって停止したプログラムの実行を再開する。
書式
CONT
文例
CONT

KEY LIST

機能
ファンクションキーの内容をリストする
書式
KEY LIST
文例
KEY LIST

MON

機能
内蔵の機械語モニタに制御を移す
書式
MON
文例
MON

NEW

機能
メモリにあるプログラムを抹消し、全ての変数をクリアする
書式
NEW
文例
NEW

NEW ON

機能
N88-BASICからN-BASICを起動するときなど、システムの種々のモードを設定する。
書式
NEW ON 式
文例
NEW ON 1

RUN

機能
メモリにあるプログラムの実行を開始する
書式
RUN [行番号]
RUN ファイルディスクリプタ [,R]
文例
RUN 100
RUN "2:TEST"

TERM

機能
システムをターミナルモードにする
書式
TERM "[COM:][パリティ[ビット[ストップビット[XONスイッチ[Sパラメータ[DELコード処理[RETコード処理[受信CRコード処理[日本語シフトコード指定]]]]]]]]]"[,[モード][,変数領域の大きさ]]
文例
TERM "COM:E72X",,1000

TRON/TROFF

機能
プログラムの実行状態を追跡する
書式
TRON/TROFF
文例
TRON

ファイル操作コマンド

FILES/LFILES

機能
ディスクに入っているファイルの名前、種類と大きさを表示する
書式
FILES [ドライブ番号]
文例
FILES 2

KILL

機能
ディスクからファイルを削除する
書式
KILL ファイルディスクリプタ
文例
KILL "2:SAMPLE"

NAME

機能
ディスクファイルの名前を変える
書式
NAME 旧ファイル名 AS 新ファイル名
文例
NAME "SAMPLE" AS "SAMPLE1"

SET

機能
ファイル属性のセット・リセット
書式
SET ドライブ番号,"属性文字"
SET ファイル名,"属性文字"
SET #ファイル番号, "属性文字"
文例
SET 1,"P"
SET "2:NOTWRITE","P"
SET #1,"R"

プログラムファイル操作コマンド

BLOAD

機能
機械語プログラムをロードする
書式
BLOAD ファイルディスクリプタ[,ロードアドレス][,R]
文例
BLOAD "DEMO.BIN",R

BSAVE

機能
機械語プログラムをセーブする
書式
BSAVE ファイルディスクリプタ,開始番地,長さ
文例
BSAVE "DEMO.BIN", &H0100, &H2FF

LOAD

機能
プログラムをメモリにロードする
書式
LOAD ファイルディスクリプタ[,R]
文例
LOAD "CAS2:TEST"

LOAD?

機能
カセットに正しくプログラムがセーブできたかを確認する
書式
LOAD? ファイルディスクリプタ
文例
LOAD? "CAS2:TEST"

MERGE

機能
プログラムを混合する
書式
MERGE ファイルディスクリプタ
文例
MERGE "2:TEST"

SAVE

機能
メモリのBASICプログラムをファイルにセーブする
書式
SAVE ファイルディスクリプタ[,A/P]
文例
SAVE "2:MYPROG", A

エディットコマンド

AUTO

機能
行番号を自動的に発生する
書式
AUTO [行番号][,増分]
文例
AUTO 100,5

DELETE

機能
プログラムの部分削除
書式
DELETE [始点行番号][-終点行番号]
文例
DELETE 10-230

EDIT

機能
指定された行を画面上に表示し、カーソルを移動する
書式
EDIT 行番号
文例
EDIT 30

LIST/LLIST

機能
メモリ内にあるプログラムの全部または一部をリストアウトする
書式
LIST [行番号][-行番号]
LLIST [行番号][-行番号]
文例
LIST 100-200
LIST

RENUM

機能
プログラムの行番号を整理する
書式
RENUM [新行番号][,旧行番号][,増分]
文例
RENUM

一般命令

定義文ステートメント

CLEAR

機能
変数の初期化およびメモリ領域の設定をする
書式
CLEAR [ダミーパラメータ][,メモリの上限][,スタックの大きさ][,配列データ領域の大きさ]
文例
CLEAR ,&H3000

COMMON

機能
CHAIN文が実行されたとき変数を引き渡す
書式
COMMON 変数名[,変数名...]
文例
COMMON A.B.XY().NA$

DATA

機能
READ文で読み込まれる数値、文字列定数を格納する
書式
DATA 定数[,定数...]
文例
DATA 1, NEC, 9800

DEF FN

機能
ユーザーによって作られた関数を定義する
書式
DEF FN名前[(パラメータリスト)]=関数の定義式
文例
DEF FNA(X,Y)=X*2+Y*3

DEFINT/SNG/DBL/STR

機能
変数の型宣言をする
書式
DEF[INT/SNG/DBL/STR]文字の範囲[,文字の範囲...]
文例
DEFINT A,I-K

DIM

機能
配列変数の要素の大きさを指定し、メモリ領域に割り当てる
書式
DIM 変数名 (添字の最大値 [, 添字の最大値...])
文例
DIM A(12,2)

END

機能
プログラムの終了を宣言する
書式
END
文例
END

ERASE

機能
配列変数を消去する
書式
ERASE 配列変数名 [,配列変数名...]
文例
ERASE C,D

KEY

機能
キーボードの上部にあるプログラマブル・ファンクションキーの内容を定義する
書式
KEY キー番号,文字列
文例
KEY 1, "LOAD"

OPTION BASE

機能
配列の添字の下限を宣言する
書式
OPTION BASE [0/1]
文例
OPTION BASE 1

RANDOMIZE

機能
新しい乱数系列を設定する
書式
RANDOMIZE [式]
文例
RANDOMIZE

REM

機能
プログラムに注釈を入れる
書式
REM [注釈文]
文例
REM TESTPROGRAM
'TESTPROGRAM

RESTORE

機能
READ文で読むDATA文を指定する
書式
RESTORE [行番号]
文例
RESTORE 800

関数

DATE$

機能
日付を与える
書式
DATE$
文例
D$=DATE$

FRE

機能
メモリの未使用領域の大きさを与える
書式
FRE(機能)
文例
PRINT FRE(0)

TIME$

機能
内蔵クロックの時刻を与える
書式
TIME$
TIME$="HH:MM:SS"
文例
PRINT TIME$

流れ制御文ステートメント

CHAIN

機能
プログラムを連結し実行する
書式
CHAIN [MERGE]ファイルディスクリプタ[, 行番号][,ALL]
文例
CHAIN MERGE "1:TEST", 500, ALL, DELETE 500-600

FOR...TO...STEP-NEXT

機能
FOR文からNEXT文までの一連の命令を指定回数だけ繰り返して実行する
書式
FOR 変数名=初期値 TO 終値 [STEP 増分] - NEXT [[変数名][,変数名]]
文例
FOR J=0 TO 100 STEP 2: ... :NEXT J

GOSUB-RETURN

機能
サブルーチンのコール、およびサブルーチンからのリターンを行う
書式
GOSUB 行番号
RETURN [行番号]
文例
GOSUB #GOOD

GOTO GO TO

機能
指定した行へジャンプする
書式
GOTO 行番号
GO TO 行番号
文例
GOTO 500

IF...THEN...ELSE IF...GOTO...ELSE

機能
論理式の条件判断を行う
書式
IF 論理式 [THEN 文/行番号]/[GOTO 行番号] [ELSE 文/行番号]
文例
IF A$="Y" THEN *START ELSE 120

ON...GOSUB ON...GOTO

機能
指定されたいずれかの行に分岐する
書式
ON 式 GOSUB 行番号[,行番号...]
ON 式 GOTO 行番号[,行番号]
文例
ON A GOSUB 100,200,300,400
ON A GOTO 100,200,300,400

STOP

機能
プログラムの実行を停止してコマンドレベルに戻る
書式
STOP
文例
STOP

WHILE-WEND

機能
条件が満たされている間繰り返し実行する
書式
WHILE 論理式 : ... : WEND
文例
WHILE I>5 : ... : WEND

演算命令

ステートメント

LET

機能
変数に値を代入する
書式
[LET] 変数名=式
文例
LET A=10

READ

機能
DATA文より値を読み、変数に割り当てる
書式
READ 変数リスト
文例
READ A,B,C$

SWAP

機能
2つの変数の値を変換する
書式
SWAP 変数,変数
文例
SWAP A$,B$

関数

ABS

機能
絶対値を与える
書式
ABS(数式)
文例
B=ABS(-2)

ATN

機能
逆正接(アークタンジェント)を与える
書式
ATN(数式)
文例
A=ATN(I)

CINT

機能
単精度実数値、倍精度実数値を整数値に変換した値を与える
書式
CINT(数式)
文例
A%=CINT(B#*2)

CDBL

機能
整数値、単精度実数値を倍精度実数値に変換した数値を与える
書式
CDBL(数式)
文例
A#=CDBL(B!/2)

COS

機能
余弦(コサイン)を与える
書式
COS(数式)
文例
C=COS(3.1415/2)

CSNG

機能
整数値、倍精度実数値を単精度実数値に変換した値を与える
書式
CSNG(数式)
文例
A!=CSNG(B#)

CVI CVS CVD

機能
文字列を数値データに変換した値を与える
書式
CVI(2文字の文字列)
CVS(4文字の文字列)
CVD(8文字の文字列)
文例
A%=CVI(A$)
B=CVS("A3Bd")
C# =CVD(NUM$)

EXP

機能
eに対する指数関数の値を与える
書式
EXP(数式)
文例
E=EXP(1)

FIX

機能
整数部を与える
書式
FIX(数式)
文例
F=FIX(B/3)

INT

機能
小数点以下を切り捨てた整数値を与える
書式
INT(数式)
文例
PRINT INT(1.123)

LOG

機能
自然対数を与える
書式
LOG(数式)
文例
PRINT LOG(35/9)

RND

機能
乱数を与える
書式
RND[(数式)]
文例
R=RND(1)

SGN

機能
符号を調べる
書式
SGN(数式)
文例
PRINT SGN(A)

SEARCH

機能
任意の配列変数の要素の中から指定された値を探し出しその要素ナンバーを与える
書式
SEARCH(配列変数名,整数表記[,開始ナンバー][,ステップ値]
文例
NUM=SEARCH(A%,100,0,3)

SIN

機能
正弦(サイン)を与える
書式
SIN(数式)
文例
PRINT SIN(1)

SQR

機能
平方根(スクェアールート)を与える
書式
SQR(数式)
文例
A=SQR(2)

TAN

機能
正接(タンジェント)を与える
書式
TAN(数式)
文例
A=TAN(123)

文字列操作命令

ステートメント

MID$

機能
文字列の一部を置き換える
書式
MID$(文字列1, 式1[, 式2])=文字列2
文例
MID$(A$, 3)="ABC"

関数

ASC

機能
文字のキャラクタコードを与える
書式
ASC(数式)
文例
A=ASC("A")

CHR$

機能
指定したキャラクタコードを持つ文字を与える
書式
CHR$(数式)
文例
A$=CHR$(65)

HEX$

機能
10進数を16進数に変換し、その文字列を与える
書式
HEX$(数式)
文例
A$=HEX$(X)

INSTR

機能
文字列の中から任意の文字列を探してその文字の位置を与える
書式
INSTR([数式,]文字列1,文字列2)
文例
J=INSTR(A$,"J")

LEFT$

機能
文字列の左側から任意の長さの文字列を与える
書式
LEFT$(文字列,数式)
文例
B$=LEFT$(A$,4)

LEN

機能
文字列の総文字数を与える
書式
LEN(文字列)
文例
PRINT LEN(A$)

MID$

機能
文字列の中から任意の長さの文字列を与える
書式
MID$(文字列,式1[,式2])
文例
PRINT MID$(A$,2,3)

MKI$/MKS$/MKD$

機能
各数値を内部表現に対応した文字コードを与える
書式
MKI$(整数表記)
MKS$(単精度表記)
MKD$(倍精度表記)
文例
A$=MKI$(128)
LSET B$=MKS$(1.23)
RSET C$=MKD$(3.141592654#)

OCT$

機能
10進数を8進数に変換し、その文字列を与える
書式
OCT$(数式)
文例
PRINT OCT$(A)

RIGHT$

機能
文字列の右側から任意の長さの文字列を与える
書式
RIGHT$(文字列,数式)
文例
PRINT RIGHT$(A$,4)

SPACE$

機能
任意の長さの空白文字列を与える
書式
SPACE$(数式)
文例
PRINT SPACE$(10);"ABC"

STR$

機能
数値を表す文字列を与える
書式
STR$(数式)
文例
A$=STR$(123)

STRING$

機能
任意の文字を任意の数だけ与える
書式
STRING$(式,文字列/数式)
文例
A$=STRING$(10,"+")

VAL

機能
文字列の表す数値を与える
書式
VAL(文字列)
文例
A=VAL("2")

日本語文字列操作関数

AKCNV$

機能
文字列の中の1バイト系文字を2バイト系文字に変換する
書式
AKCNV$(文字列)
文例
A$=AKCNV$(B$)

JIS$

機能
日本語文字を漢字コードで与える
書式
JIS$(文字列)
文例
A$=JIS$(B$)

KACNV$

機能
文字列の中の日本語文字を対応する英数かな(1バイト系)文字に変換する
書式
KACNV$(文字列)
文例
A$=KACNV$(B$)

KEXT$

機能
文字列の中から1バイト系英数カナ文字だけ、あるいは、2バイト系日本語文字だけのどちらかを抜き出して与える
書式
KEXT$(文字列,機能)
文例
A$=KEXT$(B$,1)

KINSTR

機能
日本語文字を含む文字列の中から指定した文字列を探してその文字の位置を与える
書式
KINSTR([数式,]文字列1,文字列2)
文例
J=KINSTR(3,A$,"東京")

KLEN

機能
日本語を含む文字列の文字数を与える
書式
KLEN(文字数[,機能])
文例
KLEN(A$,0)

KMID$

機能
日本語を含む文字列の中から任意の長さの文字列を与える
書式
KMID$(文字列,式1[,式2])
文例
KMID$(A$,4,3)

KNJ$

機能
漢字コード文字列4桁を日本語1文字に変換して与える
書式
KNJ$(文字列)
文例
KNJ$("4E7A")

KTYPE

機能
日本語を含む文字列の中の指定位置の文字のタイプを与える
書式
KTYPE(文字列,式)
文例
KTYPE(A$,5)

画面入出力命令

画面定義ステートメント

CLS

機能
現在アクティブな画面をクリアする
書式
CLS [機能]
文例
CLS 2

[1] COLOR

機能
ディスプレイ画面の各部の色を指定する
書式
COLOR [ファンクションコード][,バックグラウンドカラー][,ボーダーカラー][,フォアグラウンドカラー][,パレットモード]
文例
COLOR 7,0,0,7

[2] COLOR

機能
カラーパレットを変更する
書式
COLOR[=(パレット番号,カラーコード)]
文例
COLOR=(2,4)

COLOR@

機能
テキスト画面に書かれた文字などに色や機能を設定する
書式
COLOR@(X1,Y1)-(X2,Y2)[,ファンクションコード]
文例
COLOR@(0,0)-(79,4),2

CONSOLE

機能
テキスト画面のモードの設定を行う
書式
CONSOLE [スクロール開始行][スクロール行数][,ファンクションキー表示スイッチ][,カラー/白黒スイッチ]
文例
CONSOLE 0,25,0,1

SCREEN

機能
グラフィック画面に対して種々のモードを設定する
書式
SCREEN [画面モード][,画面スイッチ][,アクティブページ][,ディスプレイページ]
文例
SCREEN 1,0,0,7

WIDTH

機能
デバイスやファイルに対して文字の領域を設定する
書式
WIDTH [桁数][,行数]
文例
WIDTH 80,25

VIEW

機能
ディスプレイ画面上での表示領域(ビューポート)を指定する
書式
VIEW(SX1,SY1)-(SX2,SY2)[,領域色][,境界色]
文例
VIEW(100,30)-(200,75),,7

WINDOW

機能
ビューポートに表示するワールド座標系内の領域を指定する
書式
WINDOW(WX1,WY1)-(WX2,WY2)
文例
WINDOW(-300,-50)-(100,70)

関数

MAP

機能
スクリーン座標、ワールド座標の相互変換を行う
書式
MAP(数式1,機能)
文例
SY1=MAP(WY1,1)

テキスト画面入出力画面

ステートメント

INPUT

機能
指定した変数へ入力する
書式
INPUT ["プロンプト文" [;/,]]変数 [, 変数...]
文例
INPUT "Date";A$

INPUT WAIT

機能
キーボードからの入力を時間制限する
書式
INPUT WAIT 待ち時間,["プロンプト分" [;/,]]変数[,変数...]
文例
INPUT WAIT 100, "Your name";NA$

KINPUT

機能
指定した変数へ日本語文字を入力する
書式
KINPUT 変数
文例
KINPUT A$

LINE INPUT

機能
1行全体(255文字以内)を区切ることなく文字列変数に入力する
書式
LINE INPUT ["プロンプト分";] 文字変数
文例
LINE INPUT "NAME";NA$

LOCATE

機能
テキスト画面のカーソルの位置を指定する
書式
LOCATE [X][,Y][,カーソルスイッチ]
文例
LOCATE 10,10

PRINT

機能
ディスプレイに情報を出力する
書式
PRINT [式...]
文例
PRINT "ABC"

PRINT USING

機能
文字列、数値を指定した書式で出力する
書式
PRINT USING 書式制御文字列;式[[;/,]式...][[;/,]]
文例
PRINT USING "#####,.";A,B

WRITE

機能
画面へデータを出力する
書式
WRITE [式の列]
文例
WRITE I *J,K;A$

関数

CSRLIN

機能
現在のカーソルの行位置を与える
書式
CSRLIN
文例
Y=CSRLIN

INKEY$

機能
キーが押されていればその文字を、キーが押されていなければヌルストリングを与える
書式
INKEY$
文例
A$=INKEY$

POS

機能
テキスト画面上の現在のカーソルの水平位置を与える
書式
POS(式)
文例
P=POS(0)

SPC

機能
任意の数だけ空白を出力する
書式
SPC(数式)
文例
PRINT SPC(10);A$

TAB

機能
現在のカーソルのある行の任意の位置まで空白を出力する
書式
TAB(数式)
文例
PRINT TAB(10);"PC-9800"

N88-BASICグラフ表示命令

ステートメント

CIRCLE

機能
楕円(円)を描く
書式
CIRCLE [[Wx,Wy]/[STEP(X,Y)]],半径[,パレット番号1][,開始角度][,終了角度][,比率][,F[,パレット番号2/タイルストリング]]
文例
CIRCLE(80,80),40,4,0,0,6.28

DRAW

機能
グラフィック描画サブコマンド列(文字列)に従って、ワールド座標上で図形を描く
書式
DRAW 文字列式
文例
DRAW"U50R50D50L50"

GET@

機能
スクリーン座標系のグラフィックパターンを読み込む
書式
GET[@](SX1,SY1)-[(SX2,SY2)/STEP(x,y)],配列変数名[要素]
文例
GET(100,50)-(130,70),G%

LINE

機能
指定された2点間に直線を引く
書式
LINE [(WX1,WY1)/STEP(X1,Y1)]-Wx2,WY2/STEP(X2,Y2)[,パレット番号1][,B/BF][,ラインスタイル/パレット番号2/タイルストリング]
文例
LINE(100,100)-(135,100),7,,&HF99F

[1]PAINT

機能
指定された境界色で囲まれた領域を指定された色で塗る
書式
PAINT (Wx,Wy)/STEP(x,y)[,領域色[,境界色]]
文例
PAINT(-50,120),3,4

[2]PAINT

機能
指定された境界色で囲まれた領域を指定されたタイルパターンで埋める
書式
PAINT (Wx,Wy)/STEP(x,y),タイルストリング[,境界色]
文例
PAINT(255,120),TILE$,4,BACK$

POINT

機能
Last Referenced Point(LP)を変更する
書式
POINT (Wx,Wy)/STEP(x,y)
文例
POINT(-200,30)

PRESET

機能
画面上の任意のドットをリセットする
書式
PRESET (Wx,Wy)/STEP(x,y)[,パレット番号]
文例
PRESET(100,100)

PSET

機能
画面上の任意のドットをセットする
書式
PSET (Wx,Wy)/STEP(x,y)[,パレット番号]
文例
PSET(100,100),4

PUT@

機能
グラフィックパターンや漢字を画面に表示する
書式
PUT[@](Sx,Sy),配列変数名[要素ナンバー][,条件][,フォアグラウンドカラー,バックグラウンドカラー]
PUT[@](Sx,Sy),KANJI(漢字コード),[,条件][,フォアグラウンドカラー,バックグラウンドカラー]
文例
PUT(100,100),G%,PSET
PUT(0,0),KANJI(12321)

ROLL

機能
グラフィック画面をスクロールさせる
書式
ROLL [上下方向ドット数],[,左右方向ドット数][,N/Y]
文例
ROLL 16

関数

[1]POINT

機能
Last Referenced Point(LP)の値を与える
書式
POINT(機能)
文例
LX=POINT(0)

[2]POINT

機能
スクリーン座標上の指定された座標に表示されているドットの色を与える
書式
POINT(Sx,Sy)
文例
C=POINT(473,120)

VIEW

機能
現在のビューポートの設定位置を与える
書式
VIEW(機能)
文例
SX1=VIEW(0)

WINDOW

機能
現在のウィンドウの設定位置を与える
書式
WINDOW(機能)
文例
WY1=WINDOW(1)

プリンタ出力命令

ステートメント

COPY

機能
画面上に表示されている文字、図形をプリンタへ出力する
書式
COPY[機能]
文例
COPY 3

LPRINT

機能
プリンタに情報を出力する
書式
LPRINT [式]
文例
LPRINT "ABC"

LPRINT USING

機能
文字列、数値を指定した書式で出力する
書式
LPRINT USING 書式制御文字列;式
文例
LPRINT USING "#####,.";A,B

WIDTH LPRINT

機能
プリンタに出力される1行の表示文字数を設定する
書式
WIDTH LPRINT 文字数
文例
WIDTH LPRINT 80

LPOS

機能
現在のプリンタのヘッド位置を与えます
書式
LPOS 式
文例
LPOS(0)

ファイル入出力命令

ステートメント

CLOSE

機能
ファイルを閉じる
書式
CLOSE [[#]ファイル番号[,[#]ファイル番号]...]
文例
CLOSE

DSKO$

機能
ディスクに対しての直接書き込み
書式
DSKO$ ドライブ番号,サーフェス番号,トラック番号,セクタ番号
文例
DSKO$ 1,0,19,1

FIELD

機能
ランダムファイル・バッファに変数領域を割り当てる
書式
FIELD [#]ファイル番号,フィールド幅 AS 文字変数 [,フィールド幅 AS 文字変数...]
文例
FIELD#1, 128 AS A$, 64 AS B$, 64 AS C$

GET

機能
ファイル中のデータをバッファに読み込む
書式
GET [#]ファイル番号[,数]
文例
GET 3,5

INPUT#

機能
シーケンシャルファイルからのデータを読み込む
書式
INPUT #ファイル番号,変数[,変数...]
文例
INPUT #1,A,B

KILL

機能
ディスクからファイルを削除する
書式
KILL ファイルディスクリプタ
文例
KILL "2:SAMPLE"

LINE INPUT#

機能
1行全体(255文字以内)を区切ることなくシーケンシャル・ディスクファイルより文字変数に読み込む
書式
LINE INPUT #ファイル番号,文字変数
文例
LINE INPUT #1,A$

LSET/RSET

機能
ファイルバッファへデータを書き込む
書式
LSET 文字型変数=文字列
RSET 文字型変数=文字列
文例
LSET A$="PC-9800"
RSET A$="N88-BASIC"

NAME

機能
ディスクファイルの名前を変える
書式
NAME 旧ファイル名 AS 新ファイル名
文例
NAME "SAMPLE" AS "SAMPLE1"

OPEN

機能
ファイルを開く
書式
OPEN ファイルディスクリプタ [FORモード] AS [#]ファイル番号
文例
OPEN "CAS1:TEST" FOR INPUT AS #1

PRINT#

機能
シーケンシャルファイルにデータを出力する
書式
PRINT #ファイル番号,[式...]
文例
PRINT #2,A,B,C

PRINT# USING

機能
文字列、数値を指定した書式でファイルに出力する
書式
PRINT# ファイル番号,USING 書式制御文字列;式 [;/, 式...][;/,]
文例
PRINT #2 USING "####";A

PUT

機能
バッファ中のデータをファイルに書き出す
書式
PUT [#]ファイル番号[,数]
文例
PUT #3,5

SET

機能
ファイル属性のセット・リセット
書式
SET ドライブ番号,"属性文字"
SET ファイル名,"属性文字"
SET #ファイル番号,"属性文字"
文例
SET 1,"P"
SET "2:NOTWRITE","P"
SET #1,"R"

WRITE#

機能
シーケンシャルファイルへデータを書き出す
書式
WRITE #ファイル番号[,式の列]
文例
WRITE #1,I*J,K;A$

関数

ATTR$

機能
指定ファイル、ドライブの属性を与える
書式
ATTR$ (ドライブ番号)/(#ファイル番号)/(ファイル名)
文例
PRINT ATTR$(1)

DSKF

機能
ディスクに関する情報を与える
書式
DSKF(ドライブ番号[,機能])
文例
PRINT DSKF(1)

DSKI$

機能
ディスクから直接読み出した内容を文字列として与える
書式
DSKI$(ドライブ番号,トラック番号,セクタ番号)
DSKI$( ドライブ番号,サーフェス番号,トラック番号,セクタ番号)
文例
D$=DSKI$(2,19,1)
D$=DSKI$(2,1,19,1)

EOF

機能
ファイルの終了コードを与える
書式
EOF(ファイル番号)
文例
IF EOF(1) THEN CLOSE 1

FPOS

機能
ファイル中での物理的な現在位置を与える
書式
FPOS(ファイル番号)
文例
HEAD=FPOS(4)

INPUT$

機能
指定されたファイルより指定された長さの文字を与える
書式
INPUT$(文字数[,[#]ファイル番号])
文例
WORD$=INPUT$(6,#2)

LOC

機能
ファイル中での論理的な現在位置を与える
書式
LOC(ファイル番号)
文例
LAST=LOC(2)

LOF

機能
ファイルの大きさを与える
書式
LOF(ファイル番号)
文例
MAXREC=LOF(2)

割込制御命令

ステートメント

ERROR

機能
エラー発生のシミュレート、エラー番号のユーザー定義をする
書式
ERROR 整数表記
文例
ERROR 200

HELP ON/OFF/STOP

機能
ヘルプキーによる割込の許可、禁止、停止を設定する
書式
HELP ON
HELP OFF
HELP STOP
文例
HELP OFF

KEY(n) ON/OFF/STOP

機能
ファンクションキーによる割込の許可、禁止、停止を設定する
書式
KEY[(キー番号)] ON
KEY[(キー番号)] OFF
KEY[(キー番号)] STOP
文例
KEY ON

ON ERROR GOTO

機能
エラートラップを可能にし、エラー処理ルーチンの開始行を定義する
書式
ON ERROR GOTO 行番号
文例
ON ERROR GOTO 1000

ON HELP GOSUB

機能
HELPキーによる割り込みルーチンの開始行を定義する
書式
ON HELP GOSUB 行番号
文例
ON HELP GOSUB 1000

ON KEY GOSUB

機能
ファンクションキーによる割り込みルーチンの開始行を定義する
書式
ON KEY GOSUB 行番号[,行番号...]
文例
ON KEY GOSUB 100, 200, 300, 400

ON STOP GOSUB

機能
STOPキーによる割り込みルーチンの開始行を定義する
書式
ON STOP GOSUB 行番号
文例
ON STOP GOSUB 1000

ON TIME$ GOSUB

機能
リアルタイムタイマの割込発生時刻と、その時分岐する処理ルーチンの開始行を定義する
書式
ON TIME$="HH:MM:SS" GOSUB 行番号
文例
ON TIME$="07:30:00" GOSUB *MORNINGCALL

RESUME

機能
エラー回復処理終了後、プログラムの実行を再開する
書式
RESUME 0/NEXT/行番号
文例
RESUME 0
RESUME NEXT
RESUME 1000

STOP ON/OFF/STOP

機能
STOPキーによる割込の許可、禁止、停止を設定する
書式
STOP ON
STOP OFF
STOP STOP
文例
STOP ON

TIME$ ON/OFF/STOP

機能
リアルタイムタイマによる割込の許可、禁止、停止を設定する
書式
TIME$ ON
TIME$ OFF
TIME$ STOP
文例
TIME$ ON

関数

ERL/ERR

機能
発生したエラーのエラーコードおよびエラーの発生した行番号を与える
書式
ERL
ERR
文例
EL=ERL
ER=ERR

RS-232C制御命令

ステートメント

COM ON/OFF/STOP

機能
通信回線からの割込の許可、禁止、停止を設定する
書式
COM[(n)] ON
COM[(n)] OFF
COM[(n)] STOP
文例
COM ON

ON COM GOSUB

機能
通信回線からの割込が発生したとき、分岐する処理ルーチンの開始行を定義する
書式
ON COM[(n)] GOSUB 行番号[,行番号...]
文例
ON COM GOSUB 1000

特殊入出力命令

ステートメント

BEEP

機能
内蔵スピーカを鳴らす
書式
BEEP [スイッチ]
文例
BEEP

KPLOAD

機能
利用者定義文字の文字パターンを登録する
書式
KPLOAD 漢字コード,整数型配列名
文例
KPLOAD &H7620,CHRPTN%

MOTOR

機能
カセットテープレコーダのモータのON,OFFを制御する
書式
MOTOR [スイッチ]
文例
MOTOR 1

PEN ON/OFF/STOP

機能
ライトペンによる割込の許可、禁止、停止を設定する
書式
PEN ON
PEN OFF
PEN STOP
文例
PEN ON

ON PEN GOSUB

機能
ライトペンによる割り込み処理ルーチンの開始行を定義する
書式
ON PEN GOSUB 行番号
文例
ON PEN GOSUB *PENTEST

OUT

機能
コンピュータの出力ポートに1バイトのデータを送る
書式
OUT ポートアドレス,式
文例
OUT 64,32

WAIT

機能
コンピュータの入力ポートをモニタする間、プログラムの実行を停止する
書式
WAIT ポート番号,式1[,式2]
文例
WAIT 1,&H22,&H22

関数

DATE$

機能
日付を与える
書式
DATE$
文例
D$=DATE$

INP

機能
入力ポートから値を得る
書式
INP(ポート番号)
文例
A=INP(15)

PEN

機能
ライトペンからの情報を与える
書式
PEN(機能)
文例
X=PEN(1)

TIME$

機能
内蔵クロックの時刻を与える
書式
TIME$
TIME$="HH:MM:SS"
文例
PRINT TIME$

機械語関連命令

ステートメント

CALL

機能
機械語サブルーチンを呼び出す
書式
CALL 変数名[(引数[,引数...])]
文例
CALL MSUBR(ARG1,ARG2)

DEF SEG

機能
セグメントベースアドレスを設定する
書式
DEF SEG=セグメントアドレス
文例
DEF SEG=&H0100

DEF USR

機能
機械語で作られたユーザー関数の実行開始番地を定義する
書式
DEF USR[番号]=開始番地
文例
DEF USR3=&HF000

POKE

機能
メモリ上の指定番地へデータを書き込む
書式
POKE 番地,整数表記
文例
POKE &HF000,&HFF

関数

PEEK

機能
メモリ上の指定された番地の内容を読み出す
書式
PEEK(番地)
文例
A=PEEK(&HA000)

USR

機能
機械語で作られた関数ルーチンを呼び出す
書式
USR[番号](引数)
文例
1=USR3(J)

VARPTR

機能
変数の格納されているメモリ番地、ファイルに割り当てられているファイルコントロールブロックの開始番地を与える
書式
VARPTR (変数名[,機能])
VARPTR(#ファイル番号[,機能])
文例
PRINT HEX$(VARPTR(A,1))
PRINT HEX$(VARPTR(A))
BSG%=VARPTR(#1,1)
BAD%=VARPTR(#1)

サウンド制御命令

サウンド制御命令を使用するには『PC-9801-26 サウンドボード』またはこれと同等のサウンド機能が実装されているシステムで、switch.n88やモニタモードを使ってメモリスイッチの設定を変更してからBASICを起動する必要があります。また、ハードウェアスイッチでサウンドBIOSのROMアドレスを設定できる場合はCC000hに設定する必要があります。スタンドアロン版はPC-9801-73/86で追加された機能には対応していません。MS-DOS版のVer.6.1(マルチメディア対応)以降では対応していますが、ここでは取り上げていません。

ステートメント

ON PLAY GOSUB

機能
PLAY割り込み処理ルーチンの開始行を定義
書式
ON PLAY(チャンネル番号,残りバイト数) GOSUB 行番号
文例
ON PLAY(1,1024) GOSUB *NEXT.PLAY

PLAY

機能
音楽演奏を行う
書式
PLAY [#モード番号,][文字列1][,文字列2][,文字列3][,文字列4][,文字列5][,文字列6]
文例
PLAY #0,"L4O5CDEFG","L4O3GAB>CD"

PLAY ALLOC

機能
サウンドバッファの確保および初期化を行う
書式
PLAY ALLOC [CH1 バッファサイズ][,CH2 バッファサイズ][,CH3 バッファサイズ][,CH4 バッファサイズ][,CH5 バッファサイズ][,CH6 バッファサイズ]
文例
PLAY ALLOC 255,255,255

PLAY ON/OFF/STOP

機能
PLAY割り込みの許可、禁止、停止を設定する
書式
PLAY ON
PLAY OFF
PLAY STOP
文例
PLAY ON

VOICE

機能
FM音源の音色バンクを再定義する
書式
VOICE 音色番号,整数型配列名
文例
VOICE 5,A%

VOICE COPY

機能
FM音源の音色パラメータを配列にコピーする
書式
VOICE COPY 音色番号,整数型配列名
文例
VOICE COPY 4,PARA%

VOICE INIT

機能
FM音源の音色番号と音色パラメータを初期化する
書式
VOICE INIT
文例
VOICE INIT

VOICE LFO

機能
各チャンネルの出力にLFO効果を与える
書式
VOICE LFO チャンネル番号[,波形][,SYNCディレイタイム][,速さ][,ピッチ変調深さ(微)][,振幅変調深さ][,ピッチ変調深さ(粗)]
文例
VOICE LFO 2,3,10,1500,-15,0,7

VOICE REG

機能
シンセサイザLSIのレジスタに値を設定する
書式
VOICE REG レジスタ番号,式
文例
VOICE REG &H28,240

関数

STATUS PLAY

機能
サウンドバッファの未演奏データのバイト数を得る
書式
STATUS PLAY(チャンネル番号)
文例
PRINT STATUS PLAY(0)

拡張電話制御命令

拡張電話制御命令はN88-日本語BASIC(86) Ver.3.1以降でサポートされています。

ステートメント

CMD BREAK

機能
ブレイク信号の送出を制御する
書式
1) CMD BREAK [[#] 電話機番号,] 時間
2) CMD BREAK [[#] 電話機番号] ON
3) CMD BREAK [[#] 電話機番号] OFF
文例
CMD BREAK #1,2

CMD CHANGE DUPLEX

機能
通信方式(全二重/半二重方式)を切り換える
書式
CMD CHANGE DUPLEX ポート番号[,通信方式]
文例
CMD CHANGE DUPLEX 1,1

CMD DIAL

機能
電話をかける
書式
1) CMD BREAK [[#] 電話機番号] 電話番号[,機能]
2) CMD BREAK [[#] 電話機番号] 短絡番号
文例
CMD DIAL #1,TN$,TNC
CMD DIAL #1,21

CMD ERROR ON/OFF/STOP

機能
通信エラーによる割り込みの許可、禁止、停止を設定する
書式
1) CMD ERROR [[#] 電話機番号] ON
2) CMD ERROR [[#] 電話機番号] OFF
3) CMD ERROR [[#] 電話機番号] STOP
文例
CMD ERROR #1 ON

CMD LINE CLOSE

機能
BASICと論理的に接続されている電話機を切り離す
書式
CMD LINE CLOSE [[#] 電話機番号]
文例
CMD LINE CLOSE #1

CMD LINE ON/OFF/STOP

機能
電話機の着信による割り込みの許可、禁止、停止を設定する
書式
1) CMD LINE [[#] 電話機番号] ON
2) CMD LINE [[#] 電話機番号] OFF
3) CMD LINE [[#] 電話機番号] STOP
文例
CMD LINE #1 ON

CMD LINE OPEN

機能
電話機とBASICと論理的に接続し、オートダイアル、自動発着信などの機能を利用可能にする
書式
CMD LINE OPEN ファイルディスクリプタ [AS [#] 電話機番号]
文例
CMD LINE OPEN "COM1:" AS #1

CMD MODE CUT

機能
電話を切る
書式
CMD MODE CUT [[#] 電話機番号]
文例
CMD MODE CUT #1

CMD ON ERROR GOSUB

機能
通信エラーによる割り込みルーチンの開始行を定義する
書式
CMD ON ERROR [[#] 電話機番号] GOSUB 行番号
文例
CMD ON ERROR #1 GOSUB *TEL.REC

CMD ON LINE GOSUB

機能
電話機の着信による割り込みルーチンの開始行を定義する
書式
CMD ON LINE [[#] 電話機番号] GOSUB 行番号
文例
CMD ON LINE #1 GOSUB *TEL.REC

CMD RECEIVE

機能
電話機の自動着信を行うか否かの設定をする
書式
CMD RECEIVE [[#] 電話機番号,] [機能]
文例
CMD RECEIVE #1
CMD RECEIVE 1

CMD STORE DIAL

機能
短絡ダイアルを電話機に記憶させる
書式
CMD STORE DIAL [[#] 電話機番号,] 短絡番号 AS 電話番号 [,機能]
文例
CMD STORE DIAL #1,21 AS "03(117)1111"

関数

STATUS DIAL

機能
電話機に記憶されている電話番号の機能情報を調べる
書式
STATUS DIAL([[#] 電話機番号,] 短絡番号)
文例
STATUS DIAL(#1,21)

STATUS DIAL$

機能
電話機に記憶されている電話番号を調べる
書式
STATUS DIAL$([[#] 電話機番号,] 短絡番号)
文例
STATUS DIAL$(#1,21)

STATUS ERROR

機能
モデムからのデータ受信時における通信エラーの有無を調べる
書式
STATUS ERROR[([#] 電話機番号)]
文例
STATUS ERROR(#1)

STATUS LINE

機能
着信があったかどうかを調べる
書式
STATUS LINE[([#] 電話機番号)]
文例
STATUS LINE(#1)

STATUS MODE

機能
電話機の現在のモードを調べる
書式
STATUS MODE[([#] 電話機番号)]
文例
STATUS MODE(#1)

Top


inserted by FC2 system