Zitat von
alcaeus:
Nun ja, die Optimierung ist ja eine Sache, aber die wuerde dann trotzdem nur von 5 auf 0 runterzaehlen, und nicht von 6 abwaerts
afair laeufts intern so ab:
schleifenanfang:
i := 6
//inhalt der schleife
dec(i)
wenn i <> 0 gehe zu schleifenanfang
oder anders ausgedrueckt:
Code:
mov eax, $000000006 //unser i
//schleifenanfang:
inc ebx //ich hatte ein einfaches inc(r) drinnen
dec eax
jnz -$04 //zurueck zum schleifenanfang springen
Folgendermassen muss er bei 6 anfangen und zaehlt bis 1 runter. wenn er bei 0 ankommt springt er raus.
Was das problem ist ist, dass er nicht merkt, dass die Zaehlvariable verwendet wird, denn normalerweise duerfte dann diese Optimierungsmoeglichkeit nicht mehr greifen.
[Add]
Als Problemloesung duerfte dann ein Ausschalten der Optimierung fuer diese Methode reichen, zumindest theoretisch.
[/Add]
greetz
Mike