This document describes the Jcc family of conditional jump instructions in x86 assembly language. It provides the instruction name, description of the condition tested, and any alternative mnemonics or opposite instructions. The instructions test various CPU flags like carry, zero, sign, overflow, parity, and compare values based on signed or unsigned arithmetic.
Report
Share
Report
Share
1 of 2
More Related Content
Misc
1. Jcc Instructions That Test Flags
Instruction Description Condition Aliases Opposite
JC Jump if carry Carry = 1
JB,
JNAE
JNC
JNC Jump if no carry Carry = 0
JNB,
JAE
JC
JZ Jump if zero Zero = 1 JE JNZ
JNZ Jump if not zero Zero = 0 JNE JZ
JS Jump if sign Sign = 1 - JNS
JNS Jump if no sign Sign = 0 - JS
JO
Jump if
overflow
Ovrflw=1 - JNO
JNO
Jump if no
Ovrflw
Ovrflw=0 - JO
JP Jump if parity Parity = 1 JPE JNP
JPE
Jump if parity
even
Parity = 1 JP JPO
JNP
Jump if no
parity
Parity = 0 JPO JP
JPO
Jump if parity
odd
Parity = 0 JNP JPE
Jcc Instructions for Unsigned Comparisons
Instruction Description Condition Aliases Opposite
JA Jump if above (>)
Carry=0,
Zero=0
JNBE JNA
JNBE
Jump if not below or
equal (not <=)
Carry=0,
Zero=0
JA JBE
JAE
Jump if above or
equal (>=)
Carry = 0
JNC,
JNB
JNAE
JNB
Jump if not below
(not <)
Carry = 0
JNC,
JAE
JB
JB Jump if below (<) Carry = 1
JC,
JNAE
JNB
JNAE
Jump if not above or
equal (not >=)
Carry = 1 JC, JB JAE
JBE
Jump if below or
equal (<=)
Carry = 1 or
Zero = 1
JNA JNBE
JNA
Jump if not above
(not >)
Carry = 1 or
Zero = 1
JBE JA
JE Jump if equal (=) Zero = 1 JZ JNE
JNE Jump if not equal () Zero = 0 JNZ JE
Jcc Instructions for Signed Comparisons
Instruction Description Condition AliasesOpposite
JG Jump if greater (>)
Sign = Ovrflw
or Zero=0
JNLE JNG
2. JNLE
Jump if not less than
or equal (not <=)
Sign = Ovrflw
or Zero=0
JG JLE
JGE
Jump if greater than
or equal (>=)
Sign = Ovrflw JNL JGE
JNL
Jump if not less than
(not <)
Sign = Ovrflw JGE JL
JL Jump if less than (<) Sign Ovrflw JNGE JNL
JNGE
Jump if not greater or
equal (not >=)
Sign Ovrflw JL JGE
JLE
Jump if less than or
equal (<=)
Sign Ovrflw or
Zero = 1
JNG JNLE
JNG
Jump if not greater
than (not >)
Sign Ovrflw or
Zero = 1
JLE JG
JE Jump if equal (=) Zero = 1 JZ JNE
JNE Jump if not equal () Zero = 0 JNZ JE