mz-80B SB-5520 S-BASIC
仕様 1.形式 中間言語式インタープリタ 2.数値データ 浮動小数点形式、有効数字8桁×10±19乗の実数 実数範囲:0.27105055E−19 〜 0.92233720E+19 16進数:4桁または2桁で先頭に$をつける 3.数値変数 (1)数値変数 変数名は始めの2文字が有効 第1文字は英字のみ、特殊文字、BASICワードの使用不可 (2)1次配列数値変数 配列は最大255まで、DIMで配列定義をする 配列は括弧内に添字を置く 変数名は(1)と同様 <例> DIM A(10) A(0)からA(10)までの配列要素が定義される (3)2次配列数値変数 配列の添字を2つもつ変数、各配列は最大255まで、DIMで配列定義をする 配列は括弧内に添字を置く 変数名は(1)と同様 <例> DIM A(10,10) A(0、0)からA(10、10)まで 11×11=121の配列要素をもつ2次元配列が定義される 4.ストリングデータ 最大255文字 アスキーコード列、終端に00DHがつく 5.ストリング変数 種類:ストリング変数、1次元配列ストリング変数、2次元ストリング変数 形式:数値変と同様の条件の名前に$をつける 6.その他 (1)文番号:1〜65535 (2)CMTのファイルネーム 最大16文字 (3)CURSOR x,yコマンドにおけるxとy x=0〜79、y=0〜24 (4)SET x,yコマンドにおけるxとy x=0〜16383、y=0〜16383 (5)TI$に代入できるストリング 6桁10進数 最初の2文字は時=00〜23、次の2文字は分=00〜59、次の2文字は秒=00〜59 (6)FOR〜NEXTループのネスティング 最大15まで (7)GOSUBのネスティング 最大15まで (8)DEF FNによる関数定義のネスティング 最大6まで (9)INP、OUT命令による入出力 0〜255 (10)円周率の値:π=3.1415927 計算の優先順位 1.() 2.^ べき乗 3.*、/ 4.+、− エラーメッセージ 1|Syntax :文法上の誤り 2|Overflow :数値データが許容範囲外、演算結果オーバー 3|Illegal data :規定外の数値、変数を使用 4|Data type :データと変数の型の不一致 5|String length :ストリング255文字オーバー 6|Memory capacity :メモリ不足 7|Array definition :同配列変数を前より大きく定義、未定義配列変数を使用 8|Line length :1行の長さ制限オーバー 10|GOSUB nesting :GOSUBネスティング15オーバー 11|FOR〜NEXT nesting :FOR〜NEXTネスティング15オーバー 12|DEF FN nesting :DEF FN定義関数ネスティング6オーバー 13|NEXT :対応するFORが無くNEXT実行 14|RETURN :対応するGOSUB無くRETURN実行 15|Undefined function :未定義の関数の実行 16|Undefined line number:存在しない行番号の参照 17|Can’t continue :CONTの実行不可 18|Memory protection :BASIC管理内のエリアの書き込み 19|Instruction mode :ダイレクトコマンドとステートメントの混合 24|READ :対応するDATAが無くREADを実行 43|Already open :同じファイルをオープンした 63|Out of file :ファイルデータロードでOut of fileが発生 65|Printer is not ready :プリンタ未接続かオフ状態 66|Printer hadware :プリンタ側のトラブル 67|Out of paper :プリンタ用紙切れ 70|Check sum :チェックサム エラー スクリーンエディット SB−5520ではSHIFTキーを押しながらカーソルを押すと キーリピートが掛かります デファイナブルファンクションキー ファンクションキーに文字が定義できます ただし’:’は使用出来ない為’!’で代用します [CR](00DH)もエンドマークで使用されますので [SFT LOCK]+[GRPH]で出る[CR]マーク(07FH)を使用します BASICのバグの修正 初期のSB−5520でCURSOR文が動作しない事があります 修正箇所は下記になります(MZ−80B活用研究 実践プログラム集より) 298B:C3 A2 29
コマンド AUTO [m][,[n]] m:開始行番号(省略すると10) n:増分 (省略すると10) コマンド入力(BASICプログラム作成時)に自動的に行番号を発生します [CR]または[ENT]キーでその行の入力を終了し 次の行番号ほ表示してコマンド入力待ちになります AUTOコマンドを止める場合は[BREAK]キー KLIST F1〜F10キーの内容を画面に表示します LIST [m][−[n]] m:開始行番号(省略すると始めから表示) n:終了行番号(省略すると終わりまで表示) 入力したプログラムを表示します [スペース]キーで一旦停止 [BREAK]キーで中断 LISTの後ろに/Pを追加するとプリンタへ出力 RUN [m] m:開始行番号(省略すると始めから実行) プログラムの実行を開始させます [SHIFT]+[BREAK]キーで中断 CONT 中断したプログラムの再実行 NEW BASICプログラムの消去を実行 MON BASICの使用を止め、モニタSB−1510を実行 ・BASICプログラムをクリアして復帰 $12A0 ・BASICプログラムをクリアせず復帰(通常こちらを使用) $1300 BOOT IPLプログラムを起動します テープ。ディスク、外部ROMから新たにシステムを起動する事になります LOAD [”ファイル・ネーム”] プログラムをロードします(ファイル・ネームは省略可) マシン語ファイルの場合、 LIMIT文で確保したエリア内になる必要があります SAVE [”ファイル・ネーム”] BASICプログラムをセーブします(ファイル・ネームは省略可) VERIFY [”ファイル・ネーム”] セーブしたBASICプログラムとメモリのプログラムの比較を行う事で 正確にセーブ出来たのかチェックを行います(ファイル・ネームは省略可) ステートメント [LET] v=e v:数値変数または数値変数配列要素、またはストリング変数またはストリング変数配列要素 e:数値定数、数値変数、数値配列要素、数値関数またはそれらの算術式 ストリング定数、ストリング配列要素またはそれらの結合式 v(変数または配列要素)にeを代入します PRINT [s1{,または;}s2...] sn:式(省略すると改行) 式で指定された数値やストリングをディスプレイに出力します 式はカンマ”,”かセミコロン”;”で区切ります カンマは式を表示、区切られた後ろにスペースを空けて次の式の表示を行います セミコロンは式を表示、区切られた後ろに続いて次の式の表示を行います 最後の式の区切りのコロンがあると改行は行われません、何もないと改行が行われます CHR$(0) 何も実行しない CHR$(1) カーソル下 CHR$(2) カーソル上 CHR$(3) カーソル右 CHR$(4) カーソル左 CHR$(5) HOME CHR$(6) CLS CHR$(7) DEL CHR$(8) INS CHR$(9) GRPH切り替え CHR$(10) SFT LOCK切り替え CHR$(11) GRPH 切り替え CHR$(12) カ ナ 切り替え CHR$(13) 何も実行しない CHR$(14) SFT LOCK、GRPH、カナ全て解除 CHR$(15) カ ナ解除 CHR$(16)〜(29) スペースを1個表示 PRINT/T PRINT文と同様にCMTに出力 PRINT/P PRINT文と同様にプリンタに出力 INPUT [d$;]d1[,d2...] d$:プロント文またはダブルクォーテーションで囲まれたストリング dn:変数名またはストリング変数名 CRTに”?”を表示し 指定した変数へデータをキーボードから入力します 入力並びが複数ある場合コンマ”,”で区切ります 入力並びが足りない場合は再び”?”を表示され 続きのデータを入力されます 入力並びが多い場合は余った入力データは無視されます 入力データと入力並びの型式は同一でなければいけません またストリングデータの前後のスペースは無視されます 次の入力並びの入力する”,”やストリングデータの前後にスペースを入れる場合は ””で区切る必要があります INPUT/T d1[,d2...] dn:変数名またはストリング変数名 指定した変数へデータをCMTから入力します GET d d:変数名またはストリング変数名 キーボードから一文字入力を行います 同時にキー入力があった場合、優先度の高いキーが有効 変数名の場合 1〜9キーのみで各数値1〜9 何も押されなければ 0 READ d1[,d2...] dn:変数名 DATA文に格納してあるデータを読み、変数に代入します DATA c1[,c2...] cn:数値またはストリング READ文で変数に代入する為のデータを格納します RESTORE [m] m:行番号 READ文で読む最初のDATA命令の最初のデータ指定を行います 行番号を0か指定しない場合は 1番先頭のDATA文が指定されます 行番号を指定した場合は 指定した行番号から見つけたDATA文が指定されます FOR m=n1 TO n2 [STEP n3] m:添字変数名 n1:初期値 n2:終値 n3:増分(省略すると1に指定) FOR文からNEXT文までを条件にしたがって繰り返し実行 NEXT [m1][,m2...] mn:添字変数名 FORループの終わりを示します FOR〜NEXT文を重ねる(入れ子)は15重まで GOTO m m:ジャンプ先の行番号 指定した行番号へジャンプします GOSUB m m:サブルーチンの先頭行番号 サブルーチンのコールします GOSUB〜RETURNのネスティングは最大15重 RETURN サブルーチンから戻ります IF r THEN s IF r GOTO m IF r GOSUB m r:条件式(真=−1、偽=0) s:文(命令文または行番号) m:行番号 条件式が合えばTHEN(またはGOTO、GOSUB)を実行 合わなければ次の行番号へジャンプ THENのみマルチステートメント可 ON s GOTO m1[,m2...] s:数式(1≦s) mn:ジャンプ先の行番号 指定された行番号へジャンプします sが指定範囲外なら次の文を実行 またsの値が整数でない場合、少数点は切り捨てられる 1.999...の場合1とみなされる ON s GOSUB m1[,m2...] s:数式(1≦s) mn:サブルーチンの先頭行番号 指定されたサブルーチンへコールします sが指定範囲外なら次の次の文を実行 またsの値が整数でない場合、少数点は切り捨てられる 1.999...の場合1とみなされる DIM d1(n1[,n2])[,d2(n1[,n2])...] dn:配列名 n1−n2:添字の最大値 配列変数の要素の大きさを指定して配列を宣言、メモリ領域の確保を行います 配列宣言は2次元までです DIM文を実行直後では全ての要素は0または””(ヌル)になります CLR文が実行されるとDIM宣言は全て無効 DEF FNd(x)=z d:利用者関数名(A〜Zの内1文字) x:引数 z:関数の定義式 ユーザによって作成された関数を定義します 関数定義のネスティングは6重まで 1つのDEF文では1つの利用者関数しか定義不可 CLR文が実行されると利用者関数は全て無効 DEF KEY(k)=s k=1〜10(F1〜F10の対応番号) s=設定するストリング デファイナブルファンクションキーの定義 ””で囲む必要はありません マルチステートメント可 ただし’:’はセパレータで使用のため’!’で代用する [CR]マークは[SFT LOCK]+[GRPH]で” ̄↓”(CHR$($7F))を使用する <例> DEF KEY(1)=?CHR$(6)!KLIST REM r r=注釈文 コメントを書きます 他機種のBASICと違い:がREM文の終了となり:以降はプログラムとみなされます その為REMでマルチステートメントのプログラムを止めておく事が出来ません <例> 10 REM TEST:MUSIC ”CDEF” RUNすると音が鳴ります STOP BASICプログラムの中断を行います CONTで再開可ただしプログラムの変更等をすると再開不可 ファイルのクローズはされません END BASICプログラムの終了 終了してからCONTを実行すると終了した先の行番号の実行を行います ファイルのクローズはされます CLR 変数、配列の初期化(未定義状態にする) 数値をとる変数は全て0、ストリング変数は全て空にします 配列は未定義状態、DIM文で定義した配列は全て無効 FOR〜NEXT、GOSUB〜RETURN中には使用不可 CURSOR x,y x:カーソルX座標 80キャラクタ表示モードの場合 0〜79 40キャラクタ表示モードの場合 0〜39 y:カーソルY座標 0〜24 表示位置を決めます xまたはy値が整数でない場合は少数点以下は切り捨て またCONSOL S文によるスクロ−ル制限の影響は受けません CSRH 現在あるカーソルの水平(X座標)位置の取得 80キャラクタ表示モードの場合 0〜79 40キャラクタ表示モードの場合 0〜39 CSRV 現在あるカーソルの垂直(Y座標)位置の取得 0〜24 CONSOLE c c:[Sys,ye] [Cn] [N]または[R] 画面モードの設定 Sys,ye:スクローリングエリアの設定 ys=スクローリングエリアの先頭行 ye=スクローリングエリアの終 行 0≦ys<ye≦24 かつ ys+2≦ye Cn :キャラクタ表示モードの設定 80=キャラクタ表示モード80(2000文字) 40=キャラクタ表示モード40(1000文字) NまたはR :画面全体の表示設定 N =ノーマル表示 R =リバース表示(画面全体が反転) パラメータは”,”で追加設定できます 設定する順番はありません <例> CONSOLE S0,24,N,C80 CHANGE キーボード入力のアルファベットの大文字/小文字の切り替え BASIC、モニタでは小文字から大文字の自動変換は行なわれないので 小文字でのコマンド等は受け付けられずエラーになります REW カセットテープの巻き戻し テープが無い場合”SET TAPE”の表示をして テープがセットされるのを待ちます テープが巻き戻されたら次の命令を実行されます 既にテープが巻き戻されていても次の命令を実行されます FAST カセットテープの早送り テープが無い場合”SET TAPE”の表示をして テープがセットされるのを待ちます テープが早送りされたら次の命令を実行されます 既にテープが早送りされていても次の命令を実行されます SIZE BASICプログラムの為のフリーエリアサイズの取得 <例> 10 A=SIZE:PRINT A TI$ タイマの設定または読み出しを行います 時間は24時間制の000000から235959 設定する場合は6文字のストリング TI$=”hhmmss” MUSIC ストリング 音符の指定 [オクターブ][#(嬰音)][音名][音長] オクターブ(3オクターブまで) + …高音域の指定 指定なし…中音域の指定 − …低音域の指定 オクターブは音名毎に指定する(指定なしがオクターブ2になる為) 嬰音 #…半音の指定 音名 C…ド D…レ E…ミ F…ファ G…ソ A…ラ B…シ R…無音 音長(初期値=5) 0… 32分音符、 32分休付 1… 16分音符、 16分休付 2…付点16分音符、付点16分休付 3… 8分音符、 8分休付 4…付点 8分音符、付点 8分休付 5… 4分音符、 4分休付 6…付点 4分音符、付点 4分休付 7… 2分音符、 2分休付 8…付点 2分音符、付点 2分休付 9… 全音符、 全休付 音長は継続されます MUSIC”C9DE”ならC9D9E9として演奏 またストリング部分は結合する事も可 <例> MUSIC A$,B$,A$ MUSIC A$;B$;A$ MUSIC A$+B$+A$ MUSIC ”CD”+A$+B$ TEMPO s s:数式(1〜7) MUSIC文で演奏する速さを指定します 1 最も遅い Lento,Adagio 4 中位の速度 Moderato(TEMPO1の4倍の速さ) 7 最も速い Molto Allegro,Presto(TEMPO1の7倍の速さ) 設定していないとTEMPO4の設定になります 本体基板上にある68kΩのボリュームもTEMPOの設定に関係があります GRAPH c c:[Ia] [Ob] [C]または[F] グラフィック表示の入出力モードの指定 Ia:GRAPGH C、GRAPH F、SET、RESET、 LINE、BLINE、PATTERNの入力モードのGRAMの指定 1=GRAM1に入力 2=GRAM2に入力 Ob:CRTに出力するGRAMの指定 0 =なし 1 =GRAM1のみ出力 2 =GRAM2のみ出力 12=GRAM1、GRAM2を両出力 C :入力モードで指定されたGRAMのドットを全て’0’で埋める(Clear) F :入力モードで指定されたGRAMのドットを全て’1’で埋める(Fill) パラメータは”,”で追加設定できます 設定する順番はありません <例> GRAPH O12,I1,C SET x,y x:グラフィックX座標 0〜319(16383まではエラーにはならない) y:グラフィックY座標 0〜199(16383まではエラーにはならない) 入力モードで指定されたGRAMのグラフィックのドットの描画 RESET x,y x:グラフィックX座標 0〜319(16383まではエラーにはならない) y:グラフィックY座標 0〜199(16383まではエラーにはならない) 入力モードで指定されたGRAMのグラフィックのドットの消去 LINE x1,y1,x2,y2[,x3,y3...] x1:開始点のX座標 0〜319 y1:開始点のY座標 0〜199 x2:次の X座標 0〜319 y2:次の Y座標 0〜199 | 入力モードで指定されたGRAMのグラフィックのラインを引く命令 開始点の座標X,Yから次のX,Y座用までラインを引きます 続きのパラメータがあれば続きにラインを引きます <例>三角形をラインで引く GRAPH I1,C,O1 LINE 159,0,319,199,0,199,159,0 BLINE x1,y1,x2,y2[,x3,y3...] x1:開始点のX座標 0〜319 y1:開始点のY座標 0〜199 x2:次の X座標 0〜319 y2:次の Y座標 0〜199 | 入力モードで指定されたGRAMのグラフィックのラインを黒で引く命令 開始点の座標X,Yから次のX,Y座用までラインを引きます 続きのパラメータがあれば引き続きラインを引きます <例>三角形をラインで引く GRAPH I1,F,O1 BLINE 159,0,319,199,0,199,159,0 POSITION x,y x:ポジション・ポインタX座標 0〜319 y:ポジション・ポインタY座標 0〜199 PATTERN文によるドットパターンの表示位置の設定 ポジション・ポインタはグラフィックエリアのドット位置を示すポインタ PATTERN n,s$ n =ドットパターンの積み重ね段数 ±1〜±24 s$=ストリング(パターンデータ) 入力モードで指定されたGRAMのグラフィックにグラフィックパターンの描画をします ポジション・ポインタを起点して横8ドット、縦1ドット単位で 積み重ねる段数まで描画されストリングデータがあれば右隣のラインから ストリングデータが無くなるまで描画されます ドットパターンの積み重ね段数は−1〜−24でストリングデータを上から表示 <例> 10 GRAPH I1,O1,C 20 P OSITION 0,3 30 A$=CHR$(0)+CHR$(1)+CHR$(3)+CHR$(7) 40 PATTERN −4,A$ 50 PATTERN 4,A$ 60 PATTERN −2,A$ この場合ポジション・ポインタ0,3を起点として 40行目は下へ描画され50行目は上へ描画される 60行目は2ライン下へ描画され右8ドット、上2ドットの所から描画される POINT x,y x,yで指定したドットの情報の取得 0=GRAM1、2ともリセット 1=GRAM1のみ セット 2=GRAM2のみ セット 3=GRAM1、2とも セット POSH ポジション・ポインタX座標の取得(0〜319) POSV ポジション・ポインタY座標の取得(0〜119) WOPEN [”ファイル・ネーム16文字以内”] CMTにデータを書き込む準備を行います(ファイル・ネームは省略可) データを書き込むにはPRINT/T、クローズするにはCLOSEを使用します <例> 10 WOPEN ”TEST” 20 FOR I=0 TO 9 30 PRINT/T I 40 NEXT I 50 CLOSE/T ROPEN [”ファイル・ネーム16文字以内”] CMTにデータを読み込む準備を行います(ファイル・ネームは省略可) データを書き込むにはINPUT/T、クローズするにはCLOSEを使用します <例> 10 ROPEN ”TEST” 20 FOR I=0 TO 9 30 INPUT/T A 35 PRINT A 40 NEXT I 50 CLOSE/T CLOSE[/T] WOPENまたはROPENでCMTデータのオープンのクローズを行います WOPEN、ROPENの切換えをする場合は必ずクローズする必要があります LIMIT d d:確保する変数またはアドレス BASICプログラムエリアをdのアドレスまでに制限します マシン語領域の確保に使用します LIMIT MAX BASICプログラムエリアをメモリ最大限にします PEEK(a) a:アドレス 0〜65535(16進数可) 指定したメモリの内容を与えます <例> A=PEEK($D000) POKE a,d a:アドレス 0〜65535(16進数可) d:データ 0〜255(16進数可) 指定したメモリにデータを書き込みます USR(a[,d$]) a:アドレス −32767〜32767(16進数可) d$:ストリング変数 指定したアドレスのマシン語を実行 ストリング変数の指定がある場合 指定したストリング変数がある場所のアドレスがDEレジスタに 長さがBCレジスタに入る PRINT/P [s1{,または;}s2...] sn:式(省略すると改行) 式で指定された数値やストリングをプリンタに出力します セパレータ”,”と”;”、TAB関数は通常のPRINT文と同じ CHR$(5) フォーム・フィード(改項) CHR$(6) 動作モードの初期化 CHR$(16) 行間にスペースを空けるプリントモード CHR$(17) 行間圧縮のプリントモード CHR$(18) 倍文字 のプリントモード CHR$(19) 倍文字 のプリントモード解除 CHR$(20) 縮小文字のプリントモード CHR$(21) 縮小文字のプリントモード解除 IMAGE/P s$ s$:ストリングデータ ドットパターン(ストリングデータ)をプリンタ出力 ――> 印字方向 ・−−−−−−−−−−−−−−・ | |s1|s2|s3|...| |−−−−+−+−+−+−−−| |Bit0| | | | | |Bit1| | | | | |Bit2| | | | | |Bit3| | | | | |Bit4| | | | | |Bit5| | | | | |Bit6| | | | | |Bit7| | | | | |Bit8| | | | | ・−−−−−−−−−−−−−−・ s1、s2...=ストリングデータ COPY/P n n:ハードコピーする画面(1〜4) 1=テキスト 2=GRAM1 3=GRAM2 4=GRAM1+GRAM2 ハードコピーの実行 PAGE/P n n:1ページn行とする プリントアウトで何行を1ページとするか設定します 初期値=66 INP@ p,d p:ポート番号 0〜255または$00〜$FF d:入力する変数 I/Oポートpからデータを読み、変数dに代入します OUT@ p,d p:ポート番号 0〜255または$00〜$FF d:出力する変数または数値0〜255または$00〜$FF ABS(x) x:数式 絶対値を与えます INT(x) x:数式 数値を超えない最大の整数値を与えます SGN(x) x:数式 xの値が正なら1、0なら0、負なら−1を与えます SQR(x) x:数値(0以上) 数値の平方根を求めます SIN(x) x:ラジアン 三角関数、正弦(サイン)の値を与えます COS(x) x:ラジアン 三角関数、余弦(コサイン)の値を与えます TAN(x) x:ラジアン 三角関数、正接(タンジェント)の値を与えます ATN(x) x:ラジアン 逆正接の値を求めます 求められる値は−π/2からπ/2の間です EXP(x) x:数式 eに対する指数関数の値を与えます LOG(x) x:数式(0以上) eを底とする対数を求めます(自然対数) LN(x) x:数式(0以上) 自然対数の値を与えます RND(x) x:数値 xについて0.00000001〜0.99999999までの擬似乱数を与えます xが正の場合、前回与えた乱数へひきつづく次の乱数を与えます xが0、負の場合、擬似乱数の発生を初期化、最初の擬似乱数を与えます <例>1から6までの乱数発生を表示 PRINT INT(RND(1)*6+1) LEFT$(s,x) s:ストリング x:ストリングの長さ 0〜ストリングの長さ ストリングの左から任意の長さのストリングを与えます MID$(s,x,y) s:ストリング式 x:ストリングの先頭位置 1〜x y:ストリングの長さ ストリングの任意の位置から任意の長さのストリングを与えます RIGHT$(s,x) s:ストリング式 x:ストリングの長さ 0〜ストリング式の長さ ストリングの右から任意の長さのストリングを与えます SPACE$(n) n:スペースの個数 n個の連続したスペースストリングを出力 STRING$(s,n) s:結合するストリングデータ n:個数 ストリングデータの先頭文字を連続n個つなぎます <例> PRINT STRING$(”@ABC”,6) @@@@@@ CHR$(x) x:数式また0〜255または$00〜$FF 指定したアスキーコードに対応した文字を与えます 0〜29は特殊コードとみなされます CHR$(0) 何も実行しない CHR$(1) カーソル下 CHR$(2) カーソル上 CHR$(3) カーソル右 CHR$(4) カーソル左 CHR$(5) HOME CHR$(6) CLS CHR$(7) DEL CHR$(8) INS CHR$(9) GRPH切り替え CHR$(10) SFT LOCK切り替え CHR$(11) GRPH 切り替え CHR$(12) カ ナ 切り替え CHR$(13) 何も実行しない CHR$(14) SFT LOCK、GRPH、カナ全て解除 CHR$(15) カ ナ解除 CHR$(16)〜(29) スペースを1個表示 ASC(s) s:ストリング ストリングの最初の文字のアスキーコードを与えます STR$(x) x:数式 数値をストリングに変換する VAL(s) s:ストリング ストリングの数字を数値に変換します 数字以外の場合0が入る LEN(s) s:ストリング ストリングの長さを与えます CHARACTER$(x,y) x:X座標 80キャラクタ表示モードの場合 0〜79 40キャラクタ表示モードの場合 0〜39 y:Y座標 0〜24 テキスト画面データの収得 TAB(x) x:数式または0〜39(80キャラクタ表示モードの場合 0〜79) 画面左端からx+1文字目にカーソル移動 1バイト中間言語 ・――――――――――――――――――――――――――――――・ |080H |0A0H LEFT$( | |081H |0A1H RIGHT$( | |082H |0A2H MID$( | |083H >< |0A3H LEN( | |084H <> |0A4H CHR$( | |085H =< |0A5H STR$( | |086H <= |0A6H ASC( | |087H => |0A7H VAL( | |088H >= |0A8H PEEK( | |089H*&H7F |0A9H TAB( | |08AH > |0AAH SPACE$( | |08BH < |0ABH SIZE | |08CH*&H7F |0ACH*&H7F | |08DH*&H7F |0ADH*&H7F | |08EH*&H7F |0AEH*&H7F | |08FH*&H7F |0AFH STRING$( | |090H*&H7F |0B0H POINT( | |091H*&H7F |0B1H CHARACTER$(| |092H*&H7F |0B2H CSR | |093H*&H7F |0B3H POS | |094H*&H7F |0B4H*&H7F | |095H*&H7F |0B5H*&H7F | |096H*&H7F |0B6H*&H7F | |097H*&H7F |0B7H*&H7F | |098H*&H7F |0B8H*&H7F | |099H*&H7F |0B9H*&H7F | |09AH*&H7F |0BAH*&H7F | |09BH*&H7F |0BBH*&H7F | |09CH*&H7F |0BCH*&H7F | |09DH*&H7F |0BDH*&H7F | |09EH TO |0BEH*&H7F | |09FH STEP |0BFH*&H7F | |―――――――――――――+――――――――――――――――・ |0C0H RND( | |0C1H SIN( | |0C2H COS( | |0C3H TAN( | |0C4H ATN( | |0C5H EXP( | |0C6H INT( | |0C7H LOG( | |0C8H LN( | |0C9H ABS( | |0CAH SGN( | |0CBH SQR( | |0CCH*&H7F | |0CDH | |0CEH | |0CFH | ・―――――――――――――・ *&H7Fは未定義 000H〜07FHはアスキーコードと同じ 関数等は1バイト表記 2バイト 中間言語 080H ・―――――――――――――――――――――――――――・ |080H REM |0A0H USR( | |081H DATA |0A1H WOPEN | |082H DEF KEY(|0A2H ROPEN | |083H*&H7F |0A3H CLOSE | |084H READ |0A4H MON | |085H LIST |0A5H LIMIT | |086H RUN |0A6H CONT | |087H NEW |0A7H GET | |088H PRINT |0A8H INP@ | |089H LET |0A9H OUT@ | |08AH FOR |0AAH CURSOR | |08BH IF |0ABH SET | |08CH THEN |0ACH RESET | |08DH GOTO |0ADH LINE | |08EH GOSUB |0AEH BLINE | |08FH RETURN |0AFH CONSOLE | |090H NEXT |0B0H GRAPH | |091H STOP |0B1H POTISION| |092H END |0B2H PATTERN | |093H*&H7F |0B3H AUTO | |094H ON |0B4H*&H7F | |095H LOAD |0B5H IMAGE/P | |096H SAVE |0B6H COPY/P | |097H VERIFY |0B7H PAGE/P | |098H POKE |0B8H*&H7F | |099H DIM |0B9H BOOT | |09AH DEF FN |0BAH KLIST | |09BH INPUT |0BBH CHANGE | |09CH RESTORE |0BCH*&H7F | |09DH CLR |0BDH*&H7F | |09EH MUSIC |0BEH REW | |09FH TEMPO |0BFH FAST | |―――――――――――――+――――――――――――――――・ |0C0H*&H7F |0E0H LEFT$( | |0C1H*&H7F |0E1H RIGHT$( | |0C2H*&H7F |0E2H MID$( | |0C3H >< |0E3H LEN( | |0C4H <> |0E4H CHR$( | |0C5H =< |0E5H STR$( | |0C6H <= |0E6H ASC( | |0C7H => |0E7H VAL( | |0C8H >= |0E8H PEEK( | |0C9H*&H7F |0E9H TAB( | |0CAH > |0EAH SPACE$( | |0CBH < |0EBH SIZE | |0CCH*&H7F |0ECH*&H7F | |0CDH*&H7F |0EDH*&H7F | |0CEH*&H7F |0EEH*&H7F | |0CFH*&H7F |0EFH STRING$( | |0D0H*&H7F |0F0H POINT( | |0D1H*&H7F |0F1H CHARACTER$(| |0D2H*&H7F |0F2H CSR | |0D3H*&H7F |0F3H POS | |0D4H*&H7F |0F4H*&H7F | |0D5H*&H7F |0F5H*&H7F | |0D6H*&H7F |0F6H*&H7F | |0D7H*&H7F |0F7H*&H7F | |0D8H*&H7F |0F8H*&H7F | |0D9H*&H7F |0F9H*&H7F | |0DAH*&H7F |0FAH*&H7F | |0DBH*&H7F |0FBH*&H7F | |0DCH*&H7F |0FCH*&H7F | |0DDH*&H7F |0FDH*&H7F | |0DEH TO |0FEH*&H7F | |0DFH STEP |0FFH*&H7F | ・――――――――――――――――――――――――――――――・ *&H7Fは未定義 コマンド、ステートメントは2バイト表記で080H、中間言語の順 0C0H〜0FFHは1バイト表記の080H〜0BFHに対応 (使用されるのは1バイト表記の中間言語)
Home へ戻る