23
22/08/2003
Copyright Teemu Kerola 2003
Optimoitu
For lauseke (2)
for (int i=20; i < 50; ++i)
T[i] = 0;
Mitä eroja? Onko tämä OK?
LOAD  R1, =20 ; i
LOAD  R2, =0  ; 0
Loop STORE R2, T(R1)
ADD R1, =1
COMP R1, =50
JLES Loop
I DC 0
…
LOAD  R1, =20
STORE R1, I
Loop LOAD  R2, =0
LOAD R1, I
STORE R2, T(R1)
LOAD  R1, I
ADD R1, =1
STORE R1, I
LOAD R3, I
COMP R3, =50
JLES Loop
alkuperäinen koodi
6 vs. 11 konekäskyä (koodin koko)
122 vs. 272 suoritettua käskyä!
muuttujan i arvo lopussa?
152 vs. 452 muistiviitettä!