111111
精灵王
精灵王
  • 注册日期2010-12-08
  • 发帖数640
  • QQ
  • 火币1103枚
  • 粉丝120
  • 关注75
  • 社区明星
阅读:8021回复:0

经典汇编语言教程:11.3.6 常数操作指令等

楼主#
更多 发布于:2013-01-29 11:53

为了计算的方便,协处理器提供了几个将常用常数压栈的指令。如表11.7所示。
表11.7 常数压栈指令及其常数值
指令格式指令的功能指令格式指令的功能
FLDZST=+0.0FLDL2TST= log210
FLD1ST=+1.0FLDLG2ST= log102
FLDPIST=π
FLDLN2ST= loge2
FLDL2EST=log2e


11.3.7 协处理器控制指令


协处理器控制指令是用来实现控制协处理器状态而设置的,它包括协处理器的初始化、状态寄存器内容的存?⒁斐4砗腿挝袂谢坏炔僮鳌>咛宓闹噶罴捌涔δ芩得魅绫?1.8所列。
表11.8 比较运算指令及其功能

指令格式

指令的功能

FINIT/FNINIT

初始化协处理器,初始化后协处理器的状态如表11.9所列。

FLDCW Mem16

将由操作数指定的字存储单元内容存储到控制寄存器中。

FSTCW Mem16
FNSTCW Mem16

把控制寄存器的内容存储到由操作数指定的字存储单元。与指令“FLDCW”相对应。

FSTSW Mem16
FSTSW AX
FNSTSW Mem16
FNSTSW AX

将控制寄存器的内容传送到寄存器AX中。
在8087协处理器中无此指令。

FCLEX/FNCLEX

清除状态寄存器中的“错误”和“忙”标志。

FSAVE Mem
FNSAVE Mem

将全部机器状态存储到内存中。

FRSTOR Mem

从内存复原机器状态,它可恢复由指令“FSAVE/FNSAVE”保存的信息。

FSTENV Mem
FNSTENVMem

存储协处理器环境。

FLDENV Mem

重新装入由指令FSTENV/FNSTENV存储的协处理器环境

FINCST

堆栈指针加1。

FDECSTP

堆栈指针减1。

FFREE ST(i)

释放堆栈寄存器,即使其标记为空,但其内容并没有改变。

FNOP

协处理器的空操作

FWAIT

使处理器处于等待状态,以便协处理器完成其操作。该指令主要用于在cpu访问被协处理器影响的内存数据之前。

表11.9 协处理器初始化的状态
控制项状态含义

控制位IC

0

投影

控制位PC

10

扩展精度

控制位RC

00

最近舍入或偶数

错误屏蔽

11111

错误位关闭

忙标志

0

不忙

C3~C0

????

未定

TOP

000

堆栈栈顶设定为寄存器0

ES

0

无错误

错误位

00000

无错误

全部标记

11


寄存器

--

不改变

喜欢0 评分0
游客

返回顶部