HT46R47
0
0
0
0
0
0
0
4
8
H
H
H
Certain locations in the program memory are
reserved for special usage:
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
E
x
t
e
r
n
a
l
I
n
t
e
r
r
u
p
t
S
u
b
r
o
u
t
i
n
e
·
Location 000H
This area is reserved for program initializa-
tion. After chip reset, the program always be-
gins execution at location 000H.
T
i
m
e
r
/
E
v
e
n
t
C
o
u
n
t
e
r
I
n
t
e
r
r
u
p
t
S
u
0
0
C
H
A
/
D
C
o
n
v
e
r
t
e
r
I
n
t
e
r
r
u
p
t
S
u
b
r
o
u
t
·
Location 004H
P
M
r
o
g
r
a
m
e
m
o
r
y
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.
n
0
F
0
H
L
L
o
o
o
o
k
k
-
-
u
u
p
p
T
T
a
a
b
b
l
l
e
e
(
(
2
2
5
5
6
6
w
o
r
d
s
)
n
7
F
F
H
H
·
·
Location 008H
7
0
0
H
w
o
r
d
s
)
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.
F
1
4
b
i
t
s
N
o
t
e
:
n
r
a
n
g
e
s
f
r
o
m
0
t
o
7
Program memory
Table location
·
Location 00CH
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
the lower-order byte in the table is
This area is reserved for the A/D converter in-
terrupt service program. If an A/D converter
interrupt results from an end of A/D conver-
sion, and if the interrupt is enabled and the
stack is not full, the program begins execution
at location 00CH.
Program Counter
Mode
*10 *9
*8
0
*7
0
*6
0
*5
*4
0
*3
0
*2
0
*1
0
*0
0
Initial Reset
0
0
0
0
0
0
0
0
0
External Interrupt
Timer/Event Counter Overflow
A/D Converter Interrupt
Skip
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
PC+2
Loading PCL
*10 *9
#10 #9
S10 S9
*8
#8
S8
@7 @6 @5 @4 @3 @2 @1 @0
Jump, Call Branch
Return from Subroutine
#7
S7
#6
S6
#5
S5
#4
S4
#3
S3
#2
S2
#1
S1
#0
S0
Program counter
Note: *10~*0: Program counter bits
#10~#0: Instruction code bits
S10~S0: Stack register bits
@7~@0: PCL bits
Rev. 1.40
7
July 18, 2001