rvtl ver.3.04, (64bit版 4.00 を含む)

-------------------------------------------------------------------------
コマンド
-------------------------------------------------------------------------
:               行末までコメント
#!              行末までコメント
?=e             式の値を10進数で出力
?(n)=e          式の値を10進数を n 桁右寄せで出力
?[n]=+e         式の値を10進数を上位桁を0で埋めた n 桁で出力
?$=e            式の値を16進数2桁で出力
?#=e            式の値を16進数4桁で出力
??=e            式の値を16進数8桁で出力
?%=e            式の値を16進数16桁で出力 (64bit版専用)
?*=e            式の値を符号無し8進数で出力
?{n}=e          式の値を8進数で出力
?!n!=e          式の値の下位を2進数で出力
$=e             式の値を文字コードとして出力
$$=e            式の値を2文字の文字コードとして出力
$#=e            式の値を4文字の文字コードとして出力
$%=e            式の値を8文字の文字コードとして出力(64bit版専用)
$*=A            式の値を先頭アドレスとするASCIIZ文字列を出力
"STR"           文字列を出力
/               改行を出力
.=e             空白を式 e の値の数だけ出力
A=?             10進数値入力(非数値の場合0が入力)
A=$             1文字入力
A=@             リアルタイム文字入力入力がない場合は０が返る
A*=B            文字配列Bを文字配列Aにコピー
A*="STRING"     文字列を文字配列Aにコピー
#=100           指定行番号にジャンプ
#=^STOP         指定ラベルの次の行にジャンプ
;=e             IF文、式の値が0なら次の行からを実行
!=100           指定行番号をサブルーチンコール
!=^Label        指定ラベルの次の行をサブルーチンコール
A=1,10          FOR文、対応するNEXT文までを繰り返す
@=A+1           NEXT文、変数を更新してFOR文から繰り返す
@               DO文、対応するUNTIL文までを繰り返す
@=(e)           UNTIL文、式eが0(偽)の間繰り返す
]               RETURN文、GOSUB文(!=)の次の命令に戻る
#=-1            END文、実行中のrvtlのプログラムを停止
&=0             NEW コマンド
<="ファイル名"  SAVE、rvtlプログラムをファイル名を指定してファイルに出力
>="ファイル名"  LOAD、ファイル名で指定された rvtlプログラムをロード
#=1             RUN コマンド
(="ファイル名"  ファイル書き出し
(*=A            ファイル書き出し、ファイル名文字列の先頭アドレスを指定
)="ファイル名"  ファイル読み込み
)*=A            ファイル読み込み、ファイル名文字列の先頭アドレスを指定
{=e             ファイル書き出しコマンドの書き込み先頭位置を設定
}=e             ファイル書き出しコマンドの書き込み最終位置を設定
*=e             メモリ最終(brk)を設定
,="ファイル名"  子プロセスの起動、パイプ「|」と出力リダイレクト「>」が可能
[=0             配列範囲チェック
`=e             擬似乱数シード設定
==e             コード先頭アドレス設定
_=e             マイクロ秒単位の sleep
+ABC            変数スタックにプッシュ
-CBA            変数スタックからポップ
+=e             式の値を変数スタックにプッシュ
~               rvtlの終了
ctrl-C          実行の中止

-------------------------------------------------------------------------
編集
-------------------------------------------------------------------------
0               rvtlプログラム全体のリスト
100-            行番号100以降すべてのリスト
100-500         行番号100以降500までのリスト
100+            行番号100以降の20行のリスト
100+30          行番号100以降の30行のリスト
100!            行番号100の1行を表示して編集
→ ctrl-F       カーソル右移動
← ctrl-B       カーソル左移動
↑ ctrl-P       ヒストリー (前に入力した行の表示)
↓ ctrl-N       ヒストリー (前に入力した行の表示)
BS              バックスペース
ctrl-D          カーソル位置消去
Del             カーソル位置消去
TAB             ファイル名補完

-------------------------------------------------------------------------
数値
-------------------------------------------------------------------------
'A'             文字
10000           10進数値 -2147483648 から 2147483647 (0から4294967295)
$10aB           16進数値 $0 から $FFFFFFFF

-------------------------------------------------------------------------
配列と関数
-------------------------------------------------------------------------
A(n)            変数 A の値を先頭アドレスとする１バイト配列
A{n}            変数 A の値を先頭アドレスとする２バイト配列
A[n]            変数 A の値を先頭アドレスとする４バイト配列
A;n]            変数 A の値を先頭アドレスとする８バイト配列 (64bit版専用)
#               実行中の行番号を保持
%               直前の除算の剰余、または 直前の _ 参照の usec を保持
&               コードの最終使用アドレス+1
)               読み込みサイズ保持
*               メモリ最終位置を保持
=               プログラム先頭アドレス
[               配列範囲チェック
^               ラベルの次行先頭アドレス
_               秒単位のUNIX時間を返すマイクロ秒は % に設定
{               ファイル先頭位置
|               エラーコード保持
}               ファイル末位置
,               アクセス可能先頭アドレス
`               Mersenne Twister による乱数を返す
.               ウィンドウサイズを上位16ビットに幅、下位16ビットに高さを返す
;               変数スタックトップを返す(ポップ)
_               現在の秒を返し、% にマイクロ秒を返す
?               標準入力から10進数値を得る
$               標準入力から文字を得る
@               標準入力から文字を得る入力がなければ 0 を返す
\e              式の示す番号の引数文字列の先頭アドレスを返す番号は０から
\\e             式の示す番号の環境変数文字列の先頭アドレスを返す
$$              入力バッファに1行読み込み、バッファのアドレスを返す

-------------------------------------------------------------------------
演算子
-------------------------------------------------------------------------
-A              Aの符号反転
+A              Aの絶対値
<A              Aの下位32bitを64bitにゼロ拡張 (64bit版専用)
A+B             加算
A-B             減算
A*B             乗算
A/B             除算
A&B             ビット論理積
A\B             無符号除算
A^B             排他的論理和
A|B             ビット論理和
A>>B            右シフト
A<<B            左シフト
A=B             A と B が等しければ 1 を返し、それ以外は 0 を返す
A<B             A が B より小さければ 1 を返し、それ以外は 0 を返す
A>B             A が B より大きければ 1 を返し、それ以外は 0 を返す
A>=B            A が B が以上ならば 1 を返し、それ以外は 0 を返す
A<=B            A が B が以下ならば 1 を返し、それ以外は 0 を返す
A<>B            A と B が等しくなければ 1 を返し、それ以外は 0 を返す

-------------------------------------------------------------------------
組み込みコマンド
-------------------------------------------------------------------------
|ca             指定したファイルの内容を表示 (cat)
|ca*=A          指定したファイルの内容を表示、文字列アドレス指定 (cat)
|ls             カレントディレクトリ内容の表示 (ls)
|ls*=A          カレントディレクトリ内容の表示、文字列アドレス指定 (ls)
|cd             カレントディレクトリの移動 (cd)
|cd*=A          カレントディレクトリの移動、文字列アドレス指定 (cd)
|cm             パーミッションの変更 (chmod)
|cm*=A          パーミッションの変更、文字列アドレス指定 (chmod)
|md             ディレクトリの作成 (mkdir)
|md*=A          ディレクトリの作成、文字列アドレス指定 (mkdir)
|mv             ファイル名の変更、ファイルの移動 (mv)
|mv*=A          ファイル名の変更、ファイルの移動、文字列アドレス指定 (mv)
|rd             ディレクトリの削除 (rmdir)
|rd*=A          ディレクトリの削除、文字列アドレス指定 (rmdir)
|cw             カレントディレクトリの表示 (pwd)
|rm             ファイルの削除 (rm)
|rm*=A          ファイルの削除、文字列アドレス指定 (rm)
|mo             ファイルシステムのマウント (mount)
|mo*=A          ファイルシステムのマウント、文字列アドレス指定 (mount)
|um             ファイルシステムのアンマウント (umount)
|um*=A          ファイルシステムのアンマウント、文字列アドレス指定 (umount)
|sy             ディスクの同期 (sync)
|cr             ルートディレクトリの変更 (chroot)
|cr*=A          ルートディレクトリの変更、文字列アドレス指定 (chroot)
|ex             外部コマンドの実行 (exec)
|ex*=A          外部コマンドの実行、文字列アドレス指定 (exec)
|pv             ルートデバイスの変更 (pivot_root)
|pv*=A          ルートデバイスの変更、文字列アドレス指定 (pivot_root)
|so             スワップ領域をオープン (swapon)
|so*=A          スワップ領域をオープン、文字列アドレス指定 (swapon)
|sf             スワップ領域クローズ (swapoff)
|sf*=A          スワップ領域クローズ、文字列アドレス指定 (swapoff)
|zz             システムコールの実行、変数 a, b, c, d, e, f を引数
|zc             コマンド実行回数を % に返す (>ver.4.00)
|fbo            フレームバッファのオープン
|fbc            フレームバッファのクローズ
|fbd            フレームバッファの点の描画
|fbs            フレームバッファの設定変更
|fbf            フレームバッファの塗りつぶし
|fbl            ライン描画
|fbp            パターン転送
|fbt            パターン転送2
|fbq            マスク付きパターン転送
|fbr            矩形領域の塗りつぶし
|fbm            メモリコピー
|ud             URL デコード
|ve             rvtl のバージョンを % に返す(64bit版は上位32bitに1)
