Сдвиг влево необходим для вычисления смещения элемента A[i-j]
.
Каждый элемент массивов A и B имеет ширину 32 бита (4 байта).Но MIPS имеет байтовую адресацию, поэтому каждому элементу массива требуется 4 адреса.
Сдвигая 2 бита влево, вы фактически умножаете на 4. Так (ij) * 4 - это смещение i-j
'-ого элементамассива.Это также является причиной того, что последняя строка вашего кода sw $t2, 32($s7)
, которая сохраняет результат в восьмом элементе массива, использует 32 в качестве смещения.