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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!