关于单片机查表指令时用RLC左移指令

如题所述

MOV
DPTR,#TAB
MOV
A,R3
;
如R2R3
=
0292H
=
0000
0010
1001
0010
(
十进制
658

CLR
C
;
C
=0
A=
1001
0010
RLC
A
;
A
=
0010
0100
C
=
1
(
左移一位)
XCH
A,R2
;
A
<=>
R2
A
=
0000
0010
C=1
RLC
A
;
A
=
0000
0101
C
=
0
(
左移一位)
XCH
AR2
;
A
<=>
R2
R2=0000
0101
A
=
0010
0100
(
十六进制
0524H)
ADD
A,DPL
;
(
十进制
1316)
MOV
DPL,A;调整DPL,DPH
MOV
A,DPH
ADDC
A,R2
MOV
DPH,A
CLR
A
MOVC
A,@A+DPTR;查表
MOV
R2,A;第一字节
CLR
A
INC
DPTR
MOVC
A,@A+DPTR;查第二字节
MOV
R3,A
RET
TAB:
DW
XXXXH;共1024个数据项
DW
XXXXH
......
DW
XXXXH
温馨提示:答案为网友推荐,仅供参考
相似回答