문서의 이전 판입니다!
목차
MPINO STUDIO 2 Phase 4-4 · 산술 박스함수
1. 공통 규칙
첫 번째와 두 번째 값은 계산에 사용할 소스이고 마지막 주소는 결과를 저장할 대상입니다. INC와 DEC는 대상 자체를 1씩 바꿉니다. 값의 데이터 형식과 범위는 Phase 2의 메모리 설명을 따릅니다.
2. ADDㆍSUBㆍMULㆍDIVㆍMOD
ADD
덧셈 (Add)
두 값을 더한 결과를 대상에 저장합니다. 계산식은 D = S1 + S2입니다.
입력 형식: ADD D0 D1 D2
| 실행 조건 | 실행 전 | 입력한 명령어 | 예상 결과 |
|---|---|---|---|
| 왼쪽 조건 ON | D0=12, D1=5 | ADD D0 D1 D2 | D2=17 |
SUB
뺄셈 (Subtract)
첫 번째 값에서 두 번째 값을 뺀 결과를 대상에 저장합니다. 계산식은 D = S1 - S2입니다.
입력 형식: SUB D0 D1 D2
| 실행 조건 | 실행 전 | 입력한 명령어 | 예상 결과 |
|---|---|---|---|
| 왼쪽 조건 ON | D0=12, D1=5 | SUB D0 D1 D2 | D2=7 |
MUL
곱셈 (Multiply)
두 값을 곱한 결과를 대상에 저장합니다. 계산식은 D = S1 × S2입니다.
입력 형식: MUL D0 D1 D2
| 실행 조건 | 실행 전 | 입력한 명령어 | 예상 결과 |
|---|---|---|---|
| 왼쪽 조건 ON | D0=12, D1=5 | MUL D0 D1 D2 | D2=60 |
DIV
나눗셈 (Divide)
첫 번째 값을 두 번째 값으로 나눈 몫을 대상에 저장합니다. 정수끼리 계산하면 소수점 이하는 저장되지 않습니다.
입력 형식: DIV D0 D1 D2
| 실행 조건 | 실행 전 | 입력한 명령어 | 예상 결과 |
|---|---|---|---|
| 왼쪽 조건 ON | D0=12, D1=5 | DIV D0 D1 D2 | D2=2 |
MOD
나머지 (Modulo)
첫 번째 값을 두 번째 값으로 나눈 나머지를 대상에 저장합니다.
입력 형식: 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 결과가 나오지 않습니다. | 두 번째 소스 값이 0인지 확인합니다. |
| SCALE 결과가 한쪽 경계값에 머뭅니다. | 입력값과 IN_MINㆍIN_MAX의 순서 및 범위를 확인합니다. |

