лл
在51单片机编程中,可以做数据指针的寄存器只有 R0 、 R1 、 DPTR。
R0 、 R1 做数据指针时,只能访问片内数据存储器和片外数据存储器的00H~FFH低8位地址空间。
DPTR可以访问片外数据存储器的16位地址空间 即0000H~FFFFH.
DPTR还可以和累加器A配合,访问程序存储器中数据表中的数据,DPTR作为指针指向表的首地址。
具有指针功能指令有:
1 访问片内数据存储器 :
MOV A, @R0 MOV @R1,A
ADD A,@R0 INC @R1 SUBB A, @R1
ANL A, @R0 ORL A, @R1
CJNE @R0, #data, rel
2 访问片外数据存储器:
MOVX A, @R0 MOVX @R1,A
3 访问片外数据存储器:
MOVX A, @DPTR MOVX @DPTR,A
4 访问程序数据存储器:
MOVC A, @A+DPTR
@ 为指针前缀 如@R0 代表 R0做为指针 其中R0中存放的是操作数的地。
呵呵 如果满意 请选择:满意回答
R0 、 R1 做数据指针时,只能访问片内数据存储器和片外数据存储器的00H~FFH低8位地址空间。
DPTR可以访问片外数据存储器的16位地址空间 即0000H~FFFFH.
DPTR还可以和累加器A配合,访问程序存储器中数据表中的数据,DPTR作为指针指向表的首地址。
具有指针功能指令有:
1 访问片内数据存储器 :
MOV A, @R0 MOV @R1,A
ADD A,@R0 INC @R1 SUBB A, @R1
ANL A, @R0 ORL A, @R1
CJNE @R0, #data, rel
2 访问片外数据存储器:
MOVX A, @R0 MOVX @R1,A
3 访问片外数据存储器:
MOVX A, @DPTR MOVX @DPTR,A
4 访问程序数据存储器:
MOVC A, @A+DPTR
@ 为指针前缀 如@R0 代表 R0做为指针 其中R0中存放的是操作数的地。
呵呵 如果满意 请选择:满意回答
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-07-27
MOVX、MOVC指令,还有用到@Ri的其他指令。
第2个回答 2012-07-27
MOVX如:MOVX @DPTR,A
MOVX A,@DPTR
MOVX @R0,A
MOVX A,@R0
MOVC如:MOVC A,@A+DPTR
MOVC A,@A+PC
MOV如:MOV @R0,A
MOV A,@R0
INC如:INC DPTR
INC R0
DEC如: DEC R0
DEC R1本回答被网友采纳
MOVX A,@DPTR
MOVX @R0,A
MOVX A,@R0
MOVC如:MOVC A,@A+DPTR
MOVC A,@A+PC
MOV如:MOV @R0,A
MOV A,@R0
INC如:INC DPTR
INC R0
DEC如: DEC R0
DEC R1本回答被网友采纳