片外 片外 RAM RAM P234H DPTR 2000H RI 10H 3410H45H 2000H30H A 45H A 30H 图3-2 MOVXA, 图3-3MOVX@DPTR, aR1间接寻址示意图 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间接寻址示意图 返回本节
3.2.5变址寻址 变址寻址只能对程序存储器中数据进行操作 由于程序存储器是只读的,因此变址寻址只 有读操作而无写操作,在指令符号上采用 MOVC的形式(如图3-4所示)。 例如: MOVC A,@A+DPTR;A← (A+DPTR 又如, MOVC A,@A+PC;A←(A+PC) 这条指令与上条指令不同的是,基址寄存器是 PC
3.2.5 变址寻址 • 变址寻址只能对程序存储器中数据进行操作。 由于程序存储器是只读的,因此变址寻址只 有读操作而无写操作,在指令符号上采用 MOVC的形式(如图3-4所示)。 例如: MOVC A , @ A+DPTR ; A← (A+DPTR) 又如,MOVC A,@ A+PC ;A←(A+PC) 这条指令与上条指令不同的是,基址寄存器是 PC
程序存储器 DPTR 2000H A 2000H 20l0H 64H 64H(10H) 图3-4变址寻址示意图 返回本节
图3-4 变址寻址示意图 程序存储器 2000H DPTR 64H(10H) A 2010H 64H 10H 2000H 返回本节
3.2.6相对寻址 以当前程序计数器PC的内容为基础,加上指 令给出的一字节补码数(偏移量)形成新的 PC值的寻址方式。 相对寻址用于修改PC值,主要用于实现程序 的分支转移。 例如,SJMP08H ;PC←PC+2+08H 指令操作示意图如图3-5所示
3.2.6 相对寻址 • 以当前程序计数器PC的内容为基础,加上指 令给出的一字节补码数(偏移量)形成新的 PC值的寻址方式。 • 相对寻址用于修改PC值,主要用于实现程序 的分支转移。 例如,SJMP 08H ;PC←PC+2+08H 指令操作示意图如图3-5所示
程序存储器 2000H SJMP 08H (2000H) 08H 2000H+2 200AH 200AH 图3-5相对寻址示意图 返回本节
程序存储器 (2000H) 200AH SJMP 200AH 08H 2000H+2 08H PC 2000H 图3-5 相对寻址示意图 返回本节