CLAC

EFLAGS 登记册中清除 AC 旗

stableVMJITAOTinstruction

编码

操作码指令Op/En64 位兼容/传统说明
NP 0F 01 CACLACZO有效有效在 EFLAGS 登记册中清除 AC 旗 。

实测开销

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

涉及的标志位

说明

清除 EFLAGS 寄存器中的 AC 旗位 。 这禁止对用户模式数据访问进行校对检查。 如果 SMAP 位被设置在 CR4 注册簿中,则这不允许用户-mode 页面有明确的主管-模式数据访问.

此指令的操作在非64位模式和64位模式中是相同的. 当CPL > 0导致#UD时,试图执行CLAC.

行动

EFLAGS.AC := 0;

受影响的旗帜

AC清除。 其他旗帜不受影响.

异常

保护模式
#UD如果使用 LOCK 前缀,如果使用 CPL > 0,如果使用 CPUID.07H.00H: EBX.SMAP[20] = 0.
实地址模式
#UD如果使用 LOCK 前缀。如果 CPUID.07H.00H: EBX.SMAP[20] = 0.
虚拟 8086 模式
#UDCLAC指令在虚拟 8086 模式中不被识别.
兼容模式
#UD如果使用 LOCK 前缀,如果使用 CPL > 0,如果使用 CPUID.07H.00H: EBX.SMAP[20] = 0.
64 位模式
#UD如果使用 LOCK 前缀,如果使用 CPL > 0,如果使用 CPUID.07H.00H: EBX.SMAP[20] = 0.

来源