HT46R63/HT46C63
Rev. 1.90
10
May 17, 2004
cessible. At a subroutine call or interrupt
acknowledgment, the contents of the program counter
are pushed onto the stack. At the end of a subroutine or
an interrupt routine, signaled by a return instruction
(RET or RETI), the program counter is restored to its
previous value from the stack. After a chip reset, the
stack pointer will point to the top of the stack.
If the stack is full and a non-masked interrupt takes
place, the interrupt request flag will be recorded but the
acknowledgment will be inhibited. When the stack
pointer is decreased (by RET or RETI), the interrupt will
be serviced. This feature prevents stack overflow allow-
ing the programmer to use the structure more easily. In
similar case, if the stack is full and a call is subse-
quently executed, stack overflow occurs and the first en-
try will be lost (only the most recent 8 return addresses
are stored).
Data Memory
RAM
The data memory is designed with 239 8 bits. The
data memory is divided into two functional groups: spe-
cial function registers and general purpose data mem-
ory (208 8). Most are read/write, but some are read
only.
The special function registers include the indirect ad-
dressing register 0 and 1 (R0;00H, R1;02H), memory
pointer 0 and 1 (MP0;01H, MP1;03H), bank pointer
(BP:04H), accumulator (ACC;05H), program counter
lower-order byte register (PCL;06H), table pointer
(TBLP;07H), table higher-order byte register
(TBLH;08H), real time clock control register
(RTCC;09H), status register (STATUS;0AH), interrupt
control register (INTC0;0BH), timer higher-order byte
register (TMRH;0CH), timer lower-order byte register
(TMRL;0DH), timer control register (TMRC;0EH), I/O
portdataregisters(PA;12H,PB;14H,PC;16H,PD;18H),
I/O port control registers (PAC;13H, PBC;15H,
PCC;17H, PDC;19H), PWM0 (1AH), PWM1 (1BH),
PWM2 (1CH), PWM3 (1DH), INTC1 (1EH),the A/D re-
sult register (ADR;21H), the A/D control register
(ADCR;22H) and the A/D clock setting register
(ACSR;23H). The remaining space before the 30H is re-
served for future expansion and reading these locations
will return the result 00H . The general-purpose data
memory, addressed from 30H to FFH, is used for data
and control information under instruction commands.
All of the data memory areas can handle arithmetic,
logic, increment, decrement and rotate operations di-
rectly. Except for some dedicated bits, each bit in the
data memory can be set and cleared by SET [m].i and
CLR [m].i , respectively. They are also indirectly acces-
sible through memory pointers (MP0 and MP1).
Indirect Addressing Register
Location 00H (02H) is indirect addressing registers that
are not physically implemented. Any read/write opera-
tion of [00H] ([02H]) will access data memory pointed to
by MP0 (MP1). Reading location 00H (02H) itself indi-
rectly will return the result
00H
. Writing indirectly re-
sults in no operation.
The memory pointers are 8-bit registers. Only the
MP1/R1 can be used to access the LCD RAM (BP=1).
% $ ' & ,
! %
- $
.
.
6
7
7
7
7
7
7
7
7
) 7
9 7
. 7
7
7
7
6 7
; 7
7
7
7
7
7
7
7
7
) 7
9 7
. 7
7
7
7
6 7
; 7
A
" ! - $ 1
$
1
- B
B
3 $ " $
,
! %
- $
#
$
>
/
)
> # $ - 0
; ; 7
7
7
7
7
7
; 7
" 1 & $ ' # . 1 1 $ - - & "
$
& - # $
" 1 & $ ' # . 1 1 $ - - & "
$
& - # $
.
*
*
* 7
.
7
*
.
.
.
.
.
7
RAM Mapping