These are the assembly instruction types. Differentiated by what each collection of bits represents.

R Type

  • opcode that is always
  • rs is a source register
  • rt is a source register
  • rd is the destination register that stores the result of the operation
  • shamt is the shift amount field, used only for shift operations
  • funct specifies type of instruction performed (add, sub, and, etc) from MIPS Opcodes

I Type

  • opcode : the opcode from MIPS Opcodes
  • rs is a source register
  • rt is the destination register
  • immediate 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