## ALP Programming Guide and Reference

[prev][next][parent][TOC]

### 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;