汇编语言七种寻址方式
1.立即寻址方式
操作数直接包含在指令中,紧跟在操作码之后的寻址方式称为立即寻址方式,把该操作数称为立即数。
MOV AL, 6
2.寄存器寻址方式
操作数直接包含在寄存器中,由指令指定寄存器号的寻址方式。
MOV BX, AX
3.直接寻址方式
操作数的有效地址直接包含在指令中的寻址方式。有效地址存放在代码段的指令操作码之后,但操作数本身在存储器中,所以必须先求出操作数的物理地址。这种寻址方式常用于存取简单变量。
MOV AL, [78H]
4.相对寻址
目标地址=PC当前值+跳转指令字节数+rel,仅在转移指令中使用
5.变址寻址
以DPTR或PC作为基址,累加器A为变址,并将两者内容相加形成的16位地址作为操作数地址
MOVC A, @A+DPTR ;执行后(A)=((A)+(DPTR))
6.位寻址
操作数是内部RAM 20H2FH单元中的位(007FH)或者SFR中具有位地址的某一位
MOV C, 20H ;将20H位的值传送给进位位CY,20H为位地址
7.寄存器间接寻址
以寄存器中的内容为地址,以该地址中的内容为操作数。MCS-51规定R0或R1为间接寻址寄存器
MOV A, @R0 ;执行后A=((R0))
不能用立即数进行寄存器寻址