Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a MIPS assembly program that asks the user for an integer value five times

ID: 3878998 • Letter: W

Question

Write a MIPS assembly program that asks the user for an integer value five times saving each value to a separate register. Then using those five registers, your program should be able to correctly calculate the average of those values using integer division. A run of the program should look like the following (user input is shown in bold):

Please enter an integer: 5

Please enter another integer: 3

Please enter another integer: 5

Please enter another integer: 9

Please enter another integer: 10

The average of your numbers is: 6

Use the SPIM emulator for MIPS processors

Explanation / Answer

Code:

.data

#declare variables

str1: .asciiz "Please enter an integer: "

str2: .asciiz "Please enter another integer: "

str3: .asciiz "The average of your numbers is: "

.text

.globl main

main:

#initialise sum to 0

li $t0, 0

#prompt user for input

li $v0, 4

la $a0, str1

syscall

#read input

li $v0, 5

syscall

#add it to sum

add $t0, $t0, $v0

#loop for another 4 integers

li $t1, 4

loop:

#prompt user for input

li $v0, 4

la $a0, str2

syscall

#read input

li $v0, 5

syscall

#add to sum

add $t0, $t0, $v0

#decrement counter

sub $t1, $t1, 1

#exit when 0

bnez $t1, loop

#divide sum by 5 for average

div $t0, $t0, 5

#print average to user

li $v0, 4

la $a0, str3

syscall

li $v0,1

move $a0, $t0

syscall

#exit

li $v0,10

syscall

Output:

Please enter an integer: 1
Please enter another integer: 2
Please enter another integer: 3
Please enter another integer: 4
Please enter another integer: 5
The average of your numbers is: 3
-- program is finished running --

Hope this helps. Do Upvote! :)

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote