Optimization!
ADDC(r31, 1, r0)
ST(r0, F, r31)
LD(r31, N, r1)
LD(r31, F, r3)
loop:
CMPLT(r31, r1, r2)
BEQ(r2, done, r31)
MUL(r1, r3, r3)
SUBC(r1, 1, r1)
BEQ(r31, loop, r31)
done:
. .
. .
F = 1 ;
while ( N > 0) {
F = F * N ;
N = N - 1 ;
}
5 instructions in
loop by putting values
of N, F in registers
Previous slide
Next slide
Back to first slide
View graphic version