HT83003 HOLTEK [Holtek Semiconductor Inc], HT83003 Datasheet - Page 9
![no-image](/images/no-image-200.jpg)
HT83003
Manufacturer Part Number
HT83003
Description
Q-Voice
Manufacturer
HOLTEK [Holtek Semiconductor Inc]
Datasheet
1.HT83003.pdf
(21 pages)
Program Memory - ROM
The program memory stores the program instructions
that are to be executed. It also includes data, table and
interrupt entries, addressed by the program counter
along with the table pointer. The program memory size
for HT83XXX is 2048 14 bits. Certain locations in the
program memory are reserved for special usage:
Note: *10~*0: Current program ROM table
Rev. 0.10
TABRDC [m]
TABRDL [m]
Location 000H
This area is reserved for program initialization. The
program always begins execution at location 000H
each time the system is reset.
Location 004H
This area is reserved for the time base interrupt ser-
vice program. If the ETBI (intc.1) is activated, and the
interrupt is enabled and the stack is not full, the pro-
gram will jump to location 004H and begins execution.
Location 008H
This area is reserved for the 8-bit timer counter 0 inter-
rupt service program. If a timer interrupt results from a
timer counter 0 overflow, and if the interrupt is enabled
and the stack is not full, the program will jump to loca-
tion 008H and begins execution.
Location 00CH
This area is reserved for the 8-bit timer counter 1 inter-
rupt service program. If a timer interrupt results from a
timer counter 1 overflow, and if the interrupt is enabled
and the stack is not full, the program will jump to loca-
tion 00CH and begins execution.
Instruction
P10~P8: Bits of current program counter
P10
Program Memory
*10
1
P9
*9
1
P8
*8
1
@7
@7
*7
Preliminary
Table Location
@6
@6
*6
9
Table Location
Table Location
Any location in the ROM space can be used as look up
tables. The instructions TABRDC [m] (used for any
bank) and TABRDL [m] (only used for last page of pro-
gram ROM) transfer the contents of the lower-order byte
to the specified data memory [m], and the higher-order
byte to TBLH (08H). Only the destination of the
lower-order byte in the table is well-defined. The
higher-order bytes of the table word are transferred to
the TBLH. The table higher-order byte register (TBLH)
is read only.
The table pointer (TBLP) is a read/write register, which
indicates the table location.
Stack Register - Stack
The stack register is a special part of the memory used
to save the contents of the program counter (PC). This
stack is organized into four levels. It is neither part of the
data nor part of the program space, and cannot be read
or written to. Its activated level is indexed by a stack
pointer (SP) and cannot be read or written to. At a sub-
routine call or interrupt acknowledgment, the contents of
the program counter are pushed onto the stack.
The program counter is restored to its previous value
from the stack at the end of subroutine or interrupt rou-
tine, which is signaled by return instruction (RET or
RETI). After a chip resets, SP will point to the top of the
stack.
The interrupt request flag will be recorded but the ac-
knowledgment will be inhibited when the stack is full and
a non-masked interrupt takes place. After the stack
pointer is decremented (by RET or RETI), the interrupt
request will be serviced. This feature prevents stack
overflow and allows programmers to use the structure
more easily. In a similar case, if the stack is full and a
curs and the first entry is lost.
@7~@0: Write @7~@0 to TBLP pointer register
CALL is subsequently executed, stack overflow oc-
@5
@5
*5
@4
@4
*4
@3
@3
*3
@2
@2
*2
August 25, 2003
@1
@1
*1
HT83XXX
@0
@0
*0