FINCSTP
堆栈-托普指针
stableVMJITAOTinstruction
编码
| 操作码 | 指令 | Op/En | 64 位 | 兼容/传统 | 说明 |
|---|---|---|---|---|---|
D9 F7 | FINCSTP | 有效 | 有效 | 在 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.
异常
保护模式
#NM | CR0.EM[bit 2] 或 CR0.TS[bit 3] = 1. |
#MF | 如果存在待决的x87 FPU例外. |
#UD | 如果使用 LOCK 前缀 。 |
实地址模式
| 与保护模式中的例外相同. |
虚拟 8086 模式
| 与保护模式中的例外相同. |
兼容模式
| 与保护模式中的例外相同. |
64 位模式
| 与保护模式中的例外相同. |