分类:
2007-04-30 09:35:30
PUSH指令
该指令用于向运算栈中压入一个操作数。
DUP指令
该指令复制一个栈顶的操作数,并将这个副本压入运算栈。
这条指令的设计源于IL汇编语言中的dup指令,该指令可以用于将中间结果复制一份,并将副本输出,原操作数仍留在栈中进行下一步运算
OUT指令
该指令将栈顶操作数输出到标准输出中。
2、运算指令
这一组指令用于进行具体的运算,其基本运行机理是按照从右到左的规则从运算栈中推出各个操作数,再将运算结果压入运算栈。这一组指令中又分为以下一些类型:
a. 四则运算指令
ADD指令
该指令从运算栈中弹出两个操作数,进行加法运算后将结果压入运算栈。
SUB指令
该指令从运算栈中弹出两个操作数,进行减法运算后将结果压入运算栈。
MUL指令
该指令从运算栈中弹出两个操作数,进行乘法运算后将结果压入运算栈。
DIV指令
该指令从运算栈中弹出两个操作数,进行除法运算后将结果压入运算栈。
b. 指数运算指令
EXP指令
该指令从运算栈中弹出一个操作数,计算以e为底的指数ex值,并将结果压入运算栈。
SQR指令
该指令从运算栈中弹出一个操作数,计算它的平方,并将结果压入运算栈。
CUB指令
该指令从运算栈中弹出一个操作数,计算它的立方,并将结果压入运算栈。
POW指令
该指令从运算栈中弹出连个操作数,设先出栈的操作数为y,后出栈的操作数为x,计算xy,并将结果压入运算栈。
SQRT指令
该指令从运算栈中弹出一个操作数,计算它的平方根,并将结果压入运算栈。
CBRT指令
该指令从运算栈中弹出一个操作数,计算它的立方根,并将结果压入运算栈。
c. 对数运算指令
LN指令
该指令从运算栈中弹出一个操作数,计算它的以e为底的对数,并将结果压入运算栈。
LG指令
该指令从运算栈中弹出一个操作数,计算它的以10为底的对数,并将结果压入运算栈。
LOG指令
该指令从运算栈中弹出两个操作数,计算logxy,并将结果压入运算栈。
d. 三角函数运算指令
SIN指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角正弦值,并将结果压入运算栈。
CON指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角余弦值,并将结果压入运算栈。
TAN指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角正切值,并将结果压入运算栈。
CTN指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的三角余切值,并将结果压入运算栈。
e. 反三角函数运算指令
ASIN指令
该指令从运算栈中弹出一个操作数,计算它的三角反正弦值(弧度),并将结果压入运算栈。
ACOS指令
该指令从运算栈中弹出一个操作数,计算它的三角反余弦值(弧度),并将结果压入运算栈。
ATAN指令
该指令从运算栈中弹出一个操作数,计算它的三角反正切值(弧度),并将结果压入运算栈。
ACTN指令
该指令从运算栈中弹出一个操作数,计算它的三角反余切值(弧度),并将结果压入运算栈。
f. 双曲函数运算指令
SINH指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的双曲正弦值,并将结果压入运算栈。
COSH指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的双曲余弦值,并将结果压入运算栈。
TANH指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的双曲正切值,并将结果压入运算栈。
CTNH指令
该指令从运算栈中弹出一个操作数,计算它(弧度)的双曲余切值,并将结果压入运算栈。
g. 反双曲函数运算指令
ASINH指令
该指令从运算栈中弹出一个操作数,计算它的双曲反正弦值(弧度),并将结果压入运算栈。
ACOSH指令
该指令从运算栈中弹出一个操作数,计算它的双曲反余弦值(弧度),并将结果压入运算栈。
ATANH指令
该指令从运算栈中弹出一个操作数,计算它的双曲反正切值(弧度),并将结果压入运算栈。
ACTNH指令
该指令从运算栈中弹出一个操作数,计算它的双曲反余切值(弧度),并将结果压入运算栈。