SN8P2740 Series
ADC, OP-amp, Comparator 8-Bit Micro-Controller
2.1.3 LOOK-UP TABLE DESCRIPTION
In the ROM‟s data lookup function, Y register is pointed to middle byte address (bit 8~bit 15) and Z register is pointed
to low byte address (bit 0~bit 7) of ROM. After MOVC instruction executed, the low-byte data will be stored in ACC and
high-byte data stored in R register.
Example: To look up the ROM data located “TABLE1”.
B0MOV
B0MOV
MOVC
Y, #TABLE1$M
Z, #TABLE1$L
; To set lookup table1‟s middle address
; To set lookup table1‟s low address.
; To lookup data, R = 00H, ACC = 35H
; Increment the index address for next address.
INCMS
JMP
INCMS
NOP
Z
@F
Y
; Z+1
; Z is not overflow.
; Z overflow (FFH 00), Y=Y+1
;
;
@@:
TABLE1:
MOVC
…
DW
DW
DW
…
; To lookup data, R = 51H, ACC = 05H.
;
; To define a word (16 bits) data.
0035H
5105H
2012H
Note: The Y register will not increase automatically when Z register crosses boundary from 0xFF to
0x00. Therefore, user must be take care such situation to avoid look-up table errors. If Z register is
overflow, Y register must be added one. The following INC_YZ macro shows a simple method to process
Y and Z registers automatically.
Example: INC_YZ macro.
INC_YZ
MACRO
INCMS
JMP
Z
; Z+1
@F
; Not overflow
INCMS
NOP
Y
; Y+1
; Not overflow
@@:
ENDM
SONiX TECHNOLOGY CO., LTD
Page 16
Version 2.0