Delphi 2 und interner ASM

Hi zusammen,

Nachdem mir gestern so prima geholfen wurde habe ich heute nocheinmal eine Frage zum internen ASM in Delphi 2.
Folgendes:

Ich möchte in einem Delphi-Programm ein paar Assembler-Anweisungen laufen lassen und dazu eine Variable an den interen ASM übergeben und nach den ASM-Anweisungen auch wieder das Ergebnis an Delphi zurückgeben (z.B. aus EAX).

Die ASM-Anweisungen laufen schon ganz gut. Lediglich die Übergabe einer Variablen an den ASM und die Rücklieferung des Wertes will nicht so richtig funktionieren. Kann mir da eventuell ein versierter Delphi-Fachmann(frau) weiterhelfen.

(ein kleines Beispiel zum ausprobieren wäre nett)

Vielen Dank im voraus.

Tom

Hallo Thomas,

im Prinzip ist es einfach:

// Fakultät von n

function fak(n: Integer): Integer;
begin
 asm
 mov ecx, n
 xor eax, eax
 cdq
 @@1:
 mul ecx
 loop @@1
 mov @Result, eax
 end;
end;

Alles klar?

Roland