help please the code is not returning the correct average value, I think the result that gets  printed does not hold the right value. .dataprompt1: .asciiz "Enter the number of real numbers: "prompt2: .asciiz "Enter a real number: "result:  .asciiz "The average is: " .text.globl mainmain:# Prompt for the number of real numbersli $v0, 4la $a0, prompt1syscall li $v0, 5 # Read integer (n)syscallmove $t0, $v0 # Store number in $t0move $t1, $zero # Counter # Initialize floating-point sum to 0.0mtc1 $zero, $f0 # Move zero to $f0cvt.s.w $f0, $f0 # Convert to float input_loop:beq $t1, $t0, calculate # Exit loop # Prompt and read each real numberli $v0, 4la $a0, prompt2syscall li $v0, 6 # Read floatsyscall add.s $f0, $f0, $f12 # Add float to sum addi $t1, $t1, 1 # Increment counterj input_loop calculate:# Calculate averagemtc1 $t0, $f2 # Move count to $f2cvt.s.w $f2, $f2 # Convert to floatdiv.s $f4, $f0, $f2 # Divide sum by count # Print resultli $v0, 4la $a0, resultsyscall mov.s $f12, $f4 # Move average to $f12li $v0, 2 # Print floatsyscall # Exitli $v0, 10syscall

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter4: Making Decisions
Section: Chapter Questions
Problem 2GZ
icon
Related questions
Question

help please the code is not returning the correct average value, I think the result that gets  printed does not hold the right value.

.data
prompt1: .asciiz "Enter the number of real numbers: "
prompt2: .asciiz "Enter a real number: "
result:  .asciiz "The average is: "

.text
.globl main
main:
# Prompt for the number of real numbers
li $v0, 4
la $a0, prompt1
syscall

li $v0, 5 # Read integer (n)
syscall
move $t0, $v0 # Store number in $t0
move $t1, $zero # Counter

# Initialize floating-point sum to 0.0
mtc1 $zero, $f0 # Move zero to $f0
cvt.s.w $f0, $f0 # Convert to float

input_loop:
beq $t1, $t0, calculate # Exit loop

# Prompt and read each real number
li $v0, 4
la $a0, prompt2
syscall

li $v0, 6 # Read float
syscall

add.s $f0, $f0, $f12 # Add float to sum

addi $t1, $t1, 1 # Increment counter
j input_loop

calculate:
# Calculate average
mtc1 $t0, $f2 # Move count to $f2
cvt.s.w $f2, $f2 # Convert to float
div.s $f4, $f0, $f2 # Divide sum by count

# Print result
li $v0, 4
la $a0, result
syscall

mov.s $f12, $f4 # Move average to $f12
li $v0, 2 # Print float
syscall

# Exit
li $v0, 10
syscall

AI-Generated Solution
AI-generated content may present inaccurate or offensive content that does not represent bartleby’s views.
steps

Unlock instant AI solutions

Tap the button
to generate a solution

Knowledge Booster
C-string
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
Programming with Microsoft Visual Basic 2017
Programming with Microsoft Visual Basic 2017
Computer Science
ISBN:
9781337102124
Author:
Diane Zak
Publisher:
Cengage Learning
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Np Ms Office 365/Excel 2016 I Ntermed
Np Ms Office 365/Excel 2016 I Ntermed
Computer Science
ISBN:
9781337508841
Author:
Carey
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781305480537
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT