Answered step by step
Verified Expert Solution
Question
1 Approved Answer
write a MIPS program that successfully executes on the QiSpim simulator that determines if numbers input by a user are perfect or prime. Your
write a MIPS program that successfully executes on the QiSpim simulator that determines if numbers input by a user are perfect or prime. Your program should prompt the user, read an integer value, show the sum of the factors of the value that was read, and indicate whether or not the number is perfect. If it is not perfect, then you should also indicate whether or not it is prime. You should continue until a number less than 2 is entered. You are required to write a separate function to determine if one integer value is a factor of another integer value. Call this function is a factor. This function will accept two integer arguments, where the first is the larger value (received through Sa0) and the second is the potential factor (received through Sal). It returns a value (through $v0) of one if the second value is a factor of the first value, and otherwise returns a value of zero. You are also required to write a separate function that prints the factors of a integer value, where a '+' separates each preceding factor and the next factor. The factor list should be followed by an '=' and the sum of the factors. Call this function print_sum_of_factors. It accepts an integer argument (through Sa0) and return the sum of the factors of the argument (through $v0). The is_a_factor, print_sum_of_factors, and main functions should follow the MIPS calling conventions described in class. Note you should only use a syscall instruction to perform I/O and should not use it to exit the program. Be sure to provide a comment before each block of MIPS assembly code so others can understand your program. The assignment is due in Canvas before the beginning of class on September 28. Below is an example session where the output is generated by the program with the values entered by the user dis- played in bold. You should make your output exactly match output. Enter a value greater than 1: 4 1+2=3 The number 4 is not perfect. Enter a value greater than 1: 6 1+2+3=6 The number 6 is perfect! Enter a value greater than 1: 10 1+2+5=8 The number 10 is not perfect. Enter a value greater than 1: 13 1=1 The number 10 is not perfect and prime. Enter a value greater than 1: 0 Exiting program.
Step by Step Solution
★★★★★
3.41 Rating (157 Votes )
There are 3 Steps involved in it
Step: 1
MIPS assembly program data inputprompt asciiz Enter a value greater than 1 resultnotperfect asciiz The number is not perfect resultperfect asciiz The ...Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started