== Instruction == C code Assembly code Hex code Reference Output ================ ADDIU Add immediate unsigned (no overflow) == ADDU Add unsigned (no overflow) == int main(void) { int a = 3 + 5; } ORI $4,$0,3 ORI $5,$0,5 ADDU $2,$4,$5 JR $0 34040003 34050005 00851021 00000008 register_v0 = 8 AND Bitwise and ANDI Bitwise and immediate ==BEQ Branch on equal== ORI $4,$0,5 ORI $5,$0,5 BEQ $4,$5,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 34040005 34050005 10850003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==BGEZ Branch on greater than or equal to zero== ORI $4,$0,3 BGEZ $4,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 34040003 04810003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==BGEZAL Branch on non-negative (>=0) and link== ORI $4,$0,3 BGEZAL $4,4 NOP ADDIU $2,$2,1 JR $0 NOP ORI $2,$0,1 JR $31 34040003 04910004 00000000 24420001 00000008 00000000 34020001 03E00008 register_v0 = 2 ==BGTZ Branch on greater than zero== ORI $4,$0,3 BGTZ $4,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 34040003 1C800003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==BLEZ Branch on less than or equal to zero== ORI $4,$0,-1 BLEZ $4,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 3404FFFF 18800003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==BLTZ Branch on less than zero== ORI $4,$0,-1 BLTZ $4,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 3404FFFF 04800003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==BLTZAL Branch on less than zero and link== ORI $4,$0,-1 BLTZAL $4,4 NOP ADDIU $2,$2,1 JR $0 NOP ORI $2,$0,1 JR $31 3404FFFF 04900004 00000000 24420001 00000000 00000008 34020001 03E00008 register_v0 = 2 ==BNE Branch on not equal== ORI $4,$0,3 ORI $5,$0,5 BNE $4,$5,3 NOP JR $0 NOP ORI $2,$0,1 JR $0 34040003 34040005 14850003 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 DIV Divide DIVU Divide unsigned ==J Jump== J 4 NOP JR $0 NOP ORI $2,$0,1 JR $0 08000004 00000000 00000008 00000000 34020001 00000008 register_v0 = 1 ==JALR Jump and link register== ORI $5,$0,1C LUI $5,BFC0 JALR $4,$5 NOP ADDIU $2,$2,1 JR $0 NOP ORI $2,$0,1 JR $4 3405001C 3C05BCF0 00A02009 00000000 24420001 00000008 00000000 34020001 00800008 register_v0 = 2 ==JAL Jump and link== JAL 5 NOP ADDIU $2,$2,1 JR $0 NOP ORI $2,$0,1 JR $31 0C000005 00000000 24420001 00000008 00000000 34020001 03E00008 register_v0 = 2 ==JR Jump register== ORI $5,$0,14 LUI $5,BFC0 JR $5 NOP JR $0 NOP ORI $2,$0,1 JR $0 34050014 3C05BCF0 00A00008 00000000 00000008 34020001 00000008 register_v0 = 1 LB Load byte LBU Load byte unsigned LH Load half-word LHU Load half-word unsigned LUI Load upper immediate LW Load word LWL Load word left LWR Load word right //MTHI Move to HI //MTLO Move to LO //MULT Multiply //MULTU Multiply unsigned //OR Bitwise or //ORI Bitwise or immediate //SB Store byte //SH Store half-word //SLL Shift left logical //SLLV Shift left logical variable //SLT Set on less than (signed) //SLTI Set on less than immediate (signed) //SLTIU Set on less than immediate unsigned //SLTU Set on less than unsigned ///SRA Shift right arithmetic //SRAV Shift right arithmetic //SRL Shift right logical //SRLV Shift right logical variable //SUBU Subtract unsigned //SW Store word //XOR Bitwise exclusive or //XORI Bitwise exclusive or immediate