指令的构成: 指令名 目的操作数DST,源操作数SCR
1.立即寻址:
指令中自带数据立即数,直接读取,最快;
MOV AX,3276H
MOV AL,27H
2.寄存器寻址:
指令中DST和SCR有寄存器的;
SCR是寄存器寻址:MOV AX,BX
DES是寄存器寻址:ADD AX, 1234h
源和目的操作数都是寄存器寻址:MOV AX,BX
3.直接寻址:
指令中存放的是地址,直接解析这个地址;
MOV AX,[3000H]
MOV AX,ES:[2850H]
4. 寄存器间接寻址:
操作数在寄存器中,操作数有效地址EA在BX、BP、SI、DI四个寄存器之中;
这里注意:BX、SI、DI的默认段寄存器是DS; BP的默认段寄存器是SS。
MOV AX,[BX] MOV AX,[BP]
MOV AX,ES:[SI] MOV AX,SS:[DI]
5. 寄存器相对寻址:
操作数在存储器中,
操作数的有效地址EA是基址寄存器(BX、BP) 或 变址寄存器(SI、DI) + 指定的位移量DISP(8位/16位/32位);
MOV AX,[BX+1234H] = MOV AX,1234[BX] 表示方式不同,意义相同
MOV AX,ES:[SI+55AAH] MOV AX,SS:[DI+3]
6. 基址变址寻址:
操作数在寄存器中,操作数的有效地址EA是基址寄存器(BX、BP) + 变址寄存器(SI、DI);
MOV AX,[BX+SI]
MOV AX,[BP+DI]
7.相对基址变址寻址:
操作数在寄存器中,
操作数的有效地址EA是基址寄存器(BX、BP) + 变址寄存器(SI、DI) + 指定的位移量DISP(8位/16位/32位);
MOV AX,[BX+SI+DISP] = MOV AX, DISP[BX][SI] = MOV AX, DISP[BX+SI]
MOV AX,[BX+SI+1234H] = MOV AX, 1234H[BX][SI] = MOV AX, 1234H[BX+SI]
在[...]中,BX、SI、DI、BP这4个寄存器可以单个出现,或只能以4种组合出现:
bx; si、bx;di、bp; si、bp和 di。