Assembly 出现异常7[错误的数据地址]并被忽略

Assembly 出现异常7[错误的数据地址]并被忽略,assembly,mips,gnu-assembler,Assembly,Mips,Gnu Assembler,我对mips非常陌生,我正在尝试编写一个程序,使用子例程对数组进行排序和输出。我正在调试过程中(我不是很擅长,因为我不知道如何破译错误代码),我得到了错误: Exception 7 [Bad data address] occurred and ignored 我认为错误是在我尝试将值输入数组时发生的。以下是代码的这一部分: main: addi $sp, $sp, -104 # Save address on stack sw $ra, 0($sp) la $a0,

我对mips非常陌生,我正在尝试编写一个程序,使用子例程对数组进行排序和输出。我正在调试过程中(我不是很擅长,因为我不知道如何破译错误代码),我得到了错误:

Exception 7 [Bad data address] occurred and ignored
我认为错误是在我尝试将值输入数组时发生的。以下是代码的这一部分:

main:    
addi $sp, $sp, -104        # Save address on stack
sw $ra, 0($sp)

la $a0, S1                 # Prompt user
li $v0, 4
syscall

li $v0, 5                  # Read in n
syscall
move $s1, $v0              # $s1 = n

li $s2, 0                  # $s2 = 0

inLoop:
beq $s2, $s1, loop         # for (i = 0 ; i < n)
sll $t7, $s2, 2            # i = 4i
add $t8, $s0, $t7          # $t8 = address of a[i]

li $v0, 5                  # Read in n
syscall
move $t8, $v0              # a[i] = n

addi $s2, $s2, 1           # i++
j inLoop
main:
addi$sp,$sp,-104#将地址保存在堆栈上
西南$ra,0($sp)
la$a0,S1#提示用户
李$v0,4
系统调用
li$v0,5#以n表示
系统调用
移动$s1,$v0#$s1=n
li$s2,0#$s2=0
inLoop:
beq$s2,$s1,循环#for(i=0;i

感谢您提供的帮助。

已知错误消息-其“异常7[错误数据地址]发生并被忽略”。
move$t8,$v0\a[i]=n