"8086/8088指令系统与寻址方式习题答案样本及计算物理地址"

0 下载量 136 浏览量 更新于2024-01-05 收藏 85KB DOC 举报
根据给定的习题内容,需要对每一个指令的目的操作数寻址方式进行判断,并计算存储器操作数的物理地址。下面是对每个指令的分析和计算结果: 1. MOV BX, 12:目的操作数为寄存器寻址。BX寄存器的值为0x0300H,没有涉及到存储器操作,因此无需计算物理地址。 2. MOV [BX], 12:目的操作数为寄存器间址。BX寄存器的值为0x0300H,需要计算物理地址。由于DS寄存器的值为0x1000H,因此物理地址为0x1000H + 0x0300H = 0x10300H。 3. MOV ES:[SI], AX:目的操作数为寄存器间址。由于ES寄存器的值为0x0000H,需要计算物理地址。由于SI寄存器的值为0x0200H,因此物理地址为0x0000H + 0x0200H = 0x0200H。 4. MOV VAR, 8:目的操作数为存储器直接寻址。VAR的偏移量为0x0600H,需要计算物理地址。由于DS寄存器的值为0x1000H,因此物理地址为0x1000H + 0x0600H = 0x10600H。 5. MOV [BX][SI], AX:目的操作数为基址加变址寻址。BX寄存器的值为0x0300H,SI寄存器的值为0x0200H。通过基址加变址寻址的方法,需要计算物理地址。由于DS寄存器的值为0x1000H,因此物理地址为0x1000H + 0x0300H + 0x0200H = 0x10500H。 6. MOV 6[BP][SI], AL:目的操作数为相对基址加变址寻址。BP寄存器的值为0x0100H,SI寄存器的值为0x0200H。通过相对基址加变址寻址的方法,需要计算物理地址。由于SS寄存器的值为0x1200H,因此物理地址为0x1200H + 0x0100H + 0x0200H + 0x0006H = 0x12306H。 7. MOV [1000H], DX:目的操作数为存储器直接寻址。需要计算物理地址。由于DS寄存器的值为0x1000H,因此物理地址为0x1000H + 0x1000H = 0x11000H。 8. MOV 6[BX], CX:目的操作数为相对基址寻址。BX寄存器的值为0x0300H,需要计算物理地址。由于DS寄存器的值为0x1000H,因此物理地址为0x1000H + 0x0300H + 0x0006H = 0x10306H。 根据以上分析和计算结果,每个指令的目的操作数寻址方式和存储器操作数的物理地址如下: 1. MOV BX, 12:目的操作数为寄存器寻址,无需计算物理地址。 2. MOV [BX], 12:目的操作数为寄存器间址,物理地址为0x10300H。 3. MOV ES:[SI], AX:目的操作数为寄存器间址,物理地址为0x0200H。 4. MOV VAR, 8:目的操作数为存储器直接寻址,物理地址为0x10600H。 5. MOV [BX][SI], AX:目的操作数为基址加变址寻址,物理地址为0x10500H。 6. MOV 6[BP][SI], AL:目的操作数为相对基址加变址寻址,物理地址为0x12306H。 7. MOV [1000H], DX:目的操作数为存储器直接寻址,物理地址为0x11000H。 8. MOV 6[BX], CX:目的操作数为相对基址寻址,物理地址为0x10306H。 通过对每个指令的目的操作数寻址方式和存储器操作数的物理地址的分析和计算,可以得出以上结果。