SmileBASIC 4.4.8
リファレンスマニュアル
更新日 2023/12/07
目次
- 命令概要(基本命令)
- 命令概要(表示命令)
- 命令概要(入力、サウンド、その他)
- ダイレクトモード専用命令
- 変数や配列の定義、操作に関する命令
- 制御命令
- 数学関連
- 文字列操作
- その他
- 各種入力
- 各種入力(Toy-Con)
- ファイル
- スクリーン制御
- テキストスクリーン入出力
- グラフィック
- スプライト
- レイヤー
- サウンド
- 高度な演算
- ソースコード操作
- サブプログラム
更新日 2023/12/07
・整数演算を行う演算子には「整数演算子」、実数演算を行う演算子には「実数演算子」と記載している。
・論理演算子は、演算結果が正しい場合整数1を、正しくない場合整数0を返す。
・ショートカット付き論理演算子は、第1項の評価結果で演算結果が決定される場合、第2項の評価をスキップする。
() | 括弧 |
[] | 配列参照 |
-(単項) | 符号反転 |
+ | 加算,文字列の結合 |
ー(2項) | 減算 |
* | 乗算,文字列の繰り返し |
/ | 除算(実数演算子) |
DIV | 整数除算(整数演算子) |
MOD | 剰余(整数演算子) |
<< | 左シフト(整数演算子) |
>> | 右シフト(符号つき、整数演算子) |
<<< | 左シフト(整数演算子) |
>>> | 右シフト(符号なし、整数演算子) |
<<+ | 左ローテート(整数演算子) |
>>+ | 右ローテート(整数演算子) |
AND | 論理積(整数演算子) |
OR | 論理和(整数演算子) |
XOR | 排他的論理和(整数演算子) |
NOT | ビット反転(整数演算子) |
== | 等しい(論理演算子) |
!= | 等しくない(論理演算子) |
< | 大きい(論理演算子) |
> | 小さい(論理演算子) |
<= | 以上(論理演算子) |
>= | 以下(論理演算子) |
&& | ショートカット付き論理積(論理演算子) |
|| | ショートカット付き論理和(論理演算子) |
! | 反転(論理演算子) |
演算子の優先度は次の通り。
() [] |
-(単項) NOT ! |
* / DIV MOD |
+ -(2項) |
<< >> <<< >>> <<+ >>+ |
== != < <= > >= |
AND |
OR XOR |
&& |
|| |
・[]内の式の数は1個、もしくは配列の次元数のいずれか
・右の数が0の場合エラー
・/と異なり、結果は必ず整数になる
・右の数が0の場合エラー
A=201 DIV 5
・右の数が0の場合エラー
A=201 MOD 5
A=200 AND &HE7
A=128 OR &HA3
A=100 XOR &H4C
・1ビット左シフトを行うと整数を2倍した事になる
A=100 << 2
・1ビット右シフトを行うと整数を1/2にした事になる
・符号が考慮される。符号ビット(ビット31)は変化しない。ビット30はビット31がコピーされる。
A=100 >> 2 B=-10 >> 1
・1ビット左シフトを行うと整数を2倍した事になる
・<<と全く同じ動作をする
A=100 <<< 2
・1ビット右シフトを行うと整数を1/2にした事になる
・>>と異なり、符号が考慮されない。
A=100 >>> 2 B=-10 >>> 1
・シフトと異なり、ビット31から押し出されたビットはビット0側にコピーされる。
A= HEX$(&HFF00FF00 <<+ 8)
・シフトと異なり、ビット0から押し出されたビットはビット31側にコピーされる。
A= HEX$(&H00FF00FF >>+ 8)
・左の式が偽(0)の場合、右の式の計算は省略されて即座に0を返す
・左の式が真(!=0)の場合、右の式の計算は省略されて即座に1を返す