Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: Fehler in Delphi mit For-Schleife

  Alt 20. Apr 2006, 15:21
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
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat