Epson CMOS 32-Bit Single Chip Microcomputer S1C33L03 Uživatelský manuál Strana 94

  • Stažení
  • Přidat do mých příruček
  • Tisk
  • Strana
    / 181
  • Tabulka s obsahem
  • KNIHY
  • Hodnocené. / 5. Na základě hodnocení zákazníků
Zobrazit stránku 93
7 DETAILS OF INSTRUCTIONS
86
EPSON
S1C33 FAMILY C33 PE CORE MANUAL
jrle sign8 / jrle.d sign8
Function
Conditional PC relative jump (for judgment of signed operation results)
Standard) pc
pc + sign8 × 2 if Z | (N^V) is true
Extension 1) pc
pc + sign22 if Z | (N^V) is true
Extension 2) pc
pc + sign32 if Z | (N^V) is true
Code
15 12 11 8 7 0
0 0 0 0 1 1 1 d
sign8
0x0E__, 0x0F__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jrle sign8 when d bit (bit 8) = 0
jrle.d sign8 when d bit (bit 8) = 1
Flag
IE C V Z N
|
|
|
|
Mode
Signed PC relative
CLK
jrle Two cycles (when not branched), Three cycles (when branched)
jrle.d Two cycles
Description
(1) Standard
jrle
sign8 ; = "jrle 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.
Z flag = 1 or 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 - 0x100 to PC + 0xFE.
(2) Extension 1
ext
imm13 ; = sign22(21:9)
jrle
sign8 ; = "jrle 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 - 0x200000
to PC + 0x1FFFFE.
(3) Extension 2
ext
imm13 ; imm13(12:3)= sign32(31:22)
ext
imm13 ; = sign32(21:9)
jrle
sign8 ; = "jrle 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)
jrle.d sign8
For the jrle.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 jrle.d instruction and the next instruction, so no interrupts or exceptions occur.
Example
cmp %r0,%r1 ; r0 and r1 contain signed data.
jrle 0x2 ; Skips the next instruction if r0
r1.
Caution
When the jrle.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.
Zobrazit stránku 93
1 2 ... 89 90 91 92 93 94 95 96 97 98 99 ... 180 181

Komentáře k této Příručce

Žádné komentáře