Jrne Sign8 / Jrne.d Sign8 - Epson S1C33 Series Core Manual

Cmos 32-bit single chip microcomputer
Hide thumbs Also See for S1C33 Series:
Table of Contents

Advertisement

7 DETAILS OF INSTRUCTIONS

jrne sign8 / jrne.d sign8

Function
Conditional PC relative jump
Standard)
Extension 1) pc ← pc + sign22 if !Z is true
Extension 2) pc ← pc + sign32 if !Z is true
15
Code
0
0
0
|
|
jrne
jrne.d sign8 when d bit (bit 8) = 1
IE
C
V
Flag
|
|
Mode
Signed PC relative
CLK
jrne
jrne.d
Description
(1) Standard
jrne
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.
• Z flag = 0 (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 - 0x100 to PC + 0xFE.
(2) Extension 1
ext
jrne
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 - 0x200000
to PC + 0x1FFFFE.
(3) Extension 2
ext
ext
jrne
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)
jrne.d
For the jrne.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 jrne.d instruction and the next instruction, so no interrupts or exceptions occur.
Example
cmp
%r0,%r1
jrne
0x2
Caution
When the jrne.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.
88
pc ← pc + sign8 × 2 if !Z is true
12 11
8
7
|
|
1
1
0
1
d
|
|
|
|
|
sign8 when d bit (bit 8) = 0
Z
N
|
|
Two cycles (when not branched), Three cycles (when branched)
Two cycles
sign8
; = "jrne sign9", sign8 = sign9(8:1), sign9(0)=0
imm13
; = sign22(21:9)
sign8
; = "jrne sign22", sign8 = sign22(8:1), sign22(0)=0
imm13
; imm13(12:3)= sign32(31:22)
imm13
; = sign32(21:9)
sign8
; = "jrne sign32", sign8 = sign32(8:1), sign32(0)=0
sign8
; Skips the next instruction if r0 ≠ r1.
0
sign8
|
|
|
|
|
|
EPSON
0x1A__, 0x1B__
S1C33 FAMILY C33 PE CORE MANUAL

Advertisement

Table of Contents
loading

Table of Contents