HT45R38
·
Location 00CH
Program Memory - ROM
The program memory is used to store the program in-
structions which are to be executed. It also contains
data, table, and interrupt entries, and is organized into
4096´15 bits, addressed by the program counter and ta-
ble pointer.
This location is reserved for the Timer/Event Counter
0 interrupt service program. If a Timer 0 interrupt re-
sults from a Timer/Event Counter 0 overflow, and the
interrupt is enabled and the stack is not full, the pro-
gram begins execution at this location.
·
Certain locations in the program memory are reserved
for special usage:
Location 010H
This location is reserved for the external RC oscilla-
tion converter interrupt service program. If an external
RC oscillation converter interrupt results from an ex-
ternal RC oscillation converter interrupt is activated,
and the interrupt is enabled and the stack is not full,
the program begins execution at this location.
·
Location 000H
This area is reserved for program initialisation. After a
device reset, the program always begins execution at
location 000H.
·
Location 004H
·
·
·
Location 014H
This location is reserved for the external interrupt 0
service program. If the INT0 input pin is activated, the
interrupt is enabled and the stack is not full, the pro-
gram begins execution at this location.
This location is reserved for the Timer/Event Counter
1 interrupt service program. If a Timer 1 interrupt re-
sults from a Timer/Event Counter 1 overflow, and the
interrupt is enabled and the stack is not full, the pro-
gram begins execution at this location.
·
Location 008H
This location is reserved for the external interrupt 1
service program. If the INT1 input pin is activated, the
interrupt is enabled and the stack is not full, the pro-
gram begins execution at this location.
Location 018H
This location is reserved for the A/D converter inter-
rupt service program. If an A/D converter interrupt re-
sults from an end of A/D conversion, and if the
interrupt is enabled and the stack is not full, the pro-
gram begins execution at this location.
0
0
0
0
0
4
8
H
H
H
D
e
v
i
c
e
I
n
i
t
i
a
l
i
z
a
t
i
o
n
P
r
o
g
r
a
m
0
E
E
x
x
t
t
e
e
r
r
n
n
a
a
l
l
I
I
n
n
t
t
e
e
r
r
r
r
u
u
p
p
t
t
0
1
Table location
0
Any location in the program memory can be used as a
look-up table. The instructions ²TABRDC [m]² (the
current page, 1 page=256 words) and ²TABRDL [m]²
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 the lower-order
byte in the table is well-defined, the other bits of the ta-
ble word are transferred to the lower portion of TBLH,
and the remaining 1 bit is read as ²0². The table
higher-order byte register (TBLH) is read only. The ta-
ble 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 Routine) both
employ the table read instruction, the contents of the
TBLH in the main routine are likely to be changed by
the table read instruction used in the ISR. Errors may
0
0
0
0
0
C
H
T
i
m
e
r
/
E
v
e
n
t
C
o
u
n
t
e
r
0
O
v
e
r
f
l
o
w
E
x
t
e
r
n
a
l
R
C
O
s
c
i
l
l
a
t
i
o
n
C
o
n
v
e
r
t
e
r
I
n
t
e
r
r
u
p
t
1
0
H
P
r
o
g
r
a
m
1
1
4
8
H
H
T
i
m
e
r
/
E
v
e
n
t
C
o
u
n
t
e
r
1
O
v
e
r
f
l
o
w
M
e
m
o
r
y
A
/
D
C
o
n
v
e
r
t
e
r
I
n
t
e
r
r
u
p
t
n
0
0
H
L
o
o
k
-
u
p
T
a
b
l
e
(
2
5
6
w
o
r
d
s
)
n
F
F
H
F
0
0
H
L
o
o
k
-
u
p
T
a
b
l
e
(
2
5
6
w
o
r
d
s
)
F
F
F
H
1
5
-
B
i
t
s
N
o
t
e
:
n
r
a
n
g
e
s
f
r
o
m
0
t
o
F
Program Memory
Table Location
Instruction
*11
P11
1
*10
P10
1
*9
P9
1
*8
P8
1
*7
*6
*5
*4
*3
*2
*1
*0
TABRDC [m]
TABRDL [m]
@7
@7
@6
@6
@5
@5
@4
@4
@3
@3
@2
@2
@1
@1
@0
@0
Table Location
P11~P8: Current program counter bits
Note: *11~*0: Table location bits
@7~@0: Table pointer bits
Rev. 1.00
8
December 13, 2006