FRNDINT

回合到整数

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
D9 FCFRNDINT有效有效回合 ST( 0) 到整数 。

实测开销

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

说明

根据当前四舍五入模式(设置FPU控制字的RC字段),将ST(0)登记册中的源值四舍五入到最接近的整体值,并将结果存储在ST(0)中.

如果源值为 ,则该值不变。 如果源值不是整体值,则生成 浮点 不精确结果例外(#P).

此指令的操作在非64位模式和64位模式中是相同的.

行动

ST(0) := RoundToIntegralValue(ST(0));

FPU Flags Affected

C1                  Set to 0 if stack underflow occurred.

                    Set if result was rounded up; cleared otherwise.

C0, C2, C3          Undefined.

浮点 例外

#IS                 Stack underflow occurred.
#IA                 Source operand is an SNaN value or unsupported format.
#D                  Source operand is a denormal value.
#P                  Source operand is not an integral value.

异常

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

来源