org 00Ch ; jump here from any bank when timer 1 int.
; occurs - BP retains original value
:
:
ext_int: ; external interrupt subroutine
mov bp_exti,a ; backup bank pointer
mov a,status ; backup status register
mov statusbuf0,a ; backup status register
:
:
mov a,statusbuf0 ; restore status register
mov status,a
mov a,bp_exti ; restore bank pointer
mov bp,a
mov a,accbuf0 ; restore accumulator
reti ; return to main program and original
; calling bank
:
:
tim0_int: ; timer 0 interrupt subroutine
mov bp_tmr0,a ; backup bank pointer
mov a,status ; backup status register
mov statusbuf1,a
:
:
mov a,statusbuf1 ; restore status register
mov status,a
mov a,bp_tmr0 ; restore bank pointer
mov bp,a
mov a,accbuf1 ; restore accumulator
reti ; return to main program and original
; calling bank
:
Look-up Table
Any location within the Program Memory can be defined as a look-up table where programmers
can store fixed data. To use the look-up table, table pointers are used to setup the address of the
data that is to be accessed from the Program Memory. However, as some devices possess only a
low byte table pointer and other devices possess both a high and low byte pointer it should be
noted that depending upon which device is used, accessing look-up table data is implemented in
slightly different ways.
With the exception of the HT48RU80/HT48CU80 devices, there is only one Table Pointer Register
known as TBLP, in which the lower byte address of the look-up data to be retrieved must be first
written. This register defines the lower 8-bit address of the look-up table. For these devices, after
setting up the table pointer, the table data can be retrieved from the current Program Memory
page or last Program Memory page using the ²TABRDC [m]² or ²TABRDL [m]² instructions respec
-
tively. When these instructions are executed, the lower order table byte from the Program Memory
will be transferred to the user defined Data Memory register [m] as specified in the instruction. The
higher order table data byte from the Program Memory will be transferred to the TBLH special reg
-
ister. Any unused bits in this transferred higher order byte will be read as ²0².
24
I/O Type MCU