微机原理与应用试卷一、单项选择题(每小题 1 分共 10 分)1.十进制33.25转换成十六进制数为( )A. B1.4HB. 1B.19HC. 21.4HD.33.4H2. 若有16条地址线,那么可访问的内存地址范围为。
( )A. 0001H~FFFFHB. 0000H~FFFFHC. 00000H~FFFFFHD.00001H~FFFFFH3. 8086 CPU内有指示下条指令有效地址的指示器是( )A. IPB. SPC. BPD. SI4.下列指令中语法有错误的是( )A. IN AX,20HB. LEA SI,[2000H]C. OUT DX,ALD. SHL AX,25. 8088CPU内部的数据总线有多少条( )A. 8条B. 16条C. 20条D. 32条6. 若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL和BL的内容为( )A. 0FH和04HB. 0BH和04HC. 0FH和0BHD.04H和0FH7. 指令MOV AX,[BX][SI]中源操作数的寻址方式是。
( )A. 寄存器间接寻址B. 变址寻址C. 基址变址寻址D. 相对寻址8. 与MOV BX,OFFSET X等价的指令是( )A. MOV BX,XB. LDS BX,XC. LES BX,XD. LEA BX,X9. 不能实现将AX清零和CF清零的指令是()A. SUB AX,AXB. MOV AX,0C. XOR AX,AXD. AND AX,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,执行NEG AL后再执行CBW,AX中的内容为7FA3H。
( )4. 8088 中,取指令和执行指令必须是串行操作。
( )5. MOV [BX],0 指令是正确的。
( )6. 8259A的8个中断源的中断矢量在中断向量表中是连续存放的。
( ) 7.多个外设可以通过一条中断请求线,向CPU发中断请求。
( )8. EPROM 虽然是只读存储器,所以在编程时不可以向内部写入数据。
( )9. 在CMP AX,DX指令执行之后,当标志位SF,OF,ZF满足下列逻辑关系(SF⊕OF)+ZF =0时,表明(AX)<(DX)。
( )10.CPU与外部接口数据传输方式有程序控制、中断、DMA三种方式。
( )四、汇编程序(共20分)1. 设某数据区定义如下:ORG 0100HNAMES: DB ‘TOM’,20DB ‘ROSE’,25DB ‘KATE’,22下列各组指令,若为合法指令,请写出执行结果,若为非法指令,则写出错误原因。
(本题5分)(1)MOV SI,5LEA DI,NAMES[SI+6]MOV AL,[DI](AL)=(2)MOV SI,4LEA BX,NAMESCMP [BL][SI],BYTE PTR NAMES+10(SF)=2.设初值(AX)=4321H,(DX)=8765H,则MOV CL,04HSHL DX,CLMOV BL,AHSHL AX,CLSHR BL,CLOR DL,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 的PB 0可用于检测按键开关的位置,PB 7可根据PB 0的状态决定是否点亮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 监测PB 0的输入状态,当PB 0=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. X 10. √四、汇编程序(共20分)1.(1)非法指令LEA DI,NAMES[SI+6],不可直接传送(3分)(2)(SF)=0 (2分)2.(DX)=7654H,(AX)=3210H (5分)3.答案:data segmentscode db 7,5,9,1,3,6,8,0,2,4buffer db 10 dup(?)data ends (3分)code segmentassume cs:code,ds:datastart: mov ax,datamov ds,axmov si,0mov cx,10lea bx,scode (2分)input: mov ah,01int 21hcmp al,0ahjz exitand al,0fhxlatmov buffer[si],alinc siloop inputexit: retcode ends (5分)end start五、简答题(共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的初始化程序MOV AL,10000010BOUT 0BH,AL(3)8253各通道的初始化程序片段MOV AL,14H ;8253 0#设置为方式2OUT 0FH,ALMOV AL,L ;对0#设置计数处值LOUT 0CH,ALMOV AL,72H ;1#设置为方式1MOV OFH,ALMOV AX,M ;1#设置计数初值为MOUT ODH,ALMOV AL,AHOUT ODH,ALMOV AL,B7H ;2#设置为方式3,BCD码OUT OFH,ALMOV AX,NOUT OEH,AL ;2#计数初值为NMOV AL,AHOUT 0EH,AL(4)8255检测到当PB0=1时点亮灯的程序片段IN AL,09H ;读B口状态K1: TEST 01H ;测试PB0=1否JZ K1 ;不为1,踏步MOV AL,00H ;PB0=1,使PA0=0,点亮LEDOUT 08H,AL。