任何帮助找到答案都将不胜感激。
.data
array: .word 1,2,3,4,5,6,7,8,9,10
.text
.globl main
main:
la $t0, array
li $t1, 4
mult $t1, $t1
mflo $t1
add $t0, $t0, $t1
sw $t1, 20($t0)
执行指令后数组的值是多少?我对此部分感到困惑。我只是为数组中的每个值添加20吗?
答案 0 :(得分:2)
一些提示
.data
array: .word 1,2,3,4,5,6,7,8,9,10 # 10 32 bits values @array
.text
.globl main
main:
la $t0, array # Load address of array into $t0
li $t1, 4 # Load constant 4 into $t1
mult $t1, $t1 # Multiply $t1 x $t1
mflo $t1 # Put result (lower word) into $t1 ( 16 )
add $t0, $t0, $t1 # $t0 = $t0 + $t1 ( array + 16 )
sw $t1, 20($t0) # Store $t1 at address ( $t0 + 20 )
如果一个单词是4个字节,即存储在(数组+4)会覆盖数组中的2
(2 nd 值),你应该能够找到答案你的问题。