Ich habe mir endlich mal ein Tutorial für die Verwendung der FPU durchgelesen, und habe bereits ein Problem:
Folgende Klasse
Delphi-Quellcode:
TTestClass = class
public
i: integer;
f: real;
procedure test;
end;
bzw. ihre implementation
Delphi-Quellcode:
procedure TTestClass.test;
var
buff: real;
begin
buff := 0;
asm
mov EAX, i
FLD buff
FLD f
end;
end;
bereiten mir Sorgen:
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?