1

所以我试图将 0-50 之间的 10 个数字放入一个数组中。

    li  $t0, 0      #loopcounter = 0
    la  $a0, array
    addi    $a0, $0, 0  #initialize array index = 0
    loop:
            li  $v0, 5
            syscall
            blt $v0, 0, loop
            bgt $v0, 50, loop
            add $t0, $t0, 1   #increment loop counter

            sw  $a0, 0($a0)     # ERROR HERE #store value of $v0 at index 0
            addi    $a0, $a0, 4     # Increment the index by 4


            blt $t0, 10, loop

我将如何将这 10 个数字以 $a0 的位置放入我的数组中,然后以后能够访问它们?

4

1 回答 1

1

这会

addi $a0, $0, $0     # initialize index with 0
sw $v0, 0($a0)       # store value of $v0 at index 0
addi $a0, $a0, 4     # Increment the index by 4
sw $v0, 0($a0)       # store value of $v0 at index 1

and so on...

我为你留下了循环部分。

为什么要增加 4 ?

因为 MIPS 中的整数占用 32 位或 4 字节

于 2013-04-08T12:27:46.890 回答