Operation

IF VM=0 (* Not in Virtual-8086 Mode *)
THEN
IF OperandSize = 32
THEN push(EFLAGS AND 0FCFFFFH); (* VM and RF EFLAG bits are cleared *)
ELSE push(FLAGS);
FI;
ELSE (* In Virtual-8086 Mode *)
IF IOPL=3
THEN
IF OperandSize = 32
THEN push(EFLAGS AND 0FCFFFFH); (* VM and RF EFLAGS bits are cleared *)
ELSE push(FLAGS);
FI;
ELSE
#GP(0); (* Trap to virtual-8086 monitor *)
FI;
FI;


[Back: Description]
[Next: Protected Mode Exceptions]