Question # 01: The following problems deal with translating from C to MIPS. Assume that the variables f, g, h, i, and j are assigned to registers S0, S1, Ss2, $s3, and$s4, respectively. Assume that the base address of the arrays A and B are in registers $6 and $57, respectively. 1. f=-.-A[4]); 2. B18] = A[i-j1; a) For the statements above, what is the corresponding MIPS assembly code? b) For the statements above, how many MIPS assembly instructions are needed to perform the C statement? c) For the statements above, how many different registers are needed to carry out the statement? Question # 02: The following problems deal with translating from MIPS to C. Assume that the variables f, g, h, i, and jare assigned to registers SsO, Ss1, SS2, S3, and $s4, respectively. Assume that the base address of the arrays A and B are in registers Ss6 and $87, respectively. a. sll $s2, $4,1 add $50, Ss2, Ss3 add $so, SsO, Ss1 b. sil Sto, Sso, 2 add Sto, $s6, Sto sll Stl, Ssl, 2 add Stl, Ss7, St1 lw $so, (Sto) addi St2, $t0, 4 lw $t0,(St2) add $t0, Sto, $so sw $t0,($t1) # Sto=f*4 # Sto- &A[t] # $t1 - g. 4 #St1- &B[g] #f=A[t] a) For the MIPS assembly instructions above, what is the corresponding C statement? b) For the MIPS assembly instructions above, rewrite the assembly code to minimize the number if MIPS instructions (if possible) needed to carry out the same function. c) How many registers are needed to carryout the MIPS assembly as written above? If you could rewrite the code above, what is the minimal number of registers needed? Question 3: In the following problems, we will be investigating memory operations in the context of an MIPS processor. The table below shows the values of an array stored in memory. Assume the base address of the array is stored in register Ss and offset it with respect to the base address of the array D Address Data 20 4 24 28 3 32 2 1 Address Data 24 38 4 3 36 6 40 a) For the memory locations in the table above, write C code to sort the data from lowest to bighest placing the lowest value in the smallest memory location shown in the figure. Assume that the data shown represents the variable called Array, which is an array of type int, and that the first memberin the array shown is the first element in the way. Assume that this particular machine is a byte- addressable machine and a word consists of four bytes b) For the memory locations in the table above, white MIPS code to sort the data from lowest to highest placing the lowest value in the smallest memory location Use a minimum number of MIPS instructions Assume the base address of Amy is stored in register Ss6 c) To sort the array above, how many instructions are required for the MIPS code? If you are not allowed to use the immediate field in lw and sw instructions, how many MIPS instructions do you need! Question : In the following problems, the datatable contains bits that represent the opcode of an instruction You will be asked to interpret the bits as MIPS instructions into assembly code and determine what format of MIPS instruction the bits represent 1. 0000 0011 0000 1010 1000 0000 0010 0001 2. 0000 0001 0100 1011 0100 1000 0010 0011 For the binary entries above, what instruction do they represent