7 DETAILS OF INSTRUCTIONS
S1C17 FAMILY S1C17 CORE MANUAL
EPSON
7-73
(3) Extension 2
ext
imm13
; imm13(10:0) = imm24(23:13)
ext
imm13
; = imm24(12:0)
ld.a
[%sp],%rs
; memory address = sp + 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 SP with the 24-bit
immediate imm24 added. The content of the SP is not altered.
(4) Address increment/decrement option
Specifying the []+, []-, or -[] option will automatically increment/decrement the SP. This
allows the program to simply perform continuous data transfer.
ld.a
[%sp]+,%rs
Load instruction with post-increment option
The SP will be incremented after the data transfer has finished.
ld.a
[%sp]-,%rs
Load instruction with post-decrement option
The SP will be decremented after the data transfer has finished.
ld.a
-[%sp],%rs
Load instruction with pre-decrement option
The SP 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 SP 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.