Bank Pointer – BP
The Data Memory is divided into two banks. Selecting the Data Memory area is achieved using the
Bank Pointer. Bit 0 of the Bank Pointer is used to select Data Memory Banks 0 or 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. 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.
As both the Program Memory and Data Memory share the same Bank Pointer Register, care must be
taken during programming.
• HT66F30-1/HT68F30-1
Bit
7
�a�e
—
R/W
—
POR
—
Bit 7~1
Unimplemented, read as "0"
Bit 0
DMBP0: Select Data Memory Banks
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.40
HT66F20-1/HT66F30-1/HT68F20-1/HT68F30-1
6
5
4
—
—
—
—
—
—
—
—
—
��
Flash MCU with EEPROM
3
2
1
—
—
—
—
—
—
—
—
—
�ove��e� ��� �01�
0
DMBP0
R/W
0
Need help?
Do you have a question about the HT66F20-1 and is the answer not in the manual?