32
CHAPTER 3 CPU
3.2
Dedicated Registers
The dedicated registers in the CPU consist of the program counter (PC), two arithmetic
operation registers (A and T), three address pointers (IX, EP, and SP), and the program
status (PS). All registers are 16 bits.
I
Dedicated Register Configuration
The dedicated registers in the CPU consist of seven 16-bit registers. Some of these registers
are also able to be used as 8-bit registers, using the lower 8 bits only.
Figure 3.2-1 "Dedicated Register Configuration" shows the structure of the dedicated registers.
Figure 3.2-1 Dedicated Register Configuration
I
Dedicated Register Functions
H
Program counter (PC)
The program counter is a 16-bit counter that indicates the memory address of the instruction
currently being executed by the CPU. Instruction execution, interrupts, resets, and similar
update the contents of the program counter. The initial value during a reset is the read address
of the mode data (FFFD
H
).
H
Accumulator (A)
The accumulator is a 16-bit arithmetic operation register. The accumulator is used to perform
arithmetic operations and data transfers with data in memory or in other registers such as the
temporary accumulator (T). The content of the accumulator can be treated as either word (16-
bit) or byte (8-bit) data. Only the lower 8 bits (AL) of the accumulator are used for byte arithmetic
operations or transfers. In this case, the upper 8 bits (AH) remain unchanged. The content of
the accumulator after a reset is indeterminate.
PC
A
T
IX
EP
SP
RP
CCR
16 bits
PS
Initial value
Indeterminate
Indeterminate
Indeterminate
Indeterminate
Indeterminate
FFFD
H
: Program counter
A register for indicating the current instruction
storage positions
: Accumulator
A temporary register for storing arithmetic operations or
transfer instructions
: Temporary accumulator
A register which performs arithmetic operations with the
accumulator
: Index register
A register for indicating an index address
: Extra pointer
A pointer for indicating a memory address
: Stack pointer
A register for indicating the current stack location
: Program status
A register for storing a register bank pointer and
condition code
I-flag = "0",
IL0, IL1 = "11"
Other bits are indeterminate