Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
Delphi 12 Athens
|
Re: Trunc / Frac -> Wie funktionieren die intern?
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
|