S3F84B8_UM_REV 1.00
6 INSTRUCTION SET
6-46
6.3.33 JP — JUMP
JP
cc,dst (Conditional)
JP
dst
(Unconditional)
Operation
:
If cc is true, PC
dst.
The conditional JUMP instruction transfers program control to the destination address if the
condition specified by condition code (cc) is true; otherwise, the instruction following the JP
instruction is executed. The unconditional JP simply replaces the contents of the PC with the
contents of the specified register pair. Control then passes to the statement addressed by the PC.
Flags
:
No flags are affected.
Format
:
Bytes Cycles Opcode
(Hex)
Addr Mode
dst
cc | opc
dst
3
8
ccD
DA
cc = 0 to F
opc
dst 2
8
30
IRR
NOTE:
1. The 3 byte format is used for a conditional jump and the 2 byte format for an unconditional jump.
2. In the first byte of the three-byte instruction format (conditional jump), the condition code and the opcode are both
four bits.
Examples
:
Given the carry flag (C) = “1”, register 00 = 01H, and register 01 = 20H:
JP
C,LABEL_W
LABEL_W = 1000H, PC = 1000H
JP
@00H
PC = 0120H
The first example shows a conditional JP. Assuming that the carry flag is set to “1”, the statement
“JP C,LABEL_W” replaces the contents of the PC with the value 1000H and transfers control to
that location. If the carry flag was not set, control would have passed to the statement
immediately following the JP instruction.
The second example shows an unconditional JP. The statement “JP @00” replaces the
contents of the PC with the contents of register pair 00H and 01H, leaving the value 0120H.