15
15 – 75
Syntax:
[ IF cond ] JUMP
(I4)
;
(I5)
(I6)
(I7)
<addr>
Permissible conds (see Table 15.9)
EQ
NE
GT
GE
LT
LE
NEG
POS
AV
NOT AV
AC
NOT AC
MV
NOT MV
NOT CE
Example:
IF NOT CE JUMP top_loop;
{CNTR is decremented}
Description:
Test the optional condition and, if true, perform the
specified jump. If the condition is not true then perform a no-operation.
Omitting the condition performs the jump unconditionally. The JUMP
instruction causes program execution to continue at the effective address
specified by the instruction. The addressing mode may be direct or
register indirect.
For direct addressing (using an immediate address value or a label), the
program address is stored directly in the instruction word as a full 14-bit
field. For register indirect jumps, the selected I register provides the
address; it is not post-modified in this case.
If JUMP is the last instruction inside a DO UNTIL loop, you must ensure
that the loop stacks are properly handled. If NOT CE is used as the
condition, execution of the JUMP instruction decrements the processor’s
counter (CNTR register).
Status Generated:
None affected.
Instruction Field:
Conditional JUMP Direct Instruction Type 10:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 1 1 0 ADDR COND
Conditional JUMP Indirect Instruction Type 19:
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 I 0 0 COND
I specifies the I register (Indirect Address Pointer).
ADDR: immediate jump address
COND: condition
PROGRAM FLOW
JUMP