В момента работя върху домашна работа и ми е дадена следната информация:
$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]
Нов съм във всичко това ха. Надяваме се, че демонстрирах, че съм направил малко проучване, опитвайки се да разбера това.
Благодаря
OSFTW