![]() |
ASM: Zugriff auf Eigenschaften in Klassen
Ich habe mir endlich mal ein Tutorial für die Verwendung der FPU durchgelesen, und habe bereits ein Problem:
Folgende Klasse
Delphi-Quellcode:
bzw. ihre implementation
TTestClass = class
public i: integer; f: real; procedure test; end;
Delphi-Quellcode:
bereiten mir Sorgen:
procedure TTestClass.test;
var buff: real; begin buff := 0; asm mov EAX, i FLD buff FLD f end; end; mov EAX, i klappt einwandfrei FLD buff zum pushen von buff in die FPU-register klappt auch bei FLD f aber erhalte ich die Compilermeldung "Invalid combination of opcode and operands" Warum? Weil ich f in der Klasse deklariert habe? Wie kann ich dann darauf zugreifen? |
Re: ASM: Zugriff auf Eigenschaften in Klassen
Du musst wissen, in welchen Register deine Instanz liegt ;)
Hier ginge das ganz einfach mit
Delphi-Quellcode:
, wenn ich mich jetzt nicht falsch erinnere :) Vielleicht geht statt EAX auch f, müsste man mal testen.
fld [eax].TTestClass.f
|
Re: ASM: Zugriff auf Eigenschaften in Klassen
Zitat:
|
Re: ASM: Zugriff auf Eigenschaften in Klassen
Jab, genau :oops: Aber das dürfte für das Vorhaben eh tödlich sein ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz