第9讲 中断.ppt_第1页
第9讲 中断.ppt_第2页
第9讲 中断.ppt_第3页
第9讲 中断.ppt_第4页
第9讲 中断.ppt_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第9讲中断系统 苏放frossesu 北京邮电大学电信工程学院 2 中断的基本概念 什么是中断 CPU 3 中断的定义 CPU执行程序时 由于发生了某种随机的事件 外部或内部 引起CPU暂时中断正在运行的程序 转去执行一段特殊的服务程序 中断服务子程序或中断处理程序 以处理该事件 该事件处理完后又返回被中断的程序继续执行 这一过程称为中断 4 为何要引入中断 提高数据传输率 避免了CPU不断检测外设状态的过程 提高了CPU的利用率 实现对特殊事件的实时响应 如多任务系统操作系统中 缺页中断设备中断各类异常实时钟 等 5 中断源 引起CPU中断的事件 中断源 外设 请求输入输出数据 报告故障等事件 掉电 硬件故障 软件错误 非法操作 定时时间到等中断源分为 外部中断 内部中断 6 中断源 8086 8088的外部中断信号 INTR NMIINTR 可屏蔽中断请求 高电平有效 受IF标志的控制 NMI 非屏蔽中断请求 上升沿有效 任何时候CPU都要响应此中断请求信号 7 中断过程 五个步骤 中断请求中断判优 有时还要进行中断源识别 中断响应中断服务中断返回 8 1 中断请求 外设接口 中断源 发出中断请求信号 送到CPU的INTR或NMI引脚 中断请求信号 边沿请求 电平请求例如 NMI为边沿请求 INTR为电平请求中断请求信号应保持到中断被处理为止 CPU响应中断后 中断请求信号应及时撤销 在8086 8088系统中 外设的中断要经过8259A可编程中断控制器 PIC 的排队判优后向CPU发出 I O接口 PIC CPU 9 2 1 中断源识别 计算机中的中断源有很多 CPU必须识别是哪一个设备产生中断 识别中断源有两个方法 软件查询 将中断信号从数据总线读入 用程序进行判别 中断矢量法 由中断源提供中断类型号 CPU根据类型确定中断源 8086 8088 10 2 2 中断判优 多个中断源产生中断 CPU首先为谁服务 中断优先级排队问题 中断优先级控制要处理两种情况 对同时产生的中断 应首先处理优先级别较高的中断 若优先级别相同 则按先来先服务的原则处理 对非同时产生的中断 低优先级别的中断处理程序允许被高优先级别的中断源所中断 即允许中断嵌套 11 中断判优 中断优先级的控制方法硬件判优 链式判优 并行判优 中断向量法 软件判优 顺序查询中断请求 先查询的先服务 即先查询的优先级别高 通常将中断判优与中断源识别合并在一起进行处理 x86系统中 这项任务由PIC和CPU共同完成 12 软件判优 INAL PORT R PORT R是锁存器地址CLCRCRAL 1JCINTS01 转向故障处理A1 RCRAL 1JCINTS02 转向告警处理A2 INTS01 JMPA1INTS02 JMPA2 13 硬件优先权排队电路 14 INTAin CPUINTAINTR 外设1 外设2 外设接口1 菊花链逻辑电路 外设接口2 外设3 外设接口3 1 菊花链逻辑电路 菊花链逻辑电路 IREQ IREQ IREQ 中断确认 硬件优先权排队 链式判优电路原理图 INTAin INTAin 中断确认 中断确认 15 菊花链逻辑电路 INTAin IREQ INTR 1 INTAout DB 三态门 中断向量码 E 外设接口 中断确认 菊花链逻辑电路 16 3 中断响应 在每条指令的最后一个时钟周期 CPU检测INTR或NMI信号 若以下条件成立 则CPU响应中断 当前指令执行完 对INTR 还应满足以下条件当前指令是STI和IRET 则下条指令也要执行完 当前指令带有LOCK REP等指令前缀时 则把它们看成一个整体 要求完整地执行完 对INTR CPU应处于开中断状态 即IF 1 当前没有复位 RESET 和保持 HOLD 信号 若NMI和INTR同时发生 则首先响应NMI 17 3 中断响应 续 CPU中断响应时 要做下述三项工作 向中断源发出INTA中断响应信号 断点保护 包括CS IP和PSW FLAGS 这主要是保证中断结束后能返回被中断的程序 获得中断服务程序首地址 入口 如何得到中断处理程序的首地址 固定入口法中断向量法 常用 18 4 中断处理 中断服务 中断服务子程序特点为 远 过程 类型为FAR 要用IRET指令返回中断服务子程序要做的工作保护现场 PUSHreg s 开中断 STI 进行中断处理恢复现场 POPreg s 中断返回 IRET 19 5 中断返回 执行中断返回指令IRETIRET指令将使CPU把堆栈内保存的断点信息弹出到IP CS和FLAG中 保证被中断的程序从断点处能够继续往下执行 IPL IPH CSL CSH FLAGL FLAGH SP IPL IPH CSL CSH FLAGL FLAGH SP IP CS FLAG 进入中断服务程序时 中断返回后 20 8086 8088的中断系统 与中断有关的控制线为 NMI INTR INTA8086系统的中断源 256个 内部中断软件中断 即INTn指令 类型号n 0 255 除法溢出 类型号0 商大于目的操作数所能表达的范围时产生 单步中断 类型号1 TF 1时产生 当前指令需执行完 断点中断 类型号3 这是一个软件中断 即INT3指令 溢出中断 类型号4 这是一个软件中断 即INTO指令 外部中断非屏蔽中断NMI 类型号2 不可用软件屏蔽 CPU必须响应它 可屏蔽中断INTR 类型号由PIC提供 IF 1时CPU才能响应 中断优先权从高到低的顺序是 除法溢出中断 INTn INTO NMI INTR 单步中断 21 NMI INTR 中断逻辑 软件中断指令 溢出中断 除法错 单步中断 非屏蔽中断请求 中断控制器8259APIC 8086 8088CPU内部逻辑 断点中断 8086 8088中断源类型 可屏蔽中断请求 n 4 3 0 1 2 22 中断源的识别 8086系统采用中断类型码来识别不同的中断源 每个中断源都有一个与它相对应的中断类型码 溢出 断点 除法溢出 单步 非屏蔽中断的类型码为固定值软件中断的类型码由指令给出可屏蔽中断的类型码由PIC给出 23 中断源的识别 CPU响应INTR中断时 会产生两个中断响应总线周期 要求PIC在第2个中断响应总线周期把中断类型码放到数据总线上 供CPU读入 24 中断向量和中断向量表 中断响应后 CPU通过中断类型号找到中断向量表 进而找到中断服务程序 中断向量存放各类中断的中断服务程序的入口地址 段和偏移 它提供一个指向中断处理子程序的起始地址 中断向量表 将所有的中断处理服务程序的入口地址都集中在一起 构成一个中断地址的存放表 即中断向量表 位于内存的00000H 003FFH 大小为1KB 共256个中断向量 每个中断向量占用4Bytes 低字为段内偏移 高字为段基址 25 根据中断类型号获得中断服务程序入口 方法 中断向量在IVT中的存放地址 4 n 26 中断类型和中断向量表 8086中断处理流程 CPU在获得中断类型号后 先自动将FR入栈 并自动将IF和TF清零 自动将当前CS和IP内容入栈 根据中断类型号n从中断向量表中取出中断处理程序的段地址送入CS 偏移地址值送入IP 从而实现向中断处理程序转移 在中断处理程序完成后 用中断返回指令IRET恢复断点 弹回IP和CS 并恢复FR的内容 实现向被中断程序的返回 27 例 例 设某中断源的类型码为4AH 试画出求中断服务处理程序的示意图 解 中断向量表指针为4 n 4 4AH 128H 即 0000 0128H 通过中断向量表 中断服务程序的入口地址为0F000H 1806H 28 例 29 初始化 将中断服务程序的入口地址放入向量表 1 直接写入法 使用指令将中断服务程序入口地址的IP写入n 4的RAM位置 中断服务程序入口的CS写入n 4 2的位置 中断向量表的初始化 30 例 例8 2若中断类型号n 70H 中断服务程序的过程名是INTSUB 借助伪指令和传送指令 将中断服务程序入口地址写入中断向量表 VECDATASEGMENTAT0ORG70H 4LOCA 70DW2DUP VECDATAENDSININTSEGMENT MOVLOCA 70 OFFSETINTSUBMOVLOCA 70 2 SEGINTSUB 31 中断向量表的初始化 例 中断类型码为48H的中断处理子程序的名字为int48h 编写程序段将该中断处理子程序的入口地址放入向量表 32 中断向量表的初始化 CLIMOVAX 0MOVDS AXMOVSI 48H 4MOVAX OFFSETint48hMOV SI AXMOVAX SEGint48hMOV SI 2 AXSTI 33 中断向量表的初始化 2 利用DOS功能调用写 读中断向量表 DOS功能调用25H用来写中断向量表 入口参数是 AL 中断类型号 DS 中断服务程序入口的段地址 DX 中断服务程序入口的偏移地址 DOS功能调用35H用来读中断向量表入口 出口参数 AL 中断类型号 ES 读出的中断服务程序入口的段地址 BX 读出的中断服务程序入口的偏移地址 34 例 例8 4设中断类型号为70H 中断服务程序是INTSUB 用DOS功能调用25H将中断服务程序入口地址写入中断向量表 解 相关的程序段如下 PUSHDSMOVAX SEGINTSUBMOVDS AXLEADX INTSUBMOVAL 70HMOVAH 25HINT21HPOPDS 35 8086 8088CPU的中断响应过程 内部中断响应过程无INTA周期中断类型码固定或由指令给出响应过程主要步骤 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 36 中断响应过程 续 外部中断响应过程非屏蔽中断 与内部中断响应过程类似可屏蔽中断 INTA 1 PIC进行优先级排队判优处理 INTA 2 PIC把中断类型码放到DB上 CPU读入 PUSHFLAG IF 0 PUSHCS PUSHIP 取中断向量送入IP和CS 与内部中断一样 37 N Y N Y N N N N N Y Y 执行指令 执行完否 取指令 IF 1 内部中断 NMI INTR TF 1 类型码 0 255 类型码 2 类型码 1 中断响应 读回类型码 FLAG入栈 TEMP TF CF TF 0 CS IP入栈 计算向量表地址 高字 CS低字 IP 执行中断服务程序 NMI TEMP 1 转入中断服务程序 恢复CS和IP 恢复FLAGS 返回被中断的程序 Y Y Y Y N IRET指令的操作 8086 8088的中断处理流程 38 可编程中断控制器8259A Intel8259A是一种可编程的中断控制器PIC ProgrammableInterruptController 可为CPU管理和处理8个中断源电路的中断 并对它们进行优先级管理 可与其它8个8259A芯片组成主从式中断系统 实现64级中断源控制 优先级方式在执行程序时可动态改变 有多种中断管理方式 每一中断源中断都可以屏蔽或允许 可通过编程选择 能自动送出中断类型号 使CPU方便的找到中断服务程序的入口地址 39 8259A的结构功能 8259A的引脚双列直插式28引脚封装 40 8259A内部功能结构 41 8259A的内部结构 8259A的内部结构中断请求寄存器IRR保存从IR0 IR7来的中断请求信号 某位 1表示对应的IRi有中断请求中断服务寄存器ISR保存所有正在服务的中断源 某位 1表示对应的IRi中断正在被服务中断屏蔽寄存器IMR存放中断屏蔽字 某位 1表示对应的IRi输入被屏蔽中断优先权判别电路确定是否向CPU发出中断请求 中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上 42 8259A的工作过程 8259A对中断请求的处理过程如下 当某IRi有效时 IRR相应位置1若有效的IRi未被屏蔽 则向CPU发出中断请求检测到第1个INTA信号后 置ISRi 1 IRRi 0检测到第2个INTA信号后 把ISRi 1中最高优先级的中断类型码放到DB上若工作在AEOI方式 在第2个INTA 结束时 使ISRi复位 否则由CPU发出EOI命令使ISRi复位 43 8259A的工作方式 8259A的工作方式有如下几类 中断优先方式与中断嵌套中断结束处理方式屏蔽中断源的方式中断触发方式级联工作方式 44 中断优先方式与中断嵌套 中断优先方式两类优先级控制方式 固定优先级和循环优先级固定优先级方式所有中断请求IRi的中断优先级固定不变优先级排列顺序可编程改变加电后8259A的默认方式 默认优先级顺序从高到低为IR0 IR7 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0 3 2 1 0 7 6 5 4 最低级 最高级 最高级 最低级 优先级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 默认优先级 优先级可编程改变 45 中断优先方式与中断嵌套 续 循环优先级方式中断源轮流处于最高优先级 即自动中断优先级循环初始优先级顺序可用编程改变某中断请求IRi被处理后 其优先级别自动降为最低 原来比它低一级的中断上升为最高级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 7 6 5 4 3 2 1 0 2 1 0 7 6 5 4 3 最低级 最高级 最高级 最低级 ISR内容 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 IR4的服务结束以前 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 IR4的服务结束以后 ISRi 46 中断优先方式与中断嵌套 续 中断嵌套方式在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套 8259A有两种中断嵌套方式 普通全嵌套方式 默认方式 一中断正被处理时 只有更高优先级的事件可以打断当前的中断处理过程而被服务 特殊全嵌套方式一中断正被处理时 允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务 注 特殊全嵌套仅用于多个8259A级连时的主8259A 而不能用于从属8259A或单8259A系统 47 D 主8259A IR0IR1IR2IR3IR4IR5IR6IR7 一般嵌套方式 从片的INT被主片封锁 故更高级别的IR0 IR2中断也无法得到响应 特殊嵌套方式 因主片不封锁从片的INT 故级别高的IR0 IR2中断可以得到响应 但IR3 IR7仍被本从片封锁 C 假定IR3发生中断 并获得服务 一般嵌套方式 IR4的中断被服务时 这些中断将被封锁 B 特殊嵌套方式 IR4的中断被服务时 只封锁IR5 IR7 A INT E 从8259A INT IR0IR1IR2IR3IR4IR5IR6IR7 一般全嵌套方式与特殊全嵌套方式的区别 去CPU 48 中断结束处理方式 当某一IRi中断被服务时 ISR中的相应位ISRi 1 当服务结束后 则必须清零该ISRi位 使ISRi 0是通过向8259A发出中断结束命令 EOI命令 实现的 三种EOI命令自动EOI AEOI 自动EOI方式 非指定EOI NSEOI 正常EOI方式 指定EOI SEOI 特殊EOI方式 49 AEOI 在第2个INTA 结束时 由8259A使ISRi自动复位 因不保留当前正在服务的中断的状态 故AEOI不能用于中断嵌套方式SEOI 由CPU发出一条SEOI命令 该EOI命令中指出了所要复位的ISR的位号 用于特殊屏蔽方式NSEOI 由CPU发出正常EOI命令 该EOI命令使ISRi 1的位中优先级最高的那一位复位 用于普通全嵌套方式 50 中断服务程序 向从PIC发EOI命令 读从PIC的ISR 全0 向主PIC发EOI命令 Y IRET 恢复现场 N 特殊全嵌套方式下的EOI处理只有当从PIC的中断全部处理完后 才能向主PIC发EOI命令 51 屏蔽中断源的方式 IMR屏蔽字决定了允许或禁止某位IRi所对应的中断 IMi 1禁止 IMi 0允许 特殊屏蔽方式 提供了允许较低优先级的中断能够得到响应的特殊手段 原理 假定当前正在处理IR6 先进入特殊屏蔽方式 然后设置IM6 1 这时 除IR6外的所有中断请求均能得到响应 特殊屏蔽方式中只能用SEOI命令结束中断 52 中断触发方式 边沿触发IRi出现上升沿表示有中断请求电平触发IRi出现高电平表示有中断请求在第1个INTA结束前 IRi必须保持高电平 53 级联工作方式 单片8259A可支持8个中断源 采用多片8259A级连 可最多支持64个中断源 n片8259A可支持7n 1个中断源 级连时只能有一片8259A为主片 其余的均为从属片 涉及到的8259A引脚包括 CAS0 CAS2SP EN IRiINT 54 级连电路连接方法 55 8259A的编程使用 8259A的控制命令分为初始化命令字ICWICW1 ICW4向8259A写入ICW的过程称为初始化编程操作命令字OCWOCW1 OCW3向8259A写入OCW的过程称为操作方式编程 56 8259A内部寄存器的寻址方法 需要CS A0 RD WR和D4 D3的配合内部寄存器的访问方法如下表 57 8259A的初始化顺序 8259的初始化流程如图注意次序不可颠倒 写ICW1 写ICW2 级连 写ICW3 需ICW4 写ICW4 N N Y Y 58 8259A的控制命令字 初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后 8259A的状态如下 清除ISR和IMR 全0 将中断优先级设成初始状态 IR0最高 IR7最低 设定为一般屏蔽方式 采用非自动中断结束方式 状态读出逻辑预置为读IRR 59 ICW1 初始化字 LTIM 触发方式 1高电平触发 0上升沿触发SNGL 级连控制 1单片 0级连IC4 ICW4控制 1要写ICW4 0不写ICW4 默认ICW4为全0 A0D7D6D5D4D3D2D1D00 xxx1LTIMxSNGLIC4 60 ICW2 中断向量码 T7 T3 中断向量码的高5位T2 T0 最低3位为中断源的序号IRn000 111分别对应IR0 IR7由8259A根据中断源的序号自动填入例如 若ICW2命令字为48H 则IR0的中断向量码为48H IR7的中断向量码为4FH 等等 A0D7D6D5D4D3D2D1D01T7T6T5T4T3xxx 61 ICW3 级连控制字 主片的级联控制字Si 1对应IRi线上连接了从片 A0D7D6D5D4D3D2D1D01S7S6S5S4S3S2S1S0 从片的级联控制字ID2 ID0标识码 说明本从片连接到主片的哪个IR引脚上 000 111分别对应IR0 IR7 A0D7D6D5D4D3D2D1D0100000ID2ID1ID0 62 ICW3 级连控制字 续 ICW3必须与主从片的连接关系一致 例如 主片的IR4与从片的INT线连接 则主片的ICW3 10H 从片的ICW3 04H 中断响应时 主片通过级连线CAS2 CAS0送出被允许中断的从片标识码 各从片用自己的ICW3与CAS2 CAS0比较 二者一致的从片才可发送中断向量码 63 ICW4 中断结束方式字 SFNM 特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI 自动EOI1自动EOI方式0非自动EOI方式 A0D7D6D5D4D3D2D1D01000SFNMBUFM SAEOI1 BUF 缓冲方式M S 主 从缓冲选择BUFM S11缓冲方式 主PIC10缓冲方式 从PIC0 x非缓冲方式 正常 64 8259A的操作命令字OCW OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求 OCW1必须写入奇地址端口 A0 1 OCW2 OCW3必须写入偶地址端口 A0 0 65 OCW1 中断屏蔽字 Mi 1中断请求线IRi被屏蔽 不允许中断 0允许该IRi中断OCW1将写入IMR寄存器 A0 1时读OCW1可读出设置的IMR内容 A0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0 66 OCW2 中断结束和优先级循环 L2 L0 优先级编码R 优先级自动循环SL 指定优先级EOI 结束中断命令RSLEOI001非指定EOI命令 NSEOI 全嵌套方式011指定EOI命令 SEOI 全嵌套方式 按L2 L0编码复位ISR101NSEOI命令 优先级自动循环100自动EOI 设置优先级自动循环000自动EOI 取消优先级自动循环 固定优先级 111SEOI命令 按L2 L0编码循环优先级 L2 L0设为最低优先级 110按L2 L0编码循环优先级 L2 L0设为最低优先级 A0D7D6D5D4D3D2D1D00RSLEOI00L2L1L0 67 01100110 结束IR6的中断11000110 IR6为最低级开始循环方式 A0D7D6D5D4D3D2D1D00RSLEOI00L2L1L0 68 OCW3 屏蔽方式和读出控制字 ESMM 允许使能特殊屏蔽方式SMM 特殊屏蔽方式ESMMSMM11特殊屏蔽方式置位10特殊屏蔽方式复位0 x非特殊屏蔽方式P Polling 1查询方式 0非查询方式 A0D7D6D5D4D3D2D1D000ESMMSMM01PRRRIS RR 读寄存器RIS ISR IRR选择RRRIS11读ISR10读IRR0 x无效 69 特殊屏蔽例 IR4中断处理程序CLIMOVAL 68H OCW3 01101000OUT0C0H AL 设置特殊屏蔽方式INAL 0C2HORAL 10H 屏蔽IR4OUT0C2H ALSTI IR7请求 响应 返回 CLI 为设命令字INAL 0C2H 读出屏蔽字ANDAL 0EFH 清除IMR4OUT0C2H ALMOVAL 48H OCW3 01001000OUT0C0H AL 取消特殊屏蔽STI 继续IR4中断服务MOVAL 20H OCW2 00100000 EOI OUT0C0 ALIRET 70 OCW3 续 查询方式允许8259A不工作于中断方式 而是以查询方式工作 CPU先写一个D2 1的OCW3 再对同一地址读入 即可得到如下状态字节 IxxxxR2R1R0I 1表示有中断请求 中断请求号为R2 R0此查询步骤可反复执行 以响应多个同时发生的中断 读IRR ISR 写入此命令后 随后再对同一地址读 即可得到IRR或ISR的内容 71 8259A编程举例 按以下要求初始化8259A 接口地址为20H和21H 中断为上升沿触发 单片8259A 不写ICW4 与IR0 IR3对应的中断向量码为08H 0BH IR4 IR7不使用 72 根据要求 各初始化参数及工作参数如下 ICW1 00010010 12HICW2 08H中断向量码OCW1 11110000 0F0H中断屏蔽字 A0D7D6D5D4D3D2D1D00 xxx1LTIMxSNGLIC4 A0D7D6D5D4D3D2D1D01T7T6T5T4T3xxx A0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0 ICW1 ICW2 OCW1 73 8259A编程举例 续 初始化程序如下 INIT8259A MOVDX 20H A0 0 写ICW1MOVAL 12H 上升沿触发 单片 不写ICW4OUTDX ALMOVDX 21H A0 1 写ICW2 OCW1MOVAL 08H ICW2OUTDX ALMOVAL 0F0H OCW1 屏蔽IR4 IR7OUTDX AL 74 例8 5 2片8259级联 从片的INT接主片的IR2 端口地址 主片20H 21H 从片A0H A1H 主片和从片均采用边沿触发 主片采用特殊全嵌套方式 从片是一般全嵌套方式 采用非缓冲方式 主片接 5V 从片接地 主片的中断类型号为08H 0FH 从片的中断类型号为70H 77H 写出主8259A和从8259A的初始化程序段 75 ICW1AEQU20H 主片端口地址ICW2AEQUICW1A 1ICW3AEQUICW2AICW4AEQUICW2AICW1BEQU0A0H 从片端口地址ICW2BEQUICW1B 1ICW3BEQUICW2BICW4BEQUICW2B 主片8259A MOVAL 11H ICW1 边沿触发 多片 需ICW4OUTICW1A ALMOVAL 08H ICW2 中断类型码OUTICW2A ALMOVAL 04H ICW3 IR2接从片OUTICW3A ALMOVAL 11H ICW4 非缓冲 特殊全嵌套 非自动结束OUTICW4A AL 从片8259A MOVAL 11H ICW1 边沿触发 多片 需ICW4OUTICW1B ALMOVAL 70H ICW2 中断类型码OUTICW2B ALMOVAL 02H ICW3 INT接主片的IR2OUTICW3B ALMOVAL 01H ICW4 非缓冲 全嵌套 非自动结束OUTICW4B AL 76 PC机中断程序设计 1 主程序保存原中断向量设置自己的中断向量初始化堆栈指针设置8259A的中断屏蔽字 其他的已由操作系统设置 STI2 中断服务程序保存所用到的寄存器内容中断服务程序主体恢复进入时保存的寄存器内容发EOI命令 必要时可提前 STI 必要时可提前 IRET 77 中断程序举例 PC机中主8259A的I O地址为20H和21H 中断向量码为08H 中断请求从IR6引入 故中断类型号为0EH 主程序如下 保存原来的中断向量movah 35hmoval 0eh 中断类型码int21

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论