Preliminary
Certain locations in the program memory are
reserved for special usage:
·
Location 000H
0 0 0 H
0 0 4 H
0 0 8 H
D e v ic e In itia liz a tio n P r o g r a m
E x te r n a l In te r r u p t S u b r o u tin e
HT48R06A-1
This area is reserved for program initializa-
tion. After chip reset, the program always be-
gins execution at location 000H.
·
Location 004H
T im e r /E v e n t C o u n te r In te r r u p t S u b r o u tin e
P ro g ra m
M e m o ry
L o o k - u p T a b le ( 2 5 6 w o r d s )
This area is reserved for the external inter-
rupt service program. If the INT input pin is
activated, the interrupt is enabled and the
stack is not full, the program begins execution
at location 004H.
·
Location 008H
n 0 0 H
n F F H
3 F F H
L o o k - u p T a b le ( 2 5 6 w o r d s )
1 4 b its
N o te : n ra n g e s fro m
0 to 3
This area is reserved for the timer/event coun-
ter interrupt service program. If a timer inter-
rupt results from a timer/event counter
overflow, and if the interrupt is enabled and the
stack is not full, the program begins execution
at location 008H.
·
Table location
Program memory
the l o w e r-o rde r b yt e i n th e t abl e is
well-defined, the other bits of the table word
are transferred to the lower portion of TBLH,
and the remaining 2 bits are read as "0". The
Table Higher-order byte register (TBLH) is
read only. The table pointer (TBLP) is a
read/write register (07H), which indicates the
table location. Before accessing the table, the
location must be placed in TBLP. The TBLH
is read only and cannot be restored. If the
main routine and the ISR (Interrupt Service
Program Counter
Any location in the PROM space can be used
as look-up tables. The instructions "TABRDC
[m]" (the current page, 1 page=256 words)
and "TABRDL [m]" (the last page) transfer
the contents of the lower-order byte to the
specified data memory, and the higher-order
byte to TBLH (08H). Only the destination of
Mode
Initial Reset
External Interrupt
Timer/Event Counter Overflow
Skip
Loading PCL
Jump, Call Branch
Return from Subroutine
*9
#9
S9
*8
#8
S8
*9
0
0
0
*8
0
0
0
*7
0
0
0
@7
#7
S7
*6
0
0
0
@6
#6
S6
*5
0
0
0
@5
#5
S5
*4
0
0
0
@4
#4
S4
*3
0
0
1
@3
#3
S3
*2
0
1
0
@2
#2
S2
*1
0
0
0
@1
#1
S1
*0
0
0
0
@0
#0
S0
PC+2
Program counter
Note: *9~*0: Program counter bits
#9~#0: Instruction code bits
S9~S0: Stack register bits
@7~@0: PCL bits
7
February 25, 2000