汇编语言数组

Assembly Language Array

如果能帮助找到答案,我们将不胜感激。

.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 添加到数组中的每个值?

一些提示

.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 )

假设一个word是4个字节,即存储在(array + 4)覆盖2 in array(2nd值),你应该可以找出问题的答案。