Я пытаюсь написать программу, которая запрашивает у пользователя 6 номеров, затем добавляет все это в качестве вывода, но я все, что я ввожу все свои входы, я получаю сообщение об ошибке:
Ошибка в: недопустимая программазначение счетчика: 0x00000000
Go: выполнение завершено с ошибками.
Я не знаю, как это исправить, и я не знаю, какую строку исправить.Спасибо!
.data
# user input number for addition
msg1: .asciiz "Enter first number : "
num1: .word 1
msg2: .asciiz "Enter second number : "
num2: .word 1
msg3: .asciiz "Enter third number : "
num3: .word 1
msg4: .asciiz "Enter fourth number : "
num4: .word 1
msg5: .asciiz "Enter fifth number : "
num5: .word 1
msg6: .asciiz "Enter sixth number : "
num6: .word 1
.text
addi $sp,$sp,-20 # stack to save data
li $v0,4
la $a0,msg1 # enter first number
syscall
li $v0,5
la $a0,num1 # read number
syscall
sw $a0,0($sp) # push to sp
li $v0,4
la $a0,msg2
syscall
li $v0,5
la $a0,num2
syscall
sw $a0,4($sp)
li $v0,4
la $a0,msg3
syscall
li $v0,5
la $a0,num3
syscall
sw $a0,8($sp)
li $v0,4
la $a0,msg4
syscall
li $v0,5
la $a0,num4
syscall
sw $a0,12($sp)
li $v0,4
la $a0,msg5
syscall
li $v0,5
la $a0,num5
syscall
sw $a0,16($sp)
li $v0,4
la $a0,msg6
syscall
li $v0,5
la $a0,num6
syscall
li $t0, 6 # initialize counter
adds: # addition loop
beqz $t0, exit # counter zero exit
lw $a1,0($sp)
add $a0,$a0,$a1 # add numbers
addi $sp,$sp,4 # increment sp
addi $t0,$t0,-1 # decrement count
j adds # loop
li $v0,1
syscall
exit:jr $ra
li $v0,10
syscall