Áno presné to nebude nikdy...
Tu Ti dávam ako je implementovaná funkcia priamo z jednotky System (Delphi)
{$IF defined(CPUX64)}
function _Trunc(Val: Extended): Int64;
asm
.NOFRAME
CVTTSD2SI RAX, XMM0
end;
{$ELSEIF defined(CPUX86)}
procedure _TRUNC;
asm
{ -> FST(0) Extended argument }
{ <- EDX:EAX Result }
SUB ESP,12
{$IFDEF IOS} // iOS/Simulator
CALL FClearExcept
{$ENDIF IOS}
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
{$IFDEF IOS} // iOS/Simulator
CALL FCheckExcept
{$ENDIF IOS}
POP ECX
POP EAX
POP EDX
end;