my program takes 'n' numbers and gets the average, please help re-writw without using li.s .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 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 li.s $f0, 0.0 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
my program takes 'n' numbers and gets the average, please help re-writw without using li.s
.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
li.s $f0, 0.0
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
Unlock instant AI solutions
Tap the button
to generate a solution