HT95LXXX
Rev. 1.20
9
May 26, 2004
jump or call is executed. When either a software or hard-
ware interrupt is received, note that no matter which
ROM bank the program is in, the program will always
jump to the appropriate interrupt service address in
Bank 0. The original 14 bits address will be stored on the
stack and restored when the relevant RET/RETI instruc-
tion is executed, automatically returning the program to
the original ROM bank. This eliminates the need for pro-
grammers to manage the BP when interrupts occur.
Certain locations in the program memory are reserved
for special usage:
Location 0000H (Bank0)
This area is reserved for the initialization program. Af-
ter chip power-on reset or external reset or WDT
time-out reset, the program always begins execution
at location 0000H.
Location 0004H (Bank0)
This area is reserved for the external interrupt service
program. If the INT/TMR1 input pin is activated, the
external interrupt is enabled and the stack is not full,
the program begins execution at location 0004H.
Location 0008H (Bank0)
ThisareaisreservedfortheTimer/EventCounter0in-
terrupt service program. If a timer interrupt results
from a Timer/Event Counter 0 overflow, the
Timer/Event Counter 0 interrupt is enabled and the
stack is not full, the program begins execution at loca-
tion 0008H.
Mode
Program Counter
*13
*12
*11
*10
*9
*8
*7
*6
*5
*4
*3
*2
*1
*0
Initial reset
0
0
0
0
0
0
0
0
0
0
0
0
0
0
External interrupt
0
0
0
0
0
0
0
0
0
0
0
1
0
0
Timer/Event Counter 0 overflow
0
0
0
0
0
0
0
0
0
0
1
0
0
0
Timer/Event Counter 1 overflow
0
0
0
0
0
0
0
0
0
0
1
1
0
0
RTC interrupt
0
0
0
0
0
0
0
0
0
1
0
1
0
0
Dialer I/O interrupt
0
0
0
0
0
0
0
0
0
1
1
0
0
0
Skip
Program Counter+2 (within current bank)
Loading PCL
*13
*12
*11
*10
*9
*8
@7
@6
@5
@4
@3
@2
@1
@0
Jump, call branch
BP.5 #12
#11
#10
#9
#8
#7
#6
#5
#4
#3
#2
#1
#0
Return from subroutine
S13 S12 S11 S10
S9
S8
S7
S6
S5
S4
S3
S2
S1
S0
Program ROM Address
Note: *13~*0: Program counter bits
S13~S0: Stack register bits
#12~#0: Instruction code bits
@7~@0: PCL bits
Available bits of program counter for HT95L400/40P: Bit 13~Bit 0
Available bits of program counter for HT95L300/30P: Bit 12~Bit 0
Available bits of program counter for HT95L200/20P: Bit 12~Bit 0
Available bits of program counter for HT95L100/10P: Bit 11~Bit 0
Available bits of program counter for HT95L000/00P: Bit 11~Bit 0
$ $ $ ,
$ $ 2 ,
$ $ + ,
#
"
/ -
"
4 >
/ "
"
A
1 4 #
"
" $ "
"
A
* " A
0
"
A / " < ( 6 * " .
=
$ $ ,
0
"
A / " < ( 6 * " .
=
<
"
=
B "
"
"
" !
" ,
; 6
2 $ $ 1 2 $
"
" ' 3 $ $ , 5 ' 3 3 3 ,
" " " " " " " " "
"
"
" !
" ,
; 6
' $ $ 1 ' $
"
" 3 $ $ , 5
3 3 3 ,
" " " " " " " " "
"
"
" !
" ,
; 6
( $ $ 1 ( $
"
" 3 $ $ , 5
3 3 3 ,
" " " " " " " " "
"
"
" !
" ,
; 6
$ $ 1 $
"
" $ 3 $ $ , 5 $ 3 3 3 ,
" " " " " " " " "
"
"
" !
" ,
; 6
$ $ $ 1 $ $
"
" $ 3 $ $ , 5 $ 3 3 3 ,
3 3 ,
1 4 #
"
" "
"
A
$ $
,
$
$ ,
"
"
A
$
2 ,
/
" 1
"
"
A
$
+ ,
#
Program Memory