![Epson S1C17 Series Manual Download Page 137](http://html.mh-extra.com/html/epson/s1c17-series/s1c17-series_manual_107781137.webp)
7-78
Seiko Epson Corporation
S1C17 CORE MANUAL
(REV. 1.2)
ld.a [%rb], %rs
Function
32-bit data transfer
Standard) A[
rb
](23:0)
←
rs
(23:0), A[
rb
](31:24)
←
0
Extension 1) A[
rb
+
imm13
](23:0)
←
rs
(23:0), A[
rb
+
imm13
](31:24)
←
0
Extension 2) A[
rb
+
imm24
](23:0)
←
rs
(23:0), A[
rb
+
imm24
](31:24)
←
0
Code
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1
r s
0 0 1 1
r b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flag
IL IE C V Z N
– – – – – –
|
|
|
| |
Mode
Src: Register direct
%rs
=
%r0
to
%r7
Dst: Register indirect
%rb
=
%r0
to
%r7
CLK
One cycle (two cycles when the
ext
instruction is used
Description
(1) Standard
ld.a [%rb],%rs
; memory address = rb
The content of the
rs
register (24-bit data) is transferred to the specified memory location. The
rb
register contains the memory address to be accessed. This instruction writes 32-bit data with
the eight high-order bits set to 0 in the memory.
(2) Extension 1
ext imm13
ld.a [%rb],%rs
; memory address = rb + imm13
The
e x t
instruction changes the addressing mode to register indirect addressing with
displacement. As a result, the content of the
rs
register is transferred to the address indicated
by the content of the
rb
register with the 13-bit immediate
imm13
added. The content of the
rb
register is not altered.
(3) Extension 2
ext imm11
;
imm11(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) 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.