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