Я пытаюсь написать код MIPS с числом 10 ди git, получая среднее значение для каждой из 4 цифр, начиная с первого ди git. Я пытаюсь увеличить количество массивов, поскольку он вычисляет каждый раз, когда происходит l oop. Я заблудился о том, как увеличивать каждый счет и как хранить каждое среднее. Спасибо.
Вот мой код до сих пор:
.data
array: .word 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
length: .word 4
sum: .word 0
average: .word 0
.text
.globl main
.ent main
main:
la $t0, array #base address
li $t1, 0 # i = 0
lw $t2, length #$t2 = length
li $t3, 0 #sum = 0
sumLoop:
lw $t4, ($t0) #$t4 = array[i]
add $t3, $t3, $t4 #sum = sum + array[i]
add $t1, $t1, 1 # i = i + 1
add $t0, $t0, 4 # Upadting array address
blt $t1, $t2, sumLoop # if i < len, then loop again.
sw $t3, sum
# Calculate the average.
div $t5, $t3, $t2 #ave = sum/length
sw $t5, average
#Display sum
lw $a0, average
addi $v0,$0, 1
syscall
exit:
li $v0, 10
syscall