hiMathParse писал(а):
function IntPower(const Base:Extended; const Exponent:Integer):Extended;
asm
fld1 { Result := 1 }
fld Base
test eax,eax
jg @@2
fdivr ST,ST(1) { Base := 1 / Base }
neg eax
jnz @@2
jmp @@3
@@1: fmul ST,ST { X := Base * Base }
@@2: shr eax,1
jnc @@1
fmul ST(1),ST { Result := Result * X }
jnz @@1
@@3: fstp st { pop X from FPU stack }
fwait
end;