Menu

[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 shoul

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


Leave a Reply

Your email address will not be published. Required fields are marked *