Description
Write a recursive function in MIPS to compute factorial of a user entered integer. You must submit code and screenshot of output in a single word or pdf document.note that you must write a recursive procedure for the third assignment, and not a loop to compute factorial.
Explanation & Answer
Factorial:
subu $sp, $sp, 4
sw $ra, 4($sp) # spare the profit address for stack
beqz $a0, end # test for end
subu $sp, $sp, 4 # don't end yet
sw $a0, 4($sp) # save the parameter
sub $a0, $a0, 1 # will call with a littler contention
jal Factorial
# after the end condition is arrived at these lines
# will be executed
lw $t0, 4($sp) # the contention I have saved money on stack
mul $v0, $v0, $t0 # do the duplication
lw $ra, 8($sp) # plan to return
addu $sp, $sp, 8 # I've popped 2 words (a location and
jr $ra # .. a contention)
end:
li $v0, 1 # 0! = 1 is the return esteem
lw $ra, 4($sp) # get the return address
addu $sp, $sp, 4 # modify the stack pointer
jr $ra # return
Review
Review
24/7 Homework Help
Stuck on a homework question? Our verified tutors can answer all questions, from basic math to advanced rocket science!
Similar Content
Related Tags
The Dispossessed
by Ursula Kroeber Le Guin
Cat on a Hot Tin Roof
by Tennessee Williams
The Hunger Games
by Suzanne Collins
Notes from Underground
by Fyodor Dostoyevsky
The Chosen
by Chaim Potok
The Power of Habit - Why We Do What We Do in Life and Business
by Charles Duhigg
The Magic Mountain
by Thomas Mann
The Prince
by Niccolò Machiavelli
The Age Of Light
by Whitney Scharer