please I need help writing the same code but without using li.s , thanks .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
Control structures
Control structures are block of statements that analyze the value of variables and determine the flow of execution based on those values. When a program is running, the CPU executes the code line by line. After sometime, the program reaches the point where it has to make a decision on whether it has to go to another part of the code or repeat execution of certain part of the code. These results affect the flow of the program's code and these are called control structures.
Switch Statement
The switch statement is a key feature that is used by the programmers a lot in the world of programming and coding, as well as in information technology in general. The switch statement is a selection control mechanism that allows the variable value to change the order of the individual statements in the software execution via search.
please I need help writing the same code but without using li.s , thanks
.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
Step by step
Solved in 2 steps