Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1542

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

Jcc—Jump if Condition Is Met (Continued)
Opcode
0F 8D cw/cd
0F 8C cw/cd
0F 8E cw/cd
0F 86 cw/cd
0F 82 cw/cd
0F 83 cw/cd
0F 87 cw/cd
0F 83 cw/cd
0F 85 cw/cd
0F 8E cw/cd
0F 8C cw/cd
0F 8D cw/cd
0F 8F cw/cd
0F 81 cw/cd
0F 8B cw/cd
0F 89 cw/cd
0F 85 cw/cd
0F 80 cw/cd
0F 8A cw/cd
0F 8A cw/cd
0F 8B cw/cd
0F 88 cw/cd
0F 84 cw/cd
Description
Checks the state of one or more of the status flags in the EFLAGS register (CF, OF, PF,
SF, and ZF) and, if the flags are in the specified state (condition), performs a jump to
the target instruction specified by the destination operand. A condition code (cc) is
associated with each instruction to indicate the condition being tested for. If the
condition is not satisfied, the jump is not performed and execution continues with the
instruction following the Jcc instruction.
The target instruction is specified with a relative offset (a signed offset relative to the
current value of the instruction pointer in the EIP register). A relative offset (rel8, rel16,
or rel32) is generally specified as a label in assembly code, but at the machine code
level, it is encoded as a signed, 8-bit or 32-bit immediate value, which is added to the
instruction pointer. Instruction coding is most efficient for offsets of -128 to +127. If
the operand-size attribute is 16, the upper two bytes of the EIP register are cleared to
0s, resulting in a maximum instruction pointer size of 16 bits.
The conditions for each Jcc mnemonic are given in the "Description" column of the
above table. The terms "less" and "greater" are used for comparisons of signed integers
and the terms "above" and "below" are used for unsigned integers.
4:240
Instruction
Description
JGE rel16/32
Jump near if greater or equal (SF=OF)
JL rel16/32
Jump near if less (SF<>OF)
JLE rel16/32
Jump near if less or equal (ZF=1 or SF<>OF)
JNA rel16/32
Jump near if not above (CF=1 or ZF=1)
JNAE rel16/32
Jump near if not above or equal (CF=1)
JNB rel16/32
Jump near if not below (CF=0)
JNBE rel16/32
Jump near if not below or equal (CF=0 and ZF=0)
JNC rel16/32
Jump near if not carry (CF=0)
JNE rel16/32
Jump near if not equal (ZF=0)
JNG rel16/32
Jump near if not greater (ZF=1 or SF<>OF)
JNGE rel16/32
Jump near if not greater or equal (SF<>OF)
JNL rel16/32
Jump near if not less (SF=OF)
JNLE rel16/32
Jump near if not less or equal (ZF=0 and SF=OF)
JNO rel16/32
Jump near if not overflow (OF=0)
JNP rel16/32
Jump near if not parity (PF=0)
JNS rel16/32
Jump near if not sign (SF=0)
JNZ rel16/32
Jump near if not zero (ZF=0)
JO rel16/32
Jump near if overflow (OF=1)
JP rel16/32
Jump near if parity (PF=1)
JPE rel16/32
Jump near if parity even (PF=1)
JPO rel16/32
Jump near if parity odd (PF=0)
JS rel16/32
Jump near if sign (SF=1)
JZ rel16/32
Jump near if 0 (ZF=1)
Volume 4: Base IA-32 Instruction Reference

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents