У меня есть библиотека, которая использует ассемблерный код для некоторых функций, и я хотел бы скомпилировать ее на x64, конечно, с ошибками. Кто-нибудь может быть так любезен, чтобы исправить это (и, возможно, даже объяснить мне, ПОЧЕМУ эти функции написаны на ASM)?
function Trunc(const x : Single) : Integer; register;
const cwChop : Word = $1F3F;
asm
SUB ESP,8
FSTCW [ESP]
FLDCW cwChop
FLD x
FISTP dword ptr [ESP+4]
FLDCW [ESP]
POP ECX
POP EAX
end;
function Frac(const x : Single) : Single; register;
begin
Result := x - Trunc(x);
end;
function Round(const x : Single) : Integer; register;
asm
SUB ESP,4
FLD x
FISTP dword ptr [ESP]
POP EAX
end;
самое скромное спасибо!