您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 同济大学2009-2010(1)微机原理期终试题(A-B卷)含答案
第1页共7页同济大学课程考核试卷(A卷)-答案2009—2010学年第一学期课号:100202课名:微机原理及接口技术(双语)考试考查:考试此卷选为:期中考试()、期终考试(■)、重考()试卷年级专业学号姓名得分一、简答题(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的值。解:CMP指令运行后,AX内容不受影响,仍为3024H。正数减去负数后其结果为负数(9014H),因此O=1。高位有借位,因此C=1。显然,S=1,Z=0。4.Whatconditiondoesalogic1(highlevel)onthe8086ALEpinindicate.解:ALE为1(高电位)时表明总线上地址数据有效,即AD0-AD15地址数据复用线上是有效的地址数据,而A16-A19状态地址复用线上是有效的地址数据。该信号用于通知外部锁存器进行地址数据分离。5.当INT22H指令运行时,请给出中断向量表中该中断对应的物理位置。(假设采用8086CPU系统)解:已知中断向量号为22H,故在中断向量表中所处的位置为22H×4=88H。因为8086系统的中端向量表位于内存的最低端,故该中断向量在地址范围为00088H-0008BH。6.简要说明中断处理的流程。解:流程如下:(1)将标志寄存器内容压栈;(2)将标志寄存器的TF和IF标志清零;(3)将CS寄存器内容压栈;(4)将IP寄存器内容压栈;(5)根据中断向量号查询中断向量表,获取中断服务程序的段地址和偏移地址,分别装入CS和IP;第2页共7页(6)执行中断服务程序;(7)执行到IRET/IRETD时,从堆栈中弹出IP和CS;(8)从堆栈重弹出标志数据到标志寄存器。二、分析与设计题(70分)7.某微型计算机系统,其CPU地址线为20位,数据线为8位。需扩展内存140KB,其中RAM为128KB,选用62256(32K×8);ROM为12KB,选用EPROM2732(4K×8),要求内存地址空间从40000H开始连续分配,RAM在低地址,ROM在高地址。(20分)(1)分别需要多少块ROM和RAM?给出每一块存储芯片的内存地址范围。(10分)(2)利用74LS138画出存储器地址译码图。要求与CPU三总线有相应的连接。(10分)解:(1)因为需要扩展内存140KB,其中RAM为128KB,ROM为12KB。而选用的RAM芯片62256为32KB,ROM芯片2732为4KB。因此需要62256芯片4块,2732芯片3块。而32K的地址范围大小为8000H,其范围为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译码器。而62256的地址范围为32K,因此其地址线位A0-A14。又RAM的总地址范围为40000H-5FFFFH,因此有如下地址范围。芯片A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0RAM10100000000000000000001000111111111111111RAM20100100000000000000001001111111111111111RAM30101000000000000000001010111111111111111RAM40101100000000000000001011111111111111111显然,A0-A14直接接到62256芯片,而A15-A19用于地址译码,地址译码图如下:第3页共7页而ROM芯片为连续配置,可以采用1片74LS138译码器。而2732的地址范围为4K,因此其地址线位A0-A11。又RAM的总地址范围为60000H-62FFFH,因此有如下地址范围。芯片A19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0ROM10110000000000000000001100000111111111111ROM20110000100000000000001100001111111111111ROM30110001000000000000001100010111111111111显然,A0-A11直接接到2732芯片,而A12-A19用于地址译码,地址译码图如下:第4页共7页8.现有两种外设:一组8位开关,一组8位LED灯。要求用8255作为接口芯片,将开关状态从8255的B口读入,存入DS:BX所指数据段;并从堆栈弹出数据到AX中,将AH的内容经8255的A口送出到LED灯上显示。8255的地址为40H-43H。(20分)(1)画出8255的硬件连接图(包括基于74LS138的地址译码以及开关和LED灯的连接)。(10分)(2)写出完成上述功能的主要程序代码片段(含初始化代码和功能代码,要求有注释)。(10分)解:答案不唯一,参考答案如下。(1)因为端口地址为40H-43H,采用8位地址总线译码方式,有8255的各个端口地址分配如下。8255A7A6A5A4A3A2A1A0A40H01000000B41H01000001C42H01000010控制寄存器43H01000011地址译码图如下:第5页共7页(2)对于8255而言,A口作为输出,B口作为输入。且都是基本的I/O方式,故A口和B口都选用方式,因此8255的控制字如下:A组方式(方式0)A口(输出)C口高4位B组方式(方式0)B口(输入)C口低4位D7D6D5D4D3D2D1D010000010因此,程序代码如下;8255初始化代码MOVAL,82H;将控制字放入到AL寄存器OUT43H,AL;将控制字送入到8255的控制寄存器;功能代码INAL,41H;从8255的B口读入开关状态数据到AL寄存器MOV[BX],AL;将AL寄存器内容放入到DS:BX所指数据段POPAX;从堆栈中弹出数据到AXMOVAL,AH;取AH内容到AL寄存器OUT40H,AL;将AL内容送到LED灯显示9.某计算机系统有一16550接口电路,其地址为68H-6FH。若其数据传输要求采用7个数据位,1个停止位,偶校验,波特率为4800(外部时钟为18.432MHz)。(15分)(1)写出16550的初始化代码。(10分)(2)若传输ASCII字符为’B’,请画出其传输波形图。(5分)解:(1)16550的端口地址范围为68H-6FH,因此其线路控制寄存器为6BH,用于波特率处理的寄存器分别为68H和69H。根据16550的控制字格式和初始化流程,可以确定其控制字有两个:其一:进行波特率设置,有第6页共7页启动分频发送间隔附加位偶校验启动校验1位停止位7位数据D7D6D5D4D3D2D1D010011010因为采用18.432MHz,若要波特率为4800,这分频系数N为24048001610432.186N其二,进行正常的通信,有正常通信发送间隔附加位偶校验启动校验1位停止位7位数据D7D6D5D4D3D2D1D000011010因此,16550的初始化代码如下:;初始化16550MOVAL,9AHOUT6BH,AL;设置波特率MOVAL,240OUT68H,AL;波特率分频系数低8位MOVAL,0OUT69H,AL;波特率分频系数高8位;启动16550通信过程MOVAL,1AHOUT6BH,AL(2)作为一款串行芯片,在进行数据传输时是从最低位开始传输的,因此有:对于ASCII字符’B’,可以查得其ASCII编码为42H,即01000010B。在上述传输过程中,因为采用7位数据格式,因此D7位被舍弃。因此最终传输的二进制序列为0100001B。对于偶校验,易知传输序列中有2个’1’,因此校验位为’0’。故波形如下:第7页共7页10.Programcounter2ofthe8254sothatitgeneratesacontinuousseriesofpulsethathaveahightimeof4usandalowtimeof1us.MakesuretoindicatetheCLKfrequencyrequiredforthistask.(15分)解:答案不唯一,参考答案如下。因为要求产生高为4us,低为1us的连续波形,因此可以采用8254的方式2。显然,若选用CLK为1MHz(即周期为1us),采用计数值为5,即可满足题意要求。因此,根据8254的控制字,有选择计数器2写计数值高低字节方式2二进制计数D7D6D5D4D3D2D1D010110100假定8254的地址范围为40H-43H,即计数器2的地址为42H,控制字寄存器的地址为43H,则8254的程序代码如下:;初始化8254MOVAL,B4HOUT43H,AL;向计数器2写入计数初值MOVAL,5OUT42H,AL;计数值低8位MOVAL,0OUT42H,AL;计数值高8位同济大学课程考核试卷(B卷)-答案2009—2010学年第一学期课号:100202课名:微机原理及接口技术(双语)考试考查:考试此卷选为:期中考试()、期终考试(■)、重考()试卷年级专业学号姓名得分一、简答题(35分,每题5分)1.Intherealmodeof8086,showthestartingandendingaddressofeachsegmentlocatedbythefollowingsegmentregistervalue.(1)4500H(2)0CE00H解:(1)StartingAddress:45000H,EndingAddress:54FFFH(2)StartingAddress:0CE000H,EndingAddress:0DDFFFH2.已知AX=14C6H,BX=80DCH,执行以下程序后,试问。ADDAX,BXJNOPROG1第8页共7页JNCPROG2JNSPROG3JMPPROG4(1)分析标志位S,C,O,Z的取值情况。(2)指出程序将转向哪个标号?解:(1)S=1,C=0,O=0,Z=0。(2)PROG13.Howmanyaddressinputsanddatainputsdoesthe32K×8bitDRAMdevicecontain?解:因为32K=215,因此,AddressInputs的数目为15而数据宽度为8bit,故DataInputs的数目为84.Contrastamemory-mappedI/OsystemwithanisolatedI/Osystem.解:(P211)(1)内存映射I/O系统a)地址空间与存储器重叠;b)不使用专门的In/Out指令;c)采用相同的I/O访问和内存访问寻址方式,但对I/O访问很慢。(2)独立I/O系统d)地址空间不与存储器重叠;e)需要专门的In/Out指令,且只能通过AL,AX,EAX寄存器进行数据交换;f)内存访问寻址方式采用20位地址寻址,而I/O寻址最多16位地址。5.8086CPU复位后AX,CS,IP的值是什么?复位后CPU的启动地址又是什么?解:复位后AX和IP的值都是0000H,而CS中的值为0F
本文标题:同济大学2009-2010(1)微机原理期终试题(A-B卷)含答案
链接地址:https://www.777doc.com/doc-6134597 .html