Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Einfache Funktion in asm übersetzen...

  Alt 5. Okt 2005, 22:46
Ich würde "faddp" benutzen, dann bleibt aufm FPU-Stack nachher nix über. Ich weiss nicht ob das schlimm wäre, aber folgende Variante verrichtet bei mir oft und gut ihre Arbeit:
Delphi-Quellcode:
function VectorLength(const v:array of single ):single;
asm
  fld dword ptr [eax]
  fmul st(0), st(0)
  fld dword ptr [eax+4]
  fmul st(0), st(0)
  fld dword ptr [eax+8]
  fmul st(0), st(0)
  faddp
  faddp
  fsqrt
  fstp result;
end;
Und du hast die Zuweisung an Result vergessen .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat