## ALP Programming Guide and Reference

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

### Operation

    IF AddressSize = 16
    THEN use ES:DI for DestReg
    ELSE (* AddressSize = 32 *) use ES:EDI for DestReg;
    FI;
    IF byte type of instruction
    THEN
      (ES:DestReg)  AL;
      IF DF = 0
      THEN DestReg  DestReg + 1;
      ELSE DestReg  DestReg - 1;
      FI;
    ELSE IF OperandSize = 16
      THEN
        (ES:DestReg)  AX;
        IF DF = 0
        THEN DestReg  DestReg + 2;
        ELSE DestReg  DestReg - 2;
        FI;
      ELSE (* OperandSize = 32 *)
        (ES:DestReg)  EAX;
        IF DF = 0
        THEN DestReg  DestReg + 4;
        ELSE DestReg  DestReg - 4;
        FI;
      FI;
    FI;