?! удивляешь Для любых степеней: x<sup>y</sup>=e<sup>y*ln(x)</sup>=2<sup>y*log2(x)</sup> Поэтому юзай функцию типа Power (или Pow или т.п.), которая наверняка есть в любом HLL компиляторе. Стандартная упрощенная реализация возведения в степень на асме выглядит примерно так: Код (Text): fld qword [y] fld qword [x] fyl2x ;z=y*log2(x) fld st0 frndint ;i = целая часть z fxch st1 ;меняем местами: st0 = z, st1 = i fsub st0,st1 ;f = z - i - дробная часть f2xm1 ;z = 2^f-1 fld1 faddp ;z = 2^f fscale ;result = z * 2**i fstp qword [z] fstp st0 Реализация упрощенная - предполагает, что х > 0, иначе будет FPU-exception при fyl2x. Поэтому нужно добавить проверочку на x > 0.