《同济大学2009-2010(1)微机原理期终试题(AB卷)含答案..docx》由会员分享,可在线阅读,更多相关《同济大学2009-2010(1)微机原理期终试题(AB卷)含答案..docx(17页珍藏版)》请在第一文库网上搜索。
1、同济大学课程考核试卷(A卷-答案20092010学年第一学期课号:100202课名:微机原理及接口技术(双语考试考查:考试此卷选为:期中考试(、期终考试(、重考(试卷年级专业学号姓名得分一、简答题(30分,每题5分1. Choosefivedifferentinstructionstoaccomp1ishA1=O.解:答案不唯一,参考答案如下MOVA1,0ANDA1,0SUBA1,A1XORA1,A1SH1A1,82. ComparethedifferencebetweenANDandTESTinstruction.解:AND指令会影响目的寄存器内容,而TEST不影响目的寄存器的内容。3. 已
2、知AX=3024H,BX=0A010H,执行以下CMPAX,BX指令后,试分析标志位S,C,O,Z的值,并指出AX的值o解:CMP指令运行后,AX内容不受影响,仍为3024H。正数减去负数后其结果为负数(9014H,因此0=1。高位有借位,因此C=1。显然,S=1,Z=O.4. Whatconditiondoesa1ogic1(high1eve1onthe8086A1Epinindicate.解:A1E为1(高电位时表明总线上地址数据有效,即ADO-AD15地址数据复用线上是有效的地址数据,而A16-A19状态地址复用线上是有效的地址数据。该信号用于通知外部锁存器进行地址数据分离。5. 当IN
3、T22H指令运行时,请给出中断向量表中该中断对应的物理位置。(假设采用8086CPU系统解:已知中断向量号为22H,故在中断向量表中所处的位置为22H4=88Ho因为8086系统的中端向量表位于内存的最低端,故该中断向量在地址范围为00088H-0008BHo6.简要说明中断处理的流程。解:流程如下:6. 将标志寄存器内容压栈;7. 将标志寄存器的TF和IF标志清零;8. 将CS寄存器内容压栈;9. 将IP寄存器内容压栈;(5根据中断向量号查询中断向量表,获取中断服务程序的段地址和偏移地址,分别装入CS和IP;(6执行中断服务程序;(7执行到IRET/IRETD时,从堆栈中弹出IP和CS;(8
4、从堆栈重弹出标志数据到标志寄存器。二、分析与设计题(70分7.某微型计算机系统,其CPU地址线为20位,数据线为8位。需扩展内存140KB,其中RAM为128KB,选用62256(32K8;ROM为12KB,选用EPRoM2732(4KX8,要求内存地址空间从40000H开始连续分配,RAM在低地址,ROM在高地址。(20分(1分别需要多少块ROM和RAM?给出每一块存储芯片的内存地址范围。(10分(2利用741S138画出存储器地址译码图。要求与CPU三总线有相应的连接。(10分解:(1因为需要扩展内存140KB淇中RAM为128KB,ROM为12KBo而选用的RAM芯片62256为32KB
5、,ROM芯片2732为4KBo因此需要62256芯片4块,2732芯片3块。而32K的地址范围大小为8000H,其范围为0000H-7FFFH;4K的地址范围大小为1OH,其范围为OOOOH-OFFFHo因此每块芯片的地址范围如下:RAMk40000H-47FFFHRAM2:48000H-4FFFFHRAM3:50000H-57FFFHRAM4:58000H-5FFFFHROMk60000H-60FFFHROM2:61OOOH-6IFFFHRGM3:62000H-62FFFH(2答案不唯一,参考答案如下。因为RAM芯片为连续配置,可以采用1片741S138译码器。而62256的地址范围为32K
6、,因此其地址线位AO-A14o又RAM的总地址范围为400H-5FFFFH,因芯片A19A1IAmAbA13ArAI1A1OA9A8A7A6A5A3A1AORAM10100000000000000000001000111111111111111RAM20100100000000000000001001111111111111111RAM30101000000000000000001010111111111111111RAM401011000000000000000010111111111111111110141519而RoM芯片为连续配置,可以采用1片741S138译码器。而2732的地址范围
7、为4K,因此其地址线位AO-A11o又RAM的总地址范围为60000H-62FFFH,因此芯片Ai9AuApA15AiSAuAuAi2AhAK)A9A8A7AeA5A”NA2AiAoROM10110000000000000000001100000111111111111R0M20110000100000000000001100001111111111111ROM3011000100000000000000110001011111111111101112198.现有两种外设:一组8位开关,一组8位1ED灯。要求用8255作为接口芯片,将开关状态从8255的B口读入,存入DS:BX所指数据段;并从
8、堆栈弹出数据到AX中,将AH的内容经8255的A口送出到1ED灯上显示。8255的地址为40H-43H。(20分(1画出8255的硬件连接图(包括基于741S138的地址译码以及开关和1ED灯的连接。(10分(2写出完成上述功能的主要程序代码片段(含初始化代码和功能代码,要求有注释。(10分解:答案不唯一,参考答案如下。(1因为端口地址为40H-43H,采用8位地址总线译码方式,有8255的各个端口8255A7A6A5A4A3A2AiA0A40H01000000B41H01000001C42H01000010控制寄存器43H010000118255A.AtA4AjA1A40H0100000OB
9、41H01000001C42H0100001O控制寄存器43H01000011系统白歧(2对于8255而言,A口作为输出,B口作为输入。且都是基本的I/O方式,故A;8255初始化代码MOVA1,82H;将控制字放入到A1寄存器OUT43H,A1;将控制字送入到8255的控制寄存器;功能代码INA1,41H;从8255的B口读入开关状态数据到A1寄存器MOVBX,A1;将A1寄存器内容放入到DS:BX所指数据段POPAX;从堆栈中弹出数据到AXMOVA1,AH;取AH内容到A1寄存器OUT40H,A1;将A1内容送到1ED灯显示9.某计算机系统有一16550接口电路,其地址为68H-6FH。若
10、其数据传输要求采用7个数据位,1个停止位,偶校验,波特率为4800(外部时钟为18432MHzo(15分(1写出16550的初始化代码。(10分(2若传输ASCII字符为B请画出其传输波形图。(5分解:(116550的端口地址范围为68H-6FH,因此其线路控制寄存器为6BH,用于波特率处理的寄存器分别为68H和69Ho根据16550的控制字格式和初始化流程,可以确定其控制字有两个:其一:进行波特率设置,有iE常通信发送间隔附加位偶校验启动校验1位停止位7位数据6D6D5D4D3D2D1Do00011010(24048001610432.186=XX=N正常通信发送间隔附加位偶校验启动校验I位
11、停止位7位数据D6D55D3D2D1Do00011010;初始化16550MOVA1,9AHOUT6BH,A1;设置波特率MOVA1,240OUT68H,A1;波特率分频系数低8位MOVA1,0OUT69H,A1;波特率分频系数高8位;启动16550通信过程MOVA1,1AHOUT6BH,A1(2作为一款串行芯片,在进行数据传输时是从最低位开始传输的,因此有:对于ASCII字符B可以查得其ASCII编码为42H,即01000010Bo在上述传输过程中,因为采用7位数据格式,因此D7位被舍弃。因此最终传输的二进制序列为O1ooooIB。对于偶校验,易知传输序列中有2个,因此校验位为(Fo故波形如
12、下:起始位DOD1D2D3D4D5D6校验位停止位001000010110.Programcounter2ofthe8254sothatitgeneratesacontinuousseriesofpu1sethathaveahightimeof4usanda1owtimeof1us.MakesuretoindicatetheC1Kfrequencyrequiredforthistask.(15分解:答案不唯一,参考答案如下。因为要求产生高为4us氐为IUS的连续波形,因此可以采用8254的方式2。显然,若选用C1K为IMHZ(即周期为IUS,采用计数值为5,即可满足题意要求。选择计数器2”计数值高低字节方式2二进制计数D7D6D5D*D3D2OiDO10110100为43H,则8254的程序代码如下:;初始化8254MOVA1,B4HOUT43H,A1;向计数器2写入计数初值MOVA1,5OUT42H,A1;计数值低8位MOVA1,0OUT42H,A1;计数值高8位同济大学课程考核试卷(B卷-答案2009-2010学年第一学期