Carefully study the following data definitions and answer the next 5 independent parts in sequence.
Please write the part number, then your answer, then a line of stars as separator.
.data
ARRD: .double +20.5,-30.9, ... # 30 values
RTD: .double 0.0
tab: .asciiz ‘\t’
part #1: Write min number of instructions to display all elements of array ARRD separated by tab.
**********************
part #2: Write No more than 7 instructions to double every element in ARRD.
**********************
part #3: Write a function that accepts two parameters: the base address of ARRD and its size in parameter registers and swaps the two neighboring elements in each pair of ARRD; means to swap the first with second elements, swap the third with fourth elements. Before the function code, write how parameter registers are allocated. Write the function code without using stack frames.
**********************
part #4: Using your assumptions made in part #3, write the needed MIPS instructions to call your function for array ARRD.
**********************
part #5: Assume the function needs to create a stack frame for its correct operation and the array ARRD is to be stored in the stack frame, write the needed MIPS instructions to allocate the stack frame of required size.
**********************