Epson CMOS 32-Bit Single Chip Microcomputer S1C33L03 Manual de usuario Pagina 97

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 181
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 96
7 DETAILS OF INSTRUCTIONS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
89
jruge sign8 / jruge.d sign8
Function
Conditional PC relative jump (for judgment of unsigned operation results)
Standard) pc
pc + sign8 × 2 if !C is true
Extension 1) pc
pc + sign22 if !C is true
Extension 2) pc
pc + sign32 if !C is true
Code
15 12 11 8 7 0
0 0 0 1 0 0 1 d
sign8
0x12__, 0x13__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
jruge sign8 when d bit (bit 8) = 0
jruge.d sign8 when d bit (bit 8) = 1
Flag
IE C V Z N
|
|
|
|
Mode
Signed PC relative
CLK
jruge Two cycles (when not branched), Three cycles (when branched)
jruge.d Two cycles
Description
(1) Standard
jruge
sign8 ; = "jruge 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.
C 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)
jruge
sign8 ;
= "jruge 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)
jruge
sign8 ;
= "jruge 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)
jruge.d sign8
For the jruge.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 jruge.d instruction and the next instruction, so no interrupts or exceptions occur.
Example
cmp %r0,%r1 ; r0 and r1 contain unsigned data.
jruge 0x2 ; Skips the next instruction if r0
r1.
Caution
When the jruge.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.
Vista de pagina 96
1 2 ... 92 93 94 95 96 97 98 99 100 101 102 ... 180 181

Comentarios a estos manuales

Sin comentarios