## ALP Programming Guide and Reference

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

### Operation

    IF AddressSize = 16 THEN CountReg is CX ELSE CountReg is ECX; FI;
    CountReg  CountReg - 1;

    IF instruction<> LOOP
    THEN
       IF (instruction = LOOPE) OR (instruction = LOOPZ)
       THEN BranchCond  (ZF = 1) AND (CountReg <> 0);
       FI;
       IF (instruction = LOOPNE) OR (instruction = LOOPNZ)
       THEN BranchCond  (ZF = 0) AND (CountReg <> 0);
       FI;
    FI;

    IF BranchCond
    THEN
       IF OperandSize = 16
       THEN
         IP  IP + SignExtend(rel8);
       ELSE (* OperandSize = 32 *)
         EIP  EIP + SignExtend(rel8);
       FI;
    FI;