微机技术:第三章指令系统习题解析及答案

需积分: 0 0 下载量 143 浏览量 更新于2024-08-04 收藏 23KB DOCX 举报
《微机技术及应用》第三章指令系统介绍了微机编程中的关键概念和指令操作。本资源提供了一系列关于8086/8088微处理器指令系统的习题和答案,涵盖了数据寻址方式、指令操作、寄存器使用以及程序执行分析等多个方面。 1. 选择题部分: - 问题1询问ADD AX, [BP+DI]指令中,求源操作数的物理地址时所使用的段寄存器。答案是D. ES。由于源操作数是通过BP和DI的组合来访问的,而ES是段寄存器,负责存储内存段的地址信息。 - 问题2涉及字符串操作指令中源串地址的来源,正确答案是D. ES:DI,因为源串通常由ES段寄存器与DI寄存器结合指示。 - 问题3要求将十进制数75转换为BCD码,正确指令是C. MOV AL,75H,因为BCD码表示法会将每个十进制数转换为两个十六进制位。 - 寄存器组用于存储器间接寻址的判断涉及到指令系统对不同寄存器功能的理解,答案是D. BP,BX,SI,DI,因为这组寄存器可以用来访问内存中的任意位置。 - 求解使AX=0且CF=0的指令,D. XOR AX,AX是正确答案,因为它清零AX并清除进位标志CF。 - 问题6列举了使用AL寄存器的一些指令,例如MOVSBB、SCASBC、DAAD、XLATE和SAHF,这些指令涉及AL寄存器的不同用途,如算术和逻辑运算、比较和字节操作等。 2. 寻址方式分析: - MOV SI,0F00H的源操作数是立即寻址。 - MOVCX,[SI+05H]的源操作数是相对基址变址寻址。 - ADD AX,[BX+DI]的源操作数是基址加变址寻址。 - TEST AX,BX使用的是寄存器相对寻址。 - IN AL,DX是直接端口寻址。 - XLAT指令不涉及具体寻址方式,它主要用于字节交换。 3. 程序执行分析: - 在提供的程序段中,执行一系列操作后,栈顶指针会减小两次,因此最终栈顶指针变为(30H-2)=2EH。物理地址计算方法是SS乘以16再加上偏移量,所以当前栈顶物理地址为1000H*16 + 2EH = 162EH。AX、BX、CX的值分别为原始值FE43H、0064H、0064H(POP CX指令恢复)。 - 指令性程序执行后,物理地址10000H~10008H的单元内容会被循环写入,由BL(原值未知)开始,每执行一次LOOP AGIN,BL自增1。具体内容取决于程序的初始BL值。DS的内容会在执行完POP DS后恢复到初始的0064H,而BX的内容在程序结束时为0。 4. 最后,程序段中对缓冲区BUF1和BUF2的操作,MOV AL,BUF1将BUF1的第一个字节放入AL,而MOV BL,BUF2则将BUF2的值复制到BL。CALL CHAR之后的执行取决于CHAR子程序,K2:HLT表示程序在此停止。 这部分内容涵盖了微机指令系统的基础知识,包括寻址方式的选择、寄存器功能的理解以及程序执行过程中变量的变化。这对于理解8086/8088微机架构和编写高效代码至关重要。