ITEEDU

11.3.5 超越函数运算指令

超越函数运算指令是用来实现三角函数或一些特殊的算术表达式而设置的,具体的指令及其功能说明如表11.6所列。

表11.6 超越函数运算指令及其功能

指令格式 指令的功能

FPTAN

求部分Y/X=tanθ,角度θ存于栈顶,其结果:

ST=X,ST(1)=Y

(1)、在8087-80287中,角度θ的范围上是0~π/4;

(2)、在80387以后的协处理器中,角度θ的范围上是0~263;

如果交度超过其取值范围,则状态IE标定为非法错误。

FPATAN

求部分反正切值θ=arctan(X/Y),X取自ST,Y取自ST(1);

其中:X和Y必须满足:0≤Y<X<∞;

指令执行时进行一次弹出操作,结果存入栈顶。

F2XM1

求2X-1的值,X取自栈顶,结果也存放栈顶,X的取值范围:-1~1。

FCOS或FSIN

求栈顶ST中角度的正弦或余弦值,ST中存放的是弧度。

运算结果也存于ST。

FSINCOS

求栈顶ST中角度的正弦和余弦值,ST中存放的是弧度。

运算结果:ST=正弦值,ST(1)=余弦值。

FYL2X

计算Ylog2X的值,X=ST,Y=ST(1),其中:X>0。

结果存入有一个弹出操作后的栈顶。

FYL2XP1

计算Ylog2(X+1)的值,X=ST,Y=ST(1),其中:0<X<1-2-0.5。

结果存入有一个弹出操作后的栈顶。