Question: This exercise deals with recursive procedure calls. For the following problems, the table has an assembly code fragment that computes the factorial of a number.
This exercise deals with recursive procedure calls. For the following problems, the table has an assembly code fragment that computes the factorial of a number. However, the entries in the table have errors, and you will be asked to ix these errors. For number n, factorial of n = 1 x 2 x 3 x .. .. x n.

For the recursive factorial MIPS program above, assume that the input is 4. Rewrite the factorial program to operate in a non-recursive manner. Restrict your register usage to registers $s0-$s7. What is the total number of instructions used to execute your solution from 2.20.2 versus the recursive version of the factorial program?
a. FACT: sw sw addi $ra, 4($sp) $a0, 0($sp) $sp, $sp, -8 slti $t0, $a0, 1 $t0, $0. Ll $v0, $0, 1 $sp. $sp, 8 $ra L1: beq addi addi jr addi jal addi Tw Tw mul jr $a0, $a0, -1 FACT $sp, $sp, 8 $a0, 0($sp) $ra, 4($sp) $v0, $a0, $v0 $ra
Step by Step Solution
3.35 Rating (161 Votes )
There are 3 Steps involved in it
To rewrite the factorial program to operate in a nonrecursive manner we can use a loop to calculate ... View full answer
Get step-by-step solutions from verified subject matter experts
