== 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 350C0003 350D0005 018D5021 01000008 register_vo = 8 == AND Bitwise and == ANDI Bitwise and immediate BEQ Branch on equal BGEZ Branch on greater than or equal to zero BGEZAL Branch on non-negative (>=0) and link BGTZ Branch on greater than zero BLEZ Branch on less than or equal to zero BLTZ Branch on less than zero BLTZAL Branch on less than zero and link BNE Branch on not equal DIV Divide DIVU Divide unsigned J Jump JALR Jump and link register JAL Jump and link JR Jump register 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