5
INSTRUCTION SET
26
EPSON
S1C33 FAMILY C33 PE CORE MANUAL
Extending to a
32
-bit immediate
To extend the immediate to
32
-bit quantity, enter two
ext
instructions directly before the target instruction.
Example:
ext
imm13
(
1
)
ext
imm13
(
2
)
and
%rd
,
sign6
Extended immediate
imm13
(1)
31
19 18
imm13
(2)
6
sign6
5
0
S
The MSB (bit
12
) in the first
ext
instruction is the sign, with the immediate extended to become
signed
32
-bit data.
5
.
6
.
2
Extension of Register Indirect Addressing
Adding displacement to
[
%rb
]
Memory is accessed at the address derived by adding the immediate specified by an
ext
instruction to the
address that is indirectly referenced by
[
%rb
]
.
Adding a
13
-bit immediate
Memory is accessed at the address derived by adding the
13
-bit immediate specified by
imm13
to the address
specified by the
rb
register. During address calculation,
imm13
is zero-extended to
32
-bit quantity.
Example:
ext
imm13
ld.b
%rd
,[
%rb
]
0 0 0 0 0 0 0 0
+
0 0 0 0
0
0
0
0
0
0
0
31
13 12
imm13
0
Immediate
31
Memory address pointer
0
rb
Adding a
26
-bit immediate
Memory is accessed at the address derived by adding the
26
-bit immediate specified by
imm26
to the address
specified by the
rb
register. During address calculation,
imm26
is zero-extended to
32
-bit quantity.
Example:
ext
imm13
(
1
)
ext
imm13
(
2
)
ld.uh
%rd
,[
%rb
]
+
0
0
0
0
0
0
31
13 12
26 25
imm13
(2)
imm13
(1)
0
Immediate
31
Memory address pointer
0
rb