寻址方式
|
操作数地址(PA)
|
指令格式举例
|
立即寻址
|
操作数在指令中给出
|
MOV DX,100H ; (DX)←100H
|
寄存器寻址
|
操作数在寄存器中
|
ADD AX,BX ; (AX)←(AX)+(BX)
|
直接寻址
|
操作数的有效地址由指令直接给出
|
MOV AX,[100] ; (AX)←(100)
MOV AX,VAR ; (AX)←(VAR)
|
寄存器
间接寻址
|
PA=(DS)×16+(BX)或(SI)或(DI)
PA=(SS) ×16+(BP)
|
MOV AX,[BX] ;
(AX)←((DS)×16+(BX))
|
寄存器
相对寻址
|
PA=(DS)×16+(BX)或(SI)或(DI)+位移量
PA=(SS) ×16+(BP)+位移量
|
MOV AL,MESS[SI];
(AL)←((DS)×16+(SI)+OFFSET MESS)
|
基址变址
寻址
|
PA=(DS)×16+(BX)+(SI)或(DI)
PA=(SS) ×16+(BP) +(SI)或(DI)
|
MOV AX,[BX+DI];
(AX)←((DS)×16+(BX)+(DI))
|
相对基址
变址寻址
|
PA=(DS)×16+(BX)+(SI)或(DI)+位移量
PA=(SS) ×16+(BP) +(SI)或(DI)+位移量
|
MOV AX,BUFF(BX+DI);
(AX)←((DS)×16+(BX)+(DI)+OFFSET BUFF)
|