Я работаю над домашним заданием прямо сейчас, и мне дали эту информацию:
$s6 — расположение базового адреса массива A, $s0 — расположение значения f > (не указано).
Он хочет, чтобы я преобразовал некоторые инструкции в оператор C. Вот мой вопрос, потому что, если на него ответить, я могу очень легко решить остальную часть этой проблемы:
добавить $t0, $s6, $s0
Это говорит $t0 = (the base address of array A) + f
или $t0 = A[0+f]
?
Потому что, если базовый адрес A был 0x04000000, и я использовал addi, чтобы добавить 4 к этому базовому адресу, получив 0x04000004, и присвоив это значение t0, я говорю, что t0 = A[1] (при условии, что я храню целые числа).
Но так как я не знаю значение f, я не уверен, как представить это в C, потому что я знаю, что изменяю индекс, но я не знаю, насколько. Было бы точнее сказать (учитывая инструкцию выше):
$t0 = A[f/4]
Я новичок во всем этом ха. Надеюсь, я продемонстрировал, что провел небольшое исследование, пытаясь понять это.
Спасибо
ОСФТВ