Выглядит хорошо, кроме последней строки, которая, скорее всего, должна быть:
lw $s0, $t0($s6)
Обратите внимание, что вы всегда должны комментировать свой код, особенно когда он асм, например
sub $t0, $s2, $s1 ; t0 = h - g
mult $t0, $t0, 4 ; t0 = (h - g) * sizeof(int) = byte index into B
lw $t0, $t0($s7) ; t0 = B[h - g]
mult $t0, $t0, 4 ; t0 = B[h - g] * sizeof(int) = byte index into A
lw $s0, $t0($s6) ; s0 = A[B[h - g]]
Обратите внимание, что вы всегда должны проверять свой код - я бы порекомендовал использовать для этого симулятор, такой как SPIM .