The program should be built using MIPS Heres what I have so far, it says the ave
ID: 3792421 • Letter: T
Question
The program should be built using MIPS
Heres what I have so far, it says the average is 0 when I run it.
.text
.globl main
main:
li $t0,0
li $t1,0
li $t2,0
li $t3,0
li $t4,-1
la $a0,scores
evaluate:
lw $t2,0($a0)
beq $t2,$t4,compute
slti $t3,$t2,0
bne $t3,$t2,badnum
slti $t3,$t2,101
beq $t3, $zero, badnum
beq $t2,$t4,compute
add $t1,$t1,$t2
addi $t0,$t0,1
addi $a0,$a0,4
j evaluate
badnum: addi $a0,$a0,4
j evaluate
compute:
li $v0,4
la $a0,avgStr
syscall
div $t1,$t0
mflo $v0
move $a0,$v0
li $v0,1
syscall
.data
scores: .word 95,92,85,100,81,90,75,99,82,79,-1 #list of test scores
avgStr: .asciiz "The average is :"
Explanation / Answer
.text
.globl main
main:
li $t0,0
li $t1,0
li $t2,0
li $t3,0
li $t4,-1
la $a0,scores
evaluate:
lw $t2,0($a0)
beq $t2,$t4,compute
slti $t3,$t2,0
bne $t3,$t2,badnum
slti $t3,$t2,101
beq $t3, $zero, badnum
beq $t2,$t4,compute
add $t1,$t1,$t2
addi $t0,$t0,1
addi $a0,$a0,4
j evaluate
badnum: addi $a0,$a0,4
j evaluate
compute:
li $v0,4
la $a0,avgStr
syscall
div $t1,$t0
mflo $v0
move $a0,$v0
li $v0,1
syscall
.data
scores: .word 95,92,85,100,81,90,75,99,82,79,-1 #list of test scores
avgStr: .asciiz "The average is :"
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.