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

  • 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 95
7 DETAILS OF INSTRUCTIONS
88
EPSON
S1C33 FAMILY C33 PE CORE MANUAL
jrne sign8 / jrne.d sign8
Function
Conditional PC relative jump
Standard) pc
pc + sign8 × 2 if !Z is true
Extension 1) pc
pc + sign22 if !Z is true
Extension 2) pc
pc + sign32 if !Z is true
Code
15 12 11 8 7 0
0 0 0 1 1 0 1 d
sign8
0x1A__, 0x1B__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jrne sign8 when d bit (bit 8) = 0
jrne.d sign8 when d bit (bit 8) = 1
Flag
IE C V Z N
|
|
|
|
Mode
Signed PC relative
CLK
jrne Two cycles (when not branched), Three cycles (when branched)
jrne.d Two cycles
Description
(1) Standard
jrne
sign8 ; = "jrne 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 = 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
imm13 ; = sign22(21:9)
jrne
sign8 ; = "jrne 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)
jrne
sign8 ; = "jrne 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)
jrne.d sign8
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 ; Skips the next instruction if r0
r1.
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.
Zobrazit stránku 95
1 2 ... 91 92 93 94 95 96 97 98 99 100 101 ... 180 181

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

Žádné komentáře