1.立即数寻址
使用场景:在赋初值时使用
将具体的数值直接给目标操作数
例如:mov dx,1234H
2.寄存器寻址
使用要求:源寄存器和目的寄存器的大小相同
源操作数在寄存器中,通过寄存器来赋值
例如:mov ax,bx
3.存储器寻址
3.1直接寻址
直接给出源操作数的具体的偏移地址
例如:mov ax,[3000H]
注意:默认情况下段是DS 数据段
3.2寄存器间接寻址
把偏移地址放在寄存器中
BX:基址寄存器
BP:基址指针
SI:源变址寄存器
DI:目的变址寄存器
如果存放偏移地址的是BX,SI,DI,那么此时默认的段就是DS数据段
如果存放偏移地址的寄存器是BP,那么默认的段是SS堆栈段
例如:mov ax,[bx]
3.2.1基址寻址
此时的偏移地址的表示方法,[基址寄存器]+偏移量
此处的偏移量是一个常数,基址寄存器可用到的有两个 BP,BX
使用BX时,默认段是DS
使用BP时,默认段是SS
例如 mov AL,[BX+5]
3.2.2变址寻址
此时的偏移地址的表示方法,[变址寄存器]+偏移量
此时的偏移量是一个常数,变址寄存器可用到的两个是SI,DI,默认段都是DS
使用场景:数组操作
例如:mov AH,[SI+5]
3.2.3基址变址寻址
此时的偏移地址的表示方法,[基址寄存器]+[变址寄存器]
使用场景:对二重循环以及二维数组进行操作
例如:mov AX,[BX+SI]
此时,哪个段主要取决于基址寄存器
3.2.4带常量的基址加变址寻址方式
此时的偏移地址的表示方法,[基址寄存器+变址寄存器+常量]
例如: mov AX,[BX+SI+0002H]