* ES-BASIC #2
-(by [[K]], 2019.08.22)
** (5) 主要な命令表
|内部構文番号|構文|説明|
|0000|; (空文)|なにもしない。|
|0002|a = b|単純代入文。|
|0003|a = b + c|加算。|
|0004|a = b - c|減算。|
|0005|a = b % c|剰余算。|
|0006|a = b * c|乗算。|
|0007|a = b / c|除算。|
|0008|a = b *>> c, d|固定小数補正乗算。|
|0009|PRINT ...|コンソールへの表示。整数変数や文字列定数を,で区切って記述できる。|
|0015|EXIT|ES-BASICの終了。|
|0016|LIST|プログラムリストの表示。|
|0017|FOR a = b, c|FOR~NEXT文。|
|0018|FOR a = b, c, d|FOR~NEXT文。dはstep。|
|0019|NEXT|FOR~NEXT文。|
|0020|MEM|コンソールにメモリ利用状況を表示。|
|0021|INPUT a|コンソールから数値を入力してaに代入。|
|0050|INPUT "msg", a|メッセージを表示してからINPUT a。|
|0022|IF a == b THEN|IF~THEN~FI文。比較演算子は==,!=,<,>,<=,>=の6通り。|
|0023|ELSE|IF文。|
|0024|FI|ENDIFのこと。|
|0025|GOTO 行番号|GOTO文。|
|0026|IF a == b GOTO 行番号|IF~GOTO文。この構文の時はFIはいらない。|
|0027|RAND a|aには乱数が入る。範囲は適当なので、直後に%で範囲を制限する。|
|0028|OPENWIN x, y|グラフィックウィンドウの大きさを指定。|
|0029|FLUSHWIN|描画内容を確実に画面に反映。|
|0030|SETPIX x, y, c|1ピクセルの描画。cは0x000000~0xffffffで指定。|
|0031|INITSTACK a|スタックを(a*4)バイト以上の大きさで初期化する。|
|0032|PUSH a|変数の値をスタックにプッシュする。|
|0033|POP a|スタックから値をポップしてaに代入する。|
|0034|GOSUB 行番号|サブルーチンを呼び出す。|
|0035|RETURN|GOSUB文の次へ帰る。|
|0036|LEAPFLUSHWIN a|aミリ秒以上の間隔でFLUSHWINする。|
|0037|GCLS|グラフィック画面をクリア。|
|0039|ECHR x, y, ch|16x16ピクセルのキャラクタを表示。|
|0040|ECHR x, y, ch, col|色を指定したECHR。色は0~7。|
|0041|ECHR x, y, ch, col, bc|背景色も指定したECHR。|
|0042|EWAIT a|FLUSHWINしてからaミリ秒待つ。|
|0043|EINKEY a|キー入力バッファから一つとってaに代入する。判定を楽にするためにLock系の情報は消してある。|
|0044|GETCHR x, y, ch|ECHRによって表示されているキャラクタ番号を取得してchに代入する。|
|0045|GETCOL x, y, col|ECHRによって表示されているキャラクタの色番号を取得してcolに代入する。|
|0046|CHRBOX w, h, x, y, ch|ECHRで長方形を書く。colやbcを追加で指定することもできる。|
|0049|CHROFS x, y|ECHR系の命令に対し、xとyに加算する値を指定する。|
|0051|GPRINTS x, y, "msg"|文字列定数をグラフィック画面に描画。colやbcを追加で指定できる。|
|0054|GPRINTI x, y, w, i|数値をグラフィック画面に描画。colやbcを追加で指定できる。|
|0057|SCROLL a|グラフィック画面をスクロールする。aは0~3で方向を指定。|
|0058|PROGLIST|処理系が記憶しているプログラムリストの一覧をコンソールに表示。|
|0059|PROGSEL a|アクティブなプログラムをa番に切り替える。|
|0075|NEW [a]|a番のプログラムをすべて消去する。|
|0061|PROGSELN a|PROGSELで指定された番号をaに代入する。|
|0062|PROGDEL a|a番目のプログラムを消去する。|
|0063|STRNEW a|aを文字列格納可能な状態に初期化する。|
|0064|STRDEL a|aを数値格納可能な状態に戻す。|
|0065|PRINTSTR a|aをコンソールに表示する。|
|0066|STRCPYIMM a, "msg"|aに文字列定数をコピーする。|
|0067|PROGGET a, b, c [, d]|d番目のプログラムの理論行番号cを取り出して、aには行番号、bにはプログラム内容を代入する。|
|0069|PROGPUT a, b [, c]|c番目のプログラムに行番号a、内容bのプログラムを記憶させる。|
|0071|PROGPUTIMM a, "prog" [, b]|b番目のプログラムに行番号a、progのプログラムを記憶させる。|
|0073|PROGLIN1 a [, b]|b番目のプログラムの論理行番号数をaに代入する。|
|0076|PROGNEW a|新規にプログラムを作るためのプログラム番号をもらう。値はaに代入される。|
-[0076]PROGNEWまでの実装で、762行。


* こめんと欄
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS