The following diagram illustrates the addressing/data flow of the look-up table:
Table Program Example
The following example shows how the table pointer and table data is defined and retrieved from
the HT48R06A-1/HT48C06 and HT48R07A-1/HT48C07 I/O microcontrollers. This example uses
raw table data located in the last page which is stored there using the ORG statement. The value
at this ORG statement is ²300H² which refers to the start address of the last page within the 1K Pro
-
gram Memory of the HT48R06A-1/HT48C06 and HT48R07A-1/HT48C07 microcontrollers. The ta
-
ble pointer is setup here to have an initial value of ²06H². This will ensure that the first data read
from the data table will be at the Program Memory address ²306H² or 6 locations after the start of
the last page. Note that the value for the table pointer is referenced to the first address of the pres
-
ent page if the ²TABRDC [m]² instruction is being used. The high byte of the table data which in
this case is equal to zero will be transferred to the TBLH register automatically when the ²TABRDL
[m]² instruction is executed.
tempreg1 db ? ; temporary register #1
tempreg2 db ? ; temporary register #2
:
:
mov a,06h ; initialize table pointer - note that this address
; is referenced
mov tblp,a ; to the last page or present page
:
:
tabrdl tempreg1 ; transfers value in table referenced by table pointer
; to tempregl
; data at prog. memory address 306H transferred to
; tempreg1 and TBLH
dec tblp ; reduce value of table pointer by one
tabrdl tempreg2 ; transfers value in table referenced by table pointer
; to tempreg2
; data at prog. memory address 305H transferred to
; tempreg2 and TBLH
; in this example the data ²1AH² is transferred to
; tempreg1 and data ²0FH² to register tempreg2
; the value ²00H² will be transferred to the high byte
; register TBLH
:
:
org 300h ; sets initial address of last page
;(for HT48R06A-1 and HT48R07A-1)
dc 00Ah, 00Bh, 00Ch, 00Dh, 00Eh, 00Fh, 01Ah, 01Bh
:
:
16
Cost-Effective I/O Type MCU
P r o g r a m
M e m o r y
P r o g r a m C o u n t e r
h i g h b y t e
T B L P
T B L H S p e c i f i e d b y [ m ]
H i g h b y t e o f t a b l e c o n t e n t s
L o w b y t e o f t a b l e c o n t e n t s