Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
4. Sep 2007
:wiejetzt: Ich glaube, wir reden aneinander vorbei.
Das ist das doch was ich die ganze Zeit sage.
Ich sehe immer noch nicht die unnötige Ladeoperation. In deinem Code taucht das "MOV EAX,***" auf und in meinem Code statt dessen "MOV EDX,***". Wo ist da der Unterschied, ausser das ein anderes Register geladen wird. Die CPU führt beide Befehle gleich schnell aus. Ich sehe aber immer noch...
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
3. Sep 2007
Nur weil du in deinen Code kein "mov eax,irgendwas" schreibst heist es noch lange nicht, dass Delphi dies nicht automatisch hinzufügt. Nochmal, was meinst du woher der Wert im EAX Register kommt? Ohne Befehl kann der Wert nicht im EAX Register landen, ob nun von dir hinzugefügt oder von Delphi automatisch.
Mein Delphi 7 kann das auch schon.
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
2. Sep 2007
Onlinehilfe :
Dann kannst du mir auch bestimmt erklären, wieviel Zeit Verschwendet wird, bei einmal eine Variable hin und her kopieren im Gegensatz zu einem Funktionsaufruf. Was macht Delphi wohl automatisch wenn eine Funktion aufgerufen wird? Ich gehe mal davon aus, zum einen Unmengen von Daten hin und her kopieren, und zum anderen eine Bereichsüberprüfung.
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
2. Sep 2007
Da hast du wohl Recht, aber ich habe irgendo eben gelesen, dass das Delphi auch egal ist. Andere Register wie z.B. ESP, EDI usw. müssen dagegen auf jeden Fall gesichert werden. Ausserdem funktioniert mein Code so wie ich ihn da stehen habe.
Edit: Hab nochmal nachgeschaut, in der Delphi-Hilfe steht das so drin.
Wo mache ich was überflüssig?
Ja, der Code oben sollte nur ein...
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
2. Sep 2007
Danke für dein Angebot der Hilfe, aber ich habe es schon hin bekommen. (siehe oben)
Ich habe aber noch eine kleine Abänderung gemacht, jetzt mit einem Pointer. (wieder die Vereinfachte Version)
procedure xyz(Zahl: longword);
var
p: ^longword;
begin
.
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
2. Sep 2007
Ups :oops: Du hast natürlich Recht. Habe ich oben mal schnell geändert :stupid: .
OK, habe mir das schon selbst beantwortet: (Beispiel ist eine vereinfachte Version)
procedure xyz(Zahl: longword);
var
l: longword;
begin
l := Zahl;
Forum: Sonstige Fragen zu Delphi
Delphi
by Quake,
2. Sep 2007
Nur mal als Hinweis, weil ich mich auch gerade damit rumschlage.
(Edit : Damit das hier nicht falsch stehen bleibt änder ich das mal.)
Die CPUs, die auf der Intel Architektur (8086) basieren, legen das niederwertigste Byte zuerst im Speicher ab.
Im Gegensatz dazu legen die CPUs, die auf der Motoroler Architektur (6800) basieren, das höstwertigste Byte zuerst im Speicher ab.
Deswegen ist...