FSCALE

缩放

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
D9 FDFSCALE有效有效由ST(1)缩放ST(0).

实测开销

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

说明

将 源操作数 中的值( 向 0) 切换为整体值, 并将该值添加到 目标操作数 的参数中 。 目的地和源操作数分别位于ST(0)和ST(1)登记册中的浮点值. 本指令提供2个整体权力的快速乘法或分割. 下表显示在假定不出现溢出或流量不足的情况下,对各类数字进行缩放的结果。

FSCALE 结果

ST(0)-F-0-F-F-F-F-纳恩
-0-0-0-0-0-0纳恩纳恩
+0+0+0+0+0+0纳恩纳恩
+F+0+F+F+F+F+纳恩
+纳恩+++++纳恩
纳恩纳恩纳恩纳恩纳恩纳恩纳恩纳恩

行动

ST(0) := ST(0)  2RoundTowardZero(ST(1));

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.
#U             Result is too small for destination format.
#O             Result is too large for destination format.
#P             Value cannot be represented exactly in destination format.

异常

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

来源