Instruction type (MIPS)
MIPS의 Instruction type(==instruction format)은 세 개로 나뉜다.
1. R-type(for Register)
op : operation code. 명령어를 구분하는 고유 번호.
rs : 1st source register number.
rt : 2nd source register number.
rd : destination register number.
이 때 register number는 물리적인 register를 가리키는 고유번호이다. 아래 표를 참고하자.
shamt : shift amount. sll과 같은 shift 명령어에서 얼만큼 이동할 지를 의미.
funct : function code. 간혹 operation code가 동일한 명령어가 있을 때 그들을 구분할 때 사용된다.
ex) add와 sub의 op는 000000으로 동일하다. 이 때 add의 funct는 32, sub의 funct는 34로 구분할 수 있다.
2. I-type(for Immediate)
op : operation code. 명령어를 구분하는 고유 번호.
rs : 1st source register number.
rt : 2nd source register number.
constant : 상수. 16bits 이므로 -2^15~ 2^15-1 까지 표현 가능.
address : rs를 base address로 삼고, base address로부터 떨어진 거리(offset)을 나타냄.
3. J-type (for jump instruction)
추후 다룰 예정.