我正在做作业,我只是想知道我是否正确地表达了这一点。表达式为f = -g - A[4]
f为$s0
,g为$s1
,A的基地址为$s6
subu $t1, $zero, $s1 // negate g
addi $t2, $zero, 4 // index for A
add $t3, $t2, $s6 // put A[4] in $t3
subu $s0, $t1, $t3 // f = -g -A[4]
答案 0 :(得分:0)
这不正确。
首先,结果取决于A
的类型,因为您需要添加不同的值来获取偏移量。
此外,您并不需要单独的add
来计算常量数组元素的偏移量。如果addi $t3, $s6, 4
是字节数组,则可以使用A
;如果是字数组,则可以使用addi $t3, $s6, 16
。当然,当索引很大或者它是变量时,你需要它吗
但是,您还需要从该计算地址加载值
lw $t4, 0($t3)
因为添加地址并不能为您提供存储在该地址中的内容