A/D Flash Type 8-bit MCU with EEPROM
HT66F24D/HT66F25D
Bank Pointer – BP
Selecting the required Data Memory area is achieved using the Bank Pointer. The Bank Pointer BP
bit 0 is used to select Data Memory Banks 0~1. The Data Memory is initialised to Bank 0 after a
reset, except for a WDT time-out reset in the Power down Mode, in which case, the Data Memory
bank remains unaffected. It should be noted that the Special Function Data Memory is not affected
by the bank selection, which means that the Special Function Registers can be accessed from
within any bank. Directly addressing the Data Memory will always result in Bank 0 being accessed
irrespective of the value of the Bank Pointer. Accessing data from banks other than Bank 0 must be
implemented using indirect addressing.
BP Register
Bit
7
6
5
4
3
2
1
0
Name
—
—
—
—
—
—
—
DMBP0
R/W
—
—
—
—
—
—
—
R/W
POR
—
—
—
—
—
—
—
0
Bit 7~1
Bit 0
unimplemented, read as “0”
DMBP0: Data Memory Bank Pointer
0: Bank 0
1: Bank 1
Accumulator – ACC
The Accumulator is central to the operation of any microcontroller and is closely related with
operations carried out by the ALU. The Accumulator is the place where all intermediate results
from the ALU are stored. Without the Accumulator it would be necessary to write the result of
each calculation or logical operation such as addition, subtraction, shift, etc., to the Data Memory
resulting in higher programming and timing overheads. Data transfer operations usually involve
the temporary storage function of the Accumulator; for example, when transferring data between
one user defined register and another, it is necessary to do this by passing the data through the
Accumulator as no direct transfer between two registers is permitted.
Program Counter Low Register – PCL
To provide additional program control functions, the low byte of the Program Counter is made
accessible to programmers by locating it within the Special Purpose area of the Data Memory. By
manipulating this register, direct jumps to other program locations are easily implemented. Loading
a value directly into this PCL register will cause a jump to the specified Program Memory location.
However, as the register is only 8-bit wide, only jumps within the current Program Memory page are
permitted. When such operations are used, note that a dummy cycle will be inserted.
Rev. 1.10
29
March 25, 2013