명령어는 연산코드와 오퍼랜드로 구성되어있다. 명령어가 수행할 연산을 연산코드(operation code)라 하고, 연산에 사용할 데이터 또는 연산에 사용할 데이터가 저장된 위치를 오퍼랜드라고 한다. 연산코드를 연산자, 오퍼랜드를 피연산자라고도 부른다.
1) 오퍼랜드
오퍼랜드는 ‘연산에 사용할 데이터’ 또는 ‘연산에 사용할 데이터가 저장된 위치’를 의미한다고 했다. 그래서 오퍼랜드 필드에는 숫자와 문자 등을 나타내는 데이터 또는 메모리나 레지스터 주소가 올 수 있다. 다만 오퍼랜드 필드에는 숫자나 문자와 같이 연산에 사용할 데이터를 직접 명시하기보다는, 많은 경우 연산에 사용할 데이터가 저장된 위치, 즉 메모리 주소나 레지스터 이름이 담긴다. 그래서 오퍼랜드 필드를 주소 필드라고도 부른다.
여기서 오퍼랜드가 하나도 없는 명령어를 0-주소 명령어라고 하고, 오퍼랜드가 하나인 명령어를 1-주소 명령어, 두 개인 명령어를 2-주소 명령어, 세 개인 명령어를 3-주소 명령어라고 한다.
2) 연산코드
연산코드는 명령어가 수행할 연산을 의미한다고 했다. 연산코드의 종류는 매우 많지만, 가장 기본적인 연산코드 유형은 크게 네 가지로 나눌 수 있다.
① 데이터 전송