ITEEDU

11.3.4 比较运算指令

使用比较指令是将栈顶中的数与其它操作数进行比较,比较结果存于状态寄存器的条件编码位C3~C0处(参阅表11.2)。具体的比较运算指令及其功能描述如表11.5所列。

表11.5 比较运算指令及其功能

指令格式 指令的功能

FCOM

将栈顶数据与另一个操作数进行比较,该操作数可以存储在堆栈寄存器中,也可存储在内存中。

当在指令中不指定操作数时,其默认的操作数是ST和ST(1)。

FCOMP/FCOMPP

此指令的比较功能与FCOM相一致,所不同的是指出从堆栈中弹出一个,还是二个数据。

FICOM MemInt

FICOMP MemInt

栈顶数据与内存单元进行整数比较。指令FICOMP还要弹出栈顶数据。

FUCOM [STReg]

FUCOMP [STReg]

FUCOMPP

反向比较,其功能与上面同类指令类似。

FTST

栈顶数据与0进行比较。比较结果对条件编码位的影响如表11.2所示。

FXAM

检测栈顶数据是正数、负数,还是规格化数。比较结果对条件编码位的影响如表11.2所示。