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

11.3.6 常数操作指令等

为了计算的方便,协处理器提供了几个将常用常数压栈的指令。如表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

寄存器

--

不改变

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号