8.3.2 指令分类
x87 FPU指令集大约有近100条指令,下面对这些指令作简要介绍,更进一步的资料请参阅附录A或文献[2]。
(1)数据传输指令
这些指令类似x86指令集中的MOV指令,它们将数据在数据寄存器之间、数据寄存器和内存之间进行传输。数据格式随指令不同,可能是浮点数,也可能是整数或BCD码。当源操作数和目的操作数的数据格式不一致时,还会进行数据格式转换。某些指令(例如FCMOVcc指令)有兼容性问题,P6系列以前的CPU不支持。见表8-4。
表8-4 数据传输指令
(2)常量装载指令
浮点运算中常用到一些常量,例如1.0和 ,x87 FPU内置了这些数据,方便使用。由于数据寄存器使用扩展双精度格式,因此这些内置数据的精度至少达到了64位的精度。见表8-5。
表8-5 常量装载指令
(3)基本算术指令
基本算术指令即常说的四则运算及其他一些相关指令。不过,不对称的双目运算符(例如减法和除法)引入了反向运算,这些指令完成同样的功能,但参数的位置正好颠倒了。引入这些指令的目的显然是减少数据寄存器操作,方便使用。见表8-6。
表8-6 基本算术指令
【责任编辑:
董书 TEL:(010)68476606】