27
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.
■ 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 register, 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
■ Dedicated register functions
●
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
).
●
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 for performing 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"
Otherbits are indeterminate