一,立即数寻址
如,MOV AL 0FFH
二,寄存器寻址
如,MOV AX,BX
三,存储器寻址方式
1,直接寻址方式
如,
VALUE DB 10;DB表示字节类型
MOV AH,VALUE
MOV AX,WORD PTR VALUE;使用了强制类型转换
2,寄存器间接寻址方式
(以BX,SI,DI间接寻址,操作数默认在数据段;以BP,默认在堆栈段)
如,MOV AX,[BX]
源操作数地址DX*16D+BX
3,寄存器相对寻址
段地址对应BX,SI,DI寄存器默认是DS;对应BP寄存器默认是SS;可以用段超越前缀
如,MOV AX,[BX+6]
源操作数地址DS*16D+BX+6D
4,基址变址寻址
EA=BX/BP+SI/DI
段地址对应BX基址寄存器默认为DS,对应BP基址寄存器默认为SS,可用段超越前缀改
如,MOV AX,[BX][SI]
MOV AX,[BX+SI]
源操作数地址DS*16D+BX+SI
5,相对基址变址寻址
EA=BX/BP+SI/DI+8/16位位移量
段地址对应BX寄存器默认是DS,对应BP基址寄存器默认是SS,可以用段超越前缀改变
如,TABLE为数据段定义的符号地址,偏移量1000H
MOV AL,TABLE[BX][SI]
源操作数地址DS*16D+BX+SI+TABLE