Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#4

Re: Trunc / Frac -> Wie funktionieren die intern?

  Alt 27. Okt 2005, 16:51
Einfach mal als Beispiel an Trunc:
Delphi-Quellcode:
{ *********************************************************************** }
{                                                                         }
{ Delphi / Kylix Cross-Platform Runtime Library                           }
{ System Unit                                                             }
{                                                                         }
{ Copyright (c) 1988-2004 Borland Software Corporation                    }
{                                                                         }
{ Copyright and license exceptions noted in source                        }
{                                                                         }
{ *********************************************************************** }

procedure _TRUNC;
asm
       { ->    FST(0)   Extended argument       }
       { <-    EDX:EAX  Result                  }

        SUB ESP,12
        FNSTCW [ESP].Word // save
        FNSTCW [ESP+2].Word // scratch
        FWAIT
        OR [ESP+2].Word, $0F00 // trunc toward zero, full precision
        FLDCW [ESP+2].Word
        FISTP qword ptr [ESP+4]
        FWAIT
        FLDCW [ESP].Word
        POP ECX
        POP EAX
        POP EDX
end;
......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat