S3F80P5_UM_ REV1.00 INSTRUCTION SET
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 the 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: (1)
(2)
Bytes Cycles Opcode
(Hex) Addr Mode
dst
cc | opc dst 3 8 ccD DA
cc = 0 to F
opc dst 2 8 30 IRR
NOTES:
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. Had the carry flag not been set, control would then 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 the register pair 00H and 01H, leaving the value 0120H.
6-47