微机技术:指令执行结果解析

需积分: 7 0 下载量 63 浏览量 更新于2024-07-28 收藏 165KB DOC 举报
"微机技术部分习题解答" 在微机技术中,处理和理解指令的执行过程是至关重要的。上述题目涉及了8086/8088微处理器中的寻址方式、数据存储以及指令系统。我们将逐一分析每个指令段的执行结果。 1) MOV CL, [BX+20H][SI] 这里的指令将内存中地址DS*10H+BX+SI+20H的数据加载到CL寄存器中。根据给定的DS、BX、SI和偏移量,计算出的物理地址是09226H,该位置的值为00F6H。因此,执行后CL的值变为F6H。 2) MOV [BP][DI], CX 这个指令将CX寄存器的内容移动到由BP和DI组成的内存地址中。计算物理地址为SS*10H+BP+DI,即1E4F6H。执行后,内存地址1E4F6H存储的值是CX的内容5678H。 3) LEA BX, [BX+20H][SI]; MOV AX, [BX+2] 首先,LEA指令不改变任何寄存器的值,只是将BX+20H+SI的结果赋值给BX。这里BX的值变为0056H。然后,MOV AX, [BX+2]将DS*10H+BX+2的值加载到AX寄存器中。计算地址09228H,其值为1E40H,所以执行后AX的值为1E40H。 4) LDS SI, [BX][DI]; MOV [SI], BX LDS指令将DS寄存器的值设为DS*10H+BX+DI的值,这里是09226H,其值为00F6H,所以DS变为00F6H。然后,MOV [SI], BX将BX的内容写入DS和SI指向的内存地址。由于DS已经更新,新的物理地址是00F6H*10H+0012H=09226H,BX的值0024H被写入该地址。 5) XCHG CX, [BX+32H]; XCHG [BX+20H][SI], AX 这两个指令涉及到寄存器与内存地址中的数据交换。对于第一个XCHG指令,物理地址为DS*10H+BX+32H,即09226H,CX与该位置的值(00F6H)交换,所以CX变为00F6H。第二个XCHG指令,物理地址同样为09226H,AX(1234H)与内存值(5678H)交换,所以AX变为5678H,内存位置09226H存储的值变为1234H。 在第二部分问题中,没有提供完整的指令,但我们可以分析已给出的部分。DS=1000H,SS=2000H,这些寄存器用于计算内存地址。例如,(11350H) = 0A,这表示在地址11350H存储的值是0A。如果需要进一步的解答,需要提供完整的指令序列。 这些习题考察了对8086/8088汇编语言的理解,包括地址计算、寻址模式、数据传输以及寄存器操作。熟练掌握这些知识对于理解和编程微处理器系统至关重要。