微处理器与接口技术A.docx
《微处理器与接口技术A.docx》由会员分享,可在线阅读,更多相关《微处理器与接口技术A.docx(14页珍藏版)》请在冰豆网上搜索。
微处理器与接口技术A
班级:
学号:
班内序号:
姓名:
-------------------------------------------------------------------装-----------------------------------------订--------------------------------------线--------------------------------------------------------
--------------------------------------------------------------------
北京邮电大学2012—2013学年第1学期
《微处理器与接口技术》期末考试试题(A)
考试注意事项
一、学生参加考试须带学生证或学院证明,未带者不准进入考场。
学生必须按照监考教师指定座位就坐。
二、书本、参考资料、书包等物品一律放到考场指定位置。
三、学生不得另行携带、使用稿纸,要遵守《北京邮电大学考场规则》,有考场违纪或作弊行为者,按相应规定严肃处理。
四、学生必须将答题内容做在试题答卷上,做在草稿纸上一律无效。
五、学生的姓名、班级、学号、班内序号等信息由教材中心统一印制。
考试
课程
微处理器与接口技术
考试时间
2小时
2012年1月8日
题号
一
二
三
四
五
(1)
五
(2)
五(3)
六
总分
满分
18
20
24
18
6
6
8
得分
阅卷
教师
一、填空题(每空1分,共18分)
1.假设AL中存放二进制数01011101B,若执行指令NEGAL后再执行CBW,则AX的内容为,如果认为结果是补码,则按十进制大小是。
2.8086在执行MOVAL,[2001H]时,需要一个总线周期,ALE在该总线周期内要持续个时钟周期有效,此时BHE为,A0为。
3.某8位数据总线的微处理器系统中由6片16K×4的芯片组成ROM内存,若该内存的末地址为0FFFFFH,则其首地址为(填写物理地址)。
4.计算机内的堆栈存取采用原则,有一个堆栈区,地址为1250H:
0000H~1250H:
0100H,(SP)=0052H,则栈顶的物理地址是,栈底的物理地址是。
5.已定义“VAR1DB01H,10H,00H,02H”,且AX=0210H,则指令“DIVVAR1+1”的源操作数是,执行该指令后(会/不会)发生除法溢出中断。
6.标志寄存器中,标志没有相应的指令来修改,可以通过以下命令来对其置位,请补充完整。
PUSHF
POPAX
PUSHAX
POPF
7.D/A转换器的分辨率是指。
8.8086的INTR中断响应时会发出两个低电平的中断响应周期,其中在第
个中断响应周期,8259会通过数据总线向CPU提供中断类型号,该类型号的低3位由提供。
9.8253的工作方式中,方式(要填写所有符合条件的方式)要通过GATE端来触发启动计数,在计数过程中如果需要读取计数值,应该向。
二、判断题,正确的在括号内打√,否则打×(每小题2分,共20分)
1.8086的指令执行部件EU负责指令的执行,所以读写存储器的MOV指令产生的读写控制信号由EU负责产生。
()
2.在8086总线周期的T1状态,若引脚
/S7输出低电平,表示高8位数据总线AD15~AD8上的数据有效。
()
3.若Y是数据段中的变量,指令ADDY,OFFSETY是正确的。
()
4.PC总线使用8086的最大模式,所以8288总线控制器产生的读写控制信号在PC总线中都可以找到。
()
5.采用虚拟存储技术可以解决主存储器的空间和速度不足的问题。
()
6.由于8086在中断服务程序执行前,自动设置IF=TF=0,所以返回时系统要将其置位。
()
7.采用存储器映像的I/O寻址方式的系统,存储器地址增加,则I/O端口地址就减少,且I/O端口可以有较多的寻址方式。
()
8.8237DMA数据块传送模式的特点是:
一次请求传送一个数据块,但在整个DMA传送期间如果有中断请求,CPU不能响应它。
()
9.在多级8259的情况下,对于主从8259需要分别初始化,而且总是会使用初始化命令字ICW4。
()
10.DRAM以MOS晶体管的栅极电容来存储二进制信息,需要定时刷新。
()
三、选择题(每小题2分,共24分)
1.CPU中程序计数器(IP)中存放的是()。
A.指令
B.指令地址
C.操作数
D.操作数地址
2.当8086/8088访问100H端口时,采用()寻址方式。
A.直接
B.立即
C.寄存器间接
D.相对
3.设BL=05H,要使结果BL=0AH,应执行的指令是()。
A.NOTBL
B.ANDBL
C.XORBL,0FH
D.ORBL,0FH
4.在同一程序段中,定义有下面的伪指令,使用正确的是()。
A.PORT1EQUALPORT1EQU2000H
B.PORT2=3500HAND0FFH
C.POPDD‘ABCD’
D.PORT4PROC…RETEND
5.已知(SP)=1310H,执行IRET指令后(SP)为()。
A.1304H
B.1314H
C.1312H
D.1316H
6.某微机接口电路中,要设置10个只读寄存器、8个只写寄存器和6个可读可写寄存器,一般应为它至少提供()个端口地址。
A.24B.14C.16D.18
7.主存储器和CPU之间增加高速缓冲存储器的目的是()。
A.解决CPU和主存之间的速度匹配问题
B.扩大主存储器的容量
C.扩大CPU中通用寄存器的数量
D.既扩大主存储器的容量又解决CPU和主存之间的速度匹配问题
8.如果有多个中断同时发生,系统将根据中断优先级响应优先级最高的中断请求。
若要调整中断事件的响应次序,可以利用()。
A.中断响应B.中断屏蔽C.中断向量D.中断嵌套
9.8088系统中,15H号中断的中断向量存放在内存储器的()单元中。
A.0000:
0054H-0000:
0057HB.0000:
0060H-0000:
0063H
C.FFF0:
0054H-FFF0:
0057HD.FFF0:
0060H-FFF0:
0063H
10.PC系列机中,确定外部硬中断的服务程序入口的地址是()。
A.主程序中的调用指令B.主程序中条件转移指令
C.中断控制器中的中断服务寄存器D.中断控制器发出的中断向量号
11.设串行异步通信的数据格式是:
1位停止位,7位数据位,1位校验位,1位起始位。
若传输率为2400位/秒,则每秒传输的最大字符个数为()。
A.10个B.110个C.120个D.240个
12.8237A的地址是双向的,因为()。
A.8237A可以传输输入/输出的地址
B.8237A内部的地址是双向的
C.8237A作为系统总线时应该是双向的
D.8237A既可以是系统总线的主控者,也可以是从设备
四、简答题(每题4分,共24分)
1、说明堆栈的概念,用途,给出定义堆栈段(1024Byte)和初始化相关寄存器的代码。
2、说明什么是立即寻址、直接寻址以及CPU是如何取得要执行的指令的。
3、总线周期的含义是什么?
8086/8088的基本总线周期由几个时钟周期组成?
如果一个CPU的时钟频率为4.77MHz,那么,它的一个时钟周期是多少?
一个基本总线周期为多少?
4、说明A/D转换的逐次逼近法原理。
逐次逼近法的转换时间与哪些因素有关?
5、说明IO端口的两种编址方式,各自对指令系统和硬件有什么要求?
6、说明DMA的工作原理,简述外设、DMAC、CPU的交互过程。
五、接口综合题(共20分)
1.接口电路如图,请回答如下问题(6分):
(1)题目中,8259A的地址范围是多少?
写出对应的全部地址空间。
(2分)
(2)主程序片段如下,则IR2上的某外设中断源对应的中断向量号多少?
(2分)
STAR:
MOVDX,ADDR1;ADDR1为使8259A的引脚A0=0的地址
MOVAL,13H;ICW1赋值
OUTDX,AL
MOVDX,ADDR2;ADDR2为使8259A的引脚A0=1的地址
MOVAL,48H;ICW2赋值
OUTDX,AL
MOVAL,__(A);ICW4赋值
OUTDX,AL
(3)对应于上述主程序,IR2上的中断源对应的中断程序如下,请补充填写其中的程序语句,完成数据输入功能。
(2分)
my_intprocfar
pushax
sti
…
<中断服务程序主体>
popax
outADDR1,al;写OCW2
my_intendp
附:
ICW1、ICW2、ICW4、OCW2说明
2.PC总线和A/D转换接口电路如下图,图中信号均是PC(8位)总线信号。
请回答下面问题:
(6分)
其中:
AEN:
地址允许信号,输出,高电平有效。
AEN=1,表明处于DMA控制周期;AEN=0,表示非DMA周期。
(1)中断控制器8259A和并行接口8255A各有几个端口地址?
各芯片内地址有无重叠?
(2分)
(2)图中并行接口8255A的C口低4位应工作在什么方式?
(1分)
(3)如何控制A/D转换开始?
若8255A的口地址是20H~23H,编写一段完成A/D转换开始的程序。
(2分)
(4)CPU如何知道A/D转换结束?
CPU何时以及如何读取转换好的数据?
(1分)
附:
8255A方式选择控制字
3.根据以下连接示意图回答问题。
(8分)
注:
图中
(a)8086系统总线的地址信号
经过或非门后的输出接至74LS138的
端;
(b)图中有一特殊外设,其发送的数据送到8255的PA引脚端,但其发送数据有如下要求:
需由人手动控制,即只有在开关K每次从合上到断开后才允许其发送一个8位的数据给8255;另外当START端有下降沿出现时,启动该设备发送数据,当RDY端为高电平时,表明8255的PA端含有该外设新发的数据。
若需将该特殊外设发来的数据填满所指定的BUF缓冲区,某人编写了如下程序:
DATASEGMENT
BUFDB10DUP(?
)
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
PORT8259EVEQU__
(1);8259端口地址之一
;(当其引脚A0=0时)
PORT8259ODEQU__
(2);8259端口地址之一
;(当其引脚A0=1时)
PORT8255PAEQU__(3);8255端口A地址
PORT8255PCEQU__(4);8255端口C地址
PORT8255CTRLEQU__(5);8255控制端口地址
INITINTPROCNEAR
CLI
…;初始化8259(IR端上升沿触发等),不屏蔽IR5
;填写中断向量(INTSRV)等等(具体代码此处略去)
RET
INITINTENDP
START:
MOVAX,DATA
MOVDS,AX
MOVAL,91H;8255端口A及C方式0,A口输入
;C口高4位输出,低4位输入
OUT__(6),AL;初始化8255
CALLINITINT
MOVAL,0FH
OUTPORT8255CTRL,AL
MOVSI,OFFSETBUF
MOVCX,10
STI
LCONT:
CMPCX,0
JNZLCONT
INAL,PORT8259OD
ORAL,20H
OUTPORT8259OD,AL;屏蔽IR5中断
MOVAH,4CH
INT21H;返回DOS
INTSRVPROCFAR
CALLRECVDATA;(7)
MOVAL,20H
OUTPORT8259EV,AL;发送EOI(中断结束)命令
IRET
INTSRVENDP
CODEENDS
ENDSTART
(1)上述程序
(1)
(2)(3)(4)(5)(6)处缺写的内容分别是什么?
(3分)
(2)完整编写出在上述程序(7)处所调用的子程序(RECVDATA)。
(5分)