정의
명령어가 수행할 동작입니다.CPU는 연산코드를 통해 명령어가 어떤 동작을 수행하는지 파악합니다.
CPU에 따라 연산 코드의 구체적인 생김새는 다르지만, 공통적으로 대표적인 연산 코드의 유형에는 데이터 전송, 산술/논리 연산, 제어 흐름 변경, 입출력 제어가 있습니다.
연산 코드 유형
연산 코드는 매우 다양합니다.| 유형 | 연산 코드 | 설명 |
| 데이터 전송 |
MOVE | 데이터를 옮깁니다. |
| STORE | 메모리에 저장합니다. | |
| LOAD(FETCH) | 데이터를 메모리에서 CPU로 가져옵니다. | |
| PUSH | 데이터를 스택에 저장합니다. | |
| POP | 스택의 최상단 데이터를 가져옵니다. | |
| 산술/논리 연산 |
ADD/SUBTRACT/ MULTIPLY/DIVIDE |
덧셈/뺄셈/곱셈/나눗셈을 수행합니다. |
| INCREMENT DECREMENT |
오퍼랜드에 1을 더합니다. 오퍼랜드에서 1을 뺍니다. |
|
| AND/OR/NOT | AND/OR/NOT 연산을 수행합니다. | |
| COMPARE | 두 개의 숫자, 혹은 TRUE/FALSE 값을 비교합니다. | |
| 제어 흐름 변경 |
JUMP | 특정 주소로 실행 순서를 옮깁니다. |
| CONDITIONAL JUMP | 조건에 부합할 경우 특정 주소로 실행순서를 옮겨라 | |
| HALT | 프로그램의 실행을 멈춰라 | |
| CALL | 되돌아온 주소를 저장한 채 특정 주소로 실행 순서를 옮겨라 | |
| RETURN | CALL을 호출할 때 저장했던 주소로 돌아가라 | |
| 입출력 |
READ(INPUT) | 특정 입출력장치로부터 데이터를 읽어라 |
| WRITE(OUTPUT) | 특정 입출력장치로 데이터를 써라 | |
| START IO | 입출력장치를 시작해라 | |
| TEST IO | 입출력장치의 현재 상태를 확인해라 |