FXAM

检查 浮点

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
D9 E5FXAM有效有效在 ST( 0) 中分类值或数字 。

实测开销

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

说明

检查ST(0)注册的内容,并在FPU状态单词中设置条件代码标记C0,C2和C3,以表示注册簿中的值或数字类别(见下表).

。 。 。 。 表3-44. 妇女状况 FXAM 结果

                         Class                                C3            C2                              C0

Unsupported 0 0 0

NaN 0 0 1

正常限号 0 1 0

Infinity 0 1 1

Zero 1 0 0

Empty 1 0 1

异常数 1 10

C1旗设定为ST(0)中的值符号,无论寄存器是空的还是满的. 此指令的操作在非64位模式和64位模式中是相同的.

行动

C1 := sign bit of ST; (* 0 for positive, 1 for negative *)

CASE (class of value or number in ST(0)) OF

    Unsupported:C3, C2, C0 := 000;

    NaN:        C3, C2, C0 := 001;

    Normal:     C3, C2, C0 := 010;

    Infinity:   C3, C2, C0 := 011;

    Zero:       C3, C2, C0 := 100;

    Empty:      C3, C2, C0 := 101;

    Denormal: C3, C2, C0 := 110;

ESAC;

FPU Flags Affected

C1                       Sign of value in ST(0).

C0, C2, C3               See Table 3-44.

浮点 例外

None.

异常

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

来源