
7 DETAILS OF INSTRUCTIONS
S1C17 FAMILY S1C17 CORE MANUAL
EPSON
7-71
(3) Extension 2
ext
imm13
; imm13(10:0) = imm24(23:13)
ext
imm13
; = imm24(12:0)
ld.a
[%rb],%rs
; memory address = rb + imm24
The addressing mode changes to register indirect addressing with displacement, so the content
of the rs register is transferred to the address indicated by the content of the rb register with the
24-bit immediate imm24 added. The content of the rb register is not altered.
(4) Address increment/decrement option
Specifying the []+, []-, or -[] option will automatically increment/decrement the memory
address. This allows the program to simply perform continuous data transfer.
ld.a
[%rb]+,%rs
Load instruction with post-increment option
The memory address will be incremented after the data transfer has
finished.
ld.a
[%rb]-,%rs
Load instruction with post-decrement option
The memory address will be decremented after the data transfer has
finished.
ld.a
-[%rb],%rs
Load instruction with pre-decrement option
The memory address will be decremented before starting the data
transfer.
The address increment/decrement sizes are listed below.
When no ext is used (as in (1) shown above):
4 (32-bit size)
When one ext is used (as in (2) shown above): imm13
When two ext are used (as in (3) shown above): imm24
(5) Delayed slot instruction
This instruction may be executed as a delayed slot instruction by writing it directly after
a branch instruction with the “d” bit. In this case, extension of the immediate by the ext
instruction cannot be performed.
Caution
The rb register and the displacement must specify a 32-bit boundary address (two least significant
bits = 0). Specifying other address causes an address misaligned interrupt. Note, however, that the
data transfer is performed by setting the two least significant bits of the address to 0.