HT86030/HT86070
Rev. 1.10
9
May 25, 2006
The conditional skip is activated by instruction. Once the
condition is met, the next instruction, fetched during the
current instruction execution, is discarded and a dummy
cycle takes its place while the correct instruction is ob-
tained.
The lower byte of the program counter (PCL) is a
read/write register (06H). Moving data into the PCL per-
forms a short jump. The destination must be within 256
locations.
When a control transfer takes place, an additional
dummy cycle is required.
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 HT86030/HT86070 is 8192 16 bits. Certain loca-
tions in the program memory are reserved for special
usage:
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 external interrupt service
program. If the INTinput pin is activated, and the inter-
rupt is enabled and the stack is not full, the program
will jump to location 004H and begins execution.
Location 008H
This area is reserved for the 16-bit Timer/Event Coun-
ter 0 interrupt service program. If a timer interrupt re-
sultsfromaTimer/EventCounter0overflow,andifthe
interrupt is enabled and the stack is not full, the pro-
gramwilljumptolocation008Handbeginsexecution.
Location 00CH
This area is reserved for the 16-bit Timer/Event Coun-
ter 1 interrupt service program. If a timer interrupt re-
sultsfromaTimer/EventCounter1overflow,andifthe
interrupt is enabled and the stack is not full, the pro-
gram will jump to location 00CH and begins execu-
tion.
Location 014H
This area is reserved for the 8-bit Timer Counter 3 in-
terrupt service program. If a timer interrupt results
from a Timer Counter 3 overflow, and if the interrupt is
enabled and the stack is not full, the program will jump
to location 014H and begins execution.
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 (TBHP, TBLP) is a read/write register,
which indicates the table location. Because TBHP is un-
known after power on reset, TBHP must be set speci-
fied.
Stack Register
Stack
The stack register is a special part of the memory used
to save the contents of the program counter. This stack
is organized into eight 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-
routinecallorinterruptacknowledgment,thecontentsof
the program counter are pushed onto the stack.
Instruction
Table Location
*12
*11
*10
*9
*8
*7
*6
*5
*4
*3
*2
*1
*0
TABRDC [m]
P12
P11
P10
P9
P8
@7
@6
@5
@4
@3
@2
@1
@0
TABRDL [m]
1
1
1
1
1
@7
@6
@5
@4
@3
@2
@1
@0
Table Location
Note: *12~*0: Current program ROM table
@7~@0: Write @7~@0 to TBLP pointer register
P12~P8: Write P12~P8 to TBHP pointer register
<
* <
4 <
<
, ' !
@
, '
'
/
' '
'
/
' '
'
/
: : : <
' 0 '
'
/
* <
- <
Program Memory