7
DETAILS OF INSTRUCTIONS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
87
jrlt
sign8
/ jrlt.d
sign8
Function
Conditional PC relative jump (for judgment of signed operation results)
Standard)
pc
←
pc +
sign8
×
2
if N^V is true
Extension
1
) pc
←
pc +
sign22
if N^V is true
Extension
2
) pc
←
pc +
sign32
if N^V is true
Code
15
12
11
8
7
0
0
0
0
0
1
1
0
d
sign8
0x0C__, 0x0D__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jrlt
sign8
when d bit (bit
8
) =
0
jrlt.d
sign8
when d bit (bit
8
) =
1
Flag
IE C V Z N
– – – – –
|
|
|
|
Mode
Signed PC relative
CLK
jrlt
Two cycles (when not branched), Three cycles (when branched)
jrlt.d
Two cycles
Description
(
1
) Standard
jrlt
sign8
; = "jrlt
sign9
",
sign8
=
sign9
(8:1),
sign9
(0)=0
If the condition below has been met, this instruction doubles the signed
8
-bit immediate
sign8
and adds it to the PC for branching the program flow to the address. It does not branch if the
condition has not been met.
•
N flag
≠
V flag (e.g.
“
A < B
”
has resulted by
cmp A,B
)
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)
jrlt
sign8
; = "jrlt
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)
jrlt
sign8
; = "jrlt
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
)
jrlt.d
sign8
For the
jrlt.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
jrlt.d
instruction and the next instruction, so no interrupts or exceptions occur.
Example
cmp %r0,%r1
; r0 and r1 contain signed data.
jrlt 0x2
; Skips the next instruction if r0 < r1.
Caution
When the
jrlt.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.
Содержание S1C33 Series
Страница 1: ...CMOS 32 BIT SINGLE CHIP MICROCOMPUTER Core Manual S1C33 Family C33 PE ...
Страница 4: ......