FINCSTP

堆栈-托普指针

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
D9 F7FINCSTP有效有效在 FPU 状态登记册中增加 TOP 字段 。

实测开销

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

说明

在 FPU 状态单词的 TOP 字段中添加一个(插入 栈指针 的顶部). 如果 TOP 字段包含一个 7,则设置为 0. 此指令的效果是将堆栈旋转为一个位置. FPU数据登记册和标记登记册的内容不受影响。 此操作不等同于弹出堆栈, 因为上一个顶层寄存器的标记不是空的 。

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

行动

IF TOP = 7

    THEN TOP := 0;
    ELSE TOP := TOP + 1;
FI;

FPU Flags Affected
The C1 flag is set to 0. The C0, C2, and C3 flags are undefined.

浮点 例外

None.

异常

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

来源