プログラムファイル入出力 | |||
LOAD | プログラムをカセットテープからメモリ上へ読み込む。 | LOAD ファイルネーム | LOAD "GAME" |
SAVE | メモリ上のプログラムをカセットテープに保存する。 | SAVE ファイルネーム | SAVE "GAME" |
VERIFY | メモリ上のプログラムとカセットテープに書かれているプログラムを比較する。 | VERIFY ファイルネーム | VERIFY "GAME" |
テキスト編集コマンド | |||
AUTO | 行番号を自動発生する。 | AUTO 開始番号, 増分 省略時は 10,10 |
AUTO AUTO 10,20 |
LIST | プログラムを画面に表示する。 | LIST 開始番号 - 終了番号 省略時はすべて表示。 |
LIST 100- LIST 100-200 LIST |
LIST/P | プログラムをプリンタに印字する。 | LIST/P 開始番号 - 終了番号 省略時はすべて印字。 |
LIST/P 100- LIST/P 100-200 LIST/P |
NEW | メモリ内のプログラムを削除する。 | NEW | NEW |
コントロールコマンド | |||
RUN | プログラムを実行する。 | RUN 行番号 省略時は初めから実行。 行番号を指定する場合は 変数をクリアしない。 |
RUN RUN 100 |
CONT | 中断したプログラムを再実行する。 | CONT | CONT |
MON | モニタ SB-1520 を起動する。 | MON | MON |
BOOT | BOOT | BOOT | |
デファイナブルファンクションキーリスト | |||
KLIST | ファンクションキーの定義を画面に表示する。 | KLIST | KLIST |
ステートメント | |||
LET | 式の値を変数に代入する。 | LET 式 省略可能。 |
LET C=A+B*2 C=A+B*2 |
データを画面に表示する。 | PRINT 表示データ 「;」 で表示をくっつける。 「,」で離す。 |
PRINT "X=";X,"Y=";Y | |
INPUT | キーボードからデータを入力する。 | INPUT 変数 | INPUT A$ INPUT "X=";X |
GET | 現在押されているキーを取得する。 | GET 変数 | GET A 数値のみ A に入力。 GET A$ 文字と数値を A$ に入力。 |
READ DATA |
DATA 文に記述されたデータを変数に代入する。 | READ 変数 | READ A$,A DATA "SUZUKI", 30 |
RESTORE | DATA 文の読み込み位置を変更する、 | RESTORE 行番号 行番号省略時は一番始めのデータ |
RESTORE RESTORE 150 |
FOR ~ TO ~ STEP NEXT |
繰り返し実行を行う。 | FOR 変数=初期値 TO 終了値 STEP 変化率 NEXT |
FOR I=0 TO 9 STEP 2 NEXT |
GOTO | 指定された行番号へ処理を移す。 | GOTO 行番号 | GOTO 100 |
GOSUB | 指定された行番号のサブルーチンに処理を移す。 | GOSUB 行番号 | GOSUB 150 |
RETURN | サブルーチンから GOSUB 文の次の行に処理を戻す。 | RETURN | RETURN |
IF ~ THEN | 条件を判断し処理を実行する。 | IF 式 THEN 処理 | IF A=0 THEN PRINT "A=0" IF (A=1)*(B=3) THEN PRINT "A=1 AND B=3" F (A=1)+(B=3) THEN PRINT "A=1 OR B=3" |
IF ~ GOTO | 条件を判断し指定された行番号に処理を移す。 | IF 式 GOTO 行番号 | IF A=10 GOTO 300 |
IF ~ GOSUB | 条件を判断し指定された行番号のサブルーチンに処理を移す。 | IF 式 GOSUB 行番号 | IF A$="SUB" GOSUB 500 |
ON ~ GOTO | いくつかの指定された行番号に多分岐して処理を移す。 | ON 式 GOTO 行番号,行番号,... | ON A GOTO 10,20,30 A が 1 なら 10 A が 2 なら 20 A が 3 なら 30 |
ON ~ GOSUB | いくつかの指定された行番号に多分岐してサブルーチンに処理を移す。 | ON 式 GOSUB 行番号,行番号,... | ON A GOSUB 10,20,30 A が 1 なら 10 A が 2 なら 20 A が 3 なら 30 |
DIM | 1 次元、2 次元の配列を用意しメモリを確保する。 | DIM 変数(サイズ) DIM 変数(サイズ,サイズ) |
DIM A(10) DIM B%(10,10) |
DEF FN | 利用者関数を定義する。 | DEF FN関数=式 | DEF FNR(X)=INT(RND(1)*X)+1 PRINT FNR(10) 1~10 までの整数が表示される。 FNのあとはアルファベット1文字。 |
DEF KEY | デファイナブルファンクションキーを定義する。 | DEF KEY(キー番号)=定義内容 | DEF KEY(1)=FUNCTION1 |
REM | 注釈。プログラムの実行には影響なし。 | REM コメント | REM ***** START PROGRAM ***** |
STOP | プログラムを停止する。 | STOP | STOP |
END | プログラムを終了する。 | END | END |
CLR | 変数、配列をクリアする。 | CLR | CLR |
CURSOR | 画面の指定位置へカーソルを移動する。 | CURSOR 横位置,縦位置 横位置 0~39、0~79 縦位置 0~24 |
CURSOR 10,10 |
CONSOLE | 画面の設定を行う。 | CONSOLE コマンド コマンド C40 テキスト 40 桁モード C80 テキスト 80 桁モード Sスクロール開始行,終了行 R 画面反転 N 画面反転解除 GH ハイレゾリューションモード 640x200 GN ノーマルレゾリューションモード 320x200 |
CONSOLE C40,N,S0,24 CONSOLE C80,S5,10,R CONSOLE C80,GH |
CHANGE | キーボードの大文字と小文字の入力を反転する。 | CHANGE | CHANGE |
REW | カセットテープの巻き戻しをする。 | REW | REW |
FAST | カセットテープの早送りをする。 | FAST | FAST |
MUSIC | 指定された音を出す。 | MUSIC 音データ | MUSIC "C4DEFGAB" |
TEMPO | MUSIC の演奏速度を指定する。 | TEMPO 演奏速度(0~7) | TEMPO 5 |
グラフィックコントロール | |||
CCOLOR | 文字の色を設定する。 | CCOLOR 文字の色, 背景の色 CCOLORの後に@を付けるとプライオリティを文字優先設定にする |
文字色シアン, 背景赤に設定 CCOLOR 4,2 プライオリティ文字優先, 文字色黄, 背景青に設定 CCOLOR@6,1 |
COLOR | グラフィックの色を設定する。 | COLOR グラフィックの色, グラフィックの出力ページ, 重ね合わせ設定 COLORの後に@を付けるとプライオリティをグラフィック優先設定にする |
プライオリティをグラフィック優先に設定 COLOR@ グラフィックのカラーコードを水色に設定 COLOR 5 青のデータのみ表示, 重ね合わせを行う COLOR,O1,W1 強制的に色を変更するモード COLOR,,W0 プライオリティをグラフィック優先に設定, グラフィックのカラーコードを青, 出力ページを全ページ, 重ね合わせを行う COLOR@ 1,O7,W1 グラフィックのカラーコードを赤, 強制的に色を変更する COLOR 2,,W0 |
GRAPH | グラフィック画面の設定を行う。 | GRAPH コマンド コマンド I 描画ページ(1~3) O 表示ページ(1~3, 複数指定可) C グラフィック画面消去(0~7) F グラフィック画面埋めつくし(0~7) |
GRAPH I1,O123,C |
SET | 点を描く。 | SET[カラーコード, 重ね合わせ] 横位置,縦位置 | SET 0,0 |
RESET | 点を消す。 | RESET[カラーコード, 重ね合わせ] 横位置,縦位置 | RESET 0,0 |
LINE | 線を引く。 | LINE[カラーコード, 重ね合わせ] 横位置1,縦位置1,横位置2,縦位置2,... | LINE 0,0,100,100 |
BLINE | 線を消す。 | BLINE[カラーコード, 重ね合わせ] 横位置1,縦位置1,横位置2,縦位置2,... | BLINE 0,0,100,100 |
POSITION | PATTERN 文の表示位置を指定する。 | POSITION 横位置,縦位置 | POSITION 40,50 |
PATTERN | グラフィックパターンを描く。 | PATTERN[カラーコード, 重ね合わせ] 方向とサイズ,データ ... | A$=CHR$(255)+CHR$($81)+CHR$($81)+CHR$($81)+CHR$($81)+CHR$($81)+CHR$($81)+CHR$(255) PATTERN -8,A$ |
PAINT | グラフィック画面を塗りつぶす。 | PAINT[カラーコード, 重ね合わせ] 横位置,縦位置,境界色... | PAINT[5,W0] 10,50,1.2.3.4.5.6.7 |
BOX | 四角形を描く。 | BOX[カラーコード, 重ね合わせ] 左上横位置,左上縦位置,右下横位置,右下縦位置,塗りつぶし指定 | BOX[5,W0] 0,0,100,100,F3 |
CIRCLE | 円を描く。 | CIRCLE[カラーコード, 重ね合わせ] 横位置,縦位置,半径,比率,開始角度,終了角度,Oを指定すると扇、省略すると弧を描く | CIRCLE[5] 100,100,50 |
POINT | グラフィック画面の情報を取得する。 | POINT(横位置,縦位置) | A=POINT(10,50) |
データファイル入出力 | |||
WOPEN/T | カセットテープにシーケンシャルデータファイルを作る。 | WOPEN/T ファイルネーム | WOPEN/T "DATA" |
PRINT/T | カセットテープにデータを書き込む。 | PRINT 参照 | PRINT/T A$,B,C |
CLOSE/T | カセットテープのファイルを閉じる。 | CLOSE/T | CLOSE/T |
ROPEN/T | カセットテープのデータを読み込むためにファイルを開く。 | ROPEN/T ファイルネーム | ROPEN/T "DATA" |
INPUT/T | カセットテープからデータを読み込む。 | INPUT 参照 | INPUT/T A$,B,C |
機械語プログラムコントロール | |||
LIMIT | BASIC で使用するメモリを制限する。 | BASICで使用できるメモリ最大アドレス、マシン語でA000h~を使いたい場合は$9FFFを指定する | LIMIT $9FFF LIMIT 40959 |
POKE | メモリにデータを書き込む。 | POKE メモリアドレス,バイトデータ | POKE $A000,166 POKE 40960,0 |
PEEK | メモリのデータを読み込む。 | PEEK(メモリアドレス) | AD=PEEK($A000) AD=PEEK(40960) |
USR | 指定されるメモリアドレスの機械語を実行する。 | USR(メモリアドレス,機械語に送る文字列(省略可能)) | USR($A000,A$) USR(40960) 文字列のアドレスはHL、サイズはBCに入る。 |
プリンタコントロール | |||
PRINT/P | プリンタにデータを送る。 | PRINT 参照 | PRINT/P "GOUKEI = ";TOTAL |
IMAGE/P | ドットパターンをプリンタに送る。 | IMAGE/P ストリングデータ | IMAGE/P A$ |
COPY/P | 画面をプリンタに印字する。 | COPY/P パラメータ パラメータ 1 テキスト画面 2 グラフィックエリア 1 3 グラフィックエリア 2 4 グラフィックエリア 1 と 2 |
COPY/P 1 COPY/P 4 |
PAGE/P | プリンタの 1 ページ行数を指定する。 | PAGE/P 行数 | PAGE/P 20 |
I/O ポートアクセス | |||
INP@ | I/O ポートから 1 バイト読み出す。 | INP@ ポート番号,入力変数 | INP@ 0,A |
OUT@ | I/O ポートに 1 バイト書き込む。 | OUT@ ポート番号, 出力データ | OUT @ 0,255 |
組み込み数値関数 | |||
ABS | 絶対値。 | ABS(数値) | ABS(X) |
INT | 整数。 | INT(数値) | INT(X) |
SGN | 値が 0 の時は 0、負の時は -1、正の時は 1。 | SGN(数値) | SGN(X) |
SQR | 平方根。 | SQR(数値) | SQR(X) |
SIN | サイン。 | SIN(数値) | SIN(X) |
COS | コサイン。 | COS(数値) | COS(X) |
TAN | タンジェント。 | TAN(数値) | TAN(X) |
ATN | アークタンジェント。 | ATN(数値) | ATN(X) |
EXP | 指数関数。 | EXP(数値) | EXP(X) |
LOG | 常用対数。 | LOG(数値) | LOG(X) |
LN | 自然対数。 | LN(数値) | LN(X) |
RND | 0 ~ 1 までの擬似乱数。 | RND(数値) | RND(1) |
ストリング処理関数 | |||
LEFT$ | 文字列の左側から文字列を取り出す。 | LEFT$(文字変数,文字数) | A$="1234567890" B$=LEFT$(A$,6) B$ → "123456" |
MID$ | 文字列の中間から文字列を取り出す。 | MID$(文字変数,左からの文字位置,文字数) | A$="1234567890" B$=MID$(A$,3,4) B$ → "3456" |
RIGHT$ | 文字列の右側から文字列を取り出す。 | RIGHT$(文字変数,文字数) | A$="1234567890" B$=RIGHT$(A$,3) B$ → "890" |
SPACE$ | スペース文字列作成する。 | SPAGE$(文字数) | A$=SPACE$(10) |
STRING$ | 指定された文字の文字列を作成する。 | STRING$(文字,文字数) | A$=STRING$("A",10) |
CHR$ | キャラクターコードを門司に返還する。 | CHR$(キャラクタコード) | A$=CHR$(65) |
ASC | 文字をキャラクターコードに変換する。 | ASC(文字) | A=ASC("A") |
STR$ | 数値を文字に変換する。 | STR$(数値) | A$=STR$(A) |
VAL | 文字を数値に変換する。 | VAL(文字列) | A=VAL(A$) |
LEN | 文字列の長さを取得する。 | LEN(文字列) | L=LEN(A$) |
CHARACTER$ | 指定した画面上の文字を取得する。 | CHARACTER$(横位置,縦位置) | A$=CHARACTER$(10,10) |
タビュレーションコントロール | |||
TAB | PRINT 文でのタビュレーションを指定する。 | TAB(タブ位置) | PRINT TAB(6);"GOUKEI = ";GO |
システム定数 | |||
π | 円周率。 | 3.1415927 | PRINT π |
システム変数 | |||
SIZE | プログラム空エリア。 | SIZE | PRINT SIZE |
CSRH | カーソル水平位置。 | CSRH | PRINT CSRH |
CSRV | カーソル垂直位置。 | CSRV | PRINT CSRV |
POSH | グラフィックポインタの水平位置。 | POSH | PRINT POSH |
POSV | グラフィックポインタの垂直位置。 | POSV | PRINT POSV |
TI$ | 24 時間時計の値。 | TI$=時刻 | TI$="120000" PRINT "TIME = ";TI$ |
行の長さ (2Byte) | 行番号 (2Byte) | 行の内容 (可変Byte) | 行の終わり(1Byte) |
行の長さ | 行の終りまでのバイト数。$0000 ならファイルの終わりを示す。 |
行番号 | 0 ~ 65535 |
行の内容 | 命令語は中間コードに置き換えられる。 ダブルクォーテーション内は中間コードに置き換えられることは無い。 |
行の終わり | 0Dh |
8x | 9x | Ax | Bx | Cx | Fx | 80 8x | 80 9x | 80 Ax | 80 Bx | 80 Ex | B2 5x | B2 Ax | |
0 | LEFT$( | POINT( | RND( | REM | NEXT | USR( | GRAPH | ||||||
1 | RIGHT$( | CHARACTER$( | SIN( | DATA | STOP | WOPEN | POSITION | ||||||
2 | MID$( | CSR | COS( | DEF KEY( | END | ROPEN | PATTERN | ||||||
3 | >< | LEN( | POS | TAN( | CLOSE | AUTO | |||||||
4 | <> | CHR$( | ATN( | READ | ON | MON | BOX | ||||||
5 | =< | STR$( | EXP( | LIST | LOAD | LIMIT | IMAGE/P | PAINT | |||||
6 | <= | ASC( | INT( | RUN | SAVE | CONT | COPY/P | CIRCLE | CSRV | ||||
7 | => | VAL( | LOG( | NEW | VERIFY | GET | PAGE/P | ||||||
8 | >= | PEEK( | LN( | POKE | INP@ | CSRH | |||||||
9 | TAB( | ABS( | LET | DIM | OUT@ | BOOT | |||||||
A | > | SPACE$( | SGN( | FOR | DEF FN | CURSOR | KLIST | ||||||
B | < | SIZE | SQR( | IF | INPUT | SET | CHANGE | ||||||
C | THEN | RESTORE | RESET | COLOR | |||||||||
D | GOTO | CLR | LINE | CCOLOR | |||||||||
E | TO | EOF( | GOSUB | MUSIC | BLINE | REW | |||||||
F | STEP | STRING$( | π | RETURN | TEMPO | CONSOLE | FAST |
POKE$952,0 | キーボード入力高速オートリピート |
POKE$952,166 | キーボード入力の速度を戻す |
USR($0F14) | BEEP音を鳴らす |