Appendix C. EFLAGS Cross-Reference

Table C-1 summarizes how the instructions affect the flags in the EFLAGS register. The following codes describe how the flags are affected:

T Instruction tests flag.
M Instruction modifies flag (either sets or resets depending on operands).
0 Instruction resets flag.
1 Instruction sets flag.
- Instruction's effect on flag is undefined.
R Instruction restores prior value of flag.
Blank Instruction does not affect flag.

For the meaning of each of the flags, see Section 4.1.1.

Table C-1. EFLAGS Cross-Reference

Instruction OF SF ZF AF PF CF TF IF DF NT RF
AAA - - - TM - M          
AAD - M M - M -          
AAM - M M - M -          
AAS - - - TM - M          
ADC M M M M M TM          
ADD M M M M M M          
AND 0 M M - M 0          
ARPL     M                
BOUND                      
BSF/BSR - - M - - -          
BSWAP                      
BT/BTS/BTR/BTC - - - - - M          
CALL                      
CBW                      
CLC           0          
CLD                 0    
CLI               0      
CLTS                      
CMC           M          
CMOVcc T T T   T T          
CMP M M M M M M          
CMPS M M M M M M     T    
CMPXCHG M M M M M M          
CMPXCHG8B     M                
COMSID 0 0 M 0 M M          
COMISS 0 0 M 0 M M          
CPUID                      
CWD                      
DAA - M M TM M TM          
DAS - M M TM M TM          
DEC M M M M M            
DIV - - - - - -          
ENTER                      
ESC                      
FCMOVcc     T   T T          
FCOMI, FCOMIP, FUCOMI, FUCOMIP     M   M M          
HLT                      
IDIV - - - - - -          
IMUL M - - - - M          
IN                      
INC M M M M M            
INS                 T    
INT             0     0  
INTO T           0     0  
INVD                      
INVLPG                      
UCOMSID 0 0 M 0 M M          
UCOMISS 0 0 M 0 M M          
IRET R R R R R R R R R T  
Jcc T T T   T T          
JCXZ                      
JMP                      
LAHF                      
LAR     M                
LDS/LES/LSS/LFS/LGS                      
LEA                      
LEAVE                      
LGDT/LIDT/LLDT/LMSW                      
LOCK                      
LODS                 T    
LOOP                      
LOOPE/LOOPNE     T                
LSL     M                
LTR                      
MOV                      
MOV control, debug, test - - - - - -          
MOVS                 T    
MOVSX/MOVZX                      
MUL M - - - - M          
NEG M M M M M M          
NOP                      
NOT                      
OR 0 M M - M 0          
OUT                      
OUTS                 T    
POP/POPA                      
POPF R R R R R R R R R R  
PUSH/PUSHA/PUSHF                      
RCL/RCR 1 M         TM          
RCL/RCR count -         TM          
RDMSR                      
RDPMC                      
RDTSC                      
REP/REPE/REPNE                      
RET                      
ROL/ROR 1 M         M          
ROL/ROR count -         M          
RSM M M M M M M M M M M M
SAHF   R R R R R          
SAL/SAR/SHL/SHR 1 M M M - M M          
SAL/SAR/SHL/SHR count - M M - M M          
SBB M M M M M TM          
SCAS M M M M M M     T    
SETcc T T T   T T          
SGDT/SIDT/SLDT/SMSW                      
SHLD/SHRD - M M - M M          
STC           1          
STD                 1    
STI               1      
STOS                 T    
STR                      
SUB M M M M M M          
TEST 0 M M - M 0          
UD2                      
VERR/VERRW     M                
WAIT                      
WBINVD                      
WRMSR                      
XADD M M M M M M          
XCHG                      
XLAT                      
XOR 0 M M - M 0