微机原理与应用试卷一、单项选择题(每小题1分共10分)1.十进制33.25转换成十六进制数为()A.B1.4HB.1B.19HC.21.4HD.33.4H2.若有16条地址线,那么可访问的内存地址范围为。()A.0001H~FFFFHB.0000H~FFFFHC.00000H~FFFFFHD.00001H~FFFFFH3.8086CPU内有指示下条指令有效地址的指示器是()A.IPB.SPC.BPD.SI4.下列指令中语法有错误的是()A.INAX,20HB.LEASI,[2000H]C.OUTDX,ALD.SHLAX,25.8088CPU内部的数据总线有多少条()A.8条B.16条C.20条D.32条6.若(AL)=0FH,(BL)=04H,则执行CMPAL,BL后,AL和BL的内容为()A.0FH和04HB.0BH和04HC.0FH和0BHD.04H和0FH7.指令MOVAX,[BX][SI]中源操作数的寻址方式是。()A.寄存器间接寻址B.变址寻址C.基址变址寻址D.相对寻址8.与MOVBX,OFFSETX等价的指令是()A.MOVBX,XB.LDSBX,XC.LESBX,XD.LEABX,X9.不能实现将AX清零和CF清零的指令是()A.SUBAX,AXB.MOVAX,0C.XORAX,AXD.ANDAX,010.可编程计数/定时器8253的工作方式有几种()A.3B.4C.5D.6二、填空题(每空2分,共20分)1.计算机通常___________和___________是核心部件,合称为中央处理单元CPU。2.8086CPU通过数据总线对__________进行一次访问所需要的时间为一个总线周期,一个总线周期至少包括__________时钟周期。3.组成16M*8位的存储器,需要1M*4位的存储芯片___________片。4.微机中一般采用__________芯片作为串行通信接口。5.在8086CPU系统中,设某中断源的中断类型码为08H,中断矢量为0100H:1000H,则相应的中断矢量存储地址为__________;从该地址开始,连续的4个存储单元存放的内容依次为__________。6.堆栈是内存中一个专用区域,其存取规则是__________;在8086系统中,当CPU响应外部中断请求转向中断处理程序前,应将__________的内容依次压入堆栈。三、判断改错题(每题1分,共10分)1.8086向存储器的奇地址写一个字节的数据时,需要一个总线周期,在该总线周期内的第一个时钟周期中,A0为1。()2.8088的信号可用作中断矢量的读选通信号。()3.已知AL的内容为01011101B,执行NEGAL后再执行CBW,AX中的内容为7FA3H。()4.8088中,取指令和执行指令必须是串行操作。()5.MOV[BX],0指令是正确的。()6.8259A的8个中断源的中断矢量在中断向量表中是连续存放的。()7.多个外设可以通过一条中断请求线,向CPU发中断请求。()8.EPROM虽然是只读存储器,所以在编程时不可以向内部写入数据。()9.在CMPAX,DX指令执行之后,当标志位SF,OF,ZF满足下列逻辑关系(SF⊕OF)+ZF=0时,表明(AX)(DX)。()10.CPU与外部接口数据传输方式有程序控制、中断、DMA三种方式。()四、汇编程序(共20分)1.设某数据区定义如下:ORG0100HNAMES:DB‘TOM’,20DB‘ROSE’,25DB‘KATE’,22下列各组指令,若为合法指令,请写出执行结果,若为非法指令,则写出错误原因。(本题5分)(1)MOVSI,5LEADI,NAMES[SI+6]MOVAL,[DI](AL)=(2)MOVSI,4LEABX,NAMESCMP[BL][SI],BYTEPTRNAMES+10(SF)=2.设初值(AX)=4321H,(DX)=8765H,则MOVCL,04HSHLDX,CLMOVBL,AHSHLAX,CLSHRBL,CLORDL,BL上述程序执行后(DX)=;(AX)=。(本题5分)3.编写一个程序,接收从键盘输入的10个十进制数字,输入回车符则停止输入,然后将这些数字加密后(用XLAT指令变换)存入内存缓冲区BUFFER。加密表为:输入数字:0,1,2,3,4,5,6,7,8,9密码数字:7,5,9,1,3,6,8,0,2,4(本题10分)五、简答题(共20分)1.简述在最小工作模式下,8086如何响应一个总线请求?(本题5分)2.伪指令的功能是什么?(本题5分)3.简述宏指令与子程序的区别(本题5分)4.8259A中断控制器的功能是什么?(本题5分)六、综合应用题(共20分)已知某8088微机系统包括8255,8253两个可编程接口电路。其中8253三个计数器分别工作在不同的方式下,可以为A/D转换器提供可编程的采样频率和采样时间;8255A的PB0可用于检测按键开关的位置,PB7可根据PB0的状态决定是否点亮LED指示灯。设系统所要求有关硬件连线已经全部接好,如图1所示。试完成下列各项要求。(1)分别列出8255A,8253各个端口的地址编码,其中片选信号2PS,3PS采用图2中的译码地址。(5分)(2)根据图2所示8255A的A口和B口的连接方式,写出接口初始化程序片段。(5分)(3)图1给出了8253各个计数器要求的工作方式。设已知外部时钟频率为F,计数器0的计数初值为L(字节型),工作在方式2;计数器1的计数初值为M(字型),工作在方式1;计数器2的计数初值为N(字型),工作在方式3,L,M,N是在程序的其它地方已经定义的变量,L,M为二进制数,N为BCD码。试按上述要求完成8253的初始化程序片段。(5分)(4)设计一个程序片段,使8255A监测PB0的输入状态,当PB0=1时使LED灯亮。(5分)图1图2微机原理与应用试题2标准答案一、选择题(每题1分,共10分)1.C.2.B.3.A.4.D.5.A.6.A.7.C.8.D.9.B.10.D.二、填空题(每空2分,共20分)1.运算器、控制器2.存储器或I/O接口,43.324.8250(或8251A)5.020H,00H,10H,00H,01H6.后进先出,断点处三、判断题(每题1分,共10分)1.√2.√3.X4.X5.X6.√7.√8.X9.X10.√四、汇编程序(共20分)1.(1)非法指令LEADI,NAMES[SI+6],不可直接传送(3分)(2)(SF)=0(2分)2.(DX)=7654H,(AX)=3210H(5分)3.答案:datasegmentscodedb7,5,9,1,3,6,8,0,2,4bufferdb10dup(?)dataends(3分)codesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,0movcx,10leabx,scode(2分)input:movah,01int21hcmpal,0ahjzexitandal,0fhxlatmovbuffer[si],alincsiloopinputexit:retcodeends(5分)endstart五、简答题(共20分)1.答:外部总线主控模块经HOLD引线向8086发出总线请求信号;8086在每个时钟周期的上升沿采样HOLD引线;若发现HOLD=1则在当前总线周期结束时(T4结束)发出总线请求的响应信号HLDA;8086使地址、数据及控制总线进入高阻状态,让出总线控制权,完成响应过程。(5分)2.答:伪指令是在汇编程序对源程序汇编期间由汇编程序处理的操作,它们可以完成如处理器选择、定义程序模式、定义数据、分配存储区、指示程序结束等功能。总之,伪指令主要是指导汇编过程。(5分)3.答:宏指令插入执行,目标代码重复出现,费单元,省时间(2分)子程序转去执行,目标代码仅出现一次,省单元,费时间(3分)4.答:8259A中断控制器可以接受8个中断请求输入并将它们寄存。对8个请求输入进行优先级判断,裁决出最高优先级进行处理,它可以支持多种优先级处理方式。8259A可以对中断请求输入进行屏蔽,阻止对其进行处理。8259A支持多种中断结束方式。8259A与微处理器连接方便,可提供中断请求信号及发送中断类型码。8259A可以进行级连以便形成多于8级输入的中断控制系统。(5分)六、综合应用题(共20分)(1)8255的口地址码为08H,09H,0AH,0BH,8253的口地址码为0CH,0DH,0EH,0FH(2)8255的初始化程序MOVAL,10000010BOUT0BH,AL(3)8253各通道的初始化程序片段MOVAL,14H;82530#设置为方式2OUT0FH,ALMOVAL,L;对0#设置计数处值LOUT0CH,ALMOVAL,72H;1#设置为方式1MOVOFH,ALMOVAX,M;1#设置计数初值为MOUTODH,ALMOVAL,AHOUTODH,ALMOVAL,B7H;2#设置为方式3,BCD码OUTOFH,ALMOVAX,NOUTOEH,AL;2#计数初值为NMOVAL,AHOUT0EH,AL(4)8255检测到当PB0=1时点亮灯的程序片段INAL,09H;读B口状态K1:TEST01H;测试PB0=1否JZK1;不为1,踏步MOVAL,00H;PB0=1,使PA0=0,点亮LEDOUT08H,AL