<<<    Index    >>>
3-539
INSTRUCTION SET REFERENCE
POPF/POPFD—Pop Stack into EFLAGS Register (Continued)
EFLAGS 
<
 Pop(); 
(* All non-reserved flags except VIP, VIF, and VM can be modified; *)
(* VIP and VIF are cleared; VM is unaffected*)
ELSE (* OperandSize = 16 *)
EFLAGS[15:0] 
<
 Pop(); (* All non-reserved flags can be modified; *)
FI;
ELSE (* CPL > 0 *)
IF OperandSize = 32;
THEN 
EFLAGS 
<
 Pop()
(* All non-reserved bits except IOPL, VIP, and VIF can be modified; *)
(* IOPL is unaffected; VIP and VIF are cleared; VM is unaffected *)
ELSE (* OperandSize = 16 *)
EFLAGS[15:0] 
<
 Pop();
(* All non-reserved bits except IOPL can be modified *)
(* IOPL is unaffected *)
FI;
FI;
ELSE  (* In Virtual-8086 Mode *)
IF IOPL=3 
THEN IF OperandSize=32 
THEN 
EFLAGS 
<
 Pop()
(* All non-reserved bits except VM, RF, IOPL, VIP, and VIF *)
(* can be modified; VM, RF, IOPL, VIP, and VIF are unaffected *)
ELSE 
EFLAGS[15:0] 
<
 Pop()
(* All non-reserved bits except IOPL can be modified *)
(* IOPL is unaffected *)
FI;
ELSE (* IOPL < 3 *)
#GP(0);  (* trap to virtual-8086 monitor *)
FI;
FI;
FI;
Flags Affected
All flags except the reserved bits and the VM bit. 
<<<    Index    >>>