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.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, 8b. FACT: addi $sp, $sp, 8. sw sw $ra, 4($sp) $a0, 0($sp) add $50, $0, $a0 slti $t0, $a0, 2 beq $t0, $0, L1

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

1 Expert Approved Answer
Step: 1 Unlock

To rewrite the factorial program to operate in a nonrecursive manner we can use a loop to calculate ... View full answer

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 Computer Organization Design Questions!