Do I need to use the 'add' function in mips to store into a variable or can I store into a variable with load word?
You used lw $s0, 16($s7) for your f=B[4]; line.

As long as that line works, why are you overcomplicating f=A[3]; with the additional ASM line add $s0, $t0, $zero?
Just lw $s0, 12($s6) &amp; be done with it.