Execution Control Instructions

JMP     target       unconditionally transfer control to target
                         short: IP←(IP+(target displacement sign-extended))
                          near: IP←(IP+(target displacement))
                      indirect: IP←(register or value in memory)
                           far: SS←target_seg; IP←target_offset

JCXZ    shortLbl  jump if CX==0

LOOP    shortLbl  CX←(CX-1) jump if CX!=0
LOOPE/  shortLbl  CX←(CX-1) jump if CX!=0 && ZF==ZR==1
 LOOPZ
LOOPNE/ shortLbl  CX←(CX-1) jump if CX!=0 && ZF==NZ==0
 LOOPNZ

Jccc    shortLbl  jump when condition ccc is met
                      IP←(IP+(8-bit displacement sign-extended to 16 bits))

JA/JNBE shortLbl  jump if Above ((CF & ZF)==0 after unsigned math)
JAE/JNB shortLbl  jump if Above or Equal (CF==NC==0 after unsigned math)
JB/JC   shortLbl  jump if Below/Jump if Carry set (CF==CY==1)
JE/JZ   shortLbl  jump if Equal (ZF==ZR==1)
JG/JNGE shortLbl  jump if Greater (SF==(OF & ZF) after signed math)
JGE/JNL shortLbl  jump if Greater or Equal (SF==OF after signed math)
JL/JNGE shortLbl  jump if Less (ZF != OF after signed math)
JLE/JNG shortLbl  jump if Less or Equal (SF!=OF || ZF==0 after signed math)
JNC     shortLbl  jump if carry not set (CF==NC==0) (same as JAE/JNB)
JNE/JNZ shortLbl  jump if Not Equal (ZF==NZ==0)
JNO     shortLbl  jump if Not Overflow (OF==NO==0)
JNP/JPO shortLbl  jump if Parity Odd (PF==PO==0: count of 1-bits is ODD)
JNS     shortLbl  jump if Not Sign (SF==PL==0: same as high-bit of dest)
JO      shortLbl  jump if Overflow (OF==OV==1)
JP/JPE  shortLbl  jump if Parity Even (PF==PE==1 count of 1-bits is EVEN)
JS      shortLbl  jump if Sign (SF==NG==1: same as high-bit of dest)

BOUND reg16,lmts  perform limit-check on reg16.  lmts is the address of
                  a 2-word table with desired min/max limits           286+
                  if (reg16lmts]) or (reg16>DS:[lmts+2]) then INT 5

ENTER frmsiz,frms set high-level language stack frame.  Use as the first
                  operation in a CALLed procedure.   Same as:          286+
                   PUSH BP;      (repeated frms times)
                   MOV BP,SP;
                   PUSH SP;
                   SUB SP,frmsiz; (allocate dynamic space on stack)

LEAVE             undo the effect of ENTER.  Use just before RET.
                  Restores SP and BP to values at time of ENTER.

INT type          perform a software interrupt (call a system function)
                   PUSHF; IF←0; TF←0;
                   PUSH CS; PUSH IP
                   IP← 0000:[type * 4]; CS ← 0000:[(type * 4) + 2]

INTO type         if OF==OV==1, then perform INT type

IRET              return from interrupt.  Effectively the same as:
                   POP IP; POP CS; POPF

NOP               do nothing (actually performs XCHG AX,AX)
────────────────────────────────────────────────────────────────────────────
                                                            Instruction Set