首页 理论教育 寄存器间接寻址方式-单片机原理与接口技术

寄存器间接寻址方式-单片机原理与接口技术

时间:2023-11-16 理论教育 版权反馈
【摘要】:间接寻址也称为寄存器间接寻址,它的特点是以指令中给出的寄存器中的数据为地址,从该地址的单元取得操作数。能用于寄存器间接寻址的寄存器有R0、R1、DPTR、SP,其中SP仅用于堆栈操作。为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方式中,应在寄存器名称前面加前缀标志@。寄存器间接寻址的寻址范围如下:1)访问内部RAM或外部数据存储器的低256B时,可采用R0或R1作为间址寄存器,通用形式为@Ri。

寄存器间接寻址方式-单片机原理与接口技术

间接寻址也称为寄存器间接寻址,它的特点是以指令中给出的寄存器中的数据为地址,从该地址的单元取得操作数。在指令中给出的寄存器内容是操作数的地址,而不是操作数,从该地址中取出的数才是真正的操作数。能用于寄存器间接寻址的寄存器有R0、R1、DPTR、SP,其中SP仅用于堆栈操作。

为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方式中,应在寄存器名称前面加前缀标志@。@Ri(i=0,1)、@DPTR、@R0或@R1(用于访问片内RAM或片外RAM低8位地址范围为00H~FFH的单元)。

寄存器间接寻址的寻址范围如下:

1)访问内部RAM或外部数据存储器的低256B时,可采用R0或R1作为间址寄存器,通用形式为@Ri。

MOV A,@Ri ;(i=0,1)访问片内单元

MOVX A,@Ri ;(i=0,1)访问片外256B范围内的单元

2)访问片外数据存储器还可用数据指针DPTR作为间址寄存器,可对整个64KB外部数据存储器空间寻址。

MOV DPTR,#****H;

MOVX A,@DPTR;访问片外RAM全部64KB范围,地址范围为0000H~FFFFH(www.xing528.com)

3)执行PUSH和POP指令时,使用堆栈指针SP作间址寄存器来进行对栈区的间接寻址。

值得注意的是,对于片内RAM高端128B中的特殊功能寄存器SFR,不能使用间接寻址的方式访问,规定SFR只能用直接寻址方式访问,这样就可以把两者区别开来。

MAIN:MOV A,#03H;A←03H

MOV DPTR,8000H;DPTR←8000H

MOVX @DPTR,A;(DPTR)←(A)

其中,第三条指令的目的操作数使用的是间接寻址方式,助记符MOVX表示指令的操作功能是“写片外RAM”,该MOVX @DPTR,A指令的执行过程如图3-5所示。

978-7-111-54295-7-Chapter03-6.jpg

图3-5 间接寻址示意图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