Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I ONLY NEED 3&4 ANSWERED PLEASE: Write and test a MIPS program consisting of four functions. In the following descriptions, the symbol & means address

I ONLY NEED 3&4 ANSWERED PLEASE:

Write and test a MIPS program consisting of four functions. In the following descriptions, the symbol & means address of.

1). void main(): The main function must 1) print your name 2) call the readData function 3) call count function 4) complete the program. The main function must set up all parameters before calling each of the functions.

2). int readData (&array): The starting address of an array is passed to the function as a parameter using $a0. The function must prompt for and read and store integers in the array until either a zero is entered or 10 numbers are read. Once the tenth integer is entered, your program must stop reading. The function must return (using $v0) the number of values read and stored in the array (10 or less). The zero input is not part of the array and must not be stored in the array. If the first input is a zero, then the array will be empty and the count returned is zero.

3). float average (&array, count): The starting address of an array (in $a0) and the number of integers stored in the array (in $a1) are passed to the function. The purpose of the function is to calculate and return (using $f0) the floating point average of the numbers. To find the average, sum all the integers together and then divide by the count as a floating point value. If the count is zero, return 0.0. Use appropriate registers for the parameters and the return value.

4). void count (&array, count): The starting address of an array (in $a0) and the number of integers stored in the array (in $a1) are passed to the function. The function determines how many of the integers in the array are greater than or equal to the average. First the parameters for the average function are set and then average function is called to determine the average value. The returned value is then printed. Then each value in the array is tested to determine if its value is greater than or equal to the average. The count of the values greater than or equal to the average is then printed.

Example input and output:

Linda Chatting Enter a number 3 Enter a number 6 Enter a number 2 Enter a number 4 Enter a number 0 The average is 3.750000000 There are 2 numbers greater than or equal to the average.

In addition,

? Functions must be called using jal and return using jr.

? Parameters must be passed as specified and used correctly. The readData, average and count

functions must access the array through the parameter, not directly.

? Be sure to comment all instructions. All functions must include comments describing the

function and its parameters and return value (if any). Be sure that your name and class ID appear at the beginning.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data Mining Concepts And Techniques

Authors: Jiawei Han, Micheline Kamber, Jian Pei

3rd Edition

0123814790, 9780123814791

More Books

Students also viewed these Databases questions