(第1页共7页)湘潭大学2012年上学期2010级《微机原理及应用》课程考试试卷(A卷)适用年级专业2010级电子信息工程、通信工程专业考试方式闭卷考试时间120分钟学院专业班级学号姓名题号一二三四五六七八总分阅卷教师得分………………………………………………………………………………………………………………一、选择题(每小题2分,共20分)1.关于8086的条件转移指令,以下陈述中正确的说法是(D)。A.条件转移指令可以实现段间转移B.有的条件转移指令采用绝对转移方式C.条件转移指令仅影响状态控制标志D.所有条件转移指令都只是段内转移2.在8086中,字乘法运算的结果保存在(C)。A.指定存储单元中B.DS寄存器和AX寄存器中C.DX寄存器和AX寄存器中D.程序指定的寄存器中3.8086/8088复位后从(B)地址处开始执行程序。A、00000HB、FFFF0HC、FFFFFHD、FFF0H4.普通中断结束EOI命令适用于(A)方式中的中断命令。A.完全嵌套B.自动循环C.特殊循环D.特殊屏蔽5.CPU在执行OUTAL,DX指令时,DX的内容输出到(A)。A、地址总线B、数据总线C、存储器D、寄存器6.DMA控制器能够实现高速数据传送的主要原因是(C)。A.采用高速芯片B.时钟频率高C.直接由硬件完成D.DMA内部采用特殊控制方式7.在8086中,唯一允许两个操作数均可为存储器操作数的指令是(C)。A.数据传送指令B.实现段间转移的无条件转移指令C.串处理指令D.乘法和除法运算指令8.8255A工作于方式1输出方式,A口/B口与外设之间的控制状态联络信号是(B)。ASTB与IBFBACKOBF与CIBF与ACKDSTBOBF与9.CPU在中断响应过程中(B),是为了能正确地实现中断返回。得分制卷人签名:制卷日期:审核人签名::审核日期:………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………装……………………订……………………线…………………………………………………………………(第2页共7页)A.识别中断源B.断点压栈C.获得中断服务程序入口地D.清除中断允许标志IF10.对于8255芯片的描述正确的是(D)。A、A口只能输入,B口只能输出B、C口高4位只能输入,低4位只能输出C、C口高4位、低4位不能同时输入输出D、A、B、C口既可以输入,也可以输出二、填空题(每题1.5分,共15分)1.CPU与外设交换信息时,有三种常见的输入输出方法,它们分别是:程序控制的输入输出方式,中断传送方式及DMA方式2.在对EPROM进行标准编程时,在PGM端加上宽度为50ms的编程脉冲。3.8086微处理机在最小模式下,用M/IO来控制输出地址是访问内存还是访问I/O4.IBM-PC机中的内存是按段存放信息的,一个段最大存贮空间为64K字节。5.用2k×4位的存储芯片,组成32k×8位的存储器,要用片存储芯片。6.在DMA方式下,CPU的地址数据总线呈高阻状态。7.8237芯片共有2~4个初始化命令字8.下面是某8086微机内存中的部分数据:0000:0040B3188ACC4DF800F041F800F0C5188ACC0000:005039E700F0A0198ACC2EE800F0D2EF00F0则中断类型号为11H的中断服务程序的入口地址是4DF8:00F09.在8086和8088汇编语言中,一个字能表示的有符号数的范围是-32768≤n≤32767。10.当8255A的PC4—PC7全部为输出线,表明8255A的A端口工作方式是方式0。三、简答题(共20分)1.什么叫做变量?变量有哪几种属性?程序中如何存放变量?(5分)得分得分(第3页共7页)2.8086如何响应一个可屏蔽中断请求?简述响应过程。(5分)答:当8086收到INTR的高电平信号时,在当前指令执行完且IF=1的条件下,8086在两个总线周期中分别发出INTA#有效信号;在第二个INTA#期间,8086收到中断源发来的一字节中断类型码;8086完成保护现场的操作,CS、IP内容进入堆栈,请除IF、TF;8086将类型码乘4后得到中断向量表的入口地址,从此地址开始读取4字节的中断处理程序的入口地址,8086从此地址开始执行程序,完成了INTR中断请求的响应过程。3.3.8237A什么时候作为主模块工作,什么时候作为从模块工作?在这两种工作模式下,各控制信号处于什么状态,试作说明。(5分)答:8237A取得总线控制权后,开始进行DMA传送过程,此时8237A作为主模块工作。8237A在被处理器编程或读取工作状态时,处于从模块工作状态。8237A处于从模块时,若CS#=0、HLDA=0说明它正被编程或读取状态,IOR#与IOW#为输入,A0~A3为输入。8237A处于主模块时,输出地址信号A0~A15(低8位经A0~A7输出,高8位经DB0~DB7输出)。8237A还要输出IOR#、IOW#、MEMR#、MEMW#、AEN、ADSTB等有效信号供DMA传送过程使用。4.程序片段(5分)……MOVAX,0521HMULAH;(AL)=0A5HPUSHAXPUSHBPMOVBP,SPMOVDX,[BP+2];(DH)=00H6.8251A在编程时,应遵循什么规则?答:8251在初始化编程时,首先使芯片复位,第一次向控制端口(奇地址)写入的是方式字;如果输入的是同步方式,接着向奇地址端口写入的是同步字符,若有2个同步字符,则分2次写入;以后不管是同步方式还是异步方式,只要不是复位命令,由CPU向奇地址端口写入的是命令控制字,向偶地址端口写入的是数据。四、程序填空题(每空3分,共15分)下题的程序中包含一些空缺的指令或不完整的指令。请在题中指定位置填入确定内容,使其完整并实现相应功能。;子程序名:BTOASC;功能:把一个16位无符号二进制整数转换为对应的5位十进制数ASCII码串得分(第4页共7页);入口参数:AX=欲转换的二进制数;存放结果ASCII码串的存储区首址(段值:偏移)在堆栈中;出口参数:十进制数ASCII码串按万位到个位的序依次存放在指定的存储区中;调用实例:……;PUSHDS假设存储区段值存于DS中;PUSHSI假定存储区偏移存于SI中;CALLFARPTRBTOASC;……;程序代码BTOASCPROCFARPUSHBPMOVBP,SPPUSHDSPUSHSIPUSHBXPUSHDXPUSHCXMOVDS,[BP+8];读出参数MOVBX,[BP+6]MOVCX,10MOVSI,5BTOASC1:XORDX,DXDIVCXADDDL,’0’DECSIMOV[BX][SI],DLORSI,SIJNZBTOASC1POPCXPOPDXPOPBXPOPSIPOPDSPOPBPRET4BTOASCENDP五、若要把磁盘上1KB的文件读入内存自7000H开始的存储区中,读盘的操作是在中断服务程序中完成的,但读盘每次读入一个记录(128B)放在磁盘缓冲区中。所以在每次读入一个记录后,要把信息自磁盘缓冲区传送至它的储区,编写中断服务程序中能完成这样的程序段。(15分)评分标准:程序框架正确得2分,没有语法错误得4分,程序正确得9分。得分(第5页共7页)六、假设8255端口地址为80H~83H请编写程序段分别完成下列功能:(1)设端口A组和B组都是方式0,其中端口A输出,端口B输入,C口上半部分输入。(2)查询PC7位,若PC7=0继续查询;若PC7=1则从A口输入字符送B口输出,并无限循环重复上述过程。(15分)评分标准:程序框架正确得2分,没有语法错误得4分,程序正确得9分。并行接口芯片8255A的控制字的格式如下:方式控制字:1D6D5D4D3D2D1D0方式控制字标志位A组方式00:方式001:方式11X:方式2端口AI/O0:输出1:输入C高I/O0:输出1:输入B组方式0:方式01:方式1端口BI/O0:输出1:输入C低I/O0:输出1:输入C口按位置位/复位控制字:0D6D5D4D3D2D1D0端口C置位/复位控制字标志位XXX位选择:000—1110:置01:置1得分(第6页共7页)(第7页共7页)