[Solved]Write Mips Assembly Language Program Prompts User Enter Many Floating Point Numbers Enter Q37183831
Write a MIPS assembly language program that prompts for a userto enter how many floating point numbers to enter, then prompts toenter a series of floating point numbers and reads in numbers andstore them in an array, then asks a user how many small numbers toprint, and computes and prints them.
Consult the green sheet and the chapter 3 for assemblyinstructions for floating point numbers. Here is one instructionthat you might use:
c.lt.s $f2, $f4
bc1t Label1
Here if the value in the register $f2 is less than the value in$f4, it jumps to the Label1. If it should jump when the value inthe register $f2 is NOT less than the value in $f4, then it shouldbe:
c.lt.s $f2, $f4
bc1f Label1
To load a single precision floating point number (instead of lwfor an integer), you might use:
l.s $f12, 0($t0)
To store a single precision floating point number (instead of swfor an integer), you might use:
s.s $f12, 0($t0)
To assign a constant floating point number (instead of li for aninteger), you might use:
li.s $f12, 123.45
To copy a floating point number from one register to another(instead of move for an integer), you might use:
mov.s $f10, $f12
The following shows the syscall numbers needed for thisassignment.
SystemCall SystemCall System Call
Number Operation Description
2 print_float $v0= 2, $f12 = float number to be printed
4 print_string $v0 = 4, $a0 = address of beginning of ASCIIZ string
6 read_float $v0= 6; user types a float number at keyboard; value is stored in$f0
8 read_string $v0 = 8; user types a string at keybd; addr of beginning of stringis stored in $a0; len in $a1
——————————————C program will ask a user how many floating numbers will be entered,then read floating point numbers and store them in an array.Then it asks a user how many smallest numbers to print, then print that many smallest numbers.——————————————-void main( ) { int arraysize = 25; float array[arraysize]; int i, j, howMany, howManySmall; float num, temp; printf(“Specify how many numbers should be stored in the array (at most 25):n”); scanf(“%d”, &howMany); //The following loop reads in floating point numbers //and stores them into the array i = 0; while (i < arraysize && i < howMany) { printf(“Enter a number:n”); //read an integer from a user input and store it in num scanf(“%f”, &num); array[i] = num; i++; } //Print out each number in the array printf(“The original array contains the following:n”); i = 0; while (i < arraysize && i < howMany) { printf(“%fn”, array[i]); i++; } printf(“Specify how many small numbers to print:n”); scanf(“%d”, &howManySmall); int minIndex; for (i = 0; i < howManySmall && i < arraysize-1 && i < howMany; i++) { minIndex = i; for (j = i+1; j < arraysize && j < howMany; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; printf(“The smallest #%d : %fn”, (i+1), array[i]); } return;

Here are sample outputs (user input is in bold): -note that you might get some rounding errors Specify how many numbers should be stored in the array (at most 25): 14 Enter a number: 3.2 Enter a number: 6.43 Enter a number: 3.23 Enter a number: 4.3 Enter a number: Enter a number: 3.24 Enter a number: Enter a number: 3.2 Enter a number 3.2 Enter a number: Enter a number: 6.5 Enter a number: 8.8 Enter a number: 8.8 Enter a number: 9.9 The original array contains the following: 3.200000 6.430000 3.230000 4.300000 4.300000 -3.240000 -5.400000 3.200000 3.200000 5.100000 6.500000 8.800000 8.800000 9.900000 Specify how many small numbers to print: The smallest #1 :-5.400000 The smallest #2:-3240000 The smallest #3–3 .230000 The smallest #4 : 3.200000 Show transcribed image text Here are sample outputs (user input is in bold): -note that you might get some rounding errors Specify how many numbers should be stored in the array (at most 25): 14 Enter a number: 3.2 Enter a number: 6.43 Enter a number: 3.23 Enter a number: 4.3 Enter a number: Enter a number: 3.24 Enter a number: Enter a number: 3.2 Enter a number 3.2 Enter a number: Enter a number: 6.5 Enter a number: 8.8 Enter a number: 8.8 Enter a number: 9.9 The original array contains the following: 3.200000 6.430000 3.230000 4.300000 4.300000 -3.240000 -5.400000 3.200000 3.200000 5.100000 6.500000 8.800000 8.800000 9.900000 Specify how many small numbers to print: The smallest #1 :-5.400000 The smallest #2:-3240000 The smallest #3–3 .230000 The smallest #4 : 3.200000
Expert Answer
Answer to Write a MIPS assembly language program that prompts for a user to enter how many floating point numbers to enter, then p… . . .
OR

