立即寻址 操作数直接出现在指令中。 立即数前必须加“#”,立即数可以是8或16位的。 MOV A,#30H MOV DPTR, #3000H 立即寻址主要用来给寄存器或存储单元赋值
立即寻址 操作数直接出现在指令中。 立即数前必须加“#” ,立即数可以是8或16位的。 MOV A,#30H MOV DPTR,#3000H 立即寻址主要用来给寄存器或存储单元赋值
直接寻址 指令中直接给出操作数所在单元的有效地址。 MOV A, 30H MOV A,90H (PD LaMP addr16 可以直接寻址的存储区域: (1)片内RAM的00H-~7FH单元。 (2)SFR(80H-0FFH),地址可以以单元地址给 出,也可以以寄存器符号给出。 (3)访问程序存储器
直接寻址 指令中直接给出操作数所在单元的有效地址。 MOV A,30H MOV A,90H(P1) LJMP addr16 可以直接寻址的存储区域: (1)片内RAM的00H~7FH单元。 (2)SFR(80H~0FFH),地址可以以单元地址给 出,也可以以寄存器符号给出。 (3)访问程序存储器
寄存器寻址 操作数在寄存器中。 MOV A, RO INC DPTR 可以寻址的寄存器: (1)R0~R7。 (2)部分专用寄存器。如A,B,DPTR等
寄存器寻址 操作数在寄存器中。 MOV A,R0 INC DPTR 可以寻址的寄存器: (1)R0~R7。 (2)部分专用寄存器。如A,B,DPTR等
寄存器间接寻址 寄存器中存放的是操作数的地址,而不是操作数本 身。寄存器前加“a” 可以间接寻址的寄存器:R0、R1、DPTR MOV A,@ RO MOVX A,@ DPTR 可以寻址的存储区域: (1)内部RAM的低128B。aR0、aR1 (2)内部RAM的高128B。aR0、@R1 (3)外部RAM。 @DPTR、@R0、aR1 (4)堆栈操作(SP)
寄存器间接寻址 寄存器中存放的是操作数的地址,而不是操作数本 身。寄存器前加“@”。 可以间接寻址的寄存器:R0、R1、DPTR MOV A, @ R0 MOVX A, @ DPTR 可以寻址的存储区域: (1)内部RAM的低128B。@R0、 @R1 (2)内部RAM的高128B。@R0、 @R1 (3)外部RAM。@DPTR、 @R0、 @R1 (4)堆栈操作(SP)
基址加变址寻址 以DPTR或PC作为基址寄存器,累加器A作为变址 中寄存器,并以两者内容相加形成16位地址作为操作 数的地址。常用于查表操作。前加“@”。 MOVC A,@A+DPTR MOVC A,@A+PC JMP aA+DPTR 特点:(1)只能对程序存储器寻址。 (2)只有3条。 (3)都是单字节指令
基址加变址寻址 以DPTR或PC作为基址寄存器,累加器A作为变址 中寄存器,并以两者内容相加形成16位地址作为操作 数的地址。常用于查表操作。前加“@”。 MOVC A, @ A+DPTR MOVC A, @ A+PC JMP @ A+DPTR 特点:(1)只能对程序存储器寻址。 (2) 只有3条。 (3)都是单字节指令