7
DETAILS OF INSTRUCTIONS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
163
sub
%rd
,
imm6
Function
Subtraction
Standard)
rd
←
rd
-
imm6
Extension
1
)
rd
←
rd
-
imm19
Extension
2
)
rd
←
rd
-
imm32
Code
15
12
11
10
9
4
3
0
0
1
1
0
0
1
imm6
r d
0x64__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Flag
IE C V Z N
–
↔
↔
↔
↔
|
|
|
|
Mode
Src: Immediate data (unsigned)
Dst: Register direct
%rd
=
%r0
to
%r15
CLK
One cycle
Description
(
1
) Standard
sub
%rd
,
imm6
;
rd
←
rd
-
imm6
The
6
-bit immediate
imm6
is subtracted from the
rd
register after being zero-extended.
(
2
) Extension
1
ext
imm13
; =
imm19
(18:6)
sub
%rd
,
imm6
;
rd
←
rd
-
imm19
,
imm6
=
imm19
(5:0)
The
19
-bit immediate
imm19
is subtracted from the
rd
register after being zero-extended.
(
3
) Extension
2
ext
imm13
; =
imm32
(31:19)
ext
imm13
; =
imm32
(18:6)
sub
%rd
,
imm6
;
rd
←
rd
-
imm32
,
imm6
=
imm32
(5:0)
The
32
-bit immediate
imm32
is subtracted from the
rd
register.
(
4
) Delayed instruction
This instruction may be executed as a delayed 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.
Example
(
1
)
sub %r0,0x3f
; r0 = r0 - 0x3f
(
2
)
ext 0x1fff
ext 0x1fff
sub %r1,0x3f
; r1 = r1 - 0xffffffff