2009-2010年同济大学微机原理期末试题(ab卷)含答案.doc
同济大学课程考试试卷7页(A2009-2010学年第一学期年第一学期课号:100202课名:微机原理及接口技术(双语)考试:本卷选为期中考试()(■)、()试卷年级专业学号名称得分1,简答题(30分,每题5分)1.ChoosefivedifferentinstructionstoaccomplishAL=0.解答:答案不是唯一的,参考答案如下MOVAL,0ANDAL,0SUBAL,ALXORAL,ALSHLAL,82.ComparethedifferencebetweenANDandTESTinstruction.解:AND指令会影响目的寄存器内容,而TEST目的寄存器的内容不受影响。3.已知AX=3024H,BX=0A010H,执行以下CMPAX,BX指令完成后,试分析标志位置S,C,O,Z并指出值AX的值。3.已知AX=3024H,BX=0A010H,执行以下CMPAX,BX指令后,试分析标志位S,C,O,Z并指出值AX的值。解:CMP指令运行后,AX内容不受影响,仍为3024H。正数减去负数后,结果为负数(9014)H),因此O=1。因此,高位有借位C=1。显然,S=1,Z=0。4.Whatconditiondoesalogic1(highlevel)onthe8086ALEpinindicate.解:ALE1(高电位)表明总线地址数据有效,即AD0-AD15地址数据在线是有效的地址数据,A16-A19状态地址复用线是有效的地址数据。该信号用于通知外部锁存器分离地址数据。5.当INT22H指令运行时,请在中断向量表中给出中断对应的物理位置。(假设采用8086CPU系统解:已知中断向量为22H,因此,中断向量表的位置是22H×4=88H。由于8086系统的中端向量表位于内存的最低端,中断向量在地址范围内为0088H-0008BH。6.简要说明中断过程。解决方案:流程如下:(1)将标志寄存器内容压栈;(2)标志寄存器TF和IF清零标志;(3)将CS(4)存储器内容压栈IP(5)根据中断向量号查询中断向量表,获取中断服务程序的段地址和偏移地址,第一页共7页。CS和IP;(6)执行中断服务程序;(7)执行到IRET/IRETD从堆栈里弹出IP和CS;(8)从堆栈重弹标志数据到标志寄存器。2、分析与设计题(70分)7.某微型计算机系统CPU地址线20位,数据线8位。2、分析与设计题(70分)7.某微型计算机系统CPU地址线20位,数据线8位。内存需要扩展140KB,其中RAM为128KB,选用62256(32K×8);ROM为12KB,选用EPROM2732(4K×8)内存地址空间要求为4万H开始连续分配,RAM在低地址,ROM在高地址。(20分)(1)分别需要多少块ROM和RAM?给出每个存储芯片的内存地址范围。(10)(2)74LS138画出存储器地址译码图。要求与CPU三总线有相应的连接。(10分)解决方案:(1)需要扩展内存140KB,其中RAM为128KB,ROM为12KB。而选用的RAM芯片62256为32KB,ROM芯片2732为4KB。所以需要4块62256芯片,3块2732芯片。而32K地址范围为8万H,其范围为0000H-7FFFH;4K的地址范围大小为1000H,其范围为0000H-0FFFH。因此,每个芯片的地址范围如下:RAM1:40000H-47FFFHRAM2:48000H-4FFFFHRAM3:50000H-57FFFHRAM4:58000H-5FFFFHROM1:60000H-60FFFHROM2:61000H-61FFFHROM3:62000H-62FFFH(2)答案不是唯一的,参考答案如下。因为RAM芯片可连续配置1片74LS138译码器。因为RAM芯片可连续配置1片74LS138译码器。62256的地址范围为32K,因此其地址线位A0-A14。又RAM总地址范围为4万H-5FFFFH,因此,地址范围如下。芯片A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A001000000000000000000RAM10100011111111111111101001000000000000000RAM20100111111111111111101010000000000000000RAM30101011111111111111101011000000000000000RAM401011111111111111111显然,A0-A14直接连接到62256芯片,A15-A19用于地址译码,地址译码图如下:第2页共7页系统总线A1562256CG1G2AG2BY774LS138ABY6Y5Y4Y3Y2Y1Y0A16A17A18A19M/IOCSA0-A14OEWED0-D7RDWRCSCSCSA0-A14D0-D740000H-47FFFH48000H-4FFFFH50000H-57FFFH58000H-5FFFFH而ROM芯片连续配置,可以采用1片74LS138译码器。2732的地址范围为4K,因此其地址线位A0-A11。2732的地址范围为4K,因此其地址线位A0-A11。又RAM总地址范围为6万H-62FFFH,因此,地址范围如下。芯片A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A001100000000000000000ROM10110000011111111111101100001000000000000ROM20110000111111111111101100010000000000000ROM301100010111111111111显然,A0-A11直接连接到2732芯片,A12-A19用于地址译码,地址译码图如下:第3页共7页系统总线A122732CG1G2AG2BY774LS138ABY6Y5Y4Y3Y2Y1Y0A13A14CSA0-A11OED0-D7RDCSCSA0-A11D0-D7ANDA18A17ORORA15A16A19M/IO60000H-60FFFH61000H-61FFFH62000H-62FFFH8.现有两种外设:一组8位开关,一组8位LED灯。要求以8255为接口芯片,将开关状态从8255B口读入,存入DS:BX所指数据段,从堆栈弹出数据到AX中,将AH8255a口发送的内容LED灯上显示。要求以8255为接口芯片,将开关状态从8255B口读入,存入DS:BX所指数据段,从堆栈弹出数据到AX中,将AH8255a口发送的内容LED显示在灯上。8255的地址是40H-43H。(20分)(1)画8255硬件连接图(包括基于74LS138地址译码、开关和LED灯的连接)。(10分)(2)编写完成上述功能的主要程序代码片段(包括初始代码和功能代码,需要注释)。(10分)解:答案不是唯一的,参考答案如下。(1)因为端口地址是40H-43H,8255的每个端口地址分布如下,采用8位地址总线译码法。8255A7A6A5A4A3A2A1A0A40H01000000B41H01000001C42H01000010控制寄存器43H01000011地址译码图如下第4页共7页ISA总线A1A0RDWRD8-D15CSA1A0RDWRD0-D7PB0PB1PB7PA0PA1PA78255Ar0r7r1R0R7R1D0D7D1 5V 5Vk0k7k1A4A5A7CG1G2AG2BY774LS138A2A3