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

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)
Because a particular state of the status flags can sometimes be interpreted in two
ways, two mnemonics are defined for some opcodes. For example, the JA (jump if
above) instruction and the JNBE (jump if not below or equal) instruction are alternate
mnemonics for the opcode 77H.
The Jcc instruction does not support far jumps (jumps to other code segments). When
the target for the conditional jump is in a different segment, use the opposite condition
from the condition being tested for the Jcc instruction, and then access the target with
an unconditional far jump (JMP instruction) to the other segment. For example, the
following conditional far jump is illegal:
JZ FARLABEL;
To accomplish this far jump, use the following two instructions:
JNZ BEYOND;
JMP FARLABEL;
BEYOND:
The JECXZ and JCXZ instructions differs from the other Jcc instructions because they do
not check the status flags. Instead they check the contents of the ECX and CX registers,
respectively, for 0. These instructions are useful at the beginning of a conditional loop
that terminates with a conditional loop instruction (such as LOOPNE). They prevent
entering the loop when the ECX or CX register is equal to 0, which would cause the loop
to execute 2
All conditional jumps are converted
regardless of jump address or cacheability.
Operation
IF condition
THEN
EIP  EIP + SignExtend(DEST);
IF OperandSize = 16
FI;
IF Itanium System Environment AND PSR.tb THEN IA_32_Exception(Debug);
FI;
Flags Affected
None.
Additional Itanium System Environment Exceptions
IA_32_Exception
Protected Mode Exceptions
#GP(0)
Volume 4: Base IA-32 Instruction Reference
32
or 64K times, respectively, instead of zero times.
THEN
EIP  EIP AND 0000FFFFH;
Taken Branch Debug Exception if PSR.tb is 1
If the offset being jumped to is beyond the limits of the CS segment.
to code fetches of one or two cache lines,
4:241

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents