I. 개념 및 정의(CPU의 최소동작)
CPU는 기본적으로 다음 최소 동작을 수행한다.
- 데이터 읽기(Fetch)
- 연산(Execute)
- 결과 저장(Store)
이 과정에서 연산 대상(Operand)의 위치를 어떻게 지정하느냐에 따라 명령어 형식이 결정된다.
| 유형 | 정의 |
|---|---|
| 0주소 | Operand를 스택(Stack)에서 자동 처리 |
| 1주소 | 하나의 Operand 주소와 누산기(ACC) 사용 |
| 2주소 | 두 개의 Operand 주소 지정 |
| 3주소 | 두 Operand와 결과 저장 주소까지 지정 |
II. 표기방법

– 명령어 형식은 명령어 집합과 Operand 수, 명령어 길이로 구분
III. 명령어 형식 구분
1. 기억장소에 따른 구분
| 기억장소 | 주소형식 | 설명 | 명령어 예제 |
|---|---|---|---|
| Stack | 0주소 | Shift 연산 | SHL: Shift Left |
| 누산기(AC) | 1주소 | AC에서 처리, 저장됨 | ADD A (AC←AC+A) |
| 다중 레지스터 | 2주소 | Regiter들과 메모리 번지 | ADD R1, R2 |
| 3주소 | ADD R1, R2, R3 |
– 기억 장소에 따라 Stack, 누산기, 레지스터, 메모리로 구분
2. Operand 수에 따른 구분

IV. 명령형식 표현 예시
예) Y=A*(B+C)
0주소명령
1주소명령
2주소명령
3주소명령
PUSH B
PUSH C
ADD
PUSH A
MUL
POP Y
LOAD B
ADD C
MUL A
STORE Y
MOV R1, B
ADD R1, C
MUL R1, A
MOV Y, R1
ADD R1, B, C
MUL Y, A, R1
– 주소 명령형식에 따라 Code Size 차이.

답글 남기기