文書の過去の版を表示しています。
目次
MPINO STUDIO 2 Phase 4-4・算術ボックス関数
1. 共通ルール
最初の2つの値は計算元で、最後のアドレスに結果を格納します。INCとDECは対象自体を1ずつ変更します。値のデータ形式と範囲はPhase 2のメモリ説明に従います。
2. ADD・SUB・MUL・DIV・MOD
ADD
加算 (Add)
2つの値を加算し、結果を対象に格納します。
入力形式: ADD D0 D1 D2
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=12, D1=5 | ADD D0 D1 D2 | D2=17 |
SUB
減算 (Subtract)
1つ目の値から2つ目の値を減算し、結果を対象に格納します。
入力形式: SUB D0 D1 D2
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=12, D1=5 | SUB D0 D1 D2 | D2=7 |
MUL
乗算 (Multiply)
2つの値を乗算し、結果を対象に格納します。
入力形式: MUL D0 D1 D2
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=12, D1=5 | MUL D0 D1 D2 | D2=60 |
DIV
除算 (Divide)
1つ目の値を2つ目の値で除算し、商を対象に格納します。整数同士の計算では小数部を格納しません。
入力形式: DIV D0 D1 D2
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=12, D1=5 | DIV D0 D1 D2 | D2=2 |
MOD
剰余 (Modulo)
1つ目の値を2つ目の値で除算し、余りを対象に格納します。
入力形式: MOD D0 D1 D2
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=12, D1=5 | MOD D0 D1 D2 | D2=2 |
3. INC・DEC
INC
1 増加 (Increment)
対象の値を1増やし、同じアドレスに格納します。
入力形式: INC D0
引数
- 1番目 = D: 増加対象アドレス(前の値に +1 後 同じアドレスに格納)
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=7 | INC D0 | D0=8 |
DEC
1 減少 (Decrement)
対象の値を1減らし、同じアドレスに格納します。
入力形式: DEC D0
引数
- 1番目 = D: 減少対象アドレス(前の値に −1 後 同じアドレスに格納)
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=7 | DEC D0 | D0=6 |
4. SCALE
スケール (Scale, 線形補間)
入力範囲の整数値を出力範囲の整数値へ線形変換し、対象に格納します。入力範囲外の値は近い境界値に制限し、IN_MINとIN_MAXが同じ場合はOUT_MINを格納します。
入力形式: SCALE D0 0 1023 R0 0 100
引数
- 第1引数 = 入力値:変換するアドレスまたは定数
- 第2引数 = 入力最小値
- 第3引数 = 入力最大値
- 第4引数 = 対象:出力値を格納するアドレス
- 第5引数 = 出力最小値
- 第6引数 = 出力最大値
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=1023 | SCALE D0 0 1023 R0 0 100 | R0=100.0 |
5. FLOOR・SQRT
FLOOR
切り捨て (Floor)
ソース値以下で最大の整数を対象に格納します。たとえば12.8は12、-1.2は-2になります。
入力形式: FLOOR R0 R1
引数
- 第1引数 = ソース:切り下げるアドレスまたは定数
- 第2引数 = 対象:結果を格納するアドレス
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | R0=12.8 | FLOOR R0 R1 | R1=12.0 |
SQRT
平方根 (Square Root)
ソース値の平方根を対象に格納します。小数部を保持する場合はRメモリを対象に使用します。
入力形式: SQRT D0 R0
引数
- 第1引数 = ソース:平方根を求める0以上のアドレスまたは定数
- 第2引数 = 対象:結果を格納するアドレス
| 実行条件 | 実行前 | 入力した命令 | 予想結果 |
|---|---|---|---|
| 左側条件 ON | D0=81 | SQRT D0 R0 | R0=9.0 |
6. トラブルシューティング
| 症状 | 確認項目 |
|---|---|
| DIVまたはMODの結果が出ません。 | 2つ目のソース値が0になっていないか確認します。 |
| SCALEの結果が一方の境界値に留まります。 | 入力値とIN_MIN・IN_MAXの順序および範囲を確認します。 |

