Вверх ↑
Ответов: 8961
Рейтинг: 824
#1: 2011-09-01 14:44:18 ЛС | профиль | цитата
flint2,
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;

карма: 19

0