7
DETAILS OF INSTRUCTIONS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
81
jp
sign8
/ jp.d
sign8
Function
Unconditional PC relative jump
Standard)
pc
←
pc +
sign8
×
2
Extension
1
) pc
←
pc +
sign22
Extension
2
) pc
←
pc +
sign32
Code
15
12
11
8
7
0
0
0
0
1
1
1
1
d
sign8
0x1E__, 0x1F__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jp
sign8
when d bit (bit
8
) =
0
jp.d
sign8
when d bit (bit
8
) =
1
Flag
IE C V Z N
– – – – –
|
|
|
|
Mode
Signed PC relative
CLK
jp
Three cycles
jp.d
Two cycles
Description
(
1
) Standard
jp
sign8
; = "jp
sign9
",
sign8
=
sign9
(8:1),
sign9
(0)=0
Doubles the signed
8
-bit immediate
sign8
and adds it to the PC. The program flow branches to
the address. The
sign8
specifies a halfword address in
16
-bit units.
The
sign8
(
×
2
) allows branches within the range of PC -
0
x
100
to PC +
0
xFE.
(
2
) Extension
1
ext
imm13
; =
sign22
(21:9)
jp
sign8
; = "jp
sign22
",
sign8
=
sign22
(8:1),
sign22
(0)=0
The
ext
instruction extends the displacement to be added to the PC into signed
22
bits using its
13
-bit immediate data
imm13
. The
sign22
allows branches within the range of PC -
0
x
200000
to PC +
0
x
1
FFFFE.
(
3
) Extension
2
ext
imm13
;
imm13
(12:3)=
sign32
(31:22)
ext
imm13
; =
sign32
(21:9)
jp
sign8
; = "jp
sign32
",
sign8
=
sign32
(8:1),
sign32
(0)=0
The
ext
instructions extend the displacement to be added to the PC into signed
32
bits using
their
13
-bit immediates (
imm13
×
2
). The displacement covers the entire address space. Note
that the low-order
3
bits of the first
imm13
are ignored.
(
4
) Delayed branch (d bit =
1
)
jp.d
sign8
For the
jp.d
instruction, the next instruction becomes a delayed instruction. A delayed
instruction is executed before the program branches. Exceptions are masked in intervals
between the
jp.d
instruction and the next instruction, so no interrupts or exceptions occur.
Example
ext 0x8
ext 0x0
jp 0x80 ; Jumps to the address specified by PC + 0x400100.
Caution
When the
jp.d
instruction (delayed branch) is used, be careful to ensure that the next instruction
is limited to those that can be used as a delayed instruction. If any other instruction is executed, the
program may operate indeterminately. For the usable instructions, refer to the instruction list in the
Appendix.