微机原理与接口技术第六章-8259A练习题及答案汇编
微机原理与接口技术第六章8259a练习题及答案
![微机原理与接口技术第六章8259a练习题及答案](https://img.taocdn.com/s3/m/cddc84b00b1c59eef9c7b4c0.png)
《微机原理与接口技术》练习题第六章一、单项选择题1.8259A的INT是中断请求信号,它连至CPU的(C)端,用来向CPU发中断请求信号。
A.NMI B. IF C.INTR D. TF2.DMA工作方式时,总线上的各种信号是由(D)发送的。
A.中断控制器B.CPUC.存储器D.DMA控制器3.中断自动结束方式是自动将8259(A)相应位清零。
A.ISRB.IMRC.IRRD.ICW4.8086非屏蔽中断的类型码是(B)。
A.00HB.02HC.08HD. 不定5.对“INT N”指令其中断向量存放在内存从(C)开始的地址中。
A. DS*10H+N*4B. DS*10H+NC. 0*10H+N*4D. 0*10H+N6.两片8259A接成级联缓冲方式可管理(B)个可屏蔽中断。
A. 2B. 15C. 16D. 256 7.8086CPU在收到中断请求信号、进入中断响应周期以后,必须向中断源发出的信号是(B)。
A.INTR信号B.INTA信号C.HOLD信号D.HLDA信号8.在下列类型的8086CPU中断中,中断优先权最低的是(D)。
A.除法出错中断B.可屏蔽中断C.不可屏蔽中断D.单步中断9.在8259A内部,用于反映当前CPU正在执行哪些中断源程序的部件是(B)。
A.中断请求寄存器B.中断服务寄存器C.中断屏蔽寄存器D.中断优先级比较器10.8259A最多可管理_______级优先权的中断源。
( A )A.64B.128C.8D.16 11.8086/8088的中断向量表(B)。
A.用于存放中断类型号B.用于存放中断服务程序的入口地址C.是中断服务程序的入口D.是中断服务程序的返回地址.12.DMA操作的基本方式之一,周期挪用法是( A )。
A.利用CPU不访问存储器的周期来实现DMA操作B.DMA操作期间,CPU一定处于暂停状态C.要影响CPU的运行速度D.DMA传送操作可以有规则的、连续地进行13.在CPU与外设的I/O传送控制方式中,效率高、实时性强的方式是(D)。
微机原理与接口第六章答案
![微机原理与接口第六章答案](https://img.taocdn.com/s3/m/f56d4019c281e53a5802ff44.png)
出问题较多的题目6.4 在CPU与外设之间的数据接口上一般加有三态缓冲器,其作用如何?参考答案要点:1)实现CPU和不同外设的速度匹配。
CPU通过数据总线和I/O设备交换数据,但大多数外设的速度比CPU慢很多,无法在时序上和CPU同步,因此,需在I/O接口电路中设置缓冲器,暂存数据,以使高速工作的CPU与慢速工作的外设起协调和缓冲作用,实现数据传送的同步。
2)实现外设和数据总线的有效隔离。
众多外设中,在某一时段仅允许被CPU 选中的设备通过接口享用总线与CPU 交换信息,这就要求接口电路具备使外设与总线隔离的作用。
因此,需选用起缓冲和隔离作用的三态门电路,只有当CPU 选中此接口,三态门选通时,才允许选定的输入设备将数据送至系统数据总线,而其他没有被选中的输入设备,此时相应的接口三态门“关闭”,从而达到与数据总线隔离的目的。
存在的问题:大多数同学对于第2点的回答有欠缺。
6.8 CPU响应(可屏蔽)中断有哪些条件?为什么需要这些条件?参考答案要点:三个条件:1)CPU执行完当前指令;2)有中断请求,且无NMI请求和DMA请求;3)CPU开放中断(或中断允许标志IF=1)。
存在的问题:部分同学把有中断请求这个条件忽略了。
6.9 CPU在中断周期要完成那些主要的操作?参考答案要点:1)关中断;2)保存程序断点和PSW;3)获取中断服务程序入口地址,转入相应的中断服务程序。
存在的问题:中断周期IT这个概念有明确的含义,是响应过程的一个专用的过渡周期,有的机器称之为中断响应总线周期。
在这个周期中依靠硬件(也称中断隐指令)实现程序切换。
中断周期结束后,就进入取指周期。
我们教科书(P213)把中断周期和中断的全过程混为一谈了,容易误导大家。
6.16试比较保护断点与保护现场的主要异同点。
参考答案要点:相同点:二者均用于程序切换时保存原程序的运行数据或状态信息。
不同点:1)保护断点是把程序的断点值(IP和CS值)压栈保存;而保护现场则是把相关寄存器和PSW的值保存起来(通常是压栈保存);2)保护断点通常是在中断响应阶段完成,而保护现场则通常在中断处理阶段完成(8086/8088系统保存PSW的值在中断响应阶段完成)。
微机原理与接口技术考试试题及答案(综合必看)
![微机原理与接口技术考试试题及答案(综合必看)](https://img.taocdn.com/s3/m/2a920bc3a45177232e60a266.png)
命题教师审核人:适用年级专业:一、单项选择(在备选答案中选出一个正确答案,并将其号码填在题干后的括号内。
每题2分,共30分)1 .某微机最大可寻址的内存空间为16MB,其CPU地址总线至少应有()条。
A. 32B. 16C. 20D. 242 .用8088CPU组成的PC机数据线是()。
A. 8条单向线B. 16条单向线C. 8条双向线D. 16条双向线3 .微处理器系统采用存储器映像方式编址时存储单元与I/O端口是通过()来区分的。
A. 不同的地址编码B. 不同的读控制逻辑C. 不同的写控制逻辑D. 专用I/O指令4 .要禁止8259A的IR0的中断请求,则其中断屏蔽操作指令字OCW1应为()。
A. 80HB. 28HC. E8HD. 01H5 .在8086环境下,对单片方式使用的8259A进行初始化时,必须放置的初始化命令字为()。
A. ICW1,ICW2,ICW3B. ICW1,ICW2,ICW4C. ICW1,ICW3,ICW4D. ICW2,ICW3,ICW46 .6166为2Kx8位的SRAM芯片,它的地址线条数为()。
A. 11B. 12C. 13D. 147 .在计算机系统中,可用于传送中断请求和中断相应信号的是()。
A. 地址总线B. 数据总线C. 控制总线D. 都不对8 .段寄存器装入2300H,该段的结束地址是()。
A. 32FFFHB. 23000HC. 33FFFHD. 33000H9 .在进入DMA工作方式之前,DMA控制器当作CPU总线上的一个()。
A. I/O设备B. I/O接口C. 主处理器D. 逻辑高10 .在8086宏汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是()。
A. 汇编指令B. 宏指令C. 机器指令D. 伪指令11 .中断向量表占用内存地址空间为()。
A. 00000H~003FFHB. 00000H~000FFHC. 00000H~00100HD. FFF00H~FFFFFH12 .实现CPU与8259A之间信息交换是()。
《微机原理与接口技术》第六章作业答案
![《微机原理与接口技术》第六章作业答案](https://img.taocdn.com/s3/m/37efd903360cba1aa911da70.png)
《微机原理与接口技术》第六章作业一、P207:1,3,5,10,1418,19,201、什么叫中断?中断系统的主要功能有哪些?中断:是指CPU在执行程序的过程中,由于某种外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务,待事件服务结束后,能自动地返回到被中断的程序中继续执行。
中断系统的功能:1、设置中断源2、中断源识别3、中断源判优4、中断与返回3、CPU 响应中断时的处理过程是什么?在各个处理环节主要完成哪些操作?过程是:中断请求、中断响应、中断处理和中断返回。
(1)中断请求:中断源需要进行中断服务时,由硬件产生一个中断信号INTR 发给CPU 且保持到CPU 响应。
(2)中断响应:CPU 在当前指令执行结束后采样查询INTR ,若中断请求信号有效且允许响应INTR 中断(IF=1),则向请求设备送回低电平有效的中断响应信号INTR , 自此系统自动进入中断响应周期,并由硬件自动完成内容入栈,清除TF 和IF标志、断点入栈,取中断服务程序的入口地址等一系列操作,继而转去执行中断服务程序。
(3)中断处理:执行中断的主体部分。
不同的中断请求源,其中断处理的内容是不同的。
需要根据中断请求源所要完成的功能,编写相应的中断服务程序存入内存。
等待中断响应后调用执行。
(4)中断返回:又中断服务程序中的中断返回指令IRET 完成。
执行该指令时,将压入对战的断点和标志位弹出,使CPU 转向被中断的现行程序中继续执行。
5、中断允许标志IF的作用是什么? 可以用什么指令对它置1或清0。
IF用来控制INTR和单步中断。
IF=1允许中断 IF=0不允许中断STI:IF=1CLI:IF=010、中断向量表用来存放什么内容?它占用多大的存储空间?存放在内存的哪个区域?可以用什么方法写入或者读取中断向量表的内容?中断向量表存放中断向量,即中断服务程序的段基址+偏移地址。
中断向量表占1KB 内存RAM区,地址范围:000H—3FFH。
微机原理与接口技术题目综合带答案
![微机原理与接口技术题目综合带答案](https://img.taocdn.com/s3/m/e23cf5fd3186bceb18e8bb20.png)
考试题型:1填空(25分)2选择(30分)3 判断(10分)4 简答(15分)5 芯片初始化程序题(20分)一填空(10分)1.2K×4位RAM构成64KB的存储系统,有20位地址线,全译码方式,需要_____个RAM芯片,需要_____位地址作为片外地址译码器的输入。
2.在一个串行传输系统中,每秒钟可传送10个数据帧,每个数据帧包含1个起始位,8个数据位和2个终止位。
则波特率为_____ 比特率为_____3.已知ADC0809的分辨率为8位,若其V R(+)接+5V,V R(-)接地,当输入电压模拟量为3.125V时,转换后输出的数字量为_____4.实现定时的三种方法是____定时、_____定时和____________定时。
5.已知内存单元00060H~00067H存放在10H、12H、20H、23H、30H、34H、40H、45H 中,则19H中断的中断服务程序人口地址是_____6.8255A工作于方式0时,不能工作于____ 传送方式。
7.已知段寄存器DS=3600H,偏移地址SI=1200H,则物理地址为_____8.用4K×8的RAM芯片组成16K×8的存储器,需要_______片芯片,在地址线中(设地址总线为16位),有______位参与片内寻址。
______位组合成片选信号。
9.某微机系统中内存首地址为3000H,末地址为63FFH,则其内存容量为______10.1MB存储空间最多可以分成_________个逻辑段。
最少可以分成_________个逻辑段11.8255A工作于方式0时,不能工作于____ 传送方式。
12.设BX=0328H,SI=023CH,执行LEA BX,[BX+SI+0F45H]后,BX=__________ 13.对I/O端口编址有___________和_____________两种方法。
14.中断类型码为14H的中断向量存放在内存中的4个字节单元中,其中的字节单元内容从低字节到高字节依次为10H、20H、30H、40H,则相应的中断服务程序入口地址是_________15.当多片8259A级联时,最多可级联______片,其中有_____片主片,最多可管理_____级中断源。
微机原理与接口技术作业答案
![微机原理与接口技术作业答案](https://img.taocdn.com/s3/m/9593239502d276a200292eb1.png)
第二章作业P592.解:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。
状态标志位分别是CF,PF,AF,ZF,SF,和OF;控制标志位包括DF,IF,TF。
CF:进位标志位。
算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。
PF:奇偶标志位。
反应计算结果中1的个数是偶数还是奇数。
若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.AF:辅助进位标志。
算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.ZF:零标志位。
若指令运算结果为0,则ZF=1;否则ZF=0。
SF:符号标志位。
它与运算结果最高位相同。
OF:溢出标志位。
当补码运算有溢出时,OF=1;否则OF=0。
DF:方向标志位。
用于串操作指令,指令字符串处理时的方向。
IF:中断允许标志位。
用来控制8086是否允许接收外部中断请求。
TF:单步标志位。
它是为调试程序而设定的陷阱控制位。
4.解:①由于8086微处理器的内部结构是16位的原因,在访问储存器时,Y无法直接提供储存器的20位物理地址,采用分段管理办法可形成超过16位的存储器物理地址,扩大对存储器的寻址范围(1MB,20位地址)。
②每个逻辑段的容量≤64k;③由于存储器是16位的,能储存的最大值为2的16次方=64KB8解:物理地址:PA=(CS)×1OH+(IP)=20350H9解:∵70A0H:DDF6H为第一个字,16个字是3个字节;∴首字单元的物理地址=70A00H+DDF6H=7E7F6H末地址=首地址+(字数-1)*2=首地址+(20H-2)∴末字单元的物理地址为7E814H。
14解:最大可寻址储存空间是4GB,虚拟储存空间是64TB;区别是:4GB的内存空间可以处理多个任务,而虚拟储存空间内可以自由编程,使得具有较小内存空间的系统运行大容量的程序。
微机原理与接口技术试题与答案
![微机原理与接口技术试题与答案](https://img.taocdn.com/s3/m/2fb52d39854769eae009581b6bd97f192279bfca.png)
微机原理与接口技术试题与答案微机原理与接口技术试题微型计算机原理与接口技术综合测试题一一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处)1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O 访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。
(1) A. M/ B. C. ALE D. N/(2) A. 高 B. 低 C. ECL D. CMOS2.n+1位有符号数x的补码表示范围为()。
A. -2n < x < 2nB. -2n ≤ x ≤ 2n -1C. -2n -1 ≤ x ≤ 2n-1D. -2n < x ≤ 2n3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。
A. AND AL, 0FHB. AND AL, 0FOHC. OR AL, 0FHD. OR AL 0FOH4.下列MOV指令中,不正确的指令是()。
A. MOV AX, BXB. MOV AX, [BX]C. MOV AX, CXD. MOV AX, [CX]5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。
A. 00017HB. 00068HC. 0005CHD. 0005EH6.条件转移指令JNE的条件是()。
A. CF=0B. CF=1C. ZF=0D. ZF=17. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。
⑴ A. 1个 B. 2个 C. 4个 D. 6个⑵ A. 数据 B . 地址 C. 状态 D. 其它8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是( 2 )。
⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定C. 不需要8286收发器D. 需要总线控制器8288⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定C. 需要总线控制器8288D. 适用于单一处理机系统9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。
微机原理与接口(含汇编语言)模拟试卷含答案解析
![微机原理与接口(含汇编语言)模拟试卷含答案解析](https://img.taocdn.com/s3/m/a60335f7b9f67c1cfad6195f312b3169a551ea56.png)
微机原理与接口(含汇编语言)模拟试卷(考试时间:75分钟)(总分:150分)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.8086微处理器的字长为()位。
A.1B.8C.16D.322.数字“3”的标准ASCII代码为“0110011”,它的带偶校验的ASCII代码为()。
A.00110011B.01100110C.01100111D.101100113.BP用作基地址寄存器时,隐含使用的段寄存器为()。
A.CSB.DSC.ESD.SS4.8086CPU在进行I/O端口写操作时,控制信号M/IO̅̅̅和DT/R̅是()。
A.M/IO̅̅̅=L、DT/R̅=LB.M/IO̅̅̅=L、DT/R̅=HC.M/IO̅̅̅=H、DT/R̅=LD.M/IO̅̅̅=H、DT/R̅=H5.芯片8288在8088CPU系统中用作()。
A.总线锁存器B.总线收发器C.总线控制器D.总线仲裁器6.在使用重复控制指令时,用作重复次数计数器的寄存器是()。
A.AXB.BXC.CXD.DX7.8086的存储器是分段的,定义一个段的命令是()。
A.MACRO和ENDMB.SEGMENT和ENDSC.PROC和ENDP和END8.DRAM芯片2164的存储容量为64K×1位,对2164芯片的刷新方法是()。
A.每次刷新1个存储单元B.每次刷新128个存储单元C.每次刷新256个存储单元D.每次刷新512个存储单元9.下列不属于8259A基本组成部分的是()。
A.优先权判别器PRB.标志寄存器FRC.8位中断请求寄存器IRRD.8位中断屏蔽寄存器IMR10.下列关于74LS373的说法,正确的是()。
A.74LS373是一种3-8地址译码器B.74LS373是一种8D锁存器C.74LS373主要用于数据缓冲D.74LS373主要用于地址缓冲11.下列不属于DMA数据传送方式的是()。
《微机原理与接口技术》习题.doc
![《微机原理与接口技术》习题.doc](https://img.taocdn.com/s3/m/246ae9b0f424ccbff121dd36a32d7375a417c6d8.png)
第1章思考与练习题1.1 微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?1.2 什么是微型计算机的系统总线?说明微处理器三大总线的作用。
1.3 计算机中常用的数制和码制有哪些?1.4 将下列十进制数分别转化为二进制数、八进制数、十六进制数和压缩BCD数。
(1)25.82 (2)412.15 (3)513.46 (4)69.1361.5 将下列二进制数分别转化为十进制数、八进制数和十六进制数。
(1)111001.101 (2)110010.1101 (3)1011.11011 (4)101101.01111.6 将下列十六进制数分别转化为二进制数、八进制数、十进制数和压缩BCD数。
(1)7B.21 (2)127.1C (3)6A1.41 (4)2DF3.41.7 写出下列十进制数的原码、反码、补码表示(采用8位二进制数)。
(1)96 (2)31 (3)-42 (4)-1151.8 已知补码求出其真值。
(1)92H (2)8DH (3)B2H (4)4C26H1.9 按照字符所对应的ASCII码表示,查表写出下列字符的ASCII码。
a 、K 、G、+、DEL、SP、CR 、$第2章思考与练习题2.1 8086CPU由哪两部分组成?它们的主要功能是什么?2.2 8086CPU数据总线和地址总线各是多少?最大的存储空间是多少?2.3 8086CPU中的指令队列起什么作用?其长度是多少字节?2.4 8086的标志寄存器有哪些标志位?它们的含义和作用是什么?2.5 数据在存储器中存放有何规定?什么是对准字?什么是非对准字?2.6 什么是逻辑地址?它由哪两部分组成?8086的物理地址是如何形成的?2.7 8086微机系统中存储器为什么要分段?各逻辑段之间的关系如何?2.8 I/O端口有哪两种编址方式?8086的最大I/O寻址空间是多少?2.9 8086的最大模式和最小模式的主要区别是什么?2.10 有一个由20个字组成的数据区,其起始地址为5300H:0320H。
《微机原理及接口技术》课后习题详细解答(期末复习)
![《微机原理及接口技术》课后习题详细解答(期末复习)](https://img.taocdn.com/s3/m/3d51362886c24028915f804d2b160b4e767f81b6.png)
《微机原理及接⼝技术》课后习题详细解答(期末复习)第1章微型计算机系统概述〔习题1.3〕微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?〔解答〕微机主要有存储器、I/O设备和I/O接⼝、CPU、系统总线、操作系统和应⽤软件组成,各部分功能如下:CPU:统⼀协调和控制系统中的各个部件系统总线:传送信息存储器:存放程序和数据I/O设备:实现微机的输⼊输出功能I/O接⼝:I/O设备与CPU的桥梁操作系统:管理系统所有的软硬件资源〔习题1.10〕简述计算机中“数”和“码”的区别,计算机中常⽤的数制和码制各有哪些?〔解答〕(1)数—⽤来直接表征量的⼤⼩,包括:定点数、浮点数。
(2)码—⽤来指代某个事物或事物的某种状态属性,包括:⼆进制、⼋进制、⼗进制,⼗六进制区别:使⽤场合不同,详见P16.〔习题1.12〕请写出与数据+37和-37对应的8位机器数原码、反码、补码和移码,并分别⽤⼆进制和⼗六进制表⽰出来。
〔解答〕原码反码补码+37 00100101/25H 00100101/25H 00100101/25H-37 10100101/A5H 11011010/DAH 11011011/DBH〔习题1.13〕请将上题中+37和-37的8位补码机器数分别扩充为16位和32位的形式,⽤⼗六进制表⽰出来。
〔解答〕+37 -3716位 32位 16位 32位00 25H 00 00 00 25H FF 5BH FF FF FF 5BH第2章微处理器指令系统〔习题2.1〕微处理器内部具有哪3个基本部分?8088分为哪两⼤功能部件?其各⾃的主要功能是什么?〔解答〕算术逻辑单元ALU、寄存器组和控制器;总线接⼝单元BIU:管理8088与系统总线的接⼝负责cpu对接⼝和外设进⾏访问执⾏单元EU:负责指令译码、执⾏和数据运算;8位CPU在指令译码前必须等待取指令操作的完成,8088中需要译码的指令已经取到了指令队列,不需要等待取指令。
微机原理第6章习题参考答案
![微机原理第6章习题参考答案](https://img.taocdn.com/s3/m/2fcce4b30975f46527d3e1bc.png)
第6章习题参考答案1.CPU与外部设备通信为什么要使用接口?答:CPU要与外部设备直接通信会存在以下两个方面的问题:首先是速度问题,CPU的运行速度要比外设的处理速度高得多,通常仅使用简单的一条输入/输出指令是无法完成CPU与外设之间的信息交换的;其次,外设的数据和控制线也不可能与CPU直接相连,如一台打印机不能将其数据线与CPU的管脚相连,键盘或者其他外设也是如此,同时外设的数据格式千差万别,也不可能直接与CPU 连接。
所以,要完成CPU与外部各通信设备的信息交换,就需要接口电路以解决以上问题。
2. I/O接口有什么用途?答:主要由以下几个方面的用途:a完成地址译码或设备选择,使CPU能与某一指定的外部设备通信。
b状态信息的应答,以协调数据传输之前的准备工作。
c进行中断管理,提供中断信号。
d进行数据格式转换,如正负逻辑转换、串行与并行数据转换。
e进行电平转换,如TTL电平与MOS电平间的转换。
f协调速度,如采用锁存、缓冲、驱动等。
h时序控制,提供实时时钟信号。
3.I/O端口有哪两种寻址方式?各有何优缺点?答:I/O端口的寻址方式有存储器映像I/O和I/O映像I/O两种寻址方式。
存储器映像I/O方式是将系统中存储单元和I/O端口的地址统一编址,这样一个I/O端口地址就是一个存储单元地址,在硬件上没有区别,对I/O端口的访问与存储器的访问相同。
其缺点是占用了储存器的地址空间,同时由于存储器地址和I/O端口在指令形式上没有区别,增加了程序设计的难度。
其优点是不需要专门为I/O端口设计电路,可与存储器地址访问硬件混合设计。
另一个优点是,由于I/O端口和存储器地址是相同的形式,就可以直接使用与存储器相同的指令,这将会丰富对I/O端口的操作指令。
与存储器映像I/O相反,I/O映像I/O就必须为I/O端口设计专门的硬件电路,其端口地址也是独立于存储器,也有专门的输入/输出指令等其优缺点与存储器映像I/O正好相反。
微机原理及接口第六章作业答案
![微机原理及接口第六章作业答案](https://img.taocdn.com/s3/m/3eb5f7630b1c59eef8c7b49d.png)
“微机系统原理与接口技术”第六章习题解答(部分)3.统一编址和分离编址,统一编址:存储器和I/O地址空间统一分配,用相同的指令访问存储器和I/O中的内容,访问存储器和I/O时,用相同的控制信号和不同的地址信号;分离编址:存储器和I/O地址空间单独分配,用不同的指令访问存储器和I/O,访问存储器和I/O时,地址可以相同,但有不同的控制信号。
4.某微机系统有8个I/O接口芯片,每个接口芯片占用8个端口地址。
若起始地址为9000H,8个接口芯片的地址连续分布,用74LS138作译码器,请画出端口译码电路图,并说明每个芯片的端口地址范围。
答:分析下表所列的地址分配情况,可知系统地址信号的译码情况为(图略):●字选:A2~A0直接与接口芯片上的地址信号线连接以寻址每个接口芯片内部的8个端口;●片选:⏹A5~A3接3-8译码器输入端,译码器输出端分别作为8个接口芯片的片选信号;6(略)7、中断、DMA8. 假设一台打印机的数据输出I/O口地址为378H,状态口地址为379H,状态字节的D0位为状态位(D0=0,表示打印数据缓冲区空,CPU可以向它输出新数据;D0=1,表示数据区满)。
试编写一段程序,用查询方式从内存中以BUF为首址的单元处开始,将连续1KB的数据传送给打印机,每次送1字节。
答:一种可能的程序段如下实现:……LEA BX, BUF ; BX指向第1个待打印的数据MOV CX, 1024 ; 一共要送1K个字节数据NEXT: MOV DX, 379HIN AL, DX ; 读打印机状态端口TEST AL, 01HJNZ NEXT ; 若D0位不为0,则继续查询等待MOV DX, 378HMOV AL, [BX]OUT DX,AL ; 将BX所指的数据发送到打印机INC BX ; BX指向下一个待打印的字节LOOP NEXT ; CX不为0,继续送下一个字节……9. 请用无条件传输方式编写一个完整的输入/输出程序,将首地址为40000H的内存单元中的1K个字数据从端口Output处输出,然后从端口Input处输入2KB数据到首地址为50000H的内存单元中(端口地址的实际值可自行给定)。
微机原理与接口技术习题及参考答案精选全文完整版
![微机原理与接口技术习题及参考答案精选全文完整版](https://img.taocdn.com/s3/m/21083b7dae45b307e87101f69e3143323968f5ed.png)
可编辑修改精选全文完整版《微机原理与接口技术》复习题一、填空题1、微型计算机由、、和构成。
2、在8086CPU中,寄存器指向下一条要执行的指令。
3、微型计算机的总线根据功能可分为、和。
4、主存储器和CPU之间增加高速缓冲存储器的目的是。
5、在计算机系统中定时信号一般可以用和两种方法来获得。
6、中断类型码为31H的中断向量存放在从开始的4个存储单元。
7、系统工作于实模式,设BX=4000H,DI=0100H,DS=3100H,在指令MOV AX,[BX+DI]中,源操作数的寻址方式为;物理地址为。
8、在异步传输中,设每个字符对应1个起始位、7个数据位、1个奇偶校验位、1个停止位,如果波特率为1200bps,则每秒钟传输的最大字符数是个。
9、CPU和输入/输出设备之间的信号分为、和三类。
10、CPU的可屏蔽中断受标志的影响,如果允许CPU接受可屏蔽中断请求,则该标志取值为。
11、是微型计算机的核心。
12、在8086CPU中,一个最基本的总线周期有个时钟周期组成。
M/为高电平,表示。
13、在最小模式下,如果8086CPU的引脚IO14、8086CPU有16根数据线和20根地址线,所以可寻址的地址空间最大为字节。
15、存储器扩展有两种方法,分别是扩展和扩展。
16、8086复位时,代码寄存器CS和指令指针寄存器IP分别初始化为和。
17、系统工作于实模式,设BX=4000H,SI=0100H,DS=3100H,在指令MOV DX,[BX+SI]中,源操作数的寻址方式为;物理地址为。
18、9片8259中断控制器组成两级级联,则最多能提供个中断。
19、8086CPU的编程结构包括和。
20、CPU和外设之间的数据传送方式包括、和。
21、当CS=,WR=,RD=,A0=时,CPU设置8259的ICW1。
二、选择题1、8086CPU的指令队列为 ( ) 个字节。
A 2B 4C 6D 82、标志寄存器的标志位ZF=1表示运算结果()。
微机原理与接口技术课后习题答案
![微机原理与接口技术课后习题答案](https://img.taocdn.com/s3/m/86972d19c281e53a5802ffce.png)
2-2 段寄存器 CS = 1200H,指令指针寄存器 IP = FF00H,此时指令的物理地址为多少? 指向这一物理地址的 CS 值和 IP 值是惟一的吗?
【解】 指令的物理地址 = 12000H + FF00H = 2lF00H
物理地址是 CPU 存取存储器所用的地址。逻辑地址是段和偏移形式的地址,即汇编语言程序中使用的存储器地址。物理地址可以对应于不同的逻辑地址,指向这一物理地址的 CS 值和 IP 值不是惟一的
端口A可工作于方式0,方式1,方式2;端口B可工作于方式0,方式1;端口C只可工作于方式0。
8-19 串行通讯与并行通讯的主要区别是什么?各有什么特点?
串行通信是在单条1位宽的导线上将二进制数的各位一位一位地按顺序分时传送。用于通信的线路少,因而在远距离通信时可以极大地降低成本,串行通信适合于远距离数据传送,也常用于速度要求不高的近距离数据传送。
第四章
4.4 4.7
第五章
5.4(什么是存储器访问的局部性?研究和讨论这一现象有什么意义?) 5.6(存储器体系为什么采用分级结构?主要用于解决存储器中存在的哪些问题?)没有整理答案啊......!
第六章
6.1(cpu与外设之间数据传输控制方式有哪几种?何为程序控制?他有哪两种基本方式?) 6.4(什么是接口?什么是端口?在8086|8088微机系统中,cpu如何实现端口寻址的?)
(5)MOV CX,LENGTH TABLEB ;(CX)=1]
7-1 什么是中断?简述一个中断的全过程。
解:所谓中断,是指在CPU执行程序的过程中,由于某些紧急事件发生,向CPU 提出申请,CPU停止当前正在执行的程序,转去执行处理紧急事件的程序,待处理完紧急事件后,再返回接着执行刚才被停止执行的原程序。
微机原理及接口技术课后习题及参考答案
![微机原理及接口技术课后习题及参考答案](https://img.taocdn.com/s3/m/beaa2682dd3383c4bb4cd2f0.png)
第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。
① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。
① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。
1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1]补= 11111111③ [-0]补=00000000 ④[-128]补=100000001.6 ① [+355]补= 0000000101100011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理、汇编与接口技术习题答案 第6章习题答案
![微机原理、汇编与接口技术习题答案 第6章习题答案](https://img.taocdn.com/s3/m/6099631fa8114431b90dd89e.png)
微机原理、汇编与接口技术第六章习题答案6.16.26.36.4stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axCALL I6116 ;调用写入6116子程序MOV AH, 2 ;回车换行MOV DL, 0DHINT 21HMOV DL, 0AHINT 21HCALL O6116 ;调用读出6116子程序retstart endp;写入6116:将键入字符的ASCII码写入6116I6116 PROCMOV BL, 0 ;定义页地址码(16个地址为一页)MOV CX, 128 ;定义页数LOP1: PUSH CXMOV DX, 380H ;将页地址从74LS273输出MOV AL, BLOUT DX, ALMOV CX, 16 ;定义页内单元数MOV DX, 390H ;将键入数写入16个单元LOP2: MOV AH, 1INT 21HOUT DX, ALINC DXLOOP LOP2INC BL ;换页POP CXLOOP LOP1 ;页数未满换页重新写入16个单元RETI6116 ENDP;读出6116:将写入6116的数据读出送显示O6116 PROCMOV BL, 0MOV CX, 128LOP3 PUSH CXMOV DX, 390HMOV AL, BLOUT DX, ALMOV CX, 16MOV DX 380H ;将16个单元的数据送显示LOP4: IN AL, DXPUSH DXMOV DL, AL ;将6116中读出的ASCII码送DLMOV AH, 2 ;2号功能调用显示DL中的字符INT 21HPOP DXINC DXLOOP LOP4INC BLPOP CXLOOP LOP3RETO6116 ENDPcode endsend start6.5stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV AH, 2 ;用2号功能调用输出字符,调用号送AHMOV CX, 100 ;字符个数送计数器MOV DX, 380HWAIT0: IN AL, DX ;从244读入TEST AL, 80H ;测试状态位是否为0JNZ WAIT0 ;不为0,等待继续测试状态WAIT1: IN AL, DX ;状态为0,继续读入TEST AL, 80H ;测试状态是否为1JZ WAIT1 ;不为1,等待继续测试状态IN AL, DX ;状态为1,读入数据即ASCII码AND AL, 7FH ;去掉状态位MOV DL, AL ;ASCII码送DL,输出字符INT 21HLOOP WAIT0-3 ;跳到给DX赋值380H的MOV指令,该指令为3字节retstart endpcode endsend start6.6stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentOBUF DB 4 DUP(0)data endscode segmentbegin proc farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axmov ax,datamov ds,axMOV BX,0FFSET OBUF+3 ;建立指针MOV BYTE PTR [BX],'$';存字符串结束符$MOV DX,380H ;读入二进制数IN AL,DXMOV CH,10AG: MOV AH,0 ;无符号数扩展为16位DIV CHADD AH,30H ;转换为ASCII码DEC BXMOV [BX],AH ;存入输出数据区中OR AL,ALJNZ AGMOV DX,BXMOV AH,9INT 21Hretbegin endpcode endsend begin6.7用除2取余法将BCD数转换为二进制数的程序如下:stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentIBUF DB 4, 0, 4 dup(0)data endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axmov ax,datamov ds,axMOV DX,OFFSET IBUF ;键入十进制数MOV AH,10INT 21HMOV DX,0 ;将键入数以压缩BCD数形式放AX中MOV CH,IBUF+1 ;将键入数的个数送计数器CH中MOV CL,4MOV BX,2AGAIN1: AND IBUF[BX],0FH ;将数据区中的ASCII码转换为BCD数SHL AX,CL ;将BCD数左移1位OR DL,IBUF[BX] ;将数据区中的1位BCD放入DX的最低4位INC BXDEC CHJNZ AGAIN1MOV CX,8 ;用除2取余法将DX中的压缩BCD数转换为二进制数AGAIN2: SHR DX,1RCR AL,1MOV AH,DLAND AH,88HSHR AH,1SHR AH,1SUB DL,AHSHR AH,1SUB DL,AHLOOP AGAIN2MOV DX,380H ;二进制数从74LS273输出OUT DX,ALretstart endpcode endsend start用(百位⨯10+十位)⨯10+个位的方法将BCD数转换为二进制数的程序段如下:MOV CL,IBUF+1 ;将键入数的个数送计数器CX中MOV CH,0MOV SI,2MOV AL, 0 ;开始将十进制数转换为二进制数AGAIN: MOV AH, 10 ;((0×10+a2)×10+…)×10+a0MUL AHAND BYTE PTR [SI], 0FH ;将十进制数的ASCII码转换为BCD数ADD AL,[SI]INC SILOOP AGAIN6.8stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentSEGPT DB 3FH,6,5BH,4FH,66H,7,7FH,6FH,6FH,76H,77H,7CH,39H,5EH,79H,71H data endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axmov ax,datamov ds,axMOV DX,380HIN AL,DXSUB AL,30HCMP AL,0AHJB NS7SUB AL,7MOV BL,ALMOV BH,0MOV AL,SEGPT[BX]OUT DX,ALretstart endpcode endsend start6.9stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV DX, 380HLOP1: IN AL, DX ;读入设备1和设置2的状态AND AL, 6 ;测试2台设备的状态,同时使AL的D0位为0JZ LOP2 ;都正常,即AL的D1位和D2位都为0,AL为0MOV AL, 1 ;有一台异常AL不为0,AL置1,即AL的D0位为1 LOP2: OUT DX, ALMOV AH, 11 ;11号功能调用,键入任一键退出程序INT 21HCMP AL, 0 ;无键入AL=0,有键入AL=FFHJE LOP1 ;无键入,去LOP1继续监视2台设备retstart endpcode endsend start6.10stack segment stack 'stack'dw 32 dup(0)stack endscode segmentbegin proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV DX, 380HIN AL, DX ;读入原码TEST AL, 80H ;判原码数的符号JZ NONEG ;正数的原码和补码相同,不用求补AND AL, 7FH ;负数,求其绝对值NEG AL ;对绝对值求补得该负数的补码NONEG: OUT DX, ALretbegin endpcode endsend begin6.11在显示器上显示:行*列的程序如下:stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV DX, 380H ;检测全键盘MOV AL, 0 ;键盘的8行全为低电平OUT DX, ALLOP1: IN AL, DX ;读入列值CMP AL, 0FFH ;列值是FFH吗?JE LOP1 ;是,全键盘无键闭合,继续检测MOV AH, 7FH ;键盘的行检测的输出值,被检测行为0,其余行为1 LOP2: MOV AL, AH ;检测键盘的一行OUT DX, AL ;输出行检测值IN AL, DX ;读入列值,列值不为FFH有键闭合CMP AL, 0FFH ;被检测行有键闭合吗?JNE LOP3 ;有键闭合,结束逐行扫描去LOP3ROR AH, 1 ;该行无键闭合,改变行检测的输出值检测另一行JMP LOP2LOP3: MOV DL, 0 ;求行值0~7,即AH中的那个0的位置AS1: SHR AH ,1 ;0在最低位DL=0,……,0在最高位DL=7JNC AS2JMP AS1AS2: ADD DL, 30H ;将行值转换为ASCII码MOV AH, 2 ;输出行值INT 21HMOV DL, '*';输出乘号:*INT 21HMOV DL, 0 ;求列值0~7,即AL中的那个0的位置AS3: SHR AL, 1JNC AS4INC DLJMP AS3AS4: ADD DL, 30H ;将列值转换为ASCII码INT 21H ;输出列值retstart endpcode endsend start6.12stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentSEGPT DB 77H,7CH,39H,5EH,79H,71H,6FH,76Hdata endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax, axMOV DX, 380HLOP: IN AL, DXMOV BX,0LOP1: SHR AL,1JNC LOP2INC BLJMP LOP1LOP2: MOV AL,SEGPT[BX]OUT DX, ALMOV AH,11INT 21HCMP AL,0JE LOPretstart endpcode endsend start6.13stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV DX 260HIN AL, DXMOV AH, ALINC DXCMP AL, AHJNC NXCHGXCHG AL, AHNXCHG: SUB AL, AHDASINC DXINC DXOUT DX, ALretstart endpcode endsend start6.14stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax, axpush axMOV BL, 240MOV DX, 260HLOP: ADD BL, 16MOV AL, BLOUT DX, ALLOOP $ ;延时MOV AH, 11INT 21HCMP AL, 0JE LOPretstart endpend start6.15输出周期性的方波、锯齿波、三角波、正弦波的程序如下:stack segment stack 'stack'dw 32 dup (0)stack endsdata segmentOBF DB 80H, …, 0FFH, …, 80H, …, 00H, …;正弦波的数据(一周期)N EQU $ -OBFdata endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax, axpush axmov ax, datamov ds, axMOV DX, 380HAGAIN: MOV AH, 1 ;键入一字符,应为大写!INT 21HCMP AL, 'F'JE FBCMP AL, 'J'JE JCBCMP AL, 'S'JE SJBCMP AL, 'Z'JE ZXB ;按下F、J、B和Zret ;4个键以外的键退出该程序FB: MOV AL, 0 ;方波输出OUT DX, ALCALL DELAY1CALL DELAY1MOV AH, 11INT 21HCMP AL, 0JE FBJMP AGAINJCB: INC AL ;锯齿波输出OUT DX, ALCALL DELAY2MOV BL, AL ;保护ALMOV AH, 11CMP AL, 0MOV AL, BL ;恢复ALJE JCBJMP AGAINSJB: INC AL ;三角波输出OUT DX, ALCALL DELAY3CMP AL, -1JNE SJBSJB1: DEC ALOUT DX, ALCALL DELAY3CMP AL, 0JNE SJB1MOV AH, 11INT 21HCMP AL, 0JE SJBJMP AGAINZXB: MOV BX, OFFSET OFB ;正弦波输出MOV CX, NZXB1: MOV AL, [BX]OUT DX, ALCALL DELAY4INC BXLOOP ZXB1MOV AH, 11INT 21HCMP AL, 0JE ZXBJMP AGAINstart endpDELAY1: PROCDL11: MOV SI, 0DL12: DEC SIJNZ DL12LOOP DL11POP CXRETDELAY1 ENDPDELAY2 ;延时程序结构一样DELAY3 ;仅CX取值不同;故略DELAY4code endsend start6.1stack segment stack 'stack'dw 32 dup(0)stack endscode segmentstart proc farassume ss: stack, cs: codepush dssub ax,axpush axmov ax,datamov ds,axMOV CL,4LOP1: MOV AX,0LOP2: PUSH AXMOV DX, 381HROR AX,CL ;高8位数据移入ALOUT DX, ALMOV DX, 380HMOV AL,AH ;低4位数据移入AL的低4位SHR AL,CLOUT DX, AL ;再写一遍MOV AH,11 ;检查键盘有无键入INT 21HCMP AL,0JNE BAK ;键盘有键入,退出POP AXINC AXCMP AX,1000HJNE LOP2JMP LOP1BAK: POP AXretstart endpcode endsend start6.17stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUF DB 16 DUP(0)data endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax,axpush axmov ax,datamov ds,axMOV BX,0MOV DX,260HLOP: OUT DX,ALPUSH DXMOV DX,270HWT: MOV AL,DXSHR AL,1JNC WTPOP DXIN AL,DXMOV BUF[BX],ALINC BXINC DXLOOP LOPretstart endpcode endsend start6.18stack segment stack 'stack'dw 32 dup(0)stack endsdata segmentBUFF DW 100 DUP(0)data endscode segmentstart proc farassume ss: stack, cs: code, ds: datapush dssub ax,axmov ax,datamov ds,axMOV BX,0MOV CX,100LOP: MOV DX, 380H ;两片74LS244都不选中OUT DX, AL ;产生SC信号启动AD转换INC DXWAIT: IN AL, DX ;读取转换结束信号TEST AL, 4 ;测试CC信号JNZ WAIT ;CC信号为1,表明AD转换未结束,等待IN AL, DX ;CC信号为0,转换结束,读取高4位数据AND AL, 0FH ;屏蔽AL的高4位,保留AL的低4位即高4位数据MOV AH, ALINC DXIN AL, DX ;读取低8位,转换结果在AX中MOV BUFF[BX],AXINC BXINC BXLOOP LOPretstart endpcode endsend start。
微机原理与接口技术(楼顺天第二版)第六章习题解答
![微机原理与接口技术(楼顺天第二版)第六章习题解答](https://img.taocdn.com/s3/m/215284531a37f111f0855b2d.png)
微机原理与接口技术(楼顺天第二版)习题解答第6章总线及其形成6.1答:内存储器按其工作方式的不同,可以分为随机存取存储器(简称随机存储器或RAM)和只读存储器(简称ROM)。
随机存储器。
随机存储器允许随机的按任意指定地址向内存单元存入或从该单元取出信息,对任一地址的存取时间都是相同的。
由于信息是通过电信号写入存储器的,所以断电时RAM中的信息就会消失。
计算机工作时使用的程序和数据等都存储在RAM中,如果对程序或数据进行了修改之后,应该将它存储到外存储器中,否则关机后信息将丢失。
通常所说的内存大小就是指RAM的大小,一般以KB或MB为单位。
只读存储器。
只读存储器是只能读出而不能随意写入信息的存储器。
ROM中的内容是由厂家制造时用特殊方法写入的,或者要利用特殊的写入器才能写入。
当计算机断电后,ROM 中的信息不会丢失。
当计算机重新被加电后,其中的信息保持原来的不变,仍可被读出。
ROM 适宜存放计算机启动的引导程序、启动后的检测程序、系统最基本的输入输出程序、时钟控制程序以及计算机的系统配置和磁盘参数等重要信息。
6.2 答:存储器的主要技术指标有:存储容量、读写速度、非易失性、可靠性等。
6.3答:在选择存储器芯片时应注意是否与微处理器的总线周期时序匹配。
作为一种保守的估计,在存储器芯片的手册中可以查得最小读出周期t cyc(R)(Read Cycle Time)和最小写周期t cyc(W)(Write Cycle Time)。
如果根据计算,微处理器对存储器的读写周期都比存储器芯片手册中的最小读写周期大,那么我们认为该存储器芯片是符合要求的,否则要另选速度更高的存储器芯片。
8086CPU对存储器的读写周期需要4个时钟周期(一个基本的总线周期)。
因此,作为一种保守的工程估计,存储器芯片的最小读出时间应满足如下表达式:t cyc(R)<4T-t da-t D-T其中:T为8086微处理器的时钟周期;t da为8086微处理器的地址总线延时时间;t D为各种因素引起的总线附加延时。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中断技术和中断控制器8259A练习题及答案一、填空题1.8088微处理器最多能处理256种不同类型的中断。
2.8088系统的中断向量表位于从内存地址 00000H 开始,占1K字节存储单元。
3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:IP)进堆栈保存。
4.8259A可管理8级优先级中断源,通过级联,最多可管理 64 级优先级中断源。
5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。
二、选择题6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。
CA.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断7.CPU在响应中断时,保存断点是指______。
DA.将用户设置的程序指令地址入栈保存B.将中断服务程序的入口地址入栈保存C.将程序状态字PSW入栈保存D.将返回地址即程序计数器PC(CS:IP)的内容入栈保存8.8088的中断向量表用于存放______。
BA.中断类型号B.中断服务程序的入口地址C.中断服务程序的返回地址D.断点地址三、判断题9.8086的可屏蔽中断的优先级高于不可屏蔽中断。
[ ] ×10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。
[ ]×11.在8088系统中,所谓中断向量就是中断服务程序入口地址。
[ ] √四、简答题12.CPU响应INTR中断的条件是什么?答:(1)INTR信号为有效电平(2)当前指令执行完毕(3)CPU开中断(IF=1)(4)没有更高级的请求(RESET , HOLD ,NMI)13.一般CPU响应中断时自动做哪些工作? 8088CPU呢?答:一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。
8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU.14.8088CPU在执行中断返回指令IRET时,执行什么操作?答:(1)弹出断点送CS:IP(2)弹出PSW送标志寄存器15.中断控制器8259A中下列寄存器的作用是什么?(1) IRR (中断请求寄存器) :保存中断源的中断请求(2) IMR (中断屏蔽寄存器) :屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许(3) ISR (中断服务寄存器): 记录CPU正在为哪些中断源服务(4) IVR (中断向量寄存器): 保存中断向量号16、初使化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?如果不设置这种命令会发生什么现象?答案:当中断服务程序将结束时,必须发0CW2=20H为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。
17、中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?答案:RET应该可以使中断服务程序返回主程序,但因为RET是子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态字PSW得以恢复,所以不能使断点完全恢复,对原程序的继续执行造成不良影响.18、在哪些情况下须用CLI指令关中断呢?在哪些情况下须用STI指令开中断?答案:在程序初使化阶段,连续传送数据不希望被中断打断,用查询方式等情况下须用CLI关中断.在程序初始化结束之后,退出中断服务程序前,中断过程中须响应更高级中断等情况下须用STI开中断.19、8259A的初始化命令字和操作命令字有什么差别?它们分别对应于编程结构中哪些内部寄存器?答案:初始化命令字通常在系统初始化阶段设置,从ICW1开始,按照固定次序的设置,一经设置完成,则在以后的操作中基本保持不变,操作命令字是在程序执行阶段向8259A发出的命令字,实现以8259A的状态,中断方式和过程的控制.操作命令字可以一个程序中多次设置,从而改变中断的方式.初始化命令字有4个,分别为ICW1,ICW2,ICW3,ICW4,操作命令字有#个,分别为OCW1,OCW2,OCW3.20、8259A的优先级自动循环方式和优先级特殊循环方式有什么差别?答案:优先级自动循环方式规定刚被服务过的中断其优先级为最高,相邻序号的中断级为最高优先级,依次循环.而优先级特殊循环方式是指定某个中断其优先级为最低,相邻高序号的中断其优先级则为最高.21、8259A的中断屏蔽寄存器IMR和8086/8088的中断允许标志IF有什么差别?在中断响应过程中,它们怎样配合起来工作?答案:IMR的8位对应8个中断级,其中置为1的位所对应的中断级的输入线IR处于被屏蔽方式,被屏蔽的中断级请求不能使8259A的INT输出端产生有效的请求信号.所以即使当中断允许IF=1时也无法响应.IF是CPU的中断允许标志,当IF=0时所有可屏蔽中断被禁止.在中断响应过程中,通过设置IF,IMR可灵活控制中断的优先次序.22、如果利用中断方式传送数据,则娄据是如何传输的?中断机构起什么作用?答案:利用中断方式传送数据,一般是首先向CPU发出中断请求,CPU响应中断后在中断处理程序中进行数据传输,传输完毕返回.中断机构起控制作用,实时性较强.23、在8086/8088的中断系统中,响应中断过程是如何进入中断服务程务程序的?答案:中断源提供中断类型码,从中断向量表中相应位置取出中断服务程序首址置入IP和CS中,程序转至中断服务程序.24、8259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H,38H,36H有什么差别?答案:因ICW2设置了中断类型码的高5位,所以中断类型码基值必须是能被8整除的值.若ICW2设置为30H,则8级中断的类型码依次为30H~37H.若设置为38H,则8级中断的类型码依次为38H~3FH.若设置为36H<中断类型码为30H~37H,因其高5位仍为00110B.25、8259A通过ICW4可以给出哪些重要信息?在什么情况下不需要用ICW3?答案:ICW4中给出的重要信息是:特列全嵌套方式/正常全嵌套方式,非缓冲方式/缓冲方式,从片/主片,中断自动结束/中断正常结束,8086/8088方式还是8080/8085方式.当ICW1中的IC4=0时,表示不设置ICW4.当ICW1中的SNGL=0时,表示为级联方式,需要设置ICW3.26、8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之处?特殊屏蔽方式一般用在什么场合?答案:不同之处在于:当普通屏蔽方式中断服务程序正在执行时,同级或较低级和被屏蔽的中断请求不被响应,只有当前中断结束后方可响应同级或低级中断,特殊屏蔽方式除用OCW1屏蔽方式,屏蔽掉的和正在服务的中断级外,其他任何级的中断请求都将可能中断正在服务的中断(CPU处于开中断状态).相当于赋于OCW1中未屏蔽的中断级有更高的优先权.用这种方法可在程序的不同阶段任意改变中断级的优先次序.27、8259A可编程中断控制器的主要功能有哪些?答案:主要功能有四个:(1)单片8259A可管理8级优先权中断源,通过级联,最多可管理64级优先权中断源.(2)对任何一级中断源都可单独进行屏蔽,使该中断请求暂时被挂起,直到取消屏蔽时.(3)能向CPU提供中断类型码.(4)具有多种中断优先级管理方式,这些管理方式可能过程序动态地进行变化.28、外设向CPU申请中断,但CPU不给以响应,其原因有哪些?答案:其原因有四个:(1)CPU处于关中断状态,IF=0(2)该中断请求已被屏蔽;(3)该中断请求的时间太短,未能保持到指令周期结束;(4)CPU已释放总线(即已响应了DMA请求),而未收回总线控制权.29、写出8086CPU各内部中断名称及产生的条件.答案:(1)指令中断INT n.n由用户定义.(2)断点中断INT 3.断点由用户设置.(3)单步中断.TF=1.(4)溢出中断INTO.当OF=1时,执行一条INT4指令.(5)除法出错中断.执行DIV或IDIV指令后,或商大于表示范围则执行一条INT0指令.五、应用题30、下面对一个主从式8259A系统进行初始化的程序段.请对以下程序段详细注释,并具本说明各初始化命令字的含义. 主片初始程序:M82590 EQU 40HM82591 EQU 41H…MOV AL,11HMOV DX,M82590OUT DX,AL ;(1)MOV AL,08HINC DXOUT DX,AL ;(2)MOV AL,04HOUT DX,AL ;(3)MOV AL,01HOUT DX,AL ;(4)从片初始化程序:S82590 EQU 90HS82591 EQU 91H…MOV DX,S82590MOV AL,11HOUT DX,AL ;(5)MOV AL,70HINC DXOUT DX,AL ;(6)MOV AL,02HOUT DX,AL ;(7)MOV AL,01HOUT DX,AL ;(8)答案:(1)设ICW1,中断请求信号为上升沿,级联方式,须设ICW4(2)设ICW2,中断类型码基值为08H(3)设ICW3,IR2与从片的INT相连(4)设ICW4,正常的完全嵌套,非缓冲方式,正常中断结束,8086/8088方式(5)同主片ICW1(6)设ICW2,中断类型码基值为70H(7)设ICW3,从片INT与主片的IR2相连(8)同主片ICW431、IR4为正在运行的中断,希望在特殊的程序段上允许较低的IR7响应中断.试编写程序片段. 答案:根据题意程序片段为IR4的程序CLI ;关中断,以便设置命令MOV AL,68H ;设置特殊屏蔽方式( OCW3)OUT 20H,ALIN AL,21H ;读IMR状态OR AL 10HOUT 21H,AL ;屏蔽IR4STI ;开中断,允许响应其他中断请求信号... ;继续处理IR4,如果IR7有请求,可以响应,处理完后要回到IR4处...CLI ;关中断,以便设置命令IN AL,21H ;读屏蔽字AND AL,0EFH ;开放IR4OUT 20H,AL ;恢复原来的屏蔽字MOV AL,48H ;复位特殊屏蔽方式(OCW3)OUT 20H,ALSTI ;CPU开中断... ;继续对IR4进行中断处理MOV AL,20H ;发中断结束命令(OCW2)OUT 20H,ALIRET ;返回主程序32、若8086系统中采用级联方式,主8259A的中断类型码从30H开始,端口地址为20H,21H.从8259A的INT接主片的IR7,从片的中断类型码从40H开始,端口地址为22H,23H.均不要ICW4.试对其进行初始化编程答案:主:M82590 EQU 20H M82591 EQU 21H…MOV AL,00010000B MOV DX,M82590 OUT DX,ALMOV AL,30HINC DXOUT DX,ALMOV AL,80HOUT DX,AL 从S82590 EQU 22H S82591 EQU 23H…MOV AL,00010000B MOV DX,S82590 OUT DX,ALMOV AL,40HINC DXOUT DX,ALMOV AL,07HOUT DX,AL33、单片8259A与PC机的连接见图1。