| Instruction | Example | Function |
|
|
| add | add $2,$3,$4 | $2 = $3 + $4 |
| addi | addi $2,$3,10 | $2 = $3 + 10 (signed constant) |
| addiu | addiu $2,$3,10 | $2 = $3 + 10 (overflow undetected and signed constant) |
| sub | sub $2,$3,$4 | $2 = $3 - $4 |
| subu | subu $2,$3,$4 | $2 = $3 - $4 (overflow undetected) |
| lw | lw $2,8 ($3) | load word at address $3 + 8 into $2 |
| lb | lb $2,8 ($3) | load byte at address $3 + 8 into $2 |
| lui | lui $3, 2 | load 2 into upper 16 bits of $3 |
| sw | sw $2,8 ($3) | store word in $2 to word at address $3 + 8 |
| sb | sb $2,8 ($3) | store byte in $2 to byte at address $3 + 8 |
| sll | sll $2,$3, 10 | $2 = $3 << 10 |
| sllv | sllv $2,$3, $10 | $2 = $3 << $10 |
| srl | srl $2,$3, 10 | $2 = $3 >> 10 |
| srlv | srlv $2,$3, $10 | $2 = $3 >> $10 |
| and | and $2,$3,$4 | $2 = $3 & $4 |
| andi | andi $2,$3,15 | $2 = $3 & 15 (zero extended constant) |
| or | or $2,$3,$4 | $2 = $3 | $4 |
| ori | ori $2,$3,15 | $2 = $3 | 15 (zero extended constant) |
| slt | slt $2,$3,$4 | if($3 < $4) $2 = 1 else $2 = 0 |
| slti | slti $2,$3,5 | if($3 < 5) $2 = 1 else $2 = 0 (signed constant) |
| sltiu | sltiu $2,$3,5 | if($3 < 5) $2 = 1 else $2 = 0 (unsigned constant) |
| beq | beq $3,$4, Label | if($3 = $4) go to Label |
| bne | bne $3,$4, Label | if($3 != $4) go to Label |
| j | j Label | go to Label |
| jr | jr $31 | go to instruction at address in $31 (return from function) |
| jal | jal Label | save address of next instruction and go to Label |