mov cx,80
mov bx,buffer
lp: mov ah,1
int 21h
mov [bx],al
inc bx
loop lp
mov ah,4ch
int 21h
code ends
end start
4. 什么叫中断,采用中断技术有哪些好处?
解】中断是外设随机地(指主程序运行到任何一条指令时)或程序预先安排产生中断请求信号,暂停cpu正在运行的程序,转入执行称为中断服务的子程序,中断服务完毕后,返回到主程序被中断处继续执行的过程。
cpu与外设采用中断技术交换数据,可以克服无条件传递和查询传送的缺点,即cpu和外设只能串行工作。这样可以提高系统的工作效率,充分发挥cpu的高速运算的能力。
5. 什么叫中断系统,它具备哪些功能?
解】计算机系统中完成中断处理过程的软硬件称为中断系统。
中断系统应具有以下功能:
1) 能实现中断响应、中断服务和中断返回。
当有中断源发出中断请求时,cpu能决定是否响应此中断,若接受这个中断请求,cpu能在保护断点(现行cs:ip值)后,转去执行相应的中断服务程序,中断处理完成后能恢复断点,继续执行程序。
2) 能实现中断优先级排队
当两个或多个中断源同时提出中断请求时,cpu要能根据各中断请求的轻重缓急程度,分别处理,即给每个中断源一个优先级别,保证首先处理优先级高的中断申请。
3) 能实现中断嵌套
若中断处理过程中,又有新的优先级较高的中断请求,且当中断允许时,cpu应能暂停正在执行的中断服务程序,转去响应与处理优先级较高的中断申请,待处理结束后,再返回原先较低的中断处理过程。
6. cpu在什么情况下才响应中断,中断处理过程一般包括哪些步骤?
解】cpu每执行完一条指令后,当查询到有中断请求且此时cpu允许中断(即中断允许标志位if=1,开中断),cpu才能响应中断。
cpu中断处理的具体过程一般包括以下步骤:中断请求、中断判优、中断响应、中断处理及中断返回。
7. 何谓非屏蔽中断和可屏蔽中断?
解】何谓非屏蔽中断和可屏蔽中断都是硬件中断(也称外部中断)。非屏蔽中断通过cpu的nmi端引入,它不受内部中断允许标志位if的屏蔽,一般在一个系统中只允许有一个非屏蔽中断。可屏蔽中断是通过cpu的intr引入 ,它受内部中断允许标志if的控制。
只有在if=1时,cpu才能响应中断源的请求。当if=0时,中断请求被屏蔽。通常在一个系统中,通过中断控制器(8259a)的配合,可屏蔽中断可以有一个或多个。
8. cpu如何识别中断源?
解】通过读取8259中断服务寄存器isr中的内容识别中断源。isr寄存所有正在被服务的中断级,优先权电路对保存在irr中的各个中断请求,经过判断确定最高的优先权,并在中断响应周期把它选通送至中断服务寄存器isr。
9. 什么叫中断优先权,有哪些解决中断优先权的办法?
解】由于中断请求是随机的,在某一瞬间有可能出现两个或两个以上中断源同时提出请求的情况。这时必须根据中断源的轻重缓急,给每个中断源确定一个中断级别,这个级别称为中断优先权。在系统中如果有多个中断源,就要考虑其优先权的问题。
通常cpu只有一条中断请求线,当有多个中断源同时请求中断服务时,就要求cpu能识别出哪些中断源有中断请求,同时辨别和比较它们的优先权,先响应中断源中优先权级别最高的中断请求。另外,当cpu正在处理中断时,也要能响应更高级的中断申请,并屏蔽同级或较低的中断请求。
确定中断的中断优先权一般可以采用软件和硬件两种方法。
10. 简述8086/8088cpu的中断结构及中断处理过程。
解】8086/8088cpu可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。cpu响应中断后,把正在执行程序的当前地址(cs∶ip)压入堆栈保存,将中断服务程序入口地址送入cs∶ip,由此开始执行中断服务程序。在8086系统中,允许引入256种类型中断源(类型码为0~255),相应有256个中断服务程序首址。
存放中断地址的一段内存空间称中断向量表。断类型码与中断向量所在位置(中断向量地址指针)之间的对应关系为:中断向量地址指针=4*中断类型码
内部中断的处理过程:
1)cpu取得中断类型码,将类型码乘4作为向量表指针。(2)把cpu 标志寄存器入栈,保护各个标志,此操作类似于pushf指令。(3)清除if和tf标志,屏蔽新的intr中断和单步中断。
(4)保存断点,即把断点处ip和cs压栈,先压cs值后压ip值。(5)从中断向量表中取中断服务程序入口地址分别送入ip和cs中。(6)按新的地址执行中断服务程序。
cpu执行中断服务程序的最后一条中断返回指令iret后,返回到断点处继续执行原程序。
11. 8086/8088的中断系统分哪几类,其优先顺序如何?
解】8086/8088cpu可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。硬件中断是由外部硬件产生的,它又可分为非屏蔽中断和可屏蔽中断。一般在一个系统中只允许有一个非屏蔽中断,可屏蔽中断可以有一个或多个。
软件中断是cpu根据软件的某些指令或者软件对标志寄存器某个标志位的设置而产生的。
8086/8088系统中,中断优先权排队次序从高到低为:除法出错、指令中断、溢出中断、非屏蔽中断、可屏蔽中断、单步中断。
12. 中断入口地址表的功能是什么?已知中断类型码分别为84h和0fah,它们的中断入口在中断入口地址表的什么位置上?
解】cpu响应中断后,把正在执行程序的当前地址(cs:ip)压入堆栈保存,将中断服务程序入口地址送入cs:ip,由此开始执行中断服务程序。
在8086系统中,允许引入256种类型中断源(类型码为0~255),相应有256个中断服务程序首址。这些地址就存放在中断入口地址表中。
中断类型码分别为84h的中断源所对应的中断服务程序首址存放在0000∶0210h(4×84h=210h)开始的4个单元中。
中断类型码分别为0fah 的中断源所对应的中断服务程序首址存放在0000∶03e8h(4×0fah=3e8h)开始的4个单元中。
13. 若在一个系统中有5个中断源,它们的优先排序为:1,2,3,4,5。
它们的中断服务程序入口地址分别为loop1、loop2、loop3、loop4、loop5。试编写一中断服务程序,当有中断请求cpu响应时,能用软件查询办法转到优先权最高的中断源。
解】设中断请求寄存器地址为20h,中断服务程序如下:
push cs
push ip保护现场。
in al,20h
test al,80h
jne loop1 ;执行1号中断服务程序。
test al,40h
jne loop2
test al,20h
jne loop3
test al,10h
jne loop4
test al,08h
jne loop5
loop1: :
iretloop2: :
iretloop3: :
iretloop4: :
iretloop5: :
iret14. 8086/8088cpu如何获得中断类型码?
解】对于专用中断,中断类型码是自动形成的。几种类型码为:类型。
对于int n指令,其类型码为指令中给定的n。
对于外部非屏蔽中断请求,cpu自动提供中断类型号2。
对于外部可屏蔽中断请求,cpu从数据线中获取外部设备的中断类型码,15. 简述中断控制器8259a的内部结构和主要功能。
解】8259a的内部结构见教材图7-11。它由中断请求寄存器irr(interrupt request register)、优先权电路、中断服务寄存器isr(in—service register)、中断屏蔽寄存器imr(interrupt mask register)、数据总线缓冲器、读写电路、控制逻辑和级连缓冲/比较器组成。
8259a的主要功能为:
1) 具有8级优先权控制,通过级连可扩展至64级优先权控制。
2) 每一级中断都可以屏蔽或允许。
3) 在中断响应周期,8259a可提供相应的中断向量号(中断类型号)。
4) 可通过编程来进行选择工作方式。
16. 某系统中有5个中断源,它们从中断控制器8259a的ir0~ir4中以脉冲方式引进系统,它们的中断类型码分别为40h,41h,42h,43h和44h,中断入口分别为3500h,4080h,4505h,5540h和6000h。允许它们以完全嵌套方式工作,请编写相应的初始化程序,使cpu响应任何一级中断时,能正确地进入各自中断服务程序入口。
解】设在i/o地址空间中分配给8259a的端口地址为20h和21h。中断结束为eoi命令方式。边沿触发方式,缓冲方式。
icw1的内容:13h
icw2的内容:40h
icw4的内容:0dh
根据系统要求初始化编程如下:
mov al,13h设置icw1为边沿触发,单片8259a,需要icw4。
out 20h,al
mov al,40h设置icw2,类型码为40h(ir0)。
out 21h,al
mov al,0dh设置icw4,全嵌套方式,缓冲方式,正常eio
out 21h,al
初始化完成后,8259a处于全嵌套工作方式,可以响应外部中断请求。根据操作要求,设置中断入口地址分别为3500h,4080h,4505h,5540h和6000h:
17. 试编写出只有一片8259a的8086系统中8259a的初始化程序。8259a的地址为02c0h和02c1h,要求:
(1)中断请求采用电平触发。(2)irq请求的中断类型是16。(3)采用缓冲器方式。
(4)采用普通的eoi命令。
第7章作业
1 试述进油路节流调速回路与回油路节流调速回路的不同之处。2 液压系统中,当工件部件停止运动后,使泵卸荷有什么好处?试画出三种典型的卸荷回路。3 容积调速回路有哪些?各有什么特点?4 如图所示的液压系统,可以实现快进 工进 快退 停止的工作循环要求。1 说出图中标有序号的液压元件的名称。2 填出电磁...
第7章 作业
作业 1.某系统采用8255a不断检测8个开关k7 k0的通 断状态,实时在发光二极管led7 led0上显示其结果。开关闭合时,相应的led亮 开关断开时,相应的led灭。如图所示。请编写程序段实现之。2.如果8255采用方式0,a口输出,b口输入,c1口输入,c2口输出,请画出此芯片与cpu和外...
第7章作业
第七章作业。7.2 8xx51单片机的定时 计数器有哪几种工作方式?各有什么特点?答 m1m0 00 工作方式0 13位方式 m1m0 01 工作方式1 16位方式 m1m0 10 工作方式2 8位自动再装入方式 m1m0 11 工作方式3 t0为2个8位方式 1,方式0定时器 t0或t1 工作于1...