HT46R068B/HT46R069B
Enhanced A/D Type 8-bit OTP MCU
Special Function Registers
To ensure successful operation of the microcontroller, certain internal registers are implemented
in the Data Memory area. These registers ensure correct operation of internal functions such as
timers, interrupts, etc., as well as external functions such as I/O data control. The location of these
registers within the Data Memory begins at the address "00H" and are mapped from Bank 0 to
Bank 7. Any unused Data Memory locations between these special function registers and the point
where the General Purpose Memory begins is reserved and attempting to read data from these
locations will return a value of "00H".
Indirect Addressing Registers – IAR0, IAR1
The Indirect Addressing Registers, IAR0 and IAR1, although having their locations in normal
RAM register space, do not actually physically exist as normal registers. The method of indirect
addressing for RAM data manipulation uses these Indirect Addressing Registers and Memory
Pointers, in contrast to direct memory addressing, where the actual memory address is specified.
Actions on the IAR0 and IAR1 registers will result in no actual read or write operation to these
registers but rather to the memory location specified by their corresponding Memory Pointer, MP0
or MP1. Acting as a pair, IAR0 with MP0 and IAR1 with MP1 can together access data from the
Data Memory. As the Indirect Addressing Registers are not physically implemented, reading the
Indirect Addressing Registers indirectly will return a result of "00H" and writing to the registers
indirectly will result in no operation.
Memory Pointers – MP0, MP1
Two Memory Pointers, known as MP0 and MP1 are provided. These Memory Pointers are
physically implemented in the Data Memory and can be manipulated in the same way as normal
registers providing a convenient way with which to indirectly address and track data. MP0 can
only be used to indirectly address data in Bank 0 while MP1 can be used to address data from
Bank 0 and Bank 7. When any operation to the relevant Indirect Addressing Registers is carried
out, the actual address that the microcontroller is directed to, is the address specified by the related
Memory Pointer. Note that indirect addressing using MP1 and IAR1 must be used to access any
data in Bank 1~Bank 7 . The following example shows how to clear a section of four Data Memory
locations already defined as locations adres1 to adres4.
HT46R068B
IAR0
HT46R069B
IAR0
00H
01H
0ꢃH
03H
04H
05H
0ꢄH
07H
08H
09H
0AH
0BH
0CH
0DH
0EH
MP0
MP0
IAR1
IAR1
MP1
MP1
BP
BP
ACC
ACC
PCL
PCL
TBLP
TBLH
WDTS
STATUS
INTC0
TMR0
TMR0C
TMR1
TBLP
TBLH
WDTS
STATUS
INTC0
TMR0
TMR0C
TMR1
Rev. 1.00
ꢃ0
�anꢀaꢁꢂ ꢃꢄꢅ ꢃ011