Реферат: Варианты алгоритма возведения в степень повышение точности и ускорение
asm
fld y
fld x
fldz
fcomip st,st(1)
je @Zero
fld1 (*)
fsub st(1),st (*)
fld st(1) (*) //st(0)=1; st(1)=st(3)=t=x-1, st(2)=1, st(4)=y
fld1 (*)
fadd st,st (*)
fdivp st(2),st (*) //st(0)=st(2)=t, st(1)=1/2, st(3)=y
fmul st,st (*)
fmulp st(1),st (*) //st(0)=1/2*t*t, st(1)=t, st(2)=y
fsubp st(1),st (*) //st(0)=t-t*t/2 ~ ln(x), st(1)=y
fldl2e (*) //Загружаем константу log2(e)
fmulp (*) //st(0)~log2(x), st(1)=y
fmulp (*) //st(0)~y*log2(x)
fldz
fcomip st,st(1)
ja @Reverse
call Core_Exp2
jmp @Exit
@Zero:
fxch st(1)
fstp st //Освобождаем ненужный регистр
jmp @Exit
@Reverse:
fabs