1. Write the corresponding Assembly Code
The following C code shows an implementation of a routine to compute the factorial of its argument, written n!, with a do-while loop. This function only computes the proper value for n > 0.
int fact_do(int n)
{
int result = 1;
do {
result*=n;
n=n-1;
} while )n>1);
return result;
}
Assuming that the registers %eax and %edx are used as follows
Write the corresponding assembly-language code, assuming that
Argument: n at %ebp+8
Registers: n in %edx, result in %eax