Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#20

AW: Schleifenvariable ausserhalb der Schleife benutzen

  Alt 18. Nov 2011, 23:23
Der Compiler nimmt, hierfür das, wo er meint das sei noch frei und eigne sich gut dafür.

ECX ist zwar oftmals das Counter-Register, aber es ist nicht zwingend vorgeschrieben.
(das Assemblerbefehl LOOP nutzt zwar dieses Register, aber Delphi nutzt das langsame LOOP eh nicht)

Jenachdem was frei ist, nutzt Delphi EAX, ECX, EDX oder doch ein Plätzchen auf'm Stack.
EBX nutzt Delphi eher ungern, da dieses eine besondere Rolle spielt. (hat aber nix mit dem B zu tun )

Und da wo der Variablenwert noch lange der Schleife verfügbar war, wurde entweder dieses Register nicht neu beschrieben oder eben die Stelle auf'm Stack war (zufällig) noch unberührt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat