Question
int max (*int a, int n) { int m = a[0]; for ( int i = 1; i < n; ++i) if (a[i] > m)
int max (*int a, int n) {
int m = a[0];
for ( int i = 1; i < n; ++i)
if (a[i] > m)
m = a[i];
return m;
}
Write a sequence of MIPS assembly instructions that does the identical operation.
Use the registers $t0 and $s0 for holding the values of the variables i and m, respectively.
As usual, assume that $s0 has its own value before the function max is called, thus this value must be saved on stack (given by the register $sp) during the execution of the function max.
Note: the ?rst argument, the second argument, the return value and the return address are in $a0, $a1, $v0 and $ra, respectively.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started