TESTUI
— Determine User Interrupt Flag
Opcode/Instruction |
Op/En |
64/32 bit Mode Support |
CPUID Feature Flag |
Description |
F3 0F 01 ED TESTUI |
ZO |
V/I |
UINTR |
Copies the current value of UIF into EFLAGS.CF. |
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 |
TESTUI copies the current value of the user interrupt flag (UIF) into EFLAGS.CF. This instruction can be executed regardless of CPL.
TESTUI may be executed normally inside a transactional region.
Operation
¶
CF := UIF;
ZF := AF := OF := PF := SF := 0;
Flags Affected
¶
The ZF, OF, AF, PF, SF flags are cleared and the CF flags to the value of the user interrupt flag.
Protected Mode Exceptions
¶
#UD |
The TESTUI instruction is not recognized in protected mode. |
Real-Address Mode Exceptions
¶
#UD |
The TESTUI instruction is not recognized in real-address mode. |
Virtual-8086 Mode Exceptions
¶
#UD |
The TESTUI instruction is not recognized in virtual-8086 mode. |
Compatibility Mode Exceptions
¶
#UD |
The TESTUI 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. |