FX-870P/VX-4 BASIC



FX-870P/VX-4 マニュアルに戻る

目次







マニュアルコマンド一覧
LIST, LLISTRENUMNEW PASSRUN
SAVELOADMERGE VERIFYEDIT
DELETESYSTEMCONT LIST#SAVE#
LOAD#MERGE#NEW#
なお,VERIFY, SAVE#, LOAD#, MERGE#, NEW#は,FX-890P,Z-1ではコマンドが削除された。
 
プログラムコマンド一覧
ANGLEBEEPCLEAR DIMERASE
ENDDATAREAD RESTOREFOR~TO~
[STEP]~NEXT
GOTOGOSUBRETURN IF~THEN~ELSEINPUT
LETON~GOTOON~GOSUB PRINT, LPRINTPRINT USING
REMSETSTOP READ#WRITE#
RESTORE#CLOSECLS DEFSEGLOCATE
DEFCHR$POKETRON TROFFVARLIST
INPUT#LINE INPUT#ON ERROR GOTO OPENPRINT#
RESUMEFORMATFILES KILLNAME
CHAINSTATSTAT CLEAR MODE
なお,FX-890P,Z-1GRでサポートされたLINE, DRAW等のグラフィック関連の命令, CALL, SWAP, WAIT, REV, NORM, OUT, OUTPORTはない。
 
