Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: Float-Parameter per ASM übergeben

  Alt 4. Jun 2008, 16:48
Hi,

Oh du hast ja Recht Hatte sogar mal gesehn das sie im TVarRec als PExtended gespeichert werden aber ich hatte es irgendwie wieder vergessen

Naja dann wollte ich anfangen an den Wert hinter dem PExtended zu kommen. Der erste Schock war aber dann da, als ich sehen musste das SizeOf(Extended) = 10... Was ist denn das für ein "krummer" Wert?! Ich dachte bisher immer Extendeds wären auch 8 Byte groß..

Also habe ich mir das mal im CPU-Fenster angeschaut:

Zitat von CPU-Fenster:
Unit1.pas.101: f := 334.34;

004580C7 C7042485EB51B8 mov [esp],$b851eb85
004580CE C74424041E852BA7 mov [esp+$04],$a72b851e
004580D6 66C74424080740 mov word ptr [esp+$08],$4007
Habe allerdings bisher nicht geschafft das nachzubauen...

Delphi-Quellcode:
// edx: PExtended
mov eax,[edx]
mov ecx,[edx+4] // ...
mov [eax+4],ecx // mov [eax+4],[edx+4] compiliert nicht *)
mov word ptr [eax+8],[edx+8] // *) + hab ich auch nicht anders hinbekommen
*) Ich bin leider ziemlich unerfahren was ASM betrifft...

Ich denke ich verstehe den Code aus dem CPU-Fenster, aber ich kanns nicht auf meine Situation übertragen

Gruß
Neutral General
Michael
  Mit Zitat antworten Zitat