Epson CMOS 32-Bit Single Chip Microcomputer S1C33L03 Instrukcja Użytkownika Strona 95

  • Pobierz
  • Dodaj do moich podręczników
  • Drukuj
  • Strona
    / 181
  • Spis treści
  • BOOKMARKI
  • Oceniono. / 5. Na podstawie oceny klientów
Przeglądanie stron 94
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 - 0x100 to PC + 0xFE.
(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 - 0x200000
to PC + 0x1FFFFE.
(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.
Przeglądanie stron 94
1 2 ... 90 91 92 93 94 95 96 97 98 99 100 ... 180 181

Komentarze do niniejszej Instrukcji

Brak uwag