More Hacking...
ADDC(r31, 1, r0)
ST(r0, F, r31)
LD(r31, N, r1)
LD(r31, F, r3)
CMPLT(r31, r1, r2)
BEQ(r2, done, r31)
loop:
MUL(r1, r3, r3)
SUBC(r1, 1, r1)
. .
done:
ST(r1, N, r31)
ST(r3, F, r31)
F = 1 ;
if (N > 0) {
do {
F = F * N ;
N = N - 1 ;
} while (N = 0) ;
}
3 instructions
in loop
Previous slide
Next slide
Back to first slide
View graphic version