
SN8P2608
8位微控制器
2.1.1.3
查表描述
在ROM中的数据进行查找,寄存器Y指向地址的高字节( 8位第15位)和Z寄存器指向
低字节地址(位0 7位)的ROM 。经过MOVC指令执行时,低字节数据将被存储在ACC和
存储在R寄存器的高字节数据。
示例:查找位于“ TABLE1”的ROM数据。
B0MOV
B0MOV
MOVC
Y, # TABLE1 $ M
Z, # TABLE1 $ L
;要设置查找表1的中间地址
;要设置查找表1的低地址。
;查找数据, R = 00H , ACC = 35H
;增量索引查找下一地址。
; Z+1
; Z是不会溢出。
; 溢出( FFH
00),
Y=Y+1
;
;
;查找数据, R = 51H , ACC = 05H 。
;
;定义一个字(16位)的数据。
INCMS
JMP
INCMS
NOP
@@:
表1:
MOVC
…
DW
DW
DW
…
Z
@F
Y
0035H
5105H
2012H
注意:当Z寄存器十字架从0xFF边界到Y寄存器不会自动增加
00。因此,用户必须注意这种情况以免查表错误。若Z
溢出,Y寄存器必须增之一。下面INC_YZ宏给出了一个简单的方法
处理Y和Z自动注册。
例如: INC_YZ宏。
INC_YZ
万家乐
INCMS
JMP
INCMS
NOP
@@:
ENDM
Z
@F
Y
; Z+1
;不溢出
; Y+1
;不溢出
松翰科技股份有限公司
第16页
1.4版