寄存器寻址 ◆以通用寄存器的内容为操作数的寻址方式。通 用寄存器指A、B、DPR以及R0~R7。 从寄存器中读取操作数或存放操作数进寄存器 例如:CLRA;A←0 INC DPTR (DPTR)←(DPTR+1) ADDR5,#20H;(R5)←(R5+#20H) MoVA,B:(A)←(B) Mov30H,R0;(30H)←(R0) MovA,R1:(A)←(R1)
寄存器寻址 以通用寄存器的内容为操作数的寻址方式。通 用寄存器指A、B 、DPTR以及R0~R7 。 从寄存器中读取操作数或存放操作数进寄存器 例如:CLR A ;A←0 INC DPTR ;(DPTR)←(DPTR+1) ADD R5,#20H;(R5)←(R5+#20H) MOV A,B ; (A) ←(B) MOV 30H,R0 ;(30H)←(R0) MOV A,R1 ; (A) ←(R1)
寄存器间接寻址 ◆寄存器中的内容是一个地址,由该地址单元 寻址到所需的操作数。间接寻址的存储器空 间包括内部数据RAM和外部数据RAM。 ◆能用于寄存器间接寻址的寄存器有R0,R1, DPTR,SP。其中R0、R1必须是工作寄存器 组 注意中的寄存器。SP仅用于堆栈操作。 1)“间接”表示某寄存器中的“内容”只是一个“单元地 址 这个地址单元中存放的数据才是要找的“操作数”。 2)符号“@”表示“在”,其含义与读音皆同“at
寄存器间接寻址 寄存器中的内容是一个地址,由该地址单元 寻址到所需的操作数。间接寻址的存储器空 间包括内部数据RAM和外部数据RAM。 能用于寄存器间接寻址的寄存器有R0,R1, DPTR,SP。其中R0、R1必须是工作寄存器 组 注意:中的寄存器。SP仅用于堆栈操作。 1)“间接”表示某寄存器中的“内容”只是一个“单元地 址” , 这个地址单元中存放的数据才是要找的“操作数” 。 2)符号“@”表示“在…”,其含义与读音皆同“at”
例如:Mov@R0,A;内部RAM(R)←A 其指令操作过程示意图如图3-1所示。 又如:MoXA,aR1;A←外部RAM(P2R1) 其指令操作过程示意图如图3-2所示。 再如:MoX@DPTR,A;外部 RAM(DPTR)←A 其指令操作过程示意图如图3-3所示
例如:MOV @R0,A;内部RAM(R0)←A 其指令操作过程示意图如图3-1所示。 又如:MOVX A,@R1;A←外部RAM(P2R1) 其指令操作过程示意图如图3-2所示。 再 如 : MOVX @DPTR , A ; 外 部 RAM(DPTR)←A 其指令操作过程示意图如图3-3所示
片内RAM RO 30H 30H 34H A 34H 图3-1MoV@R0,A间接寻址示意
片内RAM R0 30H A 34H 30H 34H 图3-1 MOV @R0,A间接寻址示意 图
片外 片外 RAM RAM P234H DPTR 2000H R1 10H 3410H45H 2000H30H A45H A 30H 图3-2MoXA 图3-3MowX@DPTR, @R1间接寻址示意图 A间接寻址示意图
片 外 RAM P2 34H A 45H 3410H 45H R1 10H 片 外 RAM DPTR 2000H A 30H 2000H 30H 图3-2 MOVX A, @R1间接寻址示意图 图3-3 MOVX @DPTR, A间接寻址示意图