2
REGISTERS
S1C33 FAMILY C33 PE CORE MANUAL
EPSON
11
2
.
9
Register Notation and Register Numbers
The following describes the register notation and register numbers in the C
33
PE Core instruction set.
In the instruction code, a register is specified using a
4
-bit field, with the register number entered in that field. In the
mnemonic, a register is specified by prefixing the register name with
“
%
.
”
2
.
9
.
1
General-Purpose Registers
%rs
rs
is a metasymbol indicating the general-purpose register that holds the source data to be operated on or
transferred. The register is actually written as
%r0
,
%r1
, ... or
%r15
.
%rd
rd
is a metasymbol indicating the general-purpose register that is the destination in which the result of
operation is to be stored or data is to be loaded. The register is actually written as
%r0
,
%r1
, ... or
%r15
.
%rb
rb
is a metasymbol indicating the general-purpose register that holds the base address of memory to be
accessed. In this case, the general-purpose registers serve as an index register. The register is actually
written as
[%r0]
,
[%r1]
, ... or
[%r15]
, with each register name enclosed in brackets
“
[]
”
to denote
register indirect addressing. In register indirect addressing, the post-increment function provided for
continuous memory addresses can be used. In such a case, the register name is suffixed by
“
+
,
”
as in
[%r0]+
.
When post-increment is specified, each time memory is accessed, the base address is incremented by an
amount equal to the accessed size.
rb
is also used as a symbol indicating the register that contains the jump address for the
call
or
jp
instruction. In this case, the brackets
“
[]
”
are unnecessary, and the register is written as
%r0
,
%r1
, ... or
%r15
.
The bit field that specifies a register in the instruction code contains the code corresponding to a given register
number. The relationship between the general-purpose registers and the register numbers is listed in the table below.
Table
2
.
9
.
1
.
1
General-Purpose Registers
General-purpose register
R0
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
Register number
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Register notation
%r0
%r1
%r2
%r3
%r4
%r5
%r6
%r7
%r8
%r9
%r10
%r11
%r12
%r13
%r14
%r15