Consider the following C code snippet C codevoid setArray(int.pdf
1. Consider the following C code snippet:
// C code
void setArray(int num) {
int i;
int array[10];
for (i=0; i < 10; i=i+1) {
array[i]=compare(num, i);
}
}
int compare(int a, int b) {
if (sub(a, b) >= 0)
return 1;
else
return 0;
}
int sub(int a, int b) {
return ab;
}
Implement the C code snippet above in MIPS assembly language. Use $s0 to hold the variable i.
Be sure to handle the stack pointer appropriately. The array is stored on the stack of the setArray
function (i.e. when setArray function is called it allocates space for the array on the stack.).
Solution
I have used the Test function i.e ain function to get this module of the fuction definition working.
Thw below is the MIPS code for the complete program:-
.file 1 ""
.section .mdebug.abi32
.previous
.gnu_attribute 4, 1
.abicalls
.text
.align 2
.globl _Z3subii
$LFB0 = .