Complete List of Terms and Definitions for MIPS Assembly Instructions

Terms Definitions
sw register_source, RAM_destination #store word in source register into RAM destination
li register_destination, value #load immediate value into destination register
lw register_destination, RAM_source #copy word (4 bytes) at source RAM location to destination register.
mflo $t1 # move quantity in special register Lo to $t1: $t1 = Lo # used to get at result of product or quotient
sb register_source, RAM_destination #store byte (low-order) in source register into RAM destination
b target # unconditional branch to program label target
addi $t2,$t3, 5 # $t2 = $t3 + 5; "add immediate" (no sub immediate)
bgt $t0,$t1,target # branch to target if $t0 > $t1
j target # unconditional jump to program label target
ble $t0,$t1,target # branch to target if $t0
lw $t2, 4($t0) * load word at RAM address ($t0+4) into register $t2 * "4" gives offset from address in register $t0
jr $ra # "jump register" * jump to return address in $ra (stored by jal instruction)
sw $t2, -12($t0) * store word in register $t2 into RAM at address ($t0 - 12) * negative offsets are fine
add $t0,$t1,$t2 # $t0 = $t1 + $t2; add as signed (2's complement) integers
jr $t3 # jump to address contained in $t3 ("jump register")
bge $t0,$t1,target # branch to target if $t0 >= $t1
sub $t2,$t3,$t4 # $t2 = $t3 - $t4
blt $t0,$t1,target # branch to target if $t0
la $t0, var1 copy RAM address of var1 (presumably a label defined in the program) into register $t0
div $t5,$t6 # Lo = $t5 / $t6 (integer quotient) # Hi = $t5 mod $t6 (remainder)
bne $t0,$t1,target # branch to target if $t0 $t1
beq $t0,$t1,target # branch to target if $t0 = $t1
lb register_destination, RAM_source #copy byte at source RAM location to low-order byte of destination register,# and sign-e.g.tend to higher-order bytes
subu $t1,$t6,$t7 # $t1 = $t6 - $t7; subtract as unsigned integers
sw $t2, ($t0) store word in register $t2 into RAM at address contained in $t0
mfhi $t0 # move quantity in special register Hi to $t0: $t0 = Hi
jal sub_label # "jump and link" * copy program counter (return address) to register $ra (return address register) * jump to program statement at sub_label
lw $t2, ($t0) load word at RAM address contained in $t0 into $t2
mult $t3,$t4 # multiply 32-bit quantities in $t3 and $t4, and store 64-bit # result in special registers Lo and Hi: (Hi,Lo) = $t3 * $t4
addu $t1,$t6,$t7 # $t1 = $t6 + $t7; add as unsigned integers
move $t2,$t3 # $t2 = $t3