
1. 立即寻址方式 —— 操作数直接在指令中给出。例如:
- MOV AL, 5;将立即数5移入AL寄存器。
- MOV AX, 3064H;将立即数3064H移入AX寄存器。
2. 寄存器寻址方式 —— 操作数存储在寄存器中。例如:
- MOV AX, BX;将BX寄存器的值移入AX寄存器。
- MOV AL, BH;将BH寄存器的值移入AL寄存器。
3. 直接寻址方式 —— 指令提供操作数的有效地址。例如:
- MOV AX, [2000H];将内存地址2000H处的值移入AX寄存器。
假设(DS)=3000H,那么物理地址为32000H。
4. 寄存器间接寻址方式 —— 有效地址存储在基址或变址寄存器中。例如:
- MOV AX, [BX];将内存地址由BX寄存器提供的值移入AX寄存器。
- MOV DX, [BP];将内存地址由BP寄存器提供的值移入DX寄存器。
5. 寄存器相对寻址方式 —— 基于寄存器的相对偏移量。例如:
- MOV AX, COUNT[SI];将内存地址由COUNT寄存器和SI寄存器的值相加得到的值移入AX寄存器。
6. 基址变址寻址方式 —— 结合基址和变址寄存器。例如:
- MOV AX, [BX][DI];将内存地址由BX和DI寄存器的值相加得到的值移入AX寄存器。
7. 相对基址变址寻址方式 —— 结合基址、变址寄存器和位移量。例如:
- MOV AX, MASK[BX][SI];将内存地址由BX、SI寄存器的值加上位移量MASK得到的值移入AX寄存器。
请注意,上述示例中的物理地址计算和寄存器使用应符合正确的段寄存器和数据寄存器之间的对应关系。此外,指令的使用应遵循8086的指令集和寻址规则。