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

opcodethat is alwaysrsis a source registerrtis a source registerrdis the destination register that stores the result of the operationshamtis the shift amount field, used only for shift operationsfunctspecifies type of instruction performed (add, sub, and, etc) from MIPS Opcodes
I Type

opcode: the opcode from MIPS Opcodesrsis a source registerrtis the destination registerimmediateis 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