Recursive Factorial Assembly - II
recur: SUBC(r1, 1, r1) r1 = N - 1
PUSH(r1) push arg 1
BEQ(r31, Fact, LP) call Fact(N - 1)
DEALLOCATE( 1 )
LD(BP, -12, r1) r1 = N
MUL(r1, r0, r0) r0 = Fact(N - 1) * N
rtn: POP(r1) restore register
ADDC(BP, 0, SP) strip locals
POP(BP)
POP(LP) Restore link
JMP(LP, r31) return
Exit/Return
sequence
Body of
Fact
(contd.)
3
4
5
Previous slide
Next slide
Back to first slide
View graphic version