S1C17 CORE MANUAL
Seiko Epson Corporation
7-71
(Rev. 1.2)
ld.a %rd, [%sp]+
ld.a %rd, [%sp]-
ld.a %rd, -[%sp]
Function
32-bit data transfer with address increment/decrement option
ld.a %rd, [%sp]+ (with post-increment option)
Standard)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) + 4
Extension 1)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) +
imm13
Extension 2)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) +
imm24
ld.a %rd, [%sp]- (with post-decrement option)
Standard)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) - 4
Extension 1)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) -
imm13
Extension 2)
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24), sp(23:0)
←
sp(23:0) -
imm24
ld.a %rd, -[%sp] (with pre-decrement option)
Standard) sp(23:0)
←
sp(23:0) - 4,
rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24)
Extension 1) sp(23:0)
←
sp(23:0) -
imm13, rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24)
Extension 2) sp(23:0)
←
sp(23:0) -
imm24, rd
(23:0)
←
A[sp](23:0), ignored
←
A[sp](31:24)
Code
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 1 1 1
r d
0 1 1 1 0 0 0
ld.a %rd,[%sp]+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 0 1 1 1 1
r d
1 1 1 1 0 0 0
ld.a %rd,[%sp]-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 0 1 1 1 1
r d
1 0 1 1 0 0 0
ld.a %rd,-[%sp]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flag
IL IE C V Z N
– – – – – –
|
|
|
| |
Mode
Src: Register indirect
%sp
Dst: Register direct
%rd
=
%r0
to
%r7
CLK
Two cycles
Description
(1) 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 %rd,[%sp]+
Load instruction with post-increment option
The memory address will be incremented after the data transfer has
finished.
ld.a %rd,[%sp]-
Load instruction with post-decrement option
The memory address will be decremented after the data transfer has
finished.
ld.a %rd,-[%sp]
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 (standard):
4 (32-bit size)
When one
ext
is used (extension 1):
imm13
When two
ext
are used (extension 2):
imm24