명령어 형식
IT 위키
Instruction Format
하나의 명령어를 구성하는 비트들을 연산 코드와 피연산자 자리로 나눈 배치
- 연산 코드(Operation Code, OP Code) : 수행할 동작의 종류를 지정한다.
- 오퍼랜드(Operand) : 연산의 대상이 되는 자료나 그 자료가 있는 주소를 지정한다.
- 주소 지정 방식(Mode) : 오퍼랜드를 해석하는 방법을 지정한다.
| 형식 | 오퍼랜드 | 설명 |
|---|---|---|
| 0-주소 명령어 Zero-Address |
없음 | 오퍼랜드 자리 없이 연산자만 쓴다. 자료를 스택에서 꺼내 연산하고 결과를 다시 스택에 넣는다. 후위 표기법으로 변환해야 처리할 수 있다. |
| 1-주소 명령어 One-Address |
1개 | 오퍼랜드 하나와 누산기를 연산한다. 결과는 누산기에 남는다. |
| 2-주소 명령어 Two-Address |
2개 | 가장 널리 쓰인다. 연산 결과가 오퍼랜드 중 한쪽에 저장되므로 그 자리의 원래 값은 사라진다. |
| 3-주소 명령어 Three-Address |
3개 | 두 오퍼랜드를 연산해 세 번째 자리에 저장한다. 원래 값이 보존되지만 명령어 길이가 길어진다. |
- 오퍼랜드가 적을수록 명령어 길이가 짧아 기억 공간을 덜 쓰지만,
같은 일을 하는 데 필요한 명령어 수가 늘어난다.
- 오퍼랜드가 많을수록 프로그램이 짧아지지만 명령어 하나가 길어지고
해독·실행 시간이 늘어난다.
