七种寻址方式
1、立即寻址:直接给出的操作数的寻址方式
MOV AX, 1234H MOV AX, [1234H] ;前者是立即寻址,后者是直接寻址
2、直接寻址:直接给出操作数所在的地址为寻址方式
3、寄存器寻址:以通用寄存器(A,B,DPTR,R0~R7)的内容为操作数的寻址方式。
B仅在乘除法指令中为寄存器寻址,其他指令中为直接寻址。
A既可以寄存器寻址,又可以直接寻址。(此时写作ACC)
分别:
直接寻址是以操作数所在的字节地址(占一个字节)出现在指令码中,寄存器寻址是寄存器编码出现在指令码中。
4、寄存器间接寻址:
以寄存器的内容为地址,该地址的内容为操作数的寻址方式。@R0 @R1 @DPTR
寄存器间接寻址的存储器空间包括内部数据存储器和外部数据存储器。
5、变址寻址
由寄存器DPTR或PC中的内容加上A累加器内容之和,形成操作数地址的寻址方式。
变址寻址只能对程序存储器中的数据作寻址操作。 MOVC
6、相对寻址
以当前程序计数器PC的内容为基值,加上指令给出的一字节补码数(偏移量)形成的PC值的寻址方式。
相对寻址只用于修改PC之值,故主要用于实现程序的分支转移。
7、位寻址
对位地址中的内容作位操作数的寻址方式。