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