汇编语言的七种寻址方式

  • Post author:
  • Post category:其他



立即寻址


指令中直接给出操作数

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 版权协议,转载请附上原文出处链接和本声明。