
2.1 CPU
30
Chapter 2: Hardware
s General-purpose Registers
The F2MC-16L CPU core has general-purpose registers located at RAM addresses 000180H to 00037FH
on the memory map. The register bank pointer (RP) is used to indicate which register bank is the
currently active area of memory. Each bank contains the following three types of registers. These
registers are not independent, and are related as shown in Figure 2.1.18.
Fig. 2.1.18 General-purpose Registers
s Register Banks
Register banks have 16-bit x 8-channel configuration, and can be used as general-purpose registers for
various calculation, including byte registers R0 to R7, word registers RW0 to RW7, or long-word
registers RL0 to RL3 in. Register banks can also be used as pointers in various instructions, and the
RS0 to RL3 registers can be used as linear pointers for direct access to full memory space. Table 2.1.5
lists the functions of each register.
The contents of registers in register banks, like ordinary RAM space, are not initialized at reset and
retain their pre-reset status. Note however that values are undefined at power-on.
Table 2.1.5 Register Functions
R0 to R7
Used as operands for various instructions.
(note) R0 can also be used as a barrel-shift counter or a counter for
normalize instructions.
RW0 to
RW7
Used as pointers, and as operands for various instructions.
(note) RW0 can also be used as a counter for string instructions.
RL0 to
RL3
Used as long pointers, and as operands for various instructions.
R0 to R7:
8-bit general-purpose register
RW0 to RW7: 16-bit general-purpose register
RL0 to RL3: 32-bit general-purpose register
R7
R6
R5
R4
R3
R2
R1
R0
RW3
RW2
RW1
RW0
16-bit
MSB
LSB
Higher
Lower
RW7
RW6
RW5
RW4
RL3
RL2
RL1
RL0
000180H+RP*10H
Top address of general-purpose register