2014-01-20 4 views
0
B[8] = A[i–j]; 

Как вы используете массивы при попытке конвертировать в MIPS вышеупомянутое выражение C? я думал что-то вроде:массив на mips от C до MIPS?

lw $t0, 16 ($s7) 
sub $t1, $s3, $s4 
lw $t2, $t1 ($s6) 

, учитывая, что

$s6 holds A 
$s7 --- B 
$s3 ---- i 
and $s4 -- j 

, но я не уверен, о том, как сделать calculationg реально получить на A [I-J]

любое предложение?

ответ

1

Ну, во-первых, 16($s7) является неправильным. Предполагая, что B и A являются массивами 32-битных целых чисел, смещение составляет 8 * 4 = 32.

Затем просто добавьте $t1 и $s6 и загрузите оттуда.

lw $t0 32($s7) 
sub $t1 $s3 $s4 
add $t1 $s6 $t1 
lw $t2 0($t1) 
+0

спасибо! я только начинаю изучать mips! – Pisike007