These are the assembly instruction types. Differentiated by what each collection of bits represents.
R Type
opcode
that is alwaysrs
is a source registerrt
is a source registerrd
is the destination register that stores the result of the operationshamt
is the shift amount field, used only for shift operationsfunct
specifies type of instruction performed (add, sub, and, etc) from MIPS Opcodes
I Type
opcode
: the opcode from MIPS Opcodesrs
is a source registerrt
is the destination registerimmediate
is a given value for various purposes. Two zeroes are always at the end of the address- Note that for branching, we store the offset from the current PC, so that it can fit within immediate
J Type
opcode
: the opcode from MIPS Opcodesaddress
: the address offset from current address to jump to. Two zeroes are always that the end of the address