您好,欢迎访问三七文档
第1页共5页一、简答题基础原理背记部分1.微型计算机由哪几部分组成?简述各部分功能。(4分)微型计算机由CPU、存储器、I/O端口、总线组成;微处理器(CPU):微型计算机的控制中心,主要完成取指令、指令的译码、简单的算术和逻辑运算以及程序控制等任务;存储器:存储程序和数据;I/O端口用于外设和CPU之间的信息的传递和协调;总线:CPU与存储器和I/O接口之间传送数据信息、地址信息和控制信息的通道。2.CPU与外设之间的数据传送方式包括程序控制方式、中断方式和DMA方式,请问程序控制方式又分为哪两种方式?这两种方式在与外设进行数据传送时有什么区别?(4分)程序控制方式分为无条件传送方式和有条件传送方式。无条件传送方式在与外设进行数据传送时不需要查询外设状态,可根据需要随时进行输入或输出操作;有条件传送方式在进行数据传送前,必须先确认外设已处于准备传送数据的状态,才能进行输入或输出操作。3.8086CPU从内部结构上分为哪两部分?并简述各部分功能?(4分)8086CPU从内部结构上分为总线接口单元(BIU)和执行单元(EU)。总线接口单元(BIU)负责物理地址形成、取指令、指令排队、读写操作数和总线控制。执行单元(EU)负责指令译码和执行执行。4.设计I/O接口电路的基本原则是什么?为什么?(4分)设计I/O接口电路的基本原则是“输入要缓冲,输出要锁存”为了解决CPU为多个外设服务,与外设之间存在的速度不匹配的问题,采用这样的原则,缓冲器可以使CPU不被某一外设独占,CPU的运行速度比较快,输出数据通常要经过锁存才能被外设读取。5.CPU中总线接口单元BIU的基本功能是地址形成、取指令、指令排队、存取操作数和总线控制等,请简要说明BIU中有哪些组成部分可以完成以上所述的功能。(4分)段寄存器、指令指针寄存器;地址加法器;指令队列;总线控制逻辑。6.CPU中的AX或AL寄存器被称为累加器,它在CPU运行过程中有着非常重要的作用,有些指令的执行必须并且只能使用累加器,请列出两种这样的指令,并说明累加器的功能。(4分)INAL,port;端口输入的数据放在累加器OUTport,AL;输出到端口的数据存放在累加器XLAT;表内位移放在AL,表转换结果放在ALDAA;BCD调整的数据存放在ALMUL源操作数;AX←AL*源DIV源操作数;AL←AX/源的商SCAS目的字符串;AL/AX(字节/字操作)内容减去ES:DI中的串元素7.条件传送接口电路中至少应包括什么端口?并简述条件传送的工作过程。(3分)条件传送端口至少应包含数据端口和状态端口。条件传送过程:先读取状态端口的信息,检测是否准备好交换数据,若已准备好,则与数据端口进行数据交换;否则继续读取状态端口,直到数据准备好。(包含两个端口的原因由其工作过程可以看出)2.画出微型计算机的组成框图,并简述各部分功能。(4分)功能见本部分第一题二、简答题关于8086CPU寻址方式以及指令对错的分析题1.写出下列指令中源操作数的寻址方式。(4分)(1)MOVAX,BX寄存器寻址方式(2)MOVAX,[2000H]直接寻址(3)MOVAX,[BX+DI]基址加变址寻址方式(4)MOVBX,OFFSETBUFF立即寻址方式【解析】8086/8088有七种基本的寻址方式:立即寻址,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,相对基址变址寻址。其中,后五种寻址方式(即直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址寻址)属于存储器寻址,用于说明操作数或操作数地址所在存储单元的地址。这五种方式也就是确定存放操作数的存储单元有效地址EA的方法,这里所说的有效地址就是在前面一节讲存储器分段中所说的段内偏移地址。除了这些基本的寻址方式以外,还有固定寻址、段间转移寻址和I/O端口寻址等。关于七种基本寻址方式解释如下:1.立即寻址方式立即数:操作数包含在指令中,它作为指令的一部分,跟在操作码后存放在代码段。这种操作数称为立即数。立即寻址方式所提供的操作数紧跟在操作码后面,与操作码一起放在指令代码段中,不需要到其他地址单元中去取。立即数可以是8位,也可以是16位。这种寻址方式主要用于给寄存器或存储单元赋初值的场合。立即寻址方式是这七种寻址方式中速度最快的寻址方式。举例:MOVAX,1234H;给AX寄存器赋值为1234H2.寄存器寻址方式寄存器寻址的特点是操作数在CPU内部的寄存器中,在指令中指定寄存器号。对于16位操作数,寄存器可以是AX、BX、CX、DX、SI、DI和SP等;对于8位操作数,寄存器可以是AL、AH、BL、BH、CL、CH、DL和DH。例如:MOVSI,AXMOVAL,DH由于操作数在寄存器中,不需要通过访问存储器来取得操作数,所以采用寄存器寻址方式的指令执行速度较快。3.直接寻址方式直接寻址的操作数在存储器中,指令直接包含有操作数的有效地址。由于操作数一般存放在数据段,所以操作数的地址由DS加上指令中给出的16位偏移得到。假如DS内容是5000H,地址为51234H字存储单元中的内容时6789H,那么在执行“MOVAX,[1234H]”后寄存器AX的内容是6789H。由于该指令所用的段寄存器为DS,所以该条指令还可以写为MOVAX,DS:[1234H]。当然,除了DS段寄存器以外,还可以指定其他段寄存器。例如:MOVES:[5678H],BL;指定ES作为段寄存器这种寻址方式常用于处理单个存储器变量的情况。它可以实现在64K字节的段内寻找操作数。直接寻址的操作数通常是程序使用的变量。4.寄存器间接寻址方式寄存器间接寻址的操作数在存储器中,操作数有效地址在SI、DI、BX、BP这四个寄存器之一中。在一般情况下,如果有效地址在SI、DI和BX中,则以DS段寄存器的内容为段值;如果有效地址在BP中,则以SS段寄存器的内容为段值。例如:MOVAX,[SI];自动引用DS作为段寄存器假设(DS)=5000H,(SI)=1234H那么存储的物理存储单元地址是51234H。再设该字存储单元的内容是6789H,那么在执行该指令后,(AX)=6789H。当然也可以指定段超越前缀,如:MOVDL,CS:[BX];引用的段寄存器是CS如果有效地址在BP中,那么引用的段寄存器为SS。如:MOV[BP],CX;此时引用的段寄存器是SS这种寻址方式可以用于表格处理,在处理完表中的一项后,只要修改指针寄存器的内容就可以方便地处理表中的另一项。注意同寄存器寻址方式的书写方式予以区别。5.寄存器相对寻址方式操作数在存储器中,操作数的有效地址是一个基址寄存器(BX、BP)或变址寄存器的(SI、DI)内容加上指令中给定的8位或16位位移量之和。即EA=(BX)或(BP)或(SI)或(DI)+8位或16位位移量在一般情况下,如果SI、DI或BX的内容作为有效地址的一部分,那么引用的段寄存器是DS。如:MOVAX,[DI+1223H];引用的段寄存器是DS假设,(DS)=5000H,(DI)=3678H。那么,存取的物理存储单元地址是5489BH。再假设该字存储单元的内容是55AAH,那么在执行该指令后,(AX)=55AAH。而当BP的内容作为有效地址一部分时,那么引用的段寄存器是SS,如:MOVBX,[BP-4];引用的段寄存器是SS当然也可以自行指定段寄存器,如:MOVES:[BX+5],AL;引用ES作为段寄存器这种寻址方式同样可用于表格处理,表格的首地址可设置为指令中的位移量,利用修改基址或变址寄存器的内容来存取表格中的项值。以下两种写法等价:MOVAX,[SI+3]MOVAX,3[SI]6.基址变址寻址方式操作数在存储器中,操作数的有效地址由基址寄存器之一的内容与变址寄存器之一的内容相加得到。即:EA=(BX)或(BP)+(SI)或(DI)在一般情况下,如果BP的内容作为有效地址的一部分,则以SS的内容作为段值,否则以DS的内容作为段值。当所得的有效地址超过FFFFFH时,就取其64K的模。例如:MOVAX,[BX+DI];此时引用DS段寄存器假设,(DS)=5000H,(BX)=1223H,(DI)=54H那么,存取的物理存储单元地址是51277H。再假设改字存储单元的内容是168H,那么在执行该指令后,(AX)=168H当然,还可以增加段超越前缀来指定段寄存器。例如:MOVAX,ES:[BX+SI];引用ES作为段寄存器MOVDS:[BP+SI],AL;引用DS作为段寄存器这种寻址方式适用于数组或表格处理。用基址寄存器存放数组首地址,而用变址寄存器来定位数组中的各元素,或反之。另外,以下两种表示方法是等价的:MOVAX,[BX+DI]MOVAX,[DI][BX]7.相对基址变址寻址方式操作数在存储器中,操作数的有效地址由基址寄存器之一的内容与变址寄存器之一的内容及指令中给定的8位或16位位位移量相加得到。即:EA=(BX)或(BP)+(SI)或(DI)+8位或16位位移量。在一般情况下,如果BP作为有效地址的一部分,则以SS段寄存器的内容为段值,否则以DS段寄存器的内容为段值。在指令中给定的8位或16位位移量采用补码形式表示。在计算有效地址时,如果偏移量是8位,那么被带符号扩展成16位。当所得的有效地址超过FFFFH时,就取其64K的模。举例:MOVAX,[BX+DI-2];自动引用DS作为段寄存器假设,(DS)=5000H,(BX)=1223H,(DI)=54H,那么,存取的物理存储单元地址是51275H。再设该字存储单元的内容是7654H,那么在执行该指令后,(AX)=7654H以下四种表示方法均是等价的:MOVAX,[BX+DI+1234H]MOVAX,1234H[BX+DI]MOVAX,1234H[BX][DI]MOVAX,1234H[DI][BX]尽管相对基址变址这种寻址方式最复杂,但也是最灵活的。2.判断下列指令的对错;若有错,简述原因(3分)(1)MOVAX,[BX][BP]错。对存储单元寻址时,BX和BP不能同时出现在[]中。(2)MOV[1000H],[SI]错。存储单元之间不能直接传送数据。(3)MOVAL,0200H错。原操作数和目的操作数长度不一致。(如果AL改为AX,或者0200H改为02H就正确了)3.判断以下指令格式是否正确,若错误,请说明理由。(4分)(1)MOVDS,1000H错误,不能将立即数直接送入段寄存器。(2)MOVAX,[SI+DI]错误,基址变址寻址方式方括号里不能同时出现同组寄存器(所谓同组寄存器就是BI和BP,SI和DI,但是不同组的例如BI和SI就可以了)。(3)PUSHAL错误,堆栈操作指令不能处理字节数据(应把AL改为AX)。(4)OUT310H,AL错误,直接端口寻址的端口地址不能超过FFH(255H)。4.判断下列指令的对错;若有错,简述原因(3分)(1)MOV[DI],[BX]错,两个存储单元之间不能直接传送数据(2)PUSHAL错误,堆栈操作指令不能处理字节数据(应把AL改为AX)(3)JMP0100H正确三、简答题部分关于中断的题1.若对应中断类型号为30H的中断服务程序存放在2300H:3460H开始的区域中,画出该中断向量在内存中的存放形式?试编写一程序段完成该中断向量的设置。(5分)(1)画中断向量在内存中的存放图(2分)中断类型号为30H,则中断向量地址为30*4=120=C0H,则初地址为000C0H,然后就是入栈过程,先存储的是偏移地址,然后是逻辑地址先是存放低八位,再存放高八位(2)中断向量设置程序段(3分)MOVAX,2300H;设置中断向量MOVDS,AX;把中断向量放入段寄存器MOVDX,3460H(1分)MOVAL,30H(1分)MOVAH,25HINT21H(1分)2.简述可屏蔽中断处理的过程。(3分)1、中断请求;2、中断响应3、保护断点4、转入执行终端服务子程序5、保护中断现场6、中断处理7、恢复现场8、中断返回000C0H60H34H23H…00H………MOVAX,0
本文标题:微机原理简答题汇总
链接地址:https://www.777doc.com/doc-4884612 .html