版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8章中引最简单的中断情中断优先8086微处理器的中断方中断控制器 引为什么要用中中断中断系统的功8.1.18.1.1中断有以下好同步操实现实时故障处8.1.28.1.2中断源有以下几种数据通道中断源。如磁盘、磁带等实时时故障源为调试程序而设置的中断8.1.3中断系统的功实现中断及返实现优先高级中断源能中断低级的中断处最简单的中断情只有一个中断源的情8.2.1CPU响应中断的条D设置中断触发被送出至CPU。可把8个外设的中断触发器组成一个 现行指令执行结8.2.28.2.2CPU断响应信号INTA的同时,自动地CPU响应中断,IP+1,并且给出中断8086是由中断源提供的中断矢量形成中断地址在中断服务程序完成后,还要做下述的5、6 8.38.31、用软件确定中断优先优点(1)程序决定优先权的次序;(2)不需要有判断与确定优先权的硬件队电路缺点:由询问转至相应的服务程序的时间长,尤其是在中断源较的情况下2、硬件优先权排队电8.3.1用软件确定中断优先-译译
……
中断…中断…法 ;输入中断请求触发 ;检查 (电源故障)是否有求JNEPWF AL40H JNEDISS AL ;否,检查磁带是否有请JNE ;有,转至磁带服务 8.3.28.3.21.中断优先权编码电有中断请比较比较2
中断请求编优先优先编优先优先寄存… 比较器失效信(先前无中断请求时有效优先控失效控中 寄存器-中断矢量
中断矢量
中断矢量
中断矢量 缓冲- 缓冲 触发触触发触发触发触发中断源高优先
中断源
中断源
中断源2.2.雏菊花环(DaisyChain)式或称为链式优先权排队电8.48.480868086的中断系统采用向量中断机一共可处理256个中采用中断向量0~255,对256个中断可中断需借助的中断控制器In8259A对系统中的可中断资源扩充系统的可中断资源,并管理它们实现中断优先权实现中断源的识8.4.18.4.18086中中断逻2外源INT指指除错单中中不 中断 中断中控制 中断申不 中断申8086的中断分中断— 机制产除法错中断(0号)——除运算指令中断(n号)——执行intn指令后产生(操作码断点中断(3号)——执行int3指令(单字节指令操作码CCH)用于在调试中设置断点,程序遇断点则中溢出中断(4号)——执行into指令,且前面运算有溢出(OF=1)时产单步中断(1号)——TF标志置1后,每执行一条子指令将发生一外部中断—— 中断(外设提供向量号)——触发INTR引脚产 中断(2号)——触发NMI引脚产 除法错中断 向量号为指令中断(intn):向量号为断点中断(int3):向量号为溢出中断(into)向量号为单步中断 向量号为中断的中断向量号已由外部中断是由于8086外部通过CPU引脚提出中断 中断(NMI):向量号为外部通过 中断NMI请求,必须响 中断主要用于处理系统的意外或故障(如奇偶校验协处理器运算错误等 中断(INTR):向量号由中断控制器提 中断INTR请求,由标志位IF控制是否响应;响应时将产生有效的–INTA信号 中断主要用于外设中断请求(请求交换数据等服务标志标志位IF控制中断的响IF=0: 中断不会被响应 中断,关中断中 系统复位,使任何一个中断被响应,使执行指令CLI,使IF=1:可 中断会被响应(允许中断,开中断,中执行指令STI,使执行指令IRET后IF将恢复为中断前的状明确明确IF标志的状态是关8.4.28.4.28086查询中断的先后顺序决定了各中断软件中除法错中 指令中溢出中 中 中单步中 软件中N软件中NNYYYNYY下条指中断响应周读中断向量执行中断服现行指还有还有NYY执行服务程获取中断向CS:IP入标志寄存器入弹弹出弹出标志寄存弹出标志寄存80868086各种中断源的优先权,实际上多种中断同时请求时,最先响应的则可能是单步中断或NMI中断8.4.38086该地址包该地址包括:偏移地址IP、段地址CS(共位每个中断向量的低字是偏移地址、高字是段地址,需占用4个字节(低对低,高对高)8088微处理器从物理地址000H开始到(1KB),依次安排各个中断向量,向量号从0到255256个中断向量所占用的1KB区域,称量地址中断向量:指示中断服务程序的 中断向量的存中断向量的存放首址几个概念:向量号N/中断向量0号中断向编 中断服务程序与编写子程序类利用过程定义伪指令第1条指令通常为开中断指令最后用中断返回指令通常采用寄存器传递参主程序需要调用中断服务程使用前,需要重新设置中断向量 地址利用INTn指令调用中断服务程编写:80H号中断服务程功能:通过BIOS功能调用INT10H,显示以参数DS:DX存字符串缓冲区首地址(段地址:偏移地址)dwdwdw;用于保存原中断向量将来恢;用于保存原中断向量将来‘AInstructionInterrupt;要显示的信例 movax,35movax,35intmovintoff,bxmov;读出原中断向;保存偏移地;地AH=35H的int21H功能调用为获取中断向量值;ES:BX=中断地pushmovdx,offsetnew80hmovax,segnew80hmovds,axmovax,25 ;设置新中断向int21hpopds;中断;中断调movdx,offsetint注注意比较指令:int中断服务子程 pushaxpushpush;开中断,允许中断嵌;保护现例显示字符 mov movcmp ;判是否串jzmov ;调BIOS中movah,0ehint10hincjmppoppoppopbxpopax;恢复现;中断返;恢复;恢复原中断向movmovax,intsegmovds,axmovax,2580hint21hmovint主程序结 8.58.58259A 8259A是可编程中断控制器可配合CPU(I8080/85、I8086/88/286/386等)理 中8259A的基本功1片8259A可以管理8级中断,经级联最多可扩展至64每一级中断都可单独 或允在中断响应周期,可提供相应的调用指令(配合I8080/85)或中断向量号(配合8259A设计有多种工作方 结构和引控制逻控制逻逻--
中 寄存
比较中断请求寄存器保存8条外界中断请求信号IR0~IR7的请求状Di位为1表示IRi引脚有中断请求;为0中断服务寄存器保存正在被8259ADi位为1表示IRi中断正在服务中;为0中 寄存器保存对中断请求信号IR 状Di位为1表示IRi中断 );为0表示允---功0010写入ICW1、OCW2和0110写入ICW2~ICW4和0001读出IRR、ISR和查询0101读出0×11数据总线高阻状1×××数据总线高阻状8259A的级8259级联工作示意级联连接 地址总线从8259从8259SP/ENIR7IR6-从8259SP/ENIR7IR6-D7-D0 SP/ENIR7IR6- CS D7-D0 CS D7-D0
3.8259A可以级连,1个主片最多可以级连8个从级连时,主片的级连线CAS0~CAS2连至每个从片的0~,输出被选中的从片,每个从片的中断请求信号INT,连至主8259A的一个中断请求输入端IRx;主片INT线连至CPU的在非缓冲方式下,引脚-P/-N,通过接地指定该片充当从片(-SP=0);反之若接高电平则该片充当主片(-=)。8259A的引---SP/-
第1个总线周T1T2T3
第2个总线周T1T2T3
CPU响应周8259A工作
第1个-INTA前保持高电8.5.38.5.38259A级连方
与与CPU设置优先权方结束中断方中断方
与8080/8085CPU配合与8086/8088CPU优先权固定方非自动中断结束方普 方特 方
普通中断结束方特殊中断结束方中断触发方 边沿触发方电平触发方缓冲方数据线连接方
非缓冲方与8080/8085CPU配合——中断响应时,-INTA信号3次有效,8259A送CALLXXXXH指令(3个字节)的机器与8086/8088U配合——中断响应时,A信号2次有效,9A送相应的中断向量号(1个字节)到数据总线。CALL 中断向量-
-不级连——只用1片,如级连——使用2~9片,如PC/AT(2片
普通全嵌套方IRi予以响应,将其向量号送上数据总线,对应ISRDi位置位,直到中断结束(ISRDi位复位)在ISRDi位置位期间,再发生同级和低级优先的中断特殊全嵌套方式——允许同级中断嵌套(用于级连主片优先权自动循环方式低优先级中断源优先权特殊循环方式的中断源什么是8259A的中断结束字8259A判断中断服务寄存器ISR的状态若某位为1,表示该中断源正在得到服务;一般情况下,将不再响应同级或低级的中断(采用特殊方式时,可响应低级别的中断)若某位为0,表示该中断服务已结束,可响应低级级别中断。用指令向A送中断结束字,可以使R的某位清0该操作与CPU无关自动中断结束方式——中断响应后自动送结束字,清0ISR中当前优先级最高的中断服务标志。普通中断结束方式——中断结束时用户用指令送配合全嵌套优先权方式使当用输出指令往8259发出普通中断结束EOI命令时,8259A就会清0SR中当前优先级最高的中断服务标志特殊中断结束方式——中断结束时用户用指令送特定的结束字,指明要清除ISR中的哪一配合循环优先权普通方将IMR的Di位置1,对应的中断IRi将被,如果将IMR的Di位置0,则允许对应的中断产特殊方式——允许发生低级的中断嵌套,将IMR的Di位置1,中断IRi被;同时,ISR边沿触发方中断请求输入端出现上升沿有效的中断请求信电平触发方中断请求端出现高电平为有效的中断请求信缓冲方对8259A的数据线(输出中断向量)加缓冲器予以和驱动S/EN引脚作为输出端,输出允许信号,用以关闭或开启缓冲器非缓冲方-SP/-EN引脚作为输入在8259A级连时,用它选择该充当主片或从8.5.48259A初始化编8259A开始工作用户必须对8259A进行初始化编程。通过写入初始化命令字ICW对8259A进行初始中断操作编在8259A工作期可以随时向8259A写入操作命令字OCW,使之按用户设置的新的工作方式进行工用户还可以通过写操作命令字OCW通知8259A,下面的操作 8259A中的状态信息,以便了解其工作情8259A在开始工作前必须写入初始化命初始化命令字ICW最多可以有4个必须按照以上顺序依次写ICW1ICW2是必须ICW3和ICW4是否需流流 ×××1×1——只能为1,为标×——表示可以任意为1为0都可以(议为LTIM=0,边沿触发
IC4=0不写入ICW4规定的位全 ×××设设置中断向量T7~T3为中断向量号的高5低3位由8259A自动确定IR0为000、IR1为001、……、IR7为 针对主级连命令
针对从主片:Si=1,说明其对应引脚IRi上连接有从片;否则引脚IRi从片:ID0~ID2编码说明该从片的INT引脚接到了主片上的哪个IRi引 000嵌套方式特殊全嵌套方式(SFNM=)普通全嵌套方式 数据线的缓冲方式缓冲方式非缓冲方式
中断结束方式非自动中断结束(AEOI=0)
微处理器类型16位8位8080/8085(PM=) 写 写 是否写 否
按顺序对A0=1口写入命令是写 movout20h,aljmpintr1moval,08hout21h,aljmpintr2moval,04hout21h,aljmpintr3moval,1hout;写入;写入;写入;写入PC机上8259地址:20h- moval,11h out0a0h,aljmp mov ;写入out0a1h,aljmpintr6 mov ;写入out0a1h,aljmpintr7 moval, ;写入out该题中8259的两个地址:0a0h、8259A工作期间,可以随时接受操作命令字OCW共有3写入时没有顺序要求,需要哪个OCW就写入 命令其内容将写入中 寄存器Mi=1, 对应IRi中断Mi=0,则允许对应IRi各位互相独 R00产生中断结束EOI命令
L2~L0的3位编指定IR引 001PESMM、设置中 方
P、RR和 3.状态CPU可随时读出IRR、ISR、IMR和查询A0为低(偶地址)由OCW3中RR和RIS位编码决 的是IRR由OCW3中位决定的是查询字,查询字可反映9A是否有中断请求,及哪个引脚上有中断请求A0为高(奇地址)时 的是 I————有外设请求中
W2~W04⑴利用读写信号区别写入的控制寄存器和读出的利用地址信号区别不同I/O地址的寄存由控制字中的标志位说明是哪个寄存⑷由 内顺序控制逻辑按一定顺序识别不同的⑸由前面的控制字(引导字)决定后续操作的寄接接口电路中常用的方8.68259A在IBMPC8259A在IBMPC/XT机上的应
实时改向0AH中保协处理硬保
----SP/- —-INTR
-
IBMPC/XT8259A23456优先8259A23456优先级01I/O通道检查键盘(主板上未并8259A在IBMPC/AT
80286CPU
D
DB25………串行口
B24………串行口B23………并行口
主
软盘
B21………并行口-INTR1系统总线B4…改向0AH
保留保留保留
硬盘IRQ14保留IRQ15A0—A0
从-INTR2
利用上升沿做为中断请求IRQIRQ0~IRQ7中断向量号依次为IRQ8~IRQ15中断向量号依次为70H~77H(PC/AT机采用普通全嵌套优先权方式,中断优先权从高到低顺序为IRQ0~IRQ2、IRQ8~IRQ15(级连从片)、IRQ3~采用普通中断结束EOI方式,需在中断服务程序最后发送普通EOI命一般采用普通方式,通过写IMR相应位为0允许中断, 应注意不要破坏 状态 8.7编写外部 中断服务程序,需注意中断服务结束时应向8259发送中断结束命令一般只能采 单元来传递参不能使用DOS系统功能调用(DOS为单用户单任操作系统,不能重入寄存编写主程序,需注意修改寄存编写主程序,需注意修改中断向控制CPU的中断允许标设设置8259A例 中断服务程在PC机中8259A的IRQ0(向量号为08H)中断请求来自该例的08H号中断服务程序将显示一个10次中断共显示10个字符用内存单元(共享变量)在主程序与外部中断显示信息安排在共同的数据段数据 ‘A8259AInterruptmovax,35intmovax,35intpush;保存偏移地push;地pushmovpushmovdx,offset;保护;地movax,segmovds,axmovax,2508hint21hpop;恢复设置中断寄存 inal,21h pushaxandal,0feh out21h,almovcounter,0 cmpcmpjb;中断10次退循环等待中 就就在主程序循环当;设;设置数据段movmov;开中;保护寄存pushaxpushpush;显;显示信incmovsi,offsetintmsgcalldpstri中断处 显示字符 push;显示字符串子程push;取一字cmpjz;判是否结束标movmovmovah,0ehint10hjmpdps1popbxpopmovmovout20h,alpopdspopbxpopax;送中断结束;恢复寄存;中断返主程序结 popaxout21h,alpopdxpopdsmovax,2508hint21hmovax,4c00hint21h
A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt8.7内存驻留TSR (Terminate and StayResident)程序应用程序运行后仍然保存在主存中,可以利用DOS功能调31H4CH终止程 需要驻留内存的程序段要书写在其他代码例报时中断驻留服务程在PC机08HINT1CH指令中每隔55ms调用这个报时中断,中断65543了1小INT1CH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年04月中国农业发展银行广东省分行纪委办调查专业人才社会招考笔试历年参考题库附带答案详解
- 2025年度常州消防设施检测与鉴定合同4篇
- 2024版水泥混凝土运输合同书
- 2025年度城市基础设施配套拆迁施工合同4篇
- 专业菊花供应商2024年销售协议版B版
- 《流行病症:新型冠状病毒肺炎》课件
- 二零二五年度玻璃原材料期货交易合同6篇
- 2024年03月广东中信银行深圳分行社会招考笔试历年参考题库附带答案详解
- 二零二五版存量房市场政策研究合同3篇
- 2024简易散伙协议规范格式
- 食堂经营方案(技术标)
- 代收实收资本三方协议范本
- 人教版八年级英语下册全册课件【完整版】
- 乒乓球比赛表格
- 商务接待表格
- 肠梗阻导管治疗
- word小报模板:优美企业报刊报纸排版设计
- 移动商务内容运营(吴洪贵)任务五 其他内容类型的生产
- 汉语教学 《成功之路+进步篇+2》第17课课件
- 三十颂之格助词【精品课件】-A3演示文稿设计与制作【微能力认证优秀作业】
- 浙江省绍兴市2023年中考科学试题(word版-含答案)
评论
0/150
提交评论