7
DETAILS OF INSTRUCTIONS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
113
ld.ub
%rd
, [%sp +
imm6
]
Function
Unsigned byte data transfer
Standard)
rd
(
7
:
0
)
←
B[sp +
imm6
],
rd
(
31
:
8
)
←
0
Extension
1
)
rd
(
7
:
0
)
←
B[sp +
imm19
],
rd
(
31
:
8
)
←
0
Extension
2
)
rd
(
7
:
0
)
←
B[sp +
imm32
],
rd
(
31
:
8
)
←
0
Code
15
12
11
10
9
4
3
0
0
1
0
0
0
1
imm6
r d
0x44__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flag
IE C V Z N
– – – – –
|
|
|
|
Mode
Src: Register indirect with displacement
Dst: Register direct
%rd
=
%r0
to
%r15
CLK
Two cycles
Description
(
1
) Standard
ld.ub
%rd
,[%sp +
imm6
]
; memory address = sp +
imm6
The byte data in the specified memory location is transferred to the
rd
register after being zero-
extended to
32
bits. The content of the current SP with the
6
-bit immediate
imm6
added as
displacement comprises the memory address to be accessed.
(
2
) Extension
1
ext
imm13
; =
imm19
(18:6)
ld.ub
%rd
,[%sp +
imm6
]
; memory address = sp +
imm19
,
;
imm6
←
imm19
(5:0)
The
ext
instruction extends the displacement to a
19
-bit quantity. As a result, the content of
the SP with the
19
-bit immediate
imm19
added comprises the memory address, the byte data in
which is transferred to the
rd
register.
(
3
) Extension
2
ext
imm13
; =
imm32
(31:19)
ext
imm13
; =
imm32
(18:6)
ld.ub
%rd
,[%sp +
imm6
]
; memory address = sp +
imm32
,
;
imm6
←
imm32
(5:0)
The two
ext
instructions extend the displacement to a
32
-bit quantity. As a result, the content
of the SP with the
32
-bit immediate
imm32
added comprises the memory address, the byte data
in which is transferred to the
rd
register.
Example
ext 0x1
ld.ub %r0,[%sp + 0x1] ; r0
←
[sp + 0x41] zero-extended