Chinaunix首页 | 论坛 | 博客
  • 博客访问: 450775
  • 博文数量: 179
  • 博客积分: 3236
  • 博客等级: 中校
  • 技术积分: 1860
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-25 19:13
文章分类

全部博文(179)

文章存档

2011年(34)

2008年(8)

2007年(27)

2006年(110)

分类:

2007-04-30 09:35:30

虚拟机指令型计算器指令系统说明
 
1、运算栈控制指令
 
这一组指令用于对运算栈进行控制,包括下面这些指令:

 

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指令

    该指令从运算栈中弹出一个操作数,计算它的双曲反余切值(弧度),并将结果压入运算栈。

阅读(1451) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~