3.直接寻址 ◆在指令中直接给出操作数的地址的寻址方式称为直接寻 址。 ◆在该寻址方式中,操作数存放在片内数据存储器中,地址 长度为8位。 ◆这种寻址方式可以访问:内部数据RAM低128B(该空间还 可以采用寄存器间接寻址)和特殊功能寄存器SFR(该空间只 能采用直接寻址)。 ROM 例如:在片内RAM60H单元 内部RAM 存放一个8位二进制数3CH,执行 操作码→「E5H A 直接地址→60H| 3CH 3CH 指令MOVA,60H后,结果为 (A)=3CH。如图2-1所示。 图2-1MW克60H行示意图 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
3.直接寻址 ◆ 在指令中直接给出操作数的地址的寻址方式称为直接寻 址。 ◆ 在该寻址方式中,操作数存放在片内数据存储器中,地址 长度为8位。 ◆ 这种寻址方式可以访问:内部数据RAM低128B(该空间还 可以采用寄存器间接寻址)和特殊功能寄存器SFR(该空间只 能采用直接寻址)。 例如:在片内RAM60H单元 存放一个8位二进制数3CH,执行 指令MOV A,60H后,结果为 (A)=3CH。如图2-1所示
4.寄存器间接寻址 ◆在指令中以指定寄存器的内容作为操作数地址的寻址方 式称为寄存器间接寻址。 这种方式可用于访问内部RAM和外部数据存储器。 能够用于寄存器间接寻址方式的寄存器有:R0、R1、 DPTR和SP。 ◆在间接寻址寄存器前加“@”表示间接寻址。 例如: MOVA,@R0;A←((R0)) 数据存储器 RO 50H 假定R0中的内容为50H,50H单 50M1.45H 元内容为45,图2-2给出了寄存 A45H 器间接寻址方式的执行过程。 图2-2间接寻址〔MV真BD)示意图 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
4.寄存器间接寻址 ◆ 在指令中以指定寄存器的内容作为操作数地址的寻址方 式称为寄存器间接寻址。 ◆ 这种方式可用于访问内部RAM和外部数据存储器。 ◆ 能够用于寄存器间接寻址方式的寄存器有:R0、R1、 DPTR和SP。 ◆ 在间接寻址寄存器前加“@”表示间接寻址。 例如: MOV A,@R0 ;A←((R0)) 假定R0中的内容为50H,50H单 元内容为45H,图2-2给出了寄存 器间接寻址方式的执行过程
寄存器间接寻址的寻址范围: (1)片内128B的RAM,用R0,R1作间址寄存器, 如M0VA,@R0; (2)片外64KB的数据存储器,用DPTR作间址 寄存器,如 MOVX A,@DPTR; (3)堆栈区域,用SP作间址寄存器,如PUSH ACC (4)片外256B数据存储器,用RO,R1作间址 寄存器,如MVXA,@R0 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
寄存器间接寻址的寻址范围: (1)片内128B的RAM,用R0,R1作间址寄存器, 如MOV A,@R0; (2)片外64KB的数据存储器,用DPTR作间址 寄存器,如MOVX A,@DPTR; (3)堆栈区域,用SP作间址寄存器,如PUSH ACC; (4)片外256B数据存储器,用R0,R1作间址 寄存器,如MOVX A,@R0;
5.变址寻址 ◆基址寄存器PTR或PC)的内容与变址寄存器(累加 器A)的内容相加,其和形成16位地址作为操作数的地 址的寻址方式称为变址寻址。 ◆该类寻址方式用于程序存储器的访问,多用于查表 程序。 例如: MOVC A,@A+DPTR;A←((A)+(DPTR) 设(A)=12H,(DPTR)=02E3H,(02F5B=1EH,则结果 为(A)=1BH,执行情况见图2-3所示。[023 变址寻址指令只有3条, 02psH[ lEN 另外两条是: A[12X MoVc A, @A+PC A lEH IMP @A+DPTR 十一五国家级规为教材(高职高专) 攀鬟膏版社 HIGHER EDUCATION PRESS
5.变址寻址 ◆ 基址寄存器(DPTR或PC)的内容与变址寄存器(累加 器A)的内容相加,其和形成16位地址作为操作数的地 址的寻址方式称为变址寻址。 ◆ 该类寻址方式用于程序存储器的访问,多用于查表 程序。 例如: MOVC A,@A+DPTR ;A← ((A)+(DPTR)) 设(A)=12H,(DPTR)=02E3H,(02F5H)=1EH,则结果 为(A)=1EH,执行情况见图2-3所示。 变址寻址指令只有3条, 另外两条是: MOVC A,@A+PC JMP @A+DPTR
6.相对寻址 ◆相对寻址是以程序计数器PC的当前值(是指当前跳转 指令的下一条指令的地址)为基准,加上指令中给出的相 对偏移量rel以得到程序执行地址的寻址方式。 ◆这种寻址方式的目的是修改PC的值,从而实现程序的 转移。 ◆转移的目的地址可参见如下表达式: 目的地址=转移指令地址+转移指令字节数+rel ◆值得注意的是,偏移量rel有正负之分,其取值范围是 128~+127。 十一五国家级规为教材(高职高专) 高等教育出版社 HIGHER EDUCATION PRESS
6.相对寻址 ◆ 相对寻址是以程序计数器PC的当前值(是指当前跳转 指令的下一条指令的地址)为基准,加上指令中给出的相 对偏移量rel以得到程序执行地址的寻址方式。 ◆ 这种寻址方式的目的是修改PC的值,从而实现程序的 转移。 ◆ 转移的目的地址可参见如下表达式: 目的地址=转移指令地址+转移指令字节数+rel ◆ 值得注意的是,偏移量rel有正负之分,其取值范围是 -128~+127