寄存器间接寻址

四、寄存器间接寻址

指令指出某一寄存器的内容作为操作数地址的寻址方法,称为寄存器间接寻址。寄存器中的内容不是操作数本身,而是操作数的地址,该地址单元中存放的才是操作数。寄存器起地址指针的作用。例如:

MOV  A,@R1

若R1中的内容为80 H,片内RAM地址为80 H的单元中的内容为2FH,则执行该指令后,片内RAM 80 H单元的内容2FH被送到A中。该指令的执行过程如图3-3所示。

图3-3 寄存器简介寻址示意图

访问内部RAM或外部数据存储器低地址256个字节单元时,采用R0或R1作为间接寻址寄存器,R0或R1实际上是地址指针。访问外部数据存储器时,还可以用数据指针DPTR作为间接寻址寄存器。DPTR为16位寄存器,故它可对整个外部数据存储器空间(64K)寻址。例如:

MOVX A,@R0  ;访问片外数据存储器低地址的256字节单元

MOVX A,@DPTR ;可访问整个片外数据存储器空间