1. Convert the following C function to the corresponding MIPS assembly procedure:
int count(int Model[], Color[], Year[], int n, intx,y,z)
{ int res = 0;
inti = 0;
for(i = 0; i != n; i++)
if(Model[i] == x) {
if (Color [i] == y){ if (Year [i]== z){
print "your car is in location [i]
}
}
}
return [i];
}
2. Write a MIPS assembly program that will make use of the function count above as follows:
Let's assume you are asked to code a car-finding system for a local parking lot:
You are provided with the location of all the cars in the parking lot. The information is given to you in three arrays. Each array contains specific information about the cars. The first array contains the model of the car, the second array the color and the 3rd array the model.
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
....
|
Model
|
|
|
|
|
|
|
|
|
|
|
Color
|
|
|
|
|
|
|
|
|
|
|
Year
|
|
|
|
|
|
|
|
|
|
|
To find the location of the car you need to find the location that matches the Model, color and year.
Model
|
Code
|
Ford
|
1
|
BMW
|
2
|
Audi
|
3
|
Honda
|
4
|
Infinity
|
5
|
Hyundai
|
6
|
Toyota
|
7
|
Color
|
Code
|
Black
|
1
|
Blue
|
2
|
Yellow
|
3
|
Red
|
4
|
Gray
|
5
|
White
|
6
|
Green
|
7
|
Silver
|
8
|
You are asked to:
- Hard code the values for each of the arrays
- Prompt the user to enter 3 values as follows: "Please enter the code for the Model, the Color, and the year of your car"
- Read the integer values and store them
- Use the function count as a base to elaborate your code and navigate through the arrays
- Identify where in the parking lot the car is located, or if the car is not in the parking lot.
- Output the results as follows: If the car was found "Your car is located on Position [name]". If the car was not found "We apologize for the inconvenience, your car is not in this parking lot". Exit the program
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
Model
|
2
|
3
|
4
|
5
|
6
|
6
|
7
|
3
|
4
|
3
|
3
|
3
|
3
|
1
|
Color
|
2
|
4
|
6
|
8
|
7
|
5
|
3
|
1
|
2
|
3
|
1
|
4
|
5
|
6
|
Year
|
2001
|
2003
|
2006
|
2010
|
2012
|
2013
|
2013
|
2014
|
2006
|
2007
|
2005
|
2009
|
2009
|
2010
|
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
Model
|
2
|
1
|
1
|
1
|
5
|
7
|
7
|
7
|
6
|
5
|
3
|
3
|
2
|
2
|
Color
|
7
|
8
|
7
|
5
|
3
|
1
|
2
|
3
|
5
|
7
|
8
|
3
|
5
|
1
|
Year
|
2010
|
2013
|
2014
|
2014
|
2015
|
2016
|
2005
|
2007
|
2008
|
2008
|
2010
|
2001
|
2003
|
2004
|
|
29
|
30
|
31
|
32
|
Model
|
1
|
1
|
6
|
6
|
Color
|
3
|
5
|
7
|
8
|
Year
|
2005
|
2007
|
2013
|
2015
|