Einzelnen Beitrag anzeigen

Dax
(Gast)

n/a Beiträge
 
#6

Re: asm-Befehle innerhalb eines Delphi Programmes

  Alt 12. Dez 2006, 16:52
Zitat von CarstenP:
Bah, warum ist das so schwer? Die einzige Möglichkeit die ich sehe, ist folgende:
function RSqrt(x: single): single;
var
r: single;
const
constZeroPointFive : single = 0.5;
asm
fld constZeroPointFive
....

Aber ist das nicht schon wieder sehr viel overhead?

Meine Frage wäre dann: Gibt es nicht einen einfacheren Weg eine KONSTANTE Gleitkommazahl in den Gleitkommastack zu werfen?
Nein, es ist optimal. Besseren Code als Delphi in diesem Fall produziert kannst du nicht machen. Außerdem erhöht es die Lesbarkeit ungemein...

Zu der zweiten Frage: es gibt einen. fld1 glaube ich heißt der und läd 1 auf den FPU-Stack..

PS: Die FPU rechnet mit 80(!) Bit, also präziser als Double mit 64.
  Mit Zitat antworten Zitat