FTST

TEST 坐标

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
D9 E4FTST有效有效比较ST(0)和0.0.

实测开销

正在从 arch-data 加载实测数据...

说明

将ST(0)寄存器中的值与0.0进行比较,并根据结果设置条件代号C0,C2,FPU状态单词中的C3(见下表).

FTST 结果

条件C3C2C0
ST(0) > 0.0000
ST(0) < 0.0001
ST(0) = 0.0100
无序111

行动

CASE (relation of operands) OF

    Not comparable: C3, C2, C0 := 111;

    ST(0) > 0.0:  C3, C2, C0 := 000;

    ST(0) < 0.0:  C3, C2, C0 := 001;

    ST(0) = 0.0:  C3, C2, C0 := 100;

ESAC;

FPU Flags Affected

C1                  Set to 0.

C0, C2, C3          See Table 3-42.

浮点 例外

#IS                 Stack underflow occurred.
#IA                 The source operand is a NaN value or is in an unsupported format.
#D                  The source operand is a denormal value.

异常

保护模式
#NMCR0.EM[bit 2] 或 CR0.TS[bit 3] = 1.
#MF如果存在待决的x87 FPU例外.
#UD如果使用 LOCK 前缀 。
实地址模式
与保护模式中的例外相同.
虚拟 8086 模式
与保护模式中的例外相同.
兼容模式
与保护模式中的例外相同.
64 位模式
与保护模式中的例外相同.

来源