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 に答える