立即寻址
指令中直接给出操作数
MOV A, #30H ;把立即数30H传送到累加器A,执行后(A)=30H
直接寻址
指令中直接给出操作数内部RAM单元地址
MOV A, 30H ;把内部RAM单元中的数据传送给累加器A,执行后(A)=(30H)
寄存器寻址
通过寄存器找到操作数
MOV A, R0 ;将R0的值传送给累加器A, 执行后(A)=(30H)
寄存器间接寻址
以寄存器中的内容为地址,以该地址中的内容为操作数。MCS-51规定R0或R1为间接寻址寄存器
MOV A, @R0 ;执行后A=((R0))
变址寻址
以DPTR或PC作为基址,累加器A为变址,并将两者内容相加形成的16位地址作为操作数地址
MOVC A, @A+DPTR ;执行后(A)=((A)+(DPTR))
相对寻址
目标地址=PC当前值+跳转指令字节数+rel,仅在转移指令中使用
位寻址
操作数是内部RAM 20H~2FH单元中的位(00~7FH)或者SFR中具有位地址的某一位
MOV C, 20H ;将20H位的值传送给进位位CY,20H为位地址
版权声明:本文为m0_37454852原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。