2 CPU
2-2
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
CPU Registers
2.2
The C33 PE Core contains 16 general-purpose registers and 8 special registers.
R15
R14
R13
R12
R11
R10
R4
R5
R6
R7
R8
R9
R3
R2
R1
R0
bit 31
bit 0
General-purpose registers
PC
TTBR
bit 31
#15
#11
#10
#8
#3
#2
#1
#0
#15
#14
#13
#12
#11
#10
#9
#8
#7
#6
#5
#4
#3
#2
#1
#0
bit 0
AHR
ALR
PSR
SP
IDIR
DBBR
Special registers
2.1 Registers
Figure 2.
Instruction Set
2.3
The C33 PE Core instruction set consists of the function-extended instruction set of the C33 STD Core CPU and
the new instructions, in addition to the conventional S1C33-series instructions. Some instructions of the C33 STD
Core CPU are deleted. As the C33 PE Core is object-code compatible with the C33 STD Core CPU, software assets
can be transported from the S1C33 series to the C33 PE model easily, with minimal modifications required.
All of the instruction codes are fixed to 16 bits in length which, combined with pipelined processing, allows most
important instructions to be executed in one cycle. For details, refer to the “S1C33 Family C33 PE Core Manual.”
3.1 S1C33-Series-Compatible Instructions
Table 2.
Classification
Mnemonic
Function
Arithmetic operation
add
%rd,%rs
Addition between general-purpose registers
%rd,imm6
Addition of a general-purpose register and immediate
%sp,imm10
Addition of SP and immediate (with immediate zero-extended)
adc
%rd,%rs
Addition with carry between general-purpose registers
sub
%rd,%rs
Subtraction between general-purpose registers
%rd,imm6
Subtraction of general-purpose register and immediate
%sp,imm10
Subtraction of SP and immediate (with immediate zero-extended)
sbc
%rd,%rs
Subtraction with carry between general-purpose registers
cmp
%rd,%rs
Arithmetic comparison between general-purpose registers
%rd,sign6
Arithmetic comparison of general-purpose register and immediate (with immedi-
ate zero-extended)
mlt.h
%rd,%rs
Signed integer multiplication (16 bits
×
16 bits
→
32 bits)
mltu.h
%rd,%rs
Unsigned integer multiplication (16 bits
×
16 bits
→
32 bits)
mlt.w
%rd,%rs
Signed integer multiplication (32 bits
×
32 bits
→
64 bits)
mltu.w
%rd,%rs
Unsigned integer multiplication (32 bits
×
32 bits
→
64 bits)
Branch
jrgt
jrgt.d
sign8
PC relative conditional jump
Branch condition: !Z & !(N ^ V)
Delayed branching possible
jrge
jrge.d
sign8
PC relative conditional jump
Branch condition: !(N ^ V)
Delayed branching possible
jrlt
jrlt.d
sign8
PC relative conditional jump
Branch condition: N ^ V
Delayed branching possible
jrle
jrle.d
sign8
PC relative conditional jump
Branch condition: Z | N ^ V
Delayed branching possible
jrugt
jrugt.d
sign8
PC relative conditional jump
Branch condition: !Z & !C
Delayed branching possible
jruge
jruge.d
sign8
PC relative conditional jump
Branch condition: !C
Delayed branching possible