ユーザー入力を配列に格納しようとしていますが、sw を使用すると、「ワード バウンドでアドレスが整列されていません」というエラーが表示されます。私の目標は、配列から 10 個の整数を読み取ることですが、最初の数字を入力した後、sw コマンドでエラーが発生します。何が間違っているのかわからないので、それを理解しようと数時間を費やしました。どんな助けも大歓迎であり、役に立つとマークされます。
.data
mess: .asciiz " Enter 10 numbers to be stored in the array. "
array: .space 40 #10 element integer array
.globl main
.text
main:
jal read
b done
read:
la $t0, 0 #count variable
b readLoop
jr $ra
readLoop:
beq $t0, 40, read #branch if equal to 40, 10 items
li $v0, 4 #Print string
la $a0, mess #load prompt
syscall
li $v0, 5 #read int
syscall
sw $v0, array #store input in array ERROR HERE
addi $t0, $t0, 4 #add by 4 to count
b readLoop
print:
done:
これは私にとってはうまくいきました。上で動かない理由がわからない
.data
list: .space 16
.globl main
.text
main:
li $v0, 5
syscall
sw $v0, list
move $a0, $v0
li $v0, 1
syscall