subject
Computers and Technology, 27.04.2021 15:10 invocx

Write a MIPS assembly language program that prompts for a user to enter how many floating point numbers to enter, then prompts to enter a series of floating point numbers and reads in numbers and store them in an array, then asks a user how many small numbers to print, and computes and prints them. Consult the green sheet and the chapter 3 for assembly instructions for floating point numbers. Here is one instruction that 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 in the register $f2 is NOT less than the value in $f4, then it should be:
c. lt. s $f2, $f4
bc1f Label1
To load a single precision floating point number (instead of lw for an integer), you might use:
l. s $f12, 0($t0)
To store a single precision floating point number (instead of sw for an integer), you might use:
s. s $f12, 0($t0)
To assign a constant floating point number (instead of li for an integer), 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 this assignment.
System Call System Call 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 string is 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("%f\n", 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 : %f\n", (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:
3.24
Enter a number
3.2
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

ansver
Answers: 1

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 21:00
You should hand write your references on your resume.
Answers: 1
question
Computers and Technology, 22.06.2019 05:00
Lisa has a section of her document that she would like to include in the index. which option should lisa choose? mark index mark entry insert endnote add text
Answers: 3
question
Computers and Technology, 23.06.2019 04:10
2pointswho was mikhail gorbachev? oa. a russian leader who opposed a coupob. a polish leader who founded the labor union "solidarityoc. a soviet leader who called for a closer relationship with the unitedstates, economic reform, and a more open societyd. a soviet leader who called for more oppression in the soviet union
Answers: 3
question
Computers and Technology, 23.06.2019 13:00
Donnie does not have powerpoint. which method would be best for elana to save and share her presentation as is? a pdf a doc an rtf a ppt
Answers: 3
You know the right answer?
Write a MIPS assembly language program that prompts for a user to enter how many floating point numb...
Questions
question
Social Studies, 23.06.2019 06:30
Questions on the website: 13722361