内蔵関数一覧
SINCOSTAN ASNACS
ATNHYPSINHYPCOS HYPTANHYPASN
HYPACSHYPATNSQR CUR^
EXPLOGLN ABSINT
FRACFIXSGN ROUND(RAN#
π, PIDEG(REC( POL(FACT
NPR(NCR(FRE DEGRDMS
CNTSUMX,SUMY,
SUMX2,SUMY2,
SUMXY
MEANX,
MEANY
SDX,SDY,
SDXN,SDNY
LRA,LRB
COREOX,EOY&H DMS$(LEN(
MID$(CHR$(LEFT$( RIGHT$(STR$(
VAL(HEX$(ASC( VALF(EOF
ERLERRPEEK DSKFTAB
INPUT$INKEY$
FX-890P,Z-1GRでサポートされた関数INP, INPORT, POINT, TIMERはない。
 
論理演算他
NOTANDOR XOR¥
MOD
BASICのマニュアルに記載されておらず,操作テキストに記載されているが,論理演算子などが用意されている。
 
エラーメッセージ一覧
OM errorSN errorST error TC errorBV error
NR errorRW errorBF error BN errorNF error
LB errorFL errorOV error MA error DD error
BS errorFC errorUL error TM error RE error
PR errorDA errorFO error NX errorGS error
FM errorOP errorAM error FR error PO error
DF error
FX-890P,Z-1GRでは,LB errorは削除された。






1. BASICモードへの入り方

MODEキー,'1'と連続して押すことで,BASICモードになる。なお,液晶画面の下に,MODEボタンと数字キーとの組み合わせと入るモードの表がある。
BASICモードで,SHIFTキー(赤い'S'のキー),数字キーと連続して押すと,押した数字のプログラム番号が選択されて,編集・実行対象となる。
CALモードで,SHIFTキー(赤い'S'のキー),数字キーと連続して押すと,押した数字のプログラム番号にプログラムがあれば,そのプログラムを実行する。








2. 文法の概要

 ここでは,BASICの基本的知識は省略する。FX-870P/VX-4のBASICの特徴は以下の通り。



2-1.文の構成
 各文(行)は,以下のように構成される。
[行番号]コマンド(命令) オペランド [ : コマンド(命令) オペランド;[ : ・・・]]]
文は,コマンドとオペランドに構成されて,コロン(:)で区切ることで複文となる。 また,行頭に行番号を付けると,プログラムと解釈されて,メモリーに格納される。 行番号がない場合,EXEボタン押下後,直接実行される。

2-2.変数
 変数は,データの型が数値か文字列か,単変数か配列変数かで4種類に分類される。

表2-1. BASICの変数の分類
単変数配列変数
データ型数値数値変数配列数値変数
文字(列)文字変数配列文字変数


変数名前・配列名の命名法は以下の通り。
先頭から予約語を含まないこと。逆に予約語は,空白のような区切り文字を省略可能という省メモリな仕様である。
先頭が,英大文字('A'-'Z'),英小文字('a'-'z'),カナ(ASCIIコード:&HA6-&HDF)のいずれかである文字列であること。
先頭以外は,英大文字,英小文字,カナ,数字('0'-'9')で構成されること。
文字列の長さは,255文字以内であること。


配列の取り扱いは以下の通り。
配列は,最初にDIM 文で宣言する。
配列の添え字は0以上の整数で,小数部は切り捨てられる。
配列の次元は,内部スタックの許す範囲とCASIOのマニュアルに書かれているが,実際にはワークエリアでの表現上,255次元が最大である。(注2)
添え字の最大値は,記憶容量の許す範囲。
なお,変数の使用メモリ・サイズは,本章末の(注1)に載せておく。

変数・配列に関する注意点は以下の通り。
変数・配列は,全てのプログラム(P0-P9)に対して共通に使われる。
変数は,初めて使用したときにその場所が確保される。
DIM 文で配列宣言をしないと,配列変数は使えない。
文字変数は, CLEAR文で指定した文字データ領域に格納される。
英大文字と英小文字は違う文字として認識される。例えばAとaは別変数である。
同じ変数名の数値変数,文字変数,配列数値変数,配列文字変数が同時に存在することが可能。 例えば,A, A$を使いながら,DIM A(10), A$(10)を実行して使用することが可能。
これらがバグの原因になることがあるので,注意が必要である。 なお,VARLISTは,プログラム実行等で実体を持った変数の名前と型をリスト表示するので,デバッグに有効なコマンドである。


2-3.比較演算子
 プログラム中でのみ有効。結果は,真の場合,-1,偽の場合,0を返す。 なお,文字列の比較は複雑なので,データの型による比較演算子の動作を表2-2に示す。

表2-2.比較演算子の動作
データの型動作使用例結果
数値数値の大小を比較する。PRINT 123>45-1(真)
PRINT 123<450(偽)
文字列先頭から順に文字コードの大きさを比較する。 PRINT "ABC"<"ABD"-1(真)
PRINT "DEF"<"ABC"0(偽)
文字列が先頭から同じで,一方が他方に含まれるとき,文字列が短い方を小とする。PRINT "ABC">"ABCD"0(偽)


2-4.文字演算子
 文字列の演算は,四則演算のうち+(プラス)だけが有効。+は,左右の文字列の結合という動作を行い,結果は255文字以内にある必要がある。 例えば,"A"+"B"で,結果は"AB"となる。




(注1)
変数の使用メモリサイズ
 数値変数と文字変数は,初めて使用したとき,メモリに割り当てられる。そのときの使用バイトは以下の通り。
    数値変数: (変数名の長さ + 12)バイトがワークエリアから確保される。
文字変数: (変数名の長さ + 4)バイトがワークエリアから,また(文字列の長さ + 1)バイトが文字領域から確保される。

配列変数は,DIM文で定義したときにメモリに割り当てられる。そのときの使用バイトは以下の通り。
    配列数値変数: ((変数名の長さ+4)+(配列の大きさ*8)+次元*2+1)バイトがワークエリアから確保される。
配列文字変数: (変数名の長さ + 4)バイトがワークエリアから,((配列の大きさ)+次元*2+1)バイトが文字領域から確保される。
また,文字列が代入されたとき,その文字列の長さだけ文字領域を使用する。
 なお,変数の格納方法の詳細については,『12. FX-870P/VX-4内部情報』の 『2-3. 変数データの格納形式』を参照のこと。

(注2)
配列変数の最大次元数
(注1)の両方の配列変数の使用メモリサイズにある+1の項, すなわち1バイトに,配列変数の次元が格納されている。したがって,配列変数の最大次元数は255となる。 しかし,








3. マニュアル・コマンド


表3.マニュアル・コマンド
コマンド名書式機能使用例
 LIST
 LLIST
 { LIST, LLIST } {
  •  [開始番号][-[終了番号]]
  •  .
  • ALL
 }
 プログラムの内容の全部または一部を画面に表示する。LISTをLLISTとすると、画面への出力からプリンタへの出力になる。
  1. LIST :'先頭から表示
  2. LIST 30:'行番号30を表示
  3. LIST 20-80:'行番号20~80を表示
  4. LIST 20-:'行番号20以降を表示
  5. LIST -80:'先頭行~行番号80までを表示
  6. LIST. :'最後に扱った行を表示
  7. LIST ALL:'すべてのプログラムエリアのプログラムを表示
 RENUM  RENUM [新行番号] [ , [旧行番号] [ , 増分]]  行番号を一定間隔で付け直す。新行番号, 旧行番号, 増分のデフォルト値は,それぞれ10, 行番号先頭, 10。
  1. RENUM 100,10,10 :'行番号10を新たに行番号100とし,それ以降を10間隔で行番号を付け直す
 NEW  NEW [ALL]  現在指定しているプログラム・エリアのプログラムを消去する。ALL指定で,全てのプログラム・エリアのプログラムを消去する。
  1. NEW :'指定中のプログラム・エリアのプログラムを消去
  2. NEW ALL :'全プログラム・エリア(P0-P9)のプログラムを消去
 ※
 PASS
 PASS "パスワード"  全プログラムエリアおよび全ファイルエリアに対する,設定または解除を行う。
  1. PASS"CASIO" :'最初に実行すると,各エリアに対してLIST,EDIT等の操作が不可になる。再度, PASS"CASIO"を実行することで解除される。
 RUN  RUN [行番号]  プログラムを先頭行または指定行から実行する。
  1. RUN :'先頭行からプログラムを実行
  2. RUN1000:'行番号1000からプログラムを実行
 SAVE  SAVE[ALL]"ファイルディスクリプタ"[ ,A]  ファイルディスクリプタで指定したファイルにプログラムを出力する。 対象プログラムは,現在指定しているプログラムエリアのプログラム,または,ALL指定によって,全プログラムエリアのプログラムとなる。 しかし,ALL指定の出力先はカセットテープに限定される。「,A」を付けたときは,アスキー出力で出力する。 ALL指定は,FX-890P,Z-1のBASICにはない。
  1. SAVE"0:DEMO1.BAS" :'フロッピーディスク内に"DEMO1.BAS"というファイル名でプログラムを出力
  2. SAVE"CAS0:(S)DEMO2.BAS",A :'カセットテープに正相,遅い転送速度(300bps)で"DEMO1.BAS"というファイル名でアスキー形式でプログラムを出力
  3. SAVEALL"CAS1:(F)P09" :'カセットテープに逆相,速い転送速度(1200bps)で"P09"というファイル名で全プログラムエリアのプログラムを出力
 LOAD  LOAD[ALL]"ファイルディスクリプタ"[ , A]  ファイルディスクリプタで指定したファイルのプログラムを読み込む。 読み込み先は,現在指定しているプログラムエリア,または,ALL指定によって,全プログラムエリアとなる。 しかし,ALL指定はカセットテープからのLOADに限定される。「,A」を付けたときは,アスキー形式のプログラムを読み込む。 ALL指定は,FX-890P,Z-1のBASICにはない。
  1. LOAD"5,E,8,1,N,N,N,B,N" :'RS-232Cからプログラムを読み込む。 RS-232Cの設定については,ファイルディスクリプタを参照。
 MERGE  MERGE"ファイルディスクリプタ"  現在指定しているプログラムエリアに,ファイルディスクリプタで指定したファイルのプログラムを混合する。
  1. MERGE"0:TEST.BAS" :'フロッピーディスク内のファイル"TEST.BAS"のプログラムを読み込んで,混合する。
 VERIFY  VERIFY"ファイルディスクリプタ"  カセットファイルに記録されているファイルをチェックする。 FX-890P, Z-1では,このコマンドは削除された。
  1. VERIFY"CAS0:TEST" :'カセットテープのファイル"TEST"が正しく記録されているか検証。
 EDIT  EDIT {
  •  [行番号]
  •  .
 }
 現在指定しているプログラム・エリアのプログラムを表示し,編集モードに入る。
  1. EDIT :'プログラムの最初の行から編集に入る
  2. EDIT 30:'行番号30の編集を行う
  3. EDIT. :'最後に扱った行の編集を行う
 DELETE  DELETE [開始行番号] [ - [終了行番号]]  プログラムの一部を行番号単位で削除する。なお,引数なしではSN Errorとなる。
  1. DELETE 50 :'行番号50を削除
  2. DELETE 20-80:'行番号20~80を行う
  3. DELETE 20-:'行番号20以降を削除
  4. DELETE -80:'先頭行から行番号80を削除
 ※
 SYSTEM

 SYSTEM [ * ]
 引数なしで,プリンタ(PR)のON/OFF設定,トレースモード(TR)のON/OFF設定,CLEAR文の設定,テキストエリアのフリー容量(FREE), 変数領域(V)のフリーエリア容量,文字領域のフリー容量($)を表示する。
隠しコマンドとして,引数"*"でテストモードに入る(文献(1))。
  1. SYSTEM :'BASICシステムの設定を表示
  2. SYSTEM* :'テストモード
 ※
 CONT

 CONT
 STOP文またはSTOPキーで停止させたプログラムの実行を再開させる。
  1. CONT
 ※
 LIST#

 LIST#
 データバンクエリア「F0」に書き込まれているテキストデータを全て表示する。LISTをLLISTとすると、画面への出力からプリンタへの出力になる。
  1. LIST#
 ※
 SAVE#

 SAVE#"ファイルディスクリプタ"
 データバンクエリア「F0」に書き込まれているメモデータをファイルディスクリプタで指定したファイルに出力する。
  1. SAVE#"0:TEST" :'F0の内容をフロッピーに"TEST"というファイル名で出力する
 ※
 LOAD#

 LOAD#"ファイルディスクリプタ"
 データバンクエリア「F0」に、ファイルディスクリプタで指定したファイルの内容を読み込む。
  1. LOAD#"0:TEST" :'F0にフロッピーディスクの"TEST"というファイルの内容を読み込む
 ※
 MERGE#

 MERGE#"ファイルディスクリプタ"
 データバンクエリア「F0」のメモデータに,ファイルディスクリプタで指定したファイルの内容を追加する。
  1. MERGE#"0:TEST" :'
 ※
 NEW#

 NEW#
 データバンクエリア「F0」に書き込まれているメモデータを全て消去する。
  1. NEW#








4. プログラム・コマンド



表4. プログラム・コマンド
コマンド名書式機能使用例
 ANGLE  ANGLE 数式  角度単位の指定。
  1. ANGLE 0: 'DEG: 度
  2. ANGLE 1: 'RAD: ラジアン
  3. ANGLE 2: 'GRA: グラード
  4. ANGLE A: 'Aの値に従って、角度単位変更
※360 deg=2*PI rad=400 gra
 BEEP  BEEP { [ 0 ] | 1 }  ブザーを鳴らす。
  1. BEEP :'低音で鳴らす
  2. BEEP 0:'低音で鳴らす
  3. BEEP 1:'高音で鳴らす
 CLEAR  CLEAR [変数領域サイズ] [,ワーク領域サイズ]  全ての変数をクリアし、引数に従ってメモリーの領域を確保する。 ワーク領域とは,機械語を除く,I/Oバッファ,文字演算ワーク,FORスタック, GOSUBスタック,数値データ,変数テーブル,文字変数データに用いるBASICの全ワークエリア(PB-1000では,機械語も含む)で, 変数領域はそのうち最後の文字変数(配列文字変数も含む)のデータ格納領域を指す。したがって,変数領域サイズ < ワーク領域サイズ でなければならず,変数領域以外にある程度の領域を確保する必要がある。
 デフォルトの変数領域,ワーク領域のサイズは,VX-4(RAM:8KB)およびそれにRP-8増設時(RAM:16KB)の場合, 512,1536で,それ以外は1024,8192である。
 現在のワーク領域,変数領域のサイズ,空き容量は,SYSTEMコマンド,内蔵関数FREによって知ることができる。
  1. CLEAR :'変数のクリア
  2. CLEAR 1024:'変数クリア後,変数領域を1024byte確保
  3. CLEAR 1024,2048: '変数クリア後,変数領域,ワークエリアにそれぞれ1024byte,2048byte確保
 DIM  DIM 配列名(添字最大値 [ , 添字最大値 ・・・ ] )  配列変数の宣言。ただし、添字は0から。
  1. DIM A(5): '1次元配列の数値変数の宣言
  2. DIM B$(2,5): '2次元の配列文字変数の宣言
 ERASE  ERASE 配列名[,配列名]  指定した配列変数を変数名単位で消去する。
  1. ERASE A,B: '配列変数A,Bの消去。
 END  END  プログラムを終了させる。ただし,プログラムにEND文がなくても,プログラムの最後に到達すると,プログラムは終了する。  
 DATA  DATA データ1 [ , データ2 ・・・ ]  READ文で読むデータをプログラム中に埋め込むために使う。
  1. DATA 10,20,30
 READ  READ 変数1 [ , 変数2 ・・・ ]  DATA文で用意されたデータを変数に格納する。
  1. READ A,B,C
 RESTORE  RESTORE [行番号]  READ文で読むDATA文の開始行を指定。
  1. RESTORE :'データ文の開始行を指定
  2. RESTORE 100 :'行番号100のデータからREAD文で読み込む
 FOR ~ TO ~ STEP
   ・・・
 NEXT
 FOR 変数=初期値 TO 終値 [STEP 増分値]
   ・・・
 NEXT [変数](数式)
 FOR文とNEXT文の処理を、変数を初期値から初めて、増分値(STEP以下がないときは1)を加えながら終値を超えないまで繰り返す。
  1. FOR I=1 TO 10
      SUM=SUM+A(I)
    NEXT I
 GOTO  GOTO {
  • 分岐先行番号
  • #プログラムエリア番号
 }
 指定された分岐先行番号、またはプログラムエリアの先頭行へ無条件でジャンプする。
  1. GOTO 80 :'行番号80へジャンプ
  2. GOTO #7 :'プログラムエリア7の先頭行へジャンプ
 GOSUB  GOSUB {
  • 分岐先行番号
  • #プログラムエリア番号
 }
 指定された分岐先行番号、またはプログラムエリアの先頭行から始まるサブルーチンを呼び出す。プログラムエリアが変わっても、変数定義とその値は引き継がれる。
  1. GOSUB 100
  2. GOUB #5
 RETURN  RETURN [ {
  • 分岐先行番号
  • #プログラムエリア番号
 } ]
 サブルーチンから指定された分岐先行番号、プログラムエリア番号の先頭行へ復帰する。戻り先は省略されたときは、GOSUB文等でサブルーチンを呼んだ文の次の文へ復帰。
 ※プログラムを見やすくするには、戻り先は指定しないほうが良い。
  1. RETURN
  2. RETURN 20
  3. RETURN #1
 IF ~{
  • THEN ~
  • GOTO ~
  } ELSE
 IF 条件文 {
  • THEN {
    • 文[:文]
    • 分岐先行番号
    • #プログラムエリア番号
    }
  • GOTO {
    • 分岐先行番号
    • #プログラムエリア番号
    }
 } [ ELSE {
  • 文[:実行]
  • 分岐先行番号
  • #プログラムエリア番号
 } ]
 条件文が真のとき、THEN以下の文を実行するか、GOTO文で指定された先へジャンプする。
 また、条件式が偽で、かつ、ELSE以下の文があると、ELSE以下の文の実行または飛び先へジャンプする。
  1. IF A>=100 THEN 50 ELSE 100
  2. IF B=0 THEN X=10 ELSE Y=B
  3. IF C=1 THEN GOSUB 500 :'文にGOSUBを使用可能
  4. IF D<>50 THEN #9
 INPUT  INPUT ["メッセージ文1" { ; | , } ] 変数1 [ [ , "メッセージ文2" { ; | , } ] 変数2 ・・・ ]  指定した変数に、キーボードからデータを入力。変数の前にメッセージ文を引数として与えると、そのメッセージ文を表示してから、データ入力できるようになる。また、メッセージ文の後のカンマが";"のときはメッセージ文に"?"を付与し、","のときは何も付与しないで、入力動作に入る。
  1. INPUT A,B,C
  2. INPUT "X=";X
  3. INPUT "A";A,"B";B,"C";C
 LET  LET 変数= { 代入値 | 式 }  左辺の変数に右辺の代入値または式の計算結果を代入する。代入文は、LET自体を省略可能。
  1. LET A=10
  2. A$="CASIO"
  3. X=Y*Z/2
 ON ~ GOTO  ON 数式 GOTO {
  • 分岐先行番号
  • #プログラムエリア番号
 } [ , {
  • 分岐先行番号
  • #プログラムエリア番号
 } ・・・ ]
 ON以下の数式の値に対応したジャンプ先にジャンプさせる。分岐先は,先頭から数式が1,2,3,・・・の場合の分岐先が指定されている。分岐先が定義されていない時はジャンプせず、この命令の直後のコマンドを実行。
  1. ON A GOTO 100,200,,300 :'Aが3のときジャンプせず、4のとき行番号300へジャンプ
  2. ON X+Y GOTO 100,#6,#7
 ON ~ GOSUB  ON 数式 GOSUB {
  • 分岐先行番号
  • #プログラムエリア番号
 } [ , {
  • 分岐先行番号
  • #プログラムエリア番号
 } ・・・ ]
 ON以下の数式の値に対応したサブルーチンを呼び出す。サブルーチンは,先頭から数式が1,2,3,・・・の場合のものが指定されている。サブルーチンが定義されていない時は何も呼び出さず、この命令の直後のコマンドを実行。
  1. ON A GOSUB 100,200,,300 :'Aが3のときGOSUBせず、4のとき行番号300のサブルーチンを呼び出す
  2. ON X+Y GOSUB 100,#6,#7
 PRINT
 LPRINT
 [ PRINT | LPRINT ] [ {
  • TAB(タブ指定)
  • 数式
  • 文字列
  • 変数
 } ] [ { ; | , } [ {
  • TAB(タブ指定)
  • 数式
  • 文字列
  • 変数
 } ] ・・・ ]
 数式、文字列、変数の値などの出力要素を表示する。PRINTをLPRINTとすると、出力が画面からプリンタに変更される。
  1. PRINT :'改行だけ行う
  2. PRINT A,B,C
  3. PRINT "X=";X; :'最後にセミコロン";"を付けることで改行しないで済む
  4. PRINT TAB(5);"CASIO" :'空白を5個出力してから、文字列"CASIO"を出力
 PRINT USING  PRINT USING "書式指定";出力要素  書式指定にしたがって出力要素を表示。なお、USING以下はLPRINT, PRINT#にも適用可能。
  1. PRINT USING "&    &";A$: 'A$は&    &の長さ分のみ表示。
  2. PRINT USING "###.##";X: '###.##に合わせて数値を表示し、整数部分の無効数字は空白を表示。#は符号と数値込みで、指定書式で表示しきれない場合、書式指定を無視して先頭に%を付けた数値を表示。
 REM  { REM | ' } 注釈文  注釈(コメント)を表し、何も実行しない。アポストロフィー"'" は、REMの省略形。
  1. REM program for matrix calculation
  2. ' This is comment
 SET  SET {
  • F{0-9の1文字}
  • E{0-9の1文字}
  • N
 }
 数値データの出力形式を指定。F指定は小数点以下の桁数、E指定は有効桁数を指定し、Nは指定を解除。
  1. SET F3: '
 STOP  STOP  プログラムの実行を一時停止させる。マニュアルコマンドのCONTで中断したところからプログラムが再開する。  
 READ#  READ# 変数1 [ , 変数2 ・・・]  データバンクエリアに書き込まれているメモデータを変数に読み込む。デフォルトのデータバンクエリアは「F0」だが、RESTORE#文で変更可能。
  1. READ# A$,X
 WRITE#  WRITE# [ データ1 ] [ , データ2 ・・・]  データバンクエリアのデータの削除または書き換えを行う。各データ出力後は改行が出力される。デフォルトのデータバンクエリアは「F0」だが、RESTORE#文で変更可能。
 ※マニュアルコマンドとして実行しようとすると、FC errorとなる。
 WRITE#文がプログラムで実行されると、データバンクエリアはクリアされるが、後に続くWRITE#文ではクリアされず、追加書き込みとなる。
  1. WRITE# :'削除
  2. WRITE# "CASIO Z-1GR":'書き換え
  3. WRITE# A$,B:'文字変数Aと数値変数Bの出力
 RESTORE#  RESTORE# [ ("ファイルエリア名") ] [ "検索文字列" ] [ , { 0 | 1 } [ , GOTO {
  • 分岐先行番号
  • #プログラムエリア番号
} ] ]
 READ#WRITE#のファイルエリアを切り替える。また、指定ファイルエリア内の"検索文字列"を検索して、READ#文で最初に読むデータが検索文字列から開始するように変更する。
 第3引数の0または1は、データ読み込み開始位置の指定で、0は何も指定しない時と同じで検索文字列を先頭に含むデータを読み開始位置とする。1のときは、検索文字列を検索しその文字を含む行先頭からREAD#で読み込むようにする。
 "検索文字列"が見つからなかったとき、GOTOオプションがあれば指定された飛び先にジャンプする。また、GOTOオプションがなければ、DA errorが発生する。
  1. RESTORE#("F1") :'READ#,WRITE#の対象ファイルエリアをF1に指定
  2. RESTORE#"START":'"START"の位置をデータ読み込み開始位置にする
  3. RESTORE#("F1")"START" :'
  4. RESTORE# "ORANGE", 0 :'RESTORE "ORANGE"と同じで、READ#で最初に読むデータは"ORANGE"。
  5. RESTORE# "ORANGE", 1 :'"ORANGE"を含む行の先頭が、最初に読むデータの位置。
 CLOSE  CLOSE  現在使用しているファイルを閉じて、I/Oバッファの使用を終了する。  
 CLS  CLS  ディスプレイ画面を消去(クリアー)。  
 DEFSEG  DEFSEG=セグメント値  PEEK関数POKE文(たぶん、MODE110文)を実行するときのベースアドレスを設定する。
  1. DEFSEG=0: 'BANK1のRAM(デフォルト値)。&H1000未満は,x86 CPUのセグメントレジスタと同じで、DEFSEG*16がベースアドレスになる。
  2. DEFSEG=&H1000: 'BANK3のI/O空間にある30ピンI/0領域の最初(&H38000)がベースアドレス。アドレス0~7で, &H38000~&H38007の読み・書きがPEEK, POKEで実行できる。&H1000以上は全て同じ。
 LOCATE  LOCATE X座標, Y座標  仮想スクリーン上の指定された位置にカーソルを移動。
  1. LOCATE 10,0
 DEFCHR$  DEFCHR$(コード)="文字形"  指定されたコードを文字形に従って表示パターンを設定する。指定可能なコードは&HFC(252)~&HFF(255)の4個。文字形は12文字の16進コードであり、先頭から2文字ずつを左から右へ割り当てて行く。
  1. DEFCHR$(252)="0F0F0F0F0F0F": '下半分が黒いパターン
  2. DEFCHR$(252)="0F0F0F000000": '左下半分が黒いパターン
 POKE  POKE アドレス,データ  数式で指定されたアドレスにデータを書き込む。実際のアドレスは、DEFSEG文で指定されたベースアドレスにPEEK文の引数のアドレスを加えたもの。
  1. POKE &H7000,0
 TRON  TRON  BASICプログラムをトレースモードに設定する。  
 TROFF  TROFF  BASICプログラムをトレースモードから解除する。  
 VARLIST  VARLIST  現時点で存在する全ての変数名、配列名を表示する。  
 INPUT#  INPUT#ファイル番号, 変数名1 [ , 変数2 ・・・ ]  OPEN文で宣言されたファイル番号のシーケンシャルファイルからデータを読み込む。
  1. INPUT#1, A: '
 LINE INPUT#  LINE INPUT#ファイル番号, 文字変数名1  OPEN文で宣言されたファイル番号のシーケンシャルファイルから1行分の文字列データを読み込む。
  1. LINE INPUT#1, A$: '
 ON ERROR GOTO  ON ERROR GOTO 分岐先行番号  エラー発生時の分岐先を指定する。  
 OPEN  OPEN "ファイルディスクリプタ" [ FOR { INPUT | OUTPUT | APPEND } AS [ # ]ファイル番号]  ファイルをオープンする。INPUT,OUTPUT,APPENDは、それぞれ入力、出力、追加書き込みモードの指定となる。
  1. OPEN "DATA1.DAT" FOR INPUT AS #1: '
 PRINT#  PRINT#ファイル番号, [ {
  • TAB(タブ指定)
  • 数式
  • 文字列
  • 変数
 } ] [ { ; | , } [ {
  • TAB(タブ指定)
  • 数式
  • 文字列
  • 変数
 } ] ・・・ ]
 OPEN文で宣言されたファイル番号のシーケンシャルファイルへ、数式、文字列、変数の値などの出力要素を出力する。
  1. PRINT#1, A$
 RESUME  RESUME [ { NEXT | 戻り行番号 } ]  エラー処理ルーチンから復帰する。NEXTまたは戻り先を省略すると、エラーの発生した文へ戻る。
  1. RESUME NEXT :'エラーが発生した文の次の文へ復帰
  2. RESUME 100
 FORMAT  FORMAT  フロッピーディスクをフォーマットする。
FX-890,Z-1のようにフロッピー容量を指定する,/6, /9, /Mオプションはない。
 
 FILES  FILES [ "ファイルディスクリプタ" ]  フロッピーディスク内のファイルディスクリプタで指定されたファイル名、属性、使用容量などを表示する。ファイルディスクリタには、*,?のワイルドカードが使用可能。
  1. FILES
  2. FILES "0:TEST.DAT"
  3. FILES "0:*.DAT"
 KILL  KILL "ファイルディスクリプタ"  フロッピーディスク内のファイルディスクリプタで指定されたファイルを消去する。ファイルディスクリタには、*,?のワイルドカードが使用可能。
  1. KILL "0:TEST.DAT"
  2. KILL "0:*.DAT"
 NAME  NAME "旧ファイルディスクリプタ" AS "新ファイルディスクリプタ"  フロッピーディスク内の旧ファイルディスクリプタで指定されたファイルを新ファイルディスクリプタのファイル名に変更する。
  1. NAME "0:TEST.BAS" AS "0:NEW.BAS"
 CHAIN  CHAIN "ファイルディスクリプタ"  現在のプログラムエリアにファイルディスクリプタで指定されたプログラムを読み込み実行する。
  1. CHAIN "CAS0:TEST"
  2. CHAIN "0:TEST.BAS"
 STAT  STAT Xデータ [ , Yデータ ] [ ; 度数 ]  統計データを入力する。
  1. STAT 1,3;10
 STAT CLEAR  STAT CLEAR  統計処理機能をクリアー(初期化)する。  
 MODE  MODE 数式  CASIOのマニュアルにはない隠し命令。引数,文法は,使用例を参照のこと。引数が範囲外だと,"BS error"となる。
  1. MODE 10 :'四則演算後のまるめ処理を行う。
  2. MODE 11 :'四則演算後のまるめ処理を行なわない。
  3. MODE110( Addr ) :' Addr のアドレスの機械語をコールする。
  4. MODE{200|201}( Tr , Sf , Sc ) :'フロッピーディスクのセクタのREAD, WRITE命令。  Tr はトッラクで0-79, Sf はサーフェイスで0-1, Sc はセクタで1-8。 第1引数の200,201のどちらが,READかは不明。
  5. MODE A :'Aの値によって,上記の処理を実行。ただし,A=110,200,201では,続く引数が必須なので,"SN error"となる。






ファイルディスクリプター
ファイルディスクリプタは,FX-870P,VX-4の場合,フロッピーディスク,カセットテープ,RS-232Cの3つがデバイスとして指定出来る。
フロッピーの場合, "0:ファイル名"となる。
カセットテープの場合,"CAS{0|1}({F|S}):ファイル名"で表され,数字はMTから読み込むときの位相指定で0:正相,1:逆相,()内のアルファベットは転送速度指定でF:1200bps, S:300bpsであり,"CAS0:(F)TEST1"のように記述する。
RS-232Cの場合は、"COM0:通信パラメータ"(例えば,"COM0:6,E,8,1,N,N,N,B,N")である。

通信パラメーター
 9個の設定をそれぞれ1文字で表し,各文字間にカンマを挿入した文字列で記述される。
 第1パラメーターは通信速度設定で,1,2,3,・・・,7のいずれかで,これをn とすると、通信速度は75*2^n bpsに設定される。具体的には以下の通り。
    1: 150 bps
    2: 300 bps
    3: 600 bps
    4: 1200 bps
    5: 2400 bps
    6: 4800 bps
    7: 9600 bps
 第2パラメーターはパリティ設定。E,O,Nの3つの文字のいずれかで、それぞれ偶数パリティ、奇数パリティ、ノンパリティを表す。
 第3パラメーターはデータ長設定。7,8の2つの文字のいずれかで、それぞれデータ長が7 bit, 8 bitを表す。
 第4パラメーターはストップビット設定。1,2の2つの文字のいずれかで、それぞれストップビットが1 bit, 2 bitを表す。
 第5パラメーターはCTS設定。C,Nの2つの文字のいずれかで、それぞれCTSがON, OFFを表す。CTSは"Clear To Send"の略で、DCE(Data Circuit terminating Equipment;ここでは相手方)がDTE(Data Terminal Equipment;ここでは当該ポケコン)に受信準備を知らせる信号。オーディオミニプラグによる3線式では、RxD,TxD, SG(シグナルグランド)しか信号線ないので、CTS, DSR, CDはOFFにする必要がある。
 第6パラメーターはDSR設定。D,Nの2つの文字のいずれかで、それぞれDSRがON, OFFを表す。DSRは"Data Set Ready"の略で、DCEがDTEに操作準備完了を知らせる信号。
 第7パラメーターはCD設定。C,Nの2つの文字のいずれかで、それぞれCDがON, OFFを表す。CDは"Carrier Detect"の略で、DCEがDTEに送信するデータがあることを知らせる信号。
 第8パラメーターはソフトフロー制御設定。B,Nの2つの文字のいずれかで、それぞれソフトフロー制御がON, OFFを表す。ソフトフロー制御とは、データ受信中にバッファーが溢れそうになると、XoffをDCEに送信してDCEの送信をXoffを送信するまで中断してもらう制御のことである。
 第9パラメーターはSI/SO設定。S,Nの2つの文字のいずれかで、それぞれSI/SOがON, OFFを表す。SI/SO制御とは、データ長が7 bitで半角カナを通信するため、SI(14)を受信後は8bit目を1と解釈してデータ受信を行い, SO(15)受信後は元に戻り8bit目を0 として受信する通常モードに戻るプロトコル。したがって、データ長が8 bitのとき、SI/SO制御は不要。
 例えば,"6,E,8,1,N,N,N,B,N"は通信速度4800 bps, 偶数パリティ, データ長8 bit, ストップビット 1 bit, CTS:OFF, DSR:OFF, CD:OFF, ソフトフロー制御:ON, SI/SO:OFFの設定を意味する。





5. 内蔵関数

内部関数は、返す値によって以下のように分類される。


ここで、以下の注意事項がある。

表5. 内蔵関数一覧表
コマンド名関数タイプ書式機能
 SIN  数値関数  SIN(数式)  正弦関数 SIN。|数式|<1440°(8π rad, 1600 grad)
 COS  数値関数  COS(数式)  余弦関数 COS。|数式|<1440°(8π rad, 1600 grad)
 TAN  数値関数  TAN(数式)  正接関数 TAN。|数式|<1440°(8π rad, 1600 grad)。ただし、引数が90°の奇数倍で、関数が∞で発散するとき、MA errorが発生する。
 ASN  数値関数  ASN(数式)  逆正弦 SIN-1、ARCSIN。|数式|<=1 で、-90°<= ASN <= 90°
 ACS  数値関数  ACS(数式)  逆余弦関数 COS-1、ARCCOS。|数式|<=1 で、0°<= ACS <= 180°
 ATN  数値関数  ATN(数式)  逆正接関数 TAN-1、ARCTAN。|数式|<1 で、-90°< ACS < 90°
 HYP SIN  数値関数  HYPSIN(数式) または HYP SIN(数式)  双曲線正弦関数 SINH。|数式|<=230.2585092
 HYP COS  数値関数  HYPCOS(数式) または HYP COS(数式)  双曲線余弦関数 COSH。|数式|<=230.2585092
 HYP TAN  数値関数  HYPTAN(数式) または HYP TAN(数式)  双曲線正接関数 TANH。|数式| < 1E100
 HYP ASN  数値関数  HYPASN(数式) または HYP ASN(数式)  逆双曲線正弦関数 SINH-1。|数式| < 5E99
 HYP ACS  数値関数  HYPACS(数式) または HYP ACS(数式)  逆双曲線余弦関数 COSH-1。|数式| < 5E99
 HYP ATN  数値関数  HYPATN(数式) または HYP ATN(数式)  逆双曲線正接関数 TANH-1。|数式| < 1
 SQR  数値関数  SQR(数式)  平方根 √。数式>=0
 CUR  数値関数  CUR(数式)  立方根 3√。|数式|<1E99
 ^  数値関数  x ^y  べき乗。;x ,y は数式で、x <0のとき、y は整数でならなければならない。
 EXP  数値関数  EXP(数式)  底が自然定数e (2.718281828…)である指数関数。-1E100 < 数式 <= 230.2585092
 LOG  数値関数  LOG(数式)  底が10の対数、常用対数。数式 > 0
 LN  数値関数  LOG(数式)  底がe の対数、自然対数。数式 > 0
 ABS  数値関数  ABS(数式)  |数式|。数式の絶対値を与える。
 INT  数値関数  INT(数式)  整数化関数。数式の値を超えない最大の整数を与える。
 FRAC  数値関数  FRAC(数式)  数式の小数部を与える。
 FIX  数値関数  FIX(数式)  数式の整数部を与える。
 SGN  数値関数  SGN(数式)  数式の符号を与える。
 数式>0のとき、1を返す。
 数式=0のとき、0を返す。
 数式<0のとき、-1を返す。
 ROUND(  数値関数  ROUND(数式,桁)  数式を指定桁で四捨五入した値(丸め)を与える。|桁|<100で、10^指定桁を四捨五入する。
 例えば、ROUND(1234.56, -2)=1234.6
 RAN#  数値関数  RAN#  小数点以下10桁以内の乱数を与える。0<=RAN#<=0.999,999,999,9
 π  数値関数  PI  円周率の概数を与える。πの値は内部で3.1415926536をとる。
 DEG(  数値関数  DEG(度 [ , 分 [ , 秒 ]] )  60進数を10進数に変換する。DEG(a,b,c)=a+b/60+c/3600
 |DEG(a,b,c)|<10^100
 REC(  数値関数  REC(r , θ )
  ここで、r ,θ は数式
 半径r , 偏角θ で与えられる2次元極座標表現を直交座標(x , y )に変換する。
 関数値としては、x座標x を返し、変数Xにx 、変数Yにy が格納される。
 ただし、0<=r <10^100, |θ |<1440°(8π rad, 1600 grad)
 POL(  数値関数  POL(x , y )
  ここで、x ,y は数式
 x座標x , y座標y で与えられる2次元直交座標表現を極座標(r , θ )に変換する。
 関数値としては、半径r を返し、変数Xに半径r 、変数Yに偏角θ が格納される。
 ただし、|x |<10^100, |y |<10^100, |x |+|y |>0 で、-180°<θ <=180°
 FACT  数値関数  FACT(数式)  数式の階乗、n !を与える。ただし、0<=数式<=69で、整数。
 NPR(  数値関数  NPR(n , r )  異なるn 個からr 個を選ぶ順列を返す。NPR(n , r )=n Pr =n !/r !.
 ただし、0<r <=n <10^100で、n , r ともに正の整数。
 NCR(  数値関数  NCR(n , r )  異なるn 個からr 個を選ぶ組み合わせを返す。NPR(n , r )=n Cr =n !/(r ! (n -r )!).
 ただし、0<r <=n <10^100で、n , r ともに正の整数。
 FRE  数値関数  FRE(引数)  引数にしたがって、メモリー領域の大きさを与える。1<=引数<=5で、
  1: プログラム/メモデータ領域全体の未使用メモリーの大きさ,
  2: ワーク領域全体の大きさ,
  3: 文字領域全体の大きさ,
  4: ワーク領域中の未使用メモリーの大きさ,
  5: 文字領域フリー中の未使用メモリーの大きさ
 DEGR  数値関数  DEGR(60進数)  ab.cdefgh・・・ で表される数値のab を度,cd を分,ef.gh・・・ を秒と見立てた60進数を10進数に変換する。
 DEG(ab , cd , ef.gh・・・ )に等しい。
 DMS  数値関数  DMS(数式)  10進数から60進数への変換を行うところの、DEGRの逆関数。10進数をab.cdefgh・・・ で表される数値でab を度,cd を分,ef.gh・・・ を秒とした値に変換する。
 CNT  数値関数  CNT  統計処理したデータの個数を与える。
 SUMX
 SUMY
 SUMX2
 SUMY2
 SUMXY
 数値関数  SUMX
 SUMY
 SUMX2
 SUMY2
 SUMXY
 Xデータの総和を与える。
 Yデータの総和を与える。
 Xデータの2乗和を与える。
 Yデータの2乗和を与える。
 XデータとYデータの積和を与える。
 MEANX
 MEANY
 数値関数  MEANX
 MEANY
 Xデータの平均値を与える。
 Yデータの平均値を与える。
 SDX
 SDY
 SDXN
 SDYN
 数値関数  SDX
 SDY
 SDXN
 SDYN
 Xデータの標本標準偏差を与える。SDX=SQR(MEANX2-MEANX^2)
 Yデータの標本標準偏差を与える。SDY=SQR(MEANY2-MEANY^2)
 Xデータの母標準偏差を与える。SDXN=SQR(CNT/(CNT-1))*SDX
 Yデータの母標準偏差を与える。SDYN=SQR(CNT/(CNT-1))*SDY
 LRA
 LRB
 数値関数  LRA
 LRB
 一次回帰定数項を求める。
 一次回帰係数を求める。
 COR  数値関数  COR  統計処理したデータをもとに、相関係数(γ)を求める。
 EOX
 EOY
 数値関数  EOX 引数 (数式)
 EOY 引数 (数式)
 統計処理したデータをもとに、Yに対するXの推定値を求める。
 統計処理したデータをもとに、Xに対するYの推定値を求める。
 &H  16進接頭語  &H16進文字列  "&H"に続く16進文字列を16進数(符号付き2byte整数)に変換。&HFF=255
 DMS$(  文字関数  DMS$(数式)  数式として与えられる10進数を60進表記の文字列に変換する。
 |数式|<10^5で、度分秒表示。
 LEN(  文字関数  LEN(文字式)  文字式に格納されている文字列の長さを返す。
 MID$(  文字関数  MID$(文字式, 位置 [, 文字数] )
  ここで、位置、文字数は数式
 文字式の文字列の指定された位置から開始する文字列を返す。文字数が指定された場合は、開始位置から指定文字数の文字列を返すが、文字数が省略された場合、指定位置から最後までの文字列を返す。
 CHR$(  文字関数  CHR$(数式)  数式のキャラクターコードの文字を返す。0<=数式<256
 LEFT$(  文字関数  LEFT$(文字式, 文字数)  文字式中の文字列の左から、指定された文字数分の文字列を返す。
 RIGHT$(  文字関数  RIGHT$(文字式, 文字数)  文字式中の文字列の右から、指定された文字数分の文字列を返す。
 STR$(  文字関数  STR$(数式)  数式の値を文字列に変換して返す。
 VAL(  文字関数  VAL(文字式)  数値を表現した文字式を数値に変換して返す。
 HEX$(  文字関数  HEX$(数式)  数式の値を16進4桁の文字列に変換して返す。-32769<数式<65536
 ASC(  文字関数  ASC(文字式)  文字式の先頭の1文字のキャラクターコードを返す。
 VALF(  文字関数  VALF(文字式)  文字式で表記された数式の評価値を返す。
 EOF  その他の関数  EOF(ファイル番号)  ファイルの読取り終了を示す。
 ERL  その他の関数  ERL  エラーの発生した行の行番号を返す。
 ERR  その他の関数  ERR  エラー発生後、その内容に対応したエラーコードを返す。
 PEEK  その他の関数  PEEK(アドレス)  指定したアドレスの内容を返す。
 DSKF  その他の関数  DSKF  フロッピーディスクの残りのクラスタ数を返す。1クラスタは1Kバイト。
 TAB  その他の関数  TAB(数式)  数式で指定された水平位置まで表示、または、プリンタの印字位置を移動させる。
 INPUT$  その他の関数  INPUT$(数式 [ , ファイル番号] )  キーボードまたはオープンされたファイル番号のファイルから、数式で指定された文字数分の文字列を読み込んで返す。
 INKEY$  その他の関数  INKEY$  本関数INKEY$実行時に押されているキーを一文字返す。未押下時には、INPUTのように実行停止して入力待ちとはならず、ヌル""を返す。 返り値については,FX-870P/VX-4 内部情報の INKEY(191DH)によるキーコード表参照。








6. 論理演算他

論理演算子等が用意されている。CALモードでも使用可能。

表6.論理演算子およびその他
演算子演算種書式機能使用例
NOT論理NOT A Aのビット反転を返す。引数の型は,符号付き16ビット整数(-32768~32767;&H8000~&H7FFF)である。
  1. A=NOT 123 :'
AND論理A  AND B AとBの論理積(AND)を返す。引数の型は,符号付き16ビット整数(-32768~32767;&H8000~&H7FFF)である。
  1. A=B AND C :'
OR論理A  OR B AとBの論理和(OR)を返す。引数の型は,符号付き16ビット整数(-32768~32767;&H8000~&H7FFF)である。
  1. A=B OR &H8000 :'
XOR論理A  XOR B AとBの排他的論理和(XOR)を返す。引数の型は,符号付き16ビット整数(-32768~32767;&H8000~&H7FFF)である。
  1. A=B XOR &H8000 :'
¥数値A  ¥ B A, Bをそれぞれ整数化してから割った結果の小数部を切り捨てた値を返す。
  1. A=16.1 ¥ 3.5 :'5を返す
MOD数値A  MOD B A,Bをそれぞれ整数化してから割ったときの剰余。
  1. A=B MOD 3 :'








7. 演算の優先順位

BASICおよびCALモードにおける演算の優先順位は以下の通りである。

表7.論理演算子
優先順位演算種記号
1カッコ(  )
2関数SIN, COSなど
3ベキ乗
4符号+   -
5乗除算*   /
6加減算+   -
7比較演算子 =   <>   ><   >   <   =<   <=   =>   >=
8論理演算子NOT   AND   OR   XOR
注:
関数以外は,優先順位が同じ場合,式の左から右に計算される。通常の数学表記と異なり,ベキ乗(^)にも適用されている。例えば,3^3^2=(3^3)^2=729。
複合関数の場合,式の右から左に計算される。例えば,SIN COS 60=SIN(COS(60))。
比較演算子は,BASICのマニュアルコマンドでは使えない。
論理演算子間の優先順位は,①NOT,②AND,③ORおよびXORである。








8. エラー・メッセージ

表8. FX-890P エラーメッセージ
エラーコードエラーメッセージエラー内容対処方法
1
 OM error
  1. メモリーオーバーまたは、システムオーバーフロー。
  2. CLEAR文でメモリーの確保できない値を設定した。
  1. プログラムを短くする。配列の次元を検討する。配列の次元を検討する。
  2. CLEAR文での値を検討する。
  3. RAM増設していない場合は増設する。
2
 SN error  コマンドまたは文の書式に誤りがある。
  1. 命令のつづりを確認する。
  2. プログラムの入力を確認する。
3
 ST error  文字長が255文字を超えた。  文字の長さを255文字以内にする。
4
 TC error  式が複雑すぎる。  式を分けて記述する。
5
 BV error
  1. 入出力バッファがオーバーフローした。
  2. 1行が256バイト以上。または、256文字以上入力した。
  1. RS-232Cのボーレートを遅くする。
  2. 1行255文字以内で入力する。
6
 NR error
  1. I/Oが入出力可能な状態になっていない。
  2. オープンされていないファイルをアクセスしようとした。
  1. I/O接続および電源の確認をする。
  2. フロッピーディスクをMD-120にセットする。
  3. ファイルを正しくオープンする。
7
 RW error  I/Oデバイスの動作でエラーになった。  I/Oデバイスを確認する。
8
 BF error  ファイル名指定に誤りがある。  ファイル名の確認をする。
9
 BN error  ファイル番号指定に誤りがある。  ファイル番号の指定を確認する。
10
 NF error  指定されたファイル名が見つからない。
  1. ファイル名を再確認する。
  2. ファイルの属性を確認する。
11
 LB error  MD-110Sの電源がない。
  1. 電池を新しいものと交換する。
  2. ACアダプターを利用する。
12
 FL error
  1. フロッピーディスクに書き込むスペースがないのに、書き込もうとした。
  2. 1つのプログラムファイルが約64Kバイトを超えた。
  3. 配列の全体の大きさが64Kバイトを超えた。
  1. 不必要なファイルをKILL文で消し、空きエリアを大きくする。
  2. FORMATした新しいフロッピーディスクを利用する。
  3. 1つのファイルの大きさを小さくする。
  4. 配列の大きさを小さくする。
13
 OV error  計算結果や入力された数値が、許される範囲を超えた。  計算の対象になる数値を検討する。
14
 MA error
  1. 0による除算など、数学的エラー。
  2. 関数の引数が演算範囲を超えている。
 計算式、数値を検討する。
15
 DD error  同一配列を二重定義しようとした。
  1. 同じ配列を使わない。
  2. 一度ERASE命令で配列をクリアーしてから再定義する。
16
 BS error  添字またはパラメーターが規定の範囲を超えた。
  1. 添字パラメーターを検討する。
  2. 配列を大きくする。
17
 FC error
  1. 関数やステートメントの呼び方に誤りがある。
  2. ダイレクトモードで使用できない文を実行しようとした。またはその逆。
  3. CALモードで実行できない文を実行しようとした。
  4. 定義されていない配列をしようとした。
  1. 引数の値とステートメントを検討する。
  2. プログラムモード、ダイレクトモードでしか使えないものがあるので文法を確認する。
  3. 文の確認をする。
  4. DIM文で配列を定義してから使う。
18
 UL error
  1. GOTO,GOSUB等で指定された行番号がない。
  2. BASICのEDITモードで行番号を入力せずに文を入力した。
  1. 行番号を確認する。
  2. 行番号を必ず入れる。
19
 TM error
  1. 式の右辺、左辺、関数の引数などで、変数の型が一致していない。
  2. READ文で数値変数に文字データを読み込もうとした。
  3. INPUT#文で数値変数に文字データを読み込もうとした。
 式の右辺、左辺の型を確認する。
20
 RE error  エラー処理ルーチンに制御を移さなかったのにRESUME文がある。  RESUME文を使う位置を検討する。
21
 PR error
  1. PASS設定時に、実行できないコマンド、操作をした。
  2. ライトプロテクトをしてあるフロッピーディスクに書き込みを行おうとした。
  1. PASSを解除する。
  2. ライトプロテクトを解除して書き込み状態にする。
22
 DA error  読むべきデータがないのにREAD文が実行された。
  1. DATA文の確認をする。
  2. READ文の確認をする。
23
 FO error
  1. NEXT文に対するFOR文がない。
  2. FOR~NEXTループ中にCLEAR文、ERASE文が入っている。
  1. FOR文とNEXT文の組み合わせ確認をする。
  2. ループ中のCLEAR文、ERASE文を削除する。
24
 NX error  FOR文に対するNEXT文がない。  NEXT文とFOR文の組み合わせを確認する
25
 GS error
  1. GOSUB文とRETURN文が正しく対応していない。
  2. 飛び先にCLEAR文が入っている。
  1. GOSUB文とRETURN文の対応を確認する。
  2. 飛び先のCLEAR文を削除する。
26
 FM error  フロッピーディスクのフォーマットが行われていない。
 または、フォーマットが壊れている。
 新しいフロッピーディスクは必ずフォーマットを行う。
28
 OP error  OPENされていないファイルを参照しようとした。
 または、二重にOPENしようとした。
 ファイルは必ずOPEN文を実行してから行う。
 OPENしてあるファイルを再びOPENするには、一度CLOSEする。
29
 AM error  インプットオープンに対してアウトプット系のコマンドを使おうとした。
 または、その逆。
 インプット系のコマンドとアウトプット系のコマンドは、正しい使い方をする。
30
 FR error  RS-232Cポートがフレーミングエラーを検出した。  RS-232Cの接続、データ転送方法を確認。
31
 PO error
  1. RS-232Cポートがパリティエラーまたはオーバーランエラーを検出した。
  2. カッセトテープの読み取りに不良があった。
  1. RS-232Cの接続、データ転送方法を確認する。
  2. 転送速度を遅くする。
  3. カセットテープのボリュームを調整する。
  4. カセットテープの位相設定を反転させる。
  5. カッセトテープのヘッドを掃除する。
32
 DF error
  1. FDDに対し未定義コマンドを送った。
  2. ドライブ装置に異常がおこった。
  1. FDDに対するコマンドを確認する。
  2. フロッピーディスクの内容は保証されません。
    何度か試してもこのエラーが表示される場合は、CASIOに連絡する。






9. キャラクター・コード表

表9. キャラクター・コード表
上位4ビット
01234567 89ABCDEF


4


0 (NULL) SPC0@Pp Å0SPC×
1  (DEL)!1AQaq 1
2 (L.TOP)(INS)2BRbr 2
3   #3CScs ´3
4   $4DTdt 4
5 (L.CAN) %5EUeu Ω5
6 (L.END) &6FVfv 6
7 (BEL) 7GWgw 7π£
8 (BS) (8HXhx α8¢
9 (TAB) )9IYiy β9±
A   *:JZjz γ+
B (HOME) +;K[k{ ε-0
C (CLS)CURSOR
(→)
,<L¥l¦ θn(USR1)
D (CR)CURSOR
(←)
-=M]m} μx(USR2)
E  CURSOR
(↑)
.>N^n σ-1(USR3)
F  CURSOR
(↓)
/?O_o  φ÷ソ(USR4)
  1. &H60の実際の形は,表の文字を水平線で鏡映した形。
  2. &H86の実際の形は,8x6ドットが市松文様"AA55AA55AA55"。
  3. &HE0,&HE1の文字の形は,少し異なる。
  4. バックグラウンドがピンクの文字は特殊文字。
  5. 特殊文字以外は,FP-40,FP-100で印刷可能。
  6. &HFC~&HFFの4文字はユーザー定義文字で,DEFCHR$で文字パターンを定義する。







参考文献








LF