STAC
		— Set AC Flag in EFLAGS Register
| Opcode/Instruction | Op / En | 64/32 bit Mode Support | CPUID Feature Flag | Description | 
| NP 0F 01 CB STAC | ZO | V/V | SMAP | Set the AC flag in the EFLAGS register. | 
Instruction Operand Encoding
			¶
		
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 | 
| ZO | NA | NA | NA | NA | 
Description
			¶
		
Sets the AC flag bit in EFLAGS register. This may enable alignment checking of user-mode data accesses. This allows explicit supervisor-mode data accesses to user-mode pages even if the SMAP bit is set in the CR4 register.
This instruction's operation is the same in non-64-bit modes and 64-bit mode. Attempts to execute STAC when CPL > 0 cause #UD.
Operation
			¶
		
EFLAGS.AC ← 1;
Flags Affected
			¶
		
AC set. Other flags are unaffected.
Protected Mode Exceptions
			¶
		
| #UD | If the LOCK prefix is used. | 
| If the CPL > 0. | 
| If CPUID.(EAX=07H, ECX=0H):EBX.SMAP[bit 20] = 0. | 
Real-Address Mode Exceptions
			¶
		
| #UD | If the LOCK prefix is used. | 
| If CPUID.(EAX=07H, ECX=0H):EBX.SMAP[bit 20] = 0. | 
Virtual-8086 Mode Exceptions
			¶
		
| #UD | The STAC instruction is not recognized in virtual-8086 mode. | 
Compatibility Mode Exceptions
			¶
		
| #UD | If the LOCK prefix is used. | 
| If the CPL > 0. | 
| If CPUID.(EAX=07H, ECX=0H):EBX.SMAP[bit 20] = 0. | 
64-Bit Mode Exceptions
			¶
		
| #UD | If the LOCK prefix is used. | 
| If the CPL > 0. | 
| If CPUID.(EAX=07H, ECX=0H):EBX.SMAP[bit 20] = 0. |