# STUI — Set User Interrupt Flag

Opcode/Instruction | Op/En | 64/32 bit Mode Support | CPUID Feature Flag | Description
--- | --- | --- | --- | ---
F3 0F 01 EF STUI | ZO | V/I | UINTR | Set user interrupt flag.

## Instruction Operand Encoding ¶

Op/En | Tuple | Operand 1 | Operand 2 | Operand 3 | Operand 4
--- | --- | --- | --- | --- | ---
ZO | N/A | N/A | N/A | N/A | N/A

## Description ¶

STUI sets the user interrupt flag (UIF). Its effect takes place immediately; a user interrupt may be delivered on the instruction boundary following STUI. (This is in contrast with STI, whose effect is delayed by one instruction).

An execution of STUI inside a transactional region causes a transactional abort; the abort loads EAX as it would have had it been due to an execution of STI.

## Operation ¶

    UIF := 1;

## Flags Affected ¶

None.

## Protected Mode Exceptions ¶

#UD | The STUI instruction is not recognized in protected mode.

## Real-Address Mode Exceptions ¶

#UD | The STUI instruction is not recognized in real-address mode.

## Virtual-8086 Mode Exceptions ¶

#UD | The STUI instruction is not recognized in virtual-8086 mode.

## Compatibility Mode Exceptions ¶

#UD | The STUI instruction is not recognized in compatibility mode.

## 64-Bit Mode Exceptions ¶

#UD | If the LOCK prefix is used.
If executed inside an enclave.
If CR4.UINTR = 0.
If CPUID.07H.0H:EDX.UINTR[bit 5] = 0.