< 기능에 따라 분류 >
1) 데이터 처리 명령 (산술, 논리, 시프트 명령)
㉠ 산술명령 : 기본적인 산술 연산은 가산, 감산, 곱셈, 나눗셈이 사칙연산이다. 대부분의 컴퓨터는 사칙 연산을 하는 산술 명령을 사용하지만 소형 컴퓨터는 가산(또는 감산)명령만 사용하기도 한다. 이 경우 곱셈이나 나눈셈은 소프트웨어적인 서브루틴을 이용하여 실행한다.
Increment(레지스터나 기억장치내용을 1 증가)
Decrement
Add / Subtrack / Multiply / Divide
Add with carry / Subtrack with borrow / Negate(2's complement)
㉡ 논리연산 및 비트처리명령 : 논리연산명령은 피연산자를 비트별 처리한다. 논리연산 명령을 사용하여 비트를 변경하거나 비트열을 0으로 하거나 또는 새로운 비트를 피연산사에게 넣을 수 있다.
Clear(피연산자의 모든비트 0)
Complement(피연산자의 1의 보수)
AND(피연산자의 특정 부분을 0(mask)) / OR(피연산자의 일부분을 1) / XOR(특정 부분의 보수)
Clear carry / Set carry / Complement carry / Enable interrupt / Disable interrupt
㉢ 시프트 명령 : 시프트 명령은 논리시프트, 산술 시프트, 로테이트 등이 있다.
Logical shift : 우츨시프트시 왼쪽 맨끝(LSB), 좌측 시프트시 오른쪽 맨끝(MBS)에 0을 삽입
Arithmetic shift : 부호와 2의 보수의 규칙에 따라 시프트되며 부호비트가 보존
Rotate : 시프트되어 나간 비트가 다른 한끝으로 삽입
Rotate through carry : 캐리를 포함하여 로테이트
2) 데이터 전송 명령 (기억장치와 레지스터 사이의 전송 명령)
데이터 전송명령은 데이터를 내용 변경없이 한 장소에서 다른 장소로 위치를 옮긴다. 일반적으로 기억장치와 레지스터, 레지스터와 입출력장치, 레지스터간의 데이터 전송이다.
Load : 기억장치에서 레지스터로의 정보전송
Store : 레지스터에서 기억장치로의 정보전송
Move : 레지스터간의 정보전송
Exchange : 레지스터 사이 또는 리지스터와 기억장치사이의 정보교환
Input / Output : 레지스터와 입출력장치 사이의 정보전송
Push / Pop : 레지스터와 스택 사이의 정보전송
3) 프로그램 제어 명령 (상태 조건을 검사하는 명령과 프로그램 제어 명령)
4) 입출력 명령
< 명령은 피연산자의 위치에 따라 분류 >
1) 기억장치 참조명령(MRI) -메모리 참조명령어
2) 레지스터 참조 명령(RRI) - 메모리 비참조 명령령
0 |
1 1 1 |
register operation |
3) 입출력 명령(IOI) - 메모리 비참조 명령어
| |
|