戻る
C82-BASIC
FP-1000/1100 : カシオ計算機 (CASIO)

C82-BASIC

C82-BASICはCASIO製のBASICである。
FP-1000/1100シリーズにROM BASICとして搭載されている。

同社のポケコンと同じようにプログラムエリアを0〜9まで持っている。
(切替で独立して使用できる)

しかし何といっても最大の特徴は内部BCD演算による高精度演算である。
「電卓のカシオ」だけあって、その演算性能は当時のパソコンでは群を抜いていた。
統計データ処理用の関数まで搭載されている。

演算の高性能とは裏腹に実行速度が遅く、ゲームなどの用途にはあまり向いていない。

C82-BASIC簡易リファレンス
コマンド
表記凡例使用例説明
AUTOAUTO [行番号][,増分]AUTO 100,5先頭に自動的に行番号を発生させる(増分を省略した場合は10)
DELETEDELETE 行番号[,[行番号2]][,...]
DELETE [行番号][-[行番号2]]
DELETE 10,100
DELETE 100-200
指定した行番号を削除する
指定した範囲の行番号を削除する
LISTLIST {[行番号] | [.]}
LIST [行番号][,[行番号2]][,...]
LIST [行番号1][-[行番号2]]
LIST
LIST 10,100
LIST 100-200
メモリ上のプログラムを表示する
指定した行番号を表示する
指定した範囲の行番号を表示する
行番号の代わりに「.」を指定した場合は最後に扱われた行となる
LLISTLLIST {[行番号] | [.]}
LLIST [行番号][,[行番号2]][,...]
LLIST [行番号][-[行番号2]]
LLIST
LLIST 10,100
LIST 100-200
メモリ上のプログラムをプリンタに出力する
指定した行番号をプリンタに出力する
指定した範囲の行番号をプリンタに出力する
RENUMRENUM [新行番号][,旧行番号][,増分]RENUM 1000,10,100新行番号を先頭に行番号をつけ直す
PASSPASS [ALL] 文字列PASS "PASS"現在エリアに対してパスワード(最大8文字)を設定する(設定した後に実行した場合は解除となる)
LISTが表示されなくなり、編集も不可能になる
「ALL」を付けた場合は全エリアが対象となる
PROGPROG エリア番号PROG 2プログラムエリアを切り替える
MOVEMOVE PROGエリア番号MOVE PROG2現在エリアに指定したエリアのプログラムを移動する
SYSTEMSYSTEMSYSTEMプログラムエリアの状態一覧を表示する
NEWNEW [ALL]NEW現在エリアのプログラムを全て消去し、変数を初期化する
「ALL」を付けた場合は全エリアの消去となる(パスワード付きの場合は実行不可)
CONTCONTCONTSTOPキーやSTOP,ENDで終了したプログラムの実行を再開する
RUNRUN {[行番号] | "[デバイス名:]ファイル名"[,R]}RUN 100
RUN "1:test.bas"
指定した行番号からプログラムを実行する(行番号を省略した場合は先頭から実行する)
ファイルを読み込んで実行する(Rを付けた場合は既にOPENしているファイルはCLOSEしない)
MOUNTMOUNT ファイル数MOUNT 1同時に使用できるファイル数を指定する(初期値は0)
FILESFILES [デバイス名]FILES "1:"記録メディアにあるファイル一覧を出力する
LFILESLFILES [デバイス名]LFILES "1:"記録メディアにあるファイル一覧をプリンタに出力する
FORMATFORMAT [デバイス名]FORMAT "1:"記録メディアを初期化する
SAVESAVE "[デバイス名]ファイル名"[,{A | P}]SAVE "test.bas"記録メディアに[{ASCII形式 | 保護属性}で]プログラムを保存する
保護属性は解除不可であるため、使用には留意
LOADLOAD "[デバイス名][({F | S})]ファイル名"[,R]LOAD "test.bas"記録メディアからプログラムを読み込む(Rを付加した場合は実行も行う)
「CAS0:」指定時はファイル名の前に「({F | S})」を付加するとFの場合は1200baud、Sの場合は300baudでロードする
VERIFYVERIFY "[デバイス名]ファイル名"VERIFY "test.bas"記録メディアのファイルとプログラムをヴェリファイする
NAMENAME "[デバイス名]旧ファイル名" as "[ドライブ番号:]新ファイル名"NAME "test.bas" as "test2.bas"記録メディア上のファイル名を変更する
KILLKILL "[デバイス名]ファイル名"KILL "test.bas"記録メディア上のファイルを削除する
FILECOPYFILECOPY "[デバイス名]ファイル名" AS "[[新デバイス名][新ファイル名]]" FILECOPY "test.bas" AS "1:"記録メディア上のファイルを別の記録メディアにコピーする(新ファイル名はダミー)
MERGEMERGE "[デバイス名]ファイル名"[,R]MERGE "test.bas"記録メディアのASCII形式ファイルとメモリ上のプログラムをマージする
「R」を付けた場合は新しくマージされたプログラムの先頭から実行される
CHAINCHAIN "[デバイス名]ファイル名"[,行番号]CHAIN "0:test"記録メディアのASCII形式ファイルを呼び出して、変数を渡して実行する
行番号を指定した場合はそこから実行となる
SET diskSET {#ファイル番号 | "[デバイス名]ファイル名"},"属性"SET "test","R"ファイルの属性を指定する
属性
R : Read only
P : Write Protect
KEY LISTKEY LISTKEY LISTファンクションキーの定義一覧を表示する
STAT LISTSTAT LISTSTAT LIST現在使用されている統計データの定義一覧を表示する
VARLISTVARLISTVARLIST現在使用されている変数一覧を表示する
MONMONMONモニタコマンドモードにする
TERMTERM "COM0:[(設定文字列)]"TERM "COM:"ターミナルモードにする
[戻る]
ステートメント:プログラム制御
表記凡例使用例説明
ENDENDENDプログラムを終了する
STOPSTOPSTOPプログラムを一時停止する
REM{REM | '} [注釈]REM TEST注釈を入れる(実行には無関係)
FOR...TO...STEP〜NEXTFOR 変数=開始値 TO 終了値 [STEP 増分]〜NEXT [変数][,変数2][,...]FOR I=0 TO 10 STEP 2〜NEXT IFORからNEXTまでの処理を繰り返す
GOTO
GO TO
GOTO {行番号 | PROGエリア番号}GOTO 100指定した行番号から実行する
GOSUBGOSUB {行番号 | PROGエリア番号}GOSUB 100サブルーチンを呼び出す
RETURNRETURN [{行番号 | PROGエリア番号}]RETURNサブルーチンから復帰する
IF...THEN | GOTO...ELSE...IF 論理式 {THEN 文 | GOTO {行番号 | PROGエリア番号}} ELSE {文 | {行番号 | PROGエリア番号}}IF A=0 {THEN END | GOTO 10} ELSE 20論理式の条件判断をする
WHILE〜WENDWHILE 式〜WENDWHILE I=0〜WENDWHILEの式が真の場合はWENDまでの処理を繰り返す
ON...GOTOON 式 GOTO {行番号 | PROGエリア番号}[,{行番号2 | PROGエリア番号2}][,...]ON A GOTO 100,200式の値に応じて指定された行番号へ分岐する
ON...GOSUBON 式 GOSUB {行番号 | PROGエリア番号}[,{行番号2 | PROGエリア番号2}][,...]ON A GOSUB 100,200式の値に応じて指定された行番号のサブルーチンを呼び出す
ON ERROR GOTOON ERROR GOTO {行番号 | PROGエリア番号}ON ERROR GOTO 100エラー発生時の分岐処理ルーチンを指定する ※エラーメッセージ一覧
RESUMERESUME {[0] | NEXT | {行番号 | PROGエリア番号}}RESUME 100エラー処理を終了し、実行を再開する
0     : エラー原因になった行から再開する(0を省略しても同じ)
NEXT  : エラー原因になった次の行から再開する
行番号: 指定した行番号から再開する
ON COM GOSUBON COM GOSUB {行番号 | PROGエリア番号}ON COM GOSUB 100通信ポート割込分岐処理ルーチンを指定する
ON KEY GOSUBON KEY GOSUB {行番号 | PROGエリア番号}[,[{行番号2 | PROGエリア番号2}][,[...][,[行番号10]]]]ON KEY GOSUB 100ファンクションキー割込分岐処理ルーチンを指定する(行番号は0〜9までのキーとなる)
[戻る]
ステートメント:変数関連
表記凡例使用例説明
CLEARCLEAR [[文字領域サイズ],メモリ上限]CLEAR 512,&HC000変数を初期化し、文字領域サイズとユーザ領域の上限を指定する
省略時は現在の設定を継承
初期値は1023,&HFFFE
INPUTINPUT [文字列{; | , }]変数[,変数2][,...]INPUT "X=";Xキーボードから入力した値を変数に代入する
LINE INPUTLINE INPUT [文字列{; | , }]文字列変数[,文字数]LINE INPUT "X=";X,10キーボードから入力した値をそのままで変数に代入する
文字数を省略した場合は255
LETLET 変数=式LET A=1変数に値を代入する(LETは省略できる)
DATADATA 定数[,定数][,...]DATA "TEST",765READで読み込むデータを定義する
READREAD 変数[,変数][,...]READ A$,BDATAで定義したデータを変数に代入する
RESTORERESTORE [{行番号 | PROGエリア番号}]RESTORE 1000READで読み込むDATAの先頭行を設定する
DEF FNDEF FN関数名(パラメータ[,パラメータ2[,...]])=定義式DEF FNTEST(X,A,B)=X^2+AX+Bユーザ定義関数を定義する
DIMDIM 変数名(最大値1[,最大値2][,...])[,...]DIM A(100,10),B$(100)配列変数の定義をする
次元は表記上許される最大まで可能
OPTION BASEOPTION BASE {0 | 1}OPTION BASE 0配列添字の下限を設定する
ERASEERASE 変数名[,変数名2[,...]]ERASE A,B$配列変数を消去する
SWAPSWAP 変数,変数2SWAP A,B変数1と変数2の値を交換する
DEFINTDEFINT[@] 変数名[-変数名2]
DEFINT 変数名[,変数名2[,,,,]]
DEFINT A-Z
DEFINT A,C
指定した変数の型を整数型とする
「@」を付けた場合はカナ文字変数に対する指定
DEFSNGDEFSNG[@] 変数名[-変数名2]
DEFSNG 変数名[,変数名2[,,,,]]
DEFSNG A-Z
DEFSNG A,C
指定した変数の型を単精度型とする
「@」を付けた場合はカナ文字変数に対する指定
DEFDBLDEFDBL[@] 変数名[-変数名2]
DEFDBL 変数名[,変数名2[,,,,]]
DEFDBL A-Z
DEFDBL A,C
指定した変数の型を倍精度型とする
「@」を付けた場合はカナ文字変数に対する指定
DEFFINDEFFIN[@] 変数名[-変数名2]
DEFFIN 変数名[,変数名2[,,,,]]
DEFFIN A-Z
DEFFIN A,C
指定した変数の型を倍々精度型とする
「@」を付けた場合はカナ文字変数に対する指定
DEFSTRDEFSTR[@] 変数名[-変数名2]
DEFSTR 変数名[,変数名2[,,,,]]
DEFSTR A-Z
DEFSTR A,C
指定した変数の型を文字列型とする
「@」を付けた場合はカナ文字変数に対する指定
RANDOMIZERANDOMIZE [式]RANDOMIZE 0乱数系列を設定する
ANGLEANGLE 機能コードANGLE 0度数単位系を設定する
機能コード
0 : DEG(度分秒 初期値)
1 : RAD(ラジアン)
2 : GRAD(グラジアン)
[戻る]
ステートメント:統計関連
表記凡例使用例説明
STATSTAT データX[,データY]STAT 1,2統計データを入力する
STAT CLEARSTAT CLEARSTAT CLEAR統計データをクリアする
[戻る]
ステートメント:マシン語関連
表記凡例使用例説明
GOGO [アドレス]GO &HD000指定したアドレスのマシン語プログラムを実行する(アドレス省略時は現在のPCレジスタから)
CALLCALL アドレス,変数,HL,DE,BCCALL &HD000,A$,&H1234,&H5678,&H9ABC指定したアドレスのマシン語サブルーチンを実行する(RET命令で戻る)
変数は引数として渡され、各レジスタの値も引き渡せる
SAVEMSAVEM "[ドライブ番号:]ファイル名",開始アドレス,終了アドレス[,実行アドレス]SAVEM "1:test",&HD000,1024フロッピーディスクにマシン語プログラムを保存する
LOADMLOADM "[ドライブ番号:]ファイル名"[,R]LOADM "1:test"フロッピーディスクからマシン語プログラムを読み込む(Rを付加した場合は実行も行う)
DEF USRDEF USR[番号]=アドレスDEF USR1=&HD000USRで呼び出すマシン語サブルーチンを定義する
POKEPOKE アドレス,数式POKE &HD000,&HC9指定したアドレスに値を書き込む
[戻る]
ステートメント:ファイル関連
表記凡例使用例説明
OPENOPEN "[デバイス名]ファイル名" [FOR モード] AS #ファイル番号OPEN "test.bas" FOR INPUT AS #1指定したファイルをファイル番号でOPENする
INPUT : 入力モード
OUTPUT: 出力モード
省略時: ランダムモード
CLOSECLOSE #ファイル番号1[,#ファイル番号2][,...]CLOSE #1指定したファイル番号のファイルをCLOSEする
FIELDFIELD #ファイル番号,フィールド幅 as 文字列変数[,フィールド幅 as ....]FIELD #1,128 as TEST$,64ランダムファイルバッファにフィールド変数を割り当てる
GETGET #ファイル番号[,数式]GET #1,10ファイルからデータをファイルバッファに読み込む
PUTPUT #ファイル番号[,数式]PUT #1,10ファイルバッファのデータをファイルに書き込む
INPUT #INPUT #ファイル番号,変数[,変数2[,...]]INPUT #1,A,Bシーケンシャルファイル中のデータを読み込んで変数に代入する
LINE INPUT #LINE INPUT #ファイル番号,文字列変数[,文字数]INPUT #1,A,Bシーケンシャルファイル中のデータを読み込んで変数に代入する(LINEを付加した場合はコンマなどを無視して代入)
PRINT #PRINT #ファイル番号[,{[USING 書式;データ] | [式]}[;式2[,...]]]PRINT #1,A;Bファイルにデータを書き込む
DSKODSKO ドライブ番号,サイド番号,トラック番号,セクタ番号DSKO 1,1,2,3ファイル装置に直接256bytesの文字列を書きこむ
LSETLSET 文字変数=文字列LSET A$="TEST"ランダムファイルバッファのフィールドに左詰めで文字列を代入する
RSETRSET 文字変数=文字列RSET A$="TEST"ランダムファイルバッファのフィールドに右詰めで文字列を代入する
PACIPACIPACI指定したRAM/ROMパックからデータを読み込む
PACOPACOPACO指定したRAMパックへデータを書き込む
[戻る]
ステートメント:画面関連
表記凡例使用例説明
CLSCLSCLS画面を消去する
LOCATELOCATE X,YLOCATE 10,10指定した位置にカーソルを移動する
PRINTPRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]PRINT "HELLO,WORLD"画面上に表示する
USINGを付けた場合は書式に対応して表示する
COLORCOLOR [フォアグラウンドカラーコード][,バックグラウンドカラーコード][,グラフィックカラーコード][,ボーダーカラーコード]COLOR 7,0,1,2カラーを指定する
WIDTHWIDTH 桁数WIDTH 80画面の桁数(40/80)を設定する
SCREENSCREEN [画面モード][,[表示ページ][,[アクティブページ]][,ホワイトオプション]]SCREEN 0画面のモードを設定する
VIEWVIEW(X1,Y1)-(X2,Y2)VIEW (0,0)-(100,100)グラフィック画面の表示領域を設定する
INITINIT(X,Y),X増分,Y増分[,R]INIT (0,0),1,1グラフィック画面の絶対座標に対するユーザ座標を設定する
「R」を付けた場合は比率が1となる
SCALESCALE (X1,Y1)-(X2,Y2)SCALE (0,0)-(1,1)VIEW領域の左上、右下の座標を設定する
GET@GET@(X1,Y1)-(X2,Y2),配列変数名GET@(0,0)-(15,15),A%画面上のグラフィックパターンを配列変数に読み込む
PUT@PUT[@](X,Y),配列変数名[,条件]PUT@(0,0),A%,ANDGET@で取り込んだパターンを表示する
条件
AND    : 画面上のパターンと配列変数のパターンをドット単位でANDした結果を描画する
OR     : 画面上のパターンと配列変数のパターンをドット単位でORした結果を描画する
XOR    : 画面上のパターンと配列変数のパターンをドット単位でXORした結果を描画する
DRAWDRAW [=ラインスタイル] [(X1,Y1)][{- | ,}(X2,Y2)[,...]]DRAW =&HFFFF (0,0)-(100,100)複数の座標が「-」区切って指定された場合は直線を描画する
座標が単独、または「,」で区切られた場合はそれぞれの座標に点を描画する
カラーの指定はCOLORのグラフィックカラーに依存する(指定不可)
ラインスタイルは&H0000〜&HFFFFまでの指定で対応するビットが1の部分のみ描画する
DRAWCDRAWC [=ラインスタイル] [(X1,Y1)][{- | ,}(X2,Y2)[,...]]DRAWC =&HFFFF (0,0)-(100,100)複数の座標が「-」区切って指定された場合は直線をバックグラウンドカラーで描画する(消す)
座標が単独、または「,」で区切られた場合はそれぞれの座標に点をバックグラウンドカラーで描画する(消す)
カラーの指定はCOLORのバックグラウンドカラーに依存する
使用後はグラフィックカラーコードがバックグラウンドカラーコードを指定したのと同等になる
ラインスタイルは&H0000〜&HFFFFまでの指定で対応するビットが1の部分のみ描画する
PLOTPLOT [(X1,Y1)][-(X2,Y2)[,...]][,[カラーコード][,機能コード]]PLOT (0,0)-(100,100),2直線を描画する
機能コード(省略時はAND)
AND    : 画面上のカラーコードと配列変数のカラーコードをドット単位でANDした結果を描画する
OR     : 画面上のカラーコードと配列変数のカラーコードをドット単位でORした結果を描画する
XOR    : 画面上のカラーコードと配列変数のカラーコードをドット単位でXORした結果を描画する
NOT    : 線を消す
QUADQUAD [(X1,Y1)][-(X2,Y2)[,...]][,[カラーコード][,機能コード]]QUAD (0,0)-(100,100),2座標を対角線とした四角形を描画する
機能コード(省略時はAND)
AND    : 画面上のカラーコードと配列変数のカラーコードをドット単位でANDした結果を描画する
OR     : 画面上のカラーコードと配列変数のカラーコードをドット単位でORした結果を描画する
XOR    : 画面上のカラーコードと配列変数のカラーコードをドット単位でXORした結果を描画する
NOT    : 線を消す
CIRCLECIRCLE(X,Y),半径[,[カラーコード][,機能コード]]CIRCLE(100,100),100,2指定座標に円を描画する
比率は存在しないのでINITで調整する
機能コード(省略時はAND)
AND    : 画面上のカラーコードと配列変数のカラーコードをドット単位でANDした結果を描画する
OR     : 画面上のカラーコードと配列変数のカラーコードをドット単位でORした結果を描画する
XOR    : 画面上のカラーコードと配列変数のカラーコードをドット単位でXORした結果を描画する
NOT    : 線を消す
PAINTPAINT(X,Y)[,[カラーコード][,境界色]]PAINT(100,100),2,7
PAINT(100,100),2,6
指定したカラーコードで境界色に囲まれた範囲を塗りつぶす(境界色を省略した場合はカラーコードを指定したものとする)
[戻る]
ステートメント:その他
表記凡例使用例説明
BEEPBEEP [{ON | OFF}]BEEPBEEP音を出力する
(省略) : 「ピーッ」と鳴らす
ON : キークリック音を鳴らす
OFF : キークリック音を消す
COPYCOPY [X[,[Y]]COPYプリンタに画面内容を出力する
範囲を指定可能(画面の横軸がプリンタの縦軸に対応)
LPRINTLPRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]LPRINT A$プリンタに出力する
LWIDTHLWIDTH 文字数LWIDTH 80プリンタの行文字数(80/132)を設定する
ERRORERROR エラー番号ERROR 19指定したエラー番号のエラーを発生させる ※エラーメッセージ一覧
KEYKEY 番号,文字列KEY 1,"TEST"指定した番号のファンクションキーに文字列を設定する
KEYKEY {ON | OFF | STOP}KEY ONファンクションキー(0〜9)の割込設定をする(個別指定は不可)
ON   : 割込許可
OFF  : 割込禁止
STOP : 割込停止(ONで再開)
COMCOM {ON | OFF | STOP}COM ON通信ポートの割込設定をする
ON   : 割込許可
OFF  : 割込禁止
STOP : 割込停止(ONで再開)
MOTORMOTOR {ON | OFF}MOTOR ONカセットテープレコードのモータを制御する
OUTOUT ポート番号,数式OUT &HD000,10ポートに値を出力する
LOUTLOUT ポート番号,数式LOUT &HD000,10ポートに値を出力する(データはプリンタにも印字される)
TRONTRONTRONトレースモードにする
LTRONLTRONLTRONトレースモードにする(結果は印字される)
TROFFTROFFTROFFトレースモードを解除する
[戻る]
文字列関数
表記凡例使用例説明
ASCASC(文字列式)ASC("TEST")文字列先頭のキャラクタコードを返す
VALVAL(文字列式)VAL("123")文字列を数値に変換する
CHR$CHR$(数式)CHR$(41)指定したキャラクタコードの文字を返す
DEFCHR$DEFCHR$(キャラクタコード)=定義文字列DEFCHR$(41)=S$指定したキャラクタコードに定義文字列によるキャラクタパターンを定義する
STR$STR$(数式)STR$(A)数値を文字列に変換する
STRING$STRING$(式,[文字列 | 数式})STRING$(10,"=")指定した文字数だけ追加した文字列を返す
HEX$HEX$(数式)HEX$(255)10進数を16進数文字列に変換する
OCT$OCT$(数式)OCT$(255)10進数を8進数文字列に変換する
LEFT$LEFT$(文字列式,式)LEFT$(A$,2)文字列の左側から式で指定した桁数の文字列を返す
MID$MID$(文字列式,式1[,式2])[=文字列]MID$(A$,2,1)文字列の式1で指定した位置から式2で指定した桁数の文字列を返す(=文字列を指定した場合はその文字列と置換する)
RIGHT$RIGHT$(文字列式,式)RIGHT$(A$,2)文字列の右側から式で指定した桁数の文字列を返す
INSTRINSTR([開始位置,]文字列式1,文字列式2)INSTR(A$,B$)文字列1から文字列2を[開始位置から]探し、一致した場合文字列1の何文字目かを返す
LENLEN(文字列式)LEN(A$)文字列の文字数を返す
SPCSPC(数式)SPC(A)指定した長さの空白を返す(出力文字式内でのみ使用)
TABTAB(数式)TAB(A)指定した位置まで空白を返す(出力文字式内でのみ使用)
CSRCSR(X,Y)CSR(10,10)指定した位置にカーソルを移動する(出力文字式内でのみ使用)
REVREVREV反転文字モードにする(出力文字式内でのみ使用)
NORMNORMNORM通常文字モードにする(出力文字式内でのみ使用)
[戻る]
数値関数
表記凡例使用例説明
INTINT(数式)INT(A)数式の整数値を返す(数式の値を超えない整数値)
FIXFIX(数式)FIX(A)数式の整数値を返す(切り捨て)
SGNSGN(数式)SGN(A)数式の符号を返す
RNDRND(数式)RND(A)0以上1未満の乱数を返す
正数: 次の乱数を発生する(省略した場合も同様)
負数: 乱数を初期化する
0   : 同じ乱数を生成する
CINTCINT(数式)CINT(A)数式を整数型へ変換する
CSNGCSNG(数式)CSNG(A)数式を単精度型へ変換する
CDBLCDBL(数式)CDBL(A)数式を倍精度型へ変換する
CFINCFIN(数式)CFIN(A)数式を倍々精度型へ変換する
ROUNDROUND(数式[,有効桁数])ROUND(A,2)小数値の有効桁数(省略時は0)で四捨五入値を返す
FRACFRAC(数式)FRAC(A)小数値を返す
[戻る]
数学関数
表記凡例使用例説明
PIPIPI円周率を返す(最大精度:3.141592653589793)
ABSABS(数式)ABS(-1000)絶対値を返す
SINSIN(数式)SIN(PI)正弦(サイン)の値を返す
COSCOS(数式)COS(PI)余弦(コサイン)の値を返す
TANTAN(数式)TAN(PI)正接(タンジェント)の値を返す
ASNASN(数式)ASN(PI)逆正弦(アークサイン)の値を返す
ACSACS(数式)ACS(PI)逆余弦(アークコサイン)の値を返す
ATNATN(数式)ATN(PI)逆正接(アークタンジェント)の値を返す
HSNHSN(数式)HSN(PI)双曲線正弦(ハイパボリックサイン)の値を返す
HCSHCS(数式)HCS(PI)双曲線余弦(ハイパボリックコサイン)の値を返す
HTNHTN(数式)HTN(PI)双曲線正接(ハイパボリックタンジェント)の値を返す
AHSAHS(数式)AHS(PI)逆双曲線正弦(アークハイパボリックサイン)の値を返す
AHCAHC(数式)AHC(PI)逆双曲線余弦(アークハイパボリックコサイン)の値を返す
AHTAHT(数式)AHT(PI)逆双曲線正接(アークハイパボリックタンジェント)の値を返す
EXPEXP(数式)EXP(1)自然対数の低(e)に対する指数関数の値を返す
LOGLOG(数式)LOG(1)自然対数の値を返す
LGTLGT(数式)LGT(1)常用対数の値を返す
SQRSQR(数式)SQR(2)平方根の値を返す
[戻る]
統計関数
表記凡例使用例説明
CNTCNTCNT統計データの数を返す
CORCORCOR相関係数を返す
EOXEOXEOXYに対するXの推定値を返す
EOYEOYEOYXに対するYの推定値を返す
LRALRALRA一次回帰定数項を返す
LRBLRBLRB一次回帰係数を返す
MEANXMEANXMEANXXデータの平均を返す
MEANYMEANYMEANYYデータの平均を返す
SDXSDXSDXXデータの標本標準偏差を返す
SDXNSDXNSDXNXデータの母標準偏差を返す
SDYSDYSDYYデータの標本標準偏差を返す
SDYNSDYNSDYNYデータの母標準偏差を返す
SUMXSUMXSUMXXデータの総和を返す
SUMX2SUMX2SUMX2Xデータの平方和を返す
SUMXYSUMXYSUMXYXデータとYデータの積和を返す
SUMYSUMYSUMYYデータの総和を返す
SUMY2SUMY2SUMY2Yデータの平方和を返す
[戻る]
その他関数
表記凡例使用例説明
CVICVI(文字列式)CVI(A$)文字列(2bytes)を整数型へ変換する
CVSCVS(文字列式)CVS(A$)文字列(6bytes)を単精度型へ変換する
CVDCVD(文字列式)CVD(A$)文字列(11bytes)を倍精度型へ変換する
CVFCVF(文字列式)CVF(A$)文字列(16bytes)を倍々精度型へ変換する
MKI$MKI$(数式)MKI$(A%)整数型を文字列(2bytes)へ変換する
MKS$MKS$(数式)MKS$(A!)単精度型を文字列(6bytes)へ変換する
MKD$MKD$(数式)MKD$(A#)倍精度型を文字列(11bytes)へ変換する
MKF$MKF$(数式)MKF$(A&)倍々精度型を文字列(16bytes)へ変換する
INPUT$INPUT$(文字数[,ファイル番号])INPUT$(1,#1)ファイルから文字数分の文字列を返す
ファイル番号を省略した場合はキーボードからの入力(プロンプトの表示はない)
DSKIDSKI ドライブ番号,サイド番号,トラック番号,セクタ番号DSKI 1,1,2,3ファイル装置から直接読み込んだ256bytesの文字列を返す
LOCLOC(ファイル番号)LOC(1)指定したファイル番号の論理的位置を返す
LOFLOF(ファイル番号)LOF(1)指定したファイル番号の総レコード数を返す
EOFEOF(ファイル番号)EOF(1)シーケンシャルファイルの終わりを検出する
DSKFDSKF(ドライブ番号)DSKF(1)フロッピーディスクの未使用領域サイズを返す
PACFPACF(パック番号)PACF(0)RAM/ROMパックの未使用領域サイズを返す
FREFRE(機能コード)FRE(0)使用可能なメモリサイズを返す
0 : 変数領域
1 : テキスト領域
2 : 両方の和
INKEY$INKEY$INKEY$押されたキーの値を返す
CSRLINCSRLINCSRLIN現在のカーソル行位置を返す
POSPOSPOS現在のカーソル桁位置を返す
POINTPOINT(X,Y)POINT(100,100)指定した座標のドットのカラーコードを返す(ない場合は0)
INPINP(ポート番号)INP(100)指定したポート番号(&H0000〜&HFFFF)の入力値を返す
PEEKPEEK(アドレス)PEEK(&HD000)指定したアドレスの値を返す
USRUSR番号(式)I=USR1(TEST)マシン語関数を呼び出す
VARPTRVARPTR(変数名)VARPTR(T)変数が割り当てられているアドレスを返す
ERRERRERR発生したエラーのエラーコードを返す
ERLERLERLエラーの発生した行番号を返す
[戻る]

※ デバイス

デバイス名対象入力出力備考
CAS0:カセットテープOO
n:フロッピーディスクOOn=0〜1
ROMn:ROMパックOX
RAMn:RAMパックOO
LPTn:プリンタXO
COMn:RS-232COOn=0〜7(標準は0)

デフォルトは0:
(フロッピーディスク装置がない場合はCAS0:)

[戻る]

※ モニタコマンド
DM : DumpMemory(メモリ内容の表示)
DM [StartAdr][,[EndAdr]]
CM : ChangeMemory(メモリ内容の変更)
CM [Adr]
MM : MoveMemory(メモリ内容の転送)
MM StartAdr,EndAdr,TransAdr
GO : GO(プログラムを実行)
GO [Adr]
CR : ChangeRegister(レジスタ内容の変更)
ST : SaveTape(カセットテープにデータをセーブ)
ST StartAdr,EndAdr
LT ; LoadTape(カセットテープからデータをロード)
BA : BASICに戻る

[戻る]

※ ターミナルモード
設定文字列
・ボーレート倍率(DIPSWに対して)
F : 倍率1/1
S : 倍率1/4

・ワード長
7 : 7bit(パリティ:O|E)
8 : 8bit(パリティ:N)

・パリティ
N : なし
O : 奇数
E : 偶数

・ストップビット
0 : 1bit
1 : 1.5bit
2 : 2bit

モード
H : 半二重
F : 全二重

パラメータは半角大文字のみ指定可能
省略時は「F8N2H」

[戻る]

※ PRINT
一般的なBASICで使われる省略形「?」は使用できないことに注意
また「;」と同様に「 」(スペース)も利用可能

; : 式を続けて表示する(A;B) 例 1;2
1 2
, : 式をTABで区切って表示する(A,B) 例 1,2
1         2

・USINGの書式
! : 文字列の最初だけを表示する
例 "!";"TEST"
T
@ : 文字列を表示する
_ : 次に続く制御文字をそのまま表示する
&(空白)& : &と空白の文字列分文字列を表示する(少ない場合は左詰め)
例 "[&    &]";"TEST"
[TEST  ]
# : 数値を桁数指定して出力する(少ない場合は右詰め)
例 "[#####]";100
[  100]
. : 小数点位置を指定する(冗長部分は0が出力される)
例 "[##.#####];3.1415!
[ 3.14150]
+ : 符号を出力する(負数の場合は負符号になる)
例 "[+####]";100
[+ 100]
- : 最後につけた場合、負符号を出力する
例 "[###-]";-10
[ 10-]
例 "[###-]";10
[ 10 ]
** : 先頭につけた場合、表示領域の空白を「*」で埋める
例 "[**####]";100
[***100]
\\ : 先頭につけた場合、数値の直前に「\」を出力する
例 "[\\####]";100
[   \100]
**\ : 先頭につけた場合、表示領域の空白を「*」で埋めて、数値の直前に「\」を出力する
例 "[**\####]";100
[****\100]
, : 桁数指定の「#」内につけた場合(「.」より左側)、3桁毎に「,」を出力する
例 "[#,#####]";1000
[  1,000]
^^^^ : 桁数指定の「#」につけた場合、指数形式で出力する
例 "[###^^^^^]";1000
[ 10E+02]

[戻る]

※ COLOR
COLOR フォアグラウンドカラーコード,バックグラウンドカラーコード,グラフィックカラーコード,ボーダーカラーコードで指定

フォアグラウンドカラーコードはいわゆる文字カラー、バックグラウンドカラーコードは背景カラー
グラフィックカラーコードはグラフィック表示のカラー
ボーダーカラーコードは画面の外枠のカラー

0Black
1Blue
2Red
3Magenta
4Green
5Cyan
6Yellow
7White

[戻る]

※ SCREEN
SCREEN [画面モード][,[表示ページ][,[アクティブページ]][,ホワイトオプション]]

・画面モード
0 : 白黒モード(640x200)
1 : 高解像度白黒モード(640x400)
2 : カラーモード(640x200)
・ページ(カラーモード時有効)
0 : 全ページOFF
1 : ページ1 ON
2 : ページ2 ON
3 : ページ1,2 ON
4 : ページ3 ON
5 : ページ1,3 ON
6 : ページ2,3 ON
7 : 全ページON
・ホワイトオプション(白黒モード時有効)
0 : 無効
1 : ページ処理有効

[戻る]

※ 変数型・定数型
関数の演算結果は倍精度となる
また、変数名にカナを使用することも可能

整数型  (A%) : -32768〜+32767
単精度  (A!) : ±E99(有効桁数 9桁で表示は 6桁)
倍精度  (A#) : ±E99(有効桁数19桁で表示は16桁)
倍々精度(A&) : ±E99(有効桁数29桁で表示は26桁)

A$ : 文字列型(A$="TEST")
&O : 8進数形式(&O777、&127)
&H : 16進数形式(&HFFFF)

8/16進数の整数値表記は-32769〜65536となる

[戻る]

※ 演算子
+   : 加算・結合(A+B、A$+B$)
-   : 減算(A-B)
*   : 乗算(A*B)
/   : 除算(A/B)
\   : 整数除算(A\B)
MOD : 整数の剰余(A MOD B)
^   : べき算(A^B)
=   : 等号・代入(A=3、A=B+C)
> < : 不等号・比較(A>3、A<=2)
NOT : 否定(NOT 2)
AND : 論理積(2 AND 1)
OR  : 論理和(2 OR 1)
XOR : 排他的論理和(2 XOR 1)

[戻る]

※ エラーメッセージ一覧

エラーメッセージ一覧
番号略称表示意味
?? 未定義エラー
1OMOut of memoryメモリが不足している
2SNSyntax errorコマンド、またはステートメントの書き方が間違っている
3IEInternal error内部エラー
4STString error文字列が長すぎる
5TCString formula too complex文字式が複雑すぎる
6BVBuffer overflow入出力バッファがオーバーフローした
7NRDevice not readyデバイスが準備できていない
8RWRead/Write errorデバイスの読み書き時にエラーが発生した
9BDBad drive numberドライブ番号異常
10BFBad file nameファイル名異常
11BNBad file numberファイル番号異常
12NFDevice/File not foundデバイスまたはファイルが存在しない
13TS
14FL
15OVOverflow値が許容範囲を超えた
16MAMathematical error演算結果が異常
17DDDuplicate Definition配列が二重宣言された
18BSSubscript out of range配列の添字が指定した範囲外
19FCIllegal function call関数やステートメントの引数が間違っている
20ULUndefined line number未定義の行番号を指定した
21MOMissing operand必要なオペランドが不足している
22TMType mismatch変数または定数の型が合わない
23RE
24PRProtected errorパスワードが設定されている、またはパスワードが違う
25CONTCan't continueCONTによるプログラムの再開ができない
26DATAOut of DataREADに対応したDATAがない
27FORNEXT without FORNEXTに対応したFORがない
28NEXTFOR without NEXTFORに対応したNEXTがない
29WHILEWEND without WHILEWENDに対応したWHILEがない
30WENDWHILE without WENDWHILEに対応したWENDがない
31GOSUBRETURN without GOSUBRETURNに対応したGOSUBがない
32USRUSR errorUSR参照時のエラー
33FNFN error未定義ユーザ関数を参照した
34FORMATFORMAT errorFORMAT実行時のエラー、またはデバイスがフォーマットされていない
35MOUNTMOUNT errorMOUNT実行時のエラー
36FIELDFIELD errorFIELD実行時のエラー
37NAMENAME errorNAME実行時のエラー
38OPENOPEN errorOPEN実行時のエラー
39PASSPASS errorPASS実行時のエラー

[戻る]

[TOPに戻る]