




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第8 8章章 中断控制接口中断控制接口教学重点n 8088 CPU的中断系统的中断系统n 8259A的中断工作过程和工作方式的中断工作过程和工作方式n 中断服务程序的编写中断服务程序的编写8.1 8088中断系统n8088的中断系统采用向量中断机制的中断系统采用向量中断机制n能够处理能够处理256个中断个中断n用中断向量号用中断向量号0255区别区别n可屏蔽中断还需要借助专用中断控制可屏蔽中断还需要借助专用中断控制器器Intel 8259A实现优先权管理实现优先权管理8.1.1 8088的中断类型非屏蔽中断源非屏蔽中断源中断逻辑中断逻辑INTO指令指令单步单步中断中断除法除法错误错误INT
2、N指令指令CPUINTRNMI可屏蔽中断源可屏蔽中断源8259A中断中断控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外设设中中断断源源 INTAn内部中断内部中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n单步中断单步中断n外部中断外部中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断1. 内部中断n内部中断是由于内部中断是由于8088内部执行程序出现异内部执行程序出现异常引起常引起的程序中断的程序中断n利用内部中断,微处理器为用户提供了发利用内部中断,微处理器为用户提供了发现、调试并解决程序执行时异常情况的有现、调试并解决程序执行时异常情况的有效途径效途径n例
3、如,例如,ROM-BIOS和和DOS系统利用内部中系统利用内部中断为程序员提供了各种功能调用断为程序员提供了各种功能调用内部中断的中断向量号已定内部中断的中断向量号已定 除法错中断n在执行除法指令时,若除数为在执行除法指令时,若除数为0或商超过或商超过了寄存器所能表达的范围,则产生一个向了寄存器所能表达的范围,则产生一个向量号为量号为0的内部中断,称为除法错中断的内部中断,称为除法错中断例如:例如:mov bl,0idiv bl;除数;除数BL0,产生除法错中断,产生除法错中断mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表达表达;产生除法错中断;产生除
4、法错中断 指令中断n在执行中断调用指令在执行中断调用指令INT n时产生的一个时产生的一个向量号为向量号为n(0 255)的内部中断,称为)的内部中断,称为指令中断指令中断n其中向量号为其中向量号为3的指令中断比较特别(生的指令中断比较特别(生成一个字节的指令代码:成一个字节的指令代码:11001100),常),常用于程序调试,被称为断点中断用于程序调试,被称为断点中断例如:例如:DEBUG.EXE调试程序的运行命令调试程序的运行命令G设置设置的断点,就是利用的断点,就是利用INT 3指令实现的指令实现的 溢出中断n在执行溢出中断指令在执行溢出中断指令INTO时,若溢出标时,若溢出标志志OF为
5、为1,则产生一个向量号为,则产生一个向量号为4的内部中的内部中断,被称为溢出中断断,被称为溢出中断例如:例如:mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因为;因为OF1,所以产生溢出中断,所以产生溢出中断单步中断n若单步中断若单步中断TF为为1,则在每条指令执行结,则在每条指令执行结束后产生一个向量号为束后产生一个向量号为1的内部中断,称的内部中断,称为单步中断为单步中断例如:例如:DEBUG.EXE调试程序的单步命令调试程序的单步命令T就利就利用单步中断实现对程序的单步调试用单步中断实现对程序的单步调试2. 外部中断n外
6、部中断是由于外部中断是由于8088外部提出中断请求引外部提出中断请求引起起的程序中断的程序中断n利用外部中断,微机系统可以实时响应外利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部设备的数据传送请求,能够及时处理外部意外或紧急事件部意外或紧急事件n外部中断的原因是处理器外部随机产生的,外部中断的原因是处理器外部随机产生的,所以是真正的所以是真正的中断中断(Interrupt)n内部中断的原因是处理器执行程序出现异内部中断的原因是处理器执行程序出现异常,所以经常被称为常,所以经常被称为异常异常(Exception) 非屏蔽中断n通过非屏蔽中断请求信号向微处理器提出的中断
7、请通过非屏蔽中断请求信号向微处理器提出的中断请求,微处理器无法禁止,将在当前指令执行结束予求,微处理器无法禁止,将在当前指令执行结束予以响应,这个中断被称为非屏蔽中断以响应,这个中断被称为非屏蔽中断n8088的非屏蔽中断的向量号为的非屏蔽中断的向量号为2,非屏蔽中断请求,非屏蔽中断请求信号为信号为NMIn非屏蔽中断主要用于处理系统的意外或故障。例如:非屏蔽中断主要用于处理系统的意外或故障。例如:n电源掉电前的数据保护电源掉电前的数据保护n存储器读写错误的处理存储器读写错误的处理 可屏蔽中断n外部通过可屏蔽中断请求信号向微处理器提出的外部通过可屏蔽中断请求信号向微处理器提出的中断,微处理器在允许
8、可屏蔽中断的条件下,在中断,微处理器在允许可屏蔽中断的条件下,在当前指令执行结束予以响应,同时输出可屏蔽中当前指令执行结束予以响应,同时输出可屏蔽中断响应信号,这个中断就是可屏蔽中断断响应信号,这个中断就是可屏蔽中断n8088的可屏蔽中断请求和响应信号分别是的可屏蔽中断请求和响应信号分别是INTR和和INTA*;由;由IF标志控制可屏蔽中断是否允许响应;标志控制可屏蔽中断是否允许响应;向量号来自外部中断控制器向量号来自外部中断控制器n8088通常需要配合中断控制器通常需要配合中断控制器8259A共同处理可共同处理可屏蔽中断屏蔽中断n可屏蔽中断主要用于主机与外设交换数据可屏蔽中断主要用于主机与外
9、设交换数据IF控制可屏蔽中断的响应控制可屏蔽中断的响应中断标志IF的状态nIF0:可屏蔽中断不会被响应:可屏蔽中断不会被响应n关中断、禁止中断、中断屏蔽关中断、禁止中断、中断屏蔽n系统复位,使系统复位,使IF0n任何一个中断被响应,使任何一个中断被响应,使IF0n执行指令执行指令CLI,使,使IF0nIF1:可屏蔽中断会被响应:可屏蔽中断会被响应n开中断、允许中断、中断开放开中断、允许中断、中断开放n执行指令执行指令STI,使,使IF1n执行指令执行指令IRET恢复原恢复原IF状态状态明确明确IF标志的状态是关键标志的状态是关键8.1.2 8088的中断响应过程NMIN软件中断软件中断INTR
10、TF=1中断响应周期中断响应周期读中断向量号读中断向量号下条指令下条指令现行指令现行指令IF1NNNNYYYYY查询中断的顺序,查询中断的顺序,决定了各种中断源的优先权决定了各种中断源的优先权n软件中断软件中断n除法错中断除法错中断n指令中断指令中断n溢出中断溢出中断n非屏蔽中断非屏蔽中断n可屏蔽中断可屏蔽中断n单步中断单步中断高高低低8.1.2 8088的中断响应过程(续)Y还有还有NMITEMP1标志寄存器入栈标志寄存器入栈TEMPTF,IFTF0CS:IP入栈入栈获取中断向量获取中断向量执行服务程序执行服务程序弹出弹出CS:IP弹出标志寄存器弹出标志寄存器返回被中断程序返回被中断程序(1
11、)(2)(3)(4)(5)NNY(6)n8088各种中断源的优先权,各种中断源的优先权,实际上是指被识别出来的先后实际上是指被识别出来的先后n多种中断同时请求时,多种中断同时请求时,最先响应的则可能是最先响应的则可能是单步中断或单步中断或NMI中断中断8.1.3 8088的中断向量表n中断向量:中断服务程序的入口地址(首地址)中断向量:中断服务程序的入口地址(首地址)n逻辑地址含有段地址逻辑地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每个中断向量的低字是偏移地址、高字是段地址,每个中断向量的低字是偏移地址、高字是段地址,需占用需占用4个字节个字节n8088微处理器从物理地址微处理
12、器从物理地址000H开始,依次安排各开始,依次安排各个中断向量,向量号也从个中断向量,向量号也从0开始开始n256个中断占用个中断占用1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的的中断向量的物理地址物理地址N48.3 8259A中断控制器nIntel 8259A是可编程中断控制器是可编程中断控制器PICn可用于管理可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断的可屏蔽中断n8259A的基本功能的基本功能n一片一片8259A可以管理可以管理8级中断,可扩展至级中断,可扩展至64级级n每一级中断都可单独被屏蔽或允
13、许每一级中断都可单独被屏蔽或允许n在中断响应周期,可提供相应的中断向量号在中断响应周期,可提供相应的中断向量号n8259A设计有多种工作方式,可通过编程选择设计有多种工作方式,可通过编程选择8.3.1 8259A的内部结构和引脚D7D0INTAINT中断请求寄存器中断请求寄存器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CAS1CAS2SP/EN优先权判别电路优先权判别电路中断服务寄存器中断服务寄存器控制逻辑控制逻辑1. 中断控制n中断请求寄存器中断请求寄存器IRRn保存保存8条外界中断请
14、求信号条外界中断请求信号IR0IR7的请求状态的请求状态nDi位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;为0表示无请求表示无请求n中断服务寄存器中断服务寄存器ISRn保存正在被保存正在被8259A服务着的中断状态服务着的中断状态nDi位为位为1表示表示IRi中断正在服务中;为中断正在服务中;为0表示没有被服务表示没有被服务n中断屏蔽寄存器中断屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许2. 与处理器接口 A0 RD* WR* CS*功能功能 0 1 0
15、0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1写入写入ICW1、OCW2和和OCW3写入写入ICW2ICW4和和OCW1读出读出IRR、ISR和查询字和查询字读出读出IMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态3. 中断级连n一个系统中,一个系统中,8259A可以级连,有一个主可以级连,有一个主8259A,若干个(最多若干个(最多8个)从个)从8259An级连时,主级连时,主8259A的三条级连线的三条级连线CAS0CAS2作作为输出线,连至每个从为输出线,连至每个从8259A的的CAS0CAS2n每个从每个从8259A的中断请求信号的中断请求信号
16、INT,连至主,连至主8259A的一个中断请求输入端的一个中断请求输入端IRn主主8259A的的INT线连至线连至CPU的中断请求输入端的中断请求输入端nSP*/EN*在非缓冲方式下,规定该在非缓冲方式下,规定该8259A是主片是主片(SP*1)还是从片()还是从片(SP*0)动画动画示例示例8.3.2 8259A的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第一个周期第一个周期T1 T2 T3 T4ALECLK 第二个周期第二个周期T1 T2 T3 T4第一个前保持为高电平第一个前保持为高电平 INTALOCK动画动画8.3.3
17、 8259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束中断处理方式屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式1. 设置优先
18、权方式n普通全嵌套方式普通全嵌套方式n8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为IR0、IR1、IR2、IR7n中断请求后,中断请求后,8259A对对当前请求中断中优先权最高的当前请求中断中优先权最高的中断中断IRi予以予以响应响应,将其向量号送上数据总线,对应,将其向量号送上数据总线,对应ISR的的Di位置位,直到中断结束(位置位,直到中断结束(ISR的的Di位复位)位复位)n在在ISR的的Di位置位期间,位置位期间,禁止再发生同级和低级优先权禁止再发生同级和低级优先权的中断的中断,但允许高级优先权中断的嵌套,但允许高级优先权中断的嵌套n特殊全
19、嵌套方式特殊全嵌套方式n优先权自动循环方式优先权自动循环方式n优先权特殊循环方式优先权特殊循环方式2. 结束中断处理方式什么是什么是8259A的中断结束?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断服务;,表示正在进行中断服务;n该位为该位为0,就是该中断结束服务。,就是该中断结束服务。这里说明如何使这里说明如何使ISR某位为某位为0,不反映不反映CPU的工作状态。的工作状态。2. 结束中断处理方式n自动中断结束方式自动中断结束方式n普通中断结束方式普通中断结束方式n配合全嵌套优先权方式使用配合全嵌套优先权方式使用n当当CPU用
20、输出指令往用输出指令往8259A发出普通中断结束发出普通中断结束EOI命令命令时,时,8259A就会把所有正在服务的中就会把所有正在服务的中断中优先权最高的断中优先权最高的ISR位复位位复位n特殊中断结束方式特殊中断结束方式n配合循环优先权方式使用配合循环优先权方式使用nCPU在程序中向在程序中向8259A发送一条特殊中断结束发送一条特殊中断结束命令,这个命令中指出了要清除哪个命令,这个命令中指出了要清除哪个ISR位位3. 屏蔽中断源方式n普通屏蔽方式普通屏蔽方式n将将IMR的的Di位置位置1,则对应的中断,则对应的中断IRi被屏被屏蔽蔽,该中断请求不能从,该中断请求不能从8259A送到送到C
21、PUn如果如果IMR的的Di位置位置0,则允许,则允许IRi中断产生中断产生n特殊屏蔽方式特殊屏蔽方式n将将IMR的的Di位置位置1,对应的中断,对应的中断IRi被屏蔽被屏蔽的同时,使的同时,使ISR的的Di位置位置04. 中断触发方式n边沿触发方式边沿触发方式n8259A将中断请求输入端出现的将中断请求输入端出现的上升沿作为中断请求信号上升沿作为中断请求信号n电平触发方式电平触发方式n中断请求端出现的高电平是有中断请求端出现的高电平是有效的中断请求信号效的中断请求信号5. 数据线连接方式n缓冲方式缓冲方式n8259A的数据线需加缓冲器予以驱动的数据线需加缓冲器予以驱动n8259A把把SP*/
22、EN*引脚作为输出端,输出允引脚作为输出端,输出允许信号,用以锁存或开启缓冲器许信号,用以锁存或开启缓冲器n非缓冲方式非缓冲方式nSP*/EN*引脚为输入端引脚为输入端n若若8259A级连,由其确定是主片或从片级连,由其确定是主片或从片 8.3.4 8259A的编程n初始化编程初始化编程n8259A开始工作前,必须进行初始化编程开始工作前,必须进行初始化编程n给给8259A写入写入初始化命令字初始化命令字ICWn中断操作编程中断操作编程n在在8259A工作期间工作期间n可以写入可以写入操作命令字操作命令字OCW将选定的操作传将选定的操作传送给送给8259A,使之按新的要求工作,使之按新的要求工
23、作n还可以读取还可以读取8259A的信息,以便了解他的的信息,以便了解他的工作状态工作状态1. 初始化命令字ICWn初始化命令字初始化命令字ICW最多有最多有4个个n8259A在开始工作前必须写入在开始工作前必须写入n必须按照必须按照ICW1ICW4顺序写入顺序写入nICW1和和ICW2是必须送的是必须送的nICW3和和ICW4由工作方式决定由工作方式决定D7D6D5D4D3D2D1D0ICW11LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0) 1只能为只能为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,
24、电平触发方式,电平触发方式LTIM0,边沿触发方式,边沿触发方式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不写入,不写入ICW4,即,即ICW4规定的位全为规定的位全为0ICW2T7T6T5T4T3D7D6D5D4D3D2D1D0设置中断向量号设置中断向量号nT7T3为中断向量号的高为中断向量号的高5位位n低低3位由位由8259A自动确定:自动确定:nIR0为为000、IR1为为001、IR7为为111ICW3S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7
25、D6D5D4D3D2D1D0级连命令字级连命令字n主片主片8259A:Si1对应对应IRi接有从片;接有从片;否则否则IRi没有连接从片没有连接从片n从片从片8259A:ID0ID2编码说明从片编码说明从片INT引脚接到主片哪个引脚接到主片哪个IR引脚引脚ICW4000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)数据线的缓冲方式:数据线的缓冲方式:n缓冲方式(缓冲方式(BUF1)n非缓冲方式(非缓冲方式(BUF0) 主片主片/从片选择:从片选择:n主片(主片(M/
26、S=1)n从片(从片(M/S=0)中断结束方式:中断结束方式:n自动中断结束(自动中断结束(AEOI1)n非自动中断结束(非自动中断结束(AEOI0)微处理器类型:微处理器类型:n16位位80 x86( PM1)n8位位8080/8085( PM0)流程流程2. 操作命令字OCWn8259A工作期间,可以随时接受操作命工作期间,可以随时接受操作命令字令字OCWnOCW共有共有3个:个:OCW1OCW3n写入时没有顺序要求,需要哪个写入时没有顺序要求,需要哪个OCW就写入那个就写入那个OCWD7D6D5D4D3D2D1D0OCW1M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏
27、蔽命令字屏蔽命令字内容写入中断屏蔽寄存器内容写入中断屏蔽寄存器IMRDiMi对应对应IRi,为,为1禁止禁止IRi中断;中断;为为0允许允许IRi中断。各位互相独立。中断。各位互相独立。OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用产生中断结束产生中断结束EOI命命令和改变优先权顺序令和改变优先权顺序L2L0的的3位编码位编码指定指定IR引脚引脚 OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式设置中断屏蔽方式P、RR和和RIS规定随后读取的规定随后读取的状态字状态字含义含义3. 读
28、取状态字nCPU可读出可读出IRR、ISR、IMR和查询字和查询字nA0为低,由为低,由OCW3中中RR和和RIS位设定读位设定读取取IRR或或ISR,由,由OCW3中中P位设定读取位设定读取查询字查询字n而而A0引脚为高电平时读取的都是引脚为高电平时读取的都是IMRn查询字反映查询字反映8259A是否有中断请求是否有中断请求D7D6D5D4D3D2D1D0查询字IW2W1W0D7D6D5D4D3D2D1D0中断位中断位I位为位为1,有外设请求中断有外设请求中断W2W0的编码的编码当前中断请求的当前中断请求的最高优先级最高优先级4. 命令字和状态字的区别方法 利用读写信号区别写入的控制寄存器和
29、利用读写信号区别写入的控制寄存器和读出的状态寄存器读出的状态寄存器 利用地址信号区别不同利用地址信号区别不同I/O地址的寄存器地址的寄存器 由控制字中的标志位说明是哪个寄存器由控制字中的标志位说明是哪个寄存器 由芯片内顺序控制逻辑按一定顺序识别由芯片内顺序控制逻辑按一定顺序识别不同的寄存器不同的寄存器 由前面的控制字决定后续操作的寄存器由前面的控制字决定后续操作的寄存器接口电路中常用的方法接口电路中常用的方法8.4 8259A在IBM PC系列机上的应用应用注意事项n利用上升沿做为中断请求利用上升沿做为中断请求IRQ的有效信号的有效信号nIRQ0IRQ7的中断向量号依次为的中断向量号依次为08
30、H0FH,IRQ8IRQ15依次为依次为70H77Hn采用普通全嵌套优先权方式,中断优先权从高到采用普通全嵌套优先权方式,中断优先权从高到低顺序为低顺序为IRQ0IRQ2、IRQ8IRQ15、IRQ3IRQ7,且不能改变,且不能改变n采用普通中断结束采用普通中断结束EOI方式,需要在中断服务程方式,需要在中断服务程序最后发送普通序最后发送普通EOI命令命令n一般采用普通屏蔽方式,通过写入一般采用普通屏蔽方式,通过写入IMR允许中断,允许中断,但注意不要破坏原屏蔽状态但注意不要破坏原屏蔽状态初始化主片8259Amov al,11h;写入写入ICW1out 20h,aljmp intr1intr1
31、:mov al,08h;写入写入ICW2out 21h,aljmp intr2intr2:mov al,04h;写入写入ICW3out 21h,aljmp intr3intr3:mov al,05h;写入写入ICW4out 21h,al中断控制器的初始化程序段初始化从片8259Amov al,11h;写入写入ICW1out 0a0h,aljmp intr5intr5:mov al,70h;写入写入ICW2out 0a1h,aljmp intr6intr6:mov al,02h;写入写入ICW3out 0a1h,aljmp intr7intr7:mov al, 01h;写入写入ICW4out 0
32、a1h,al中断控制器的初始化程序段8.5 外部中断服务程序编写外部可屏蔽中断服务程序步骤:编写外部可屏蔽中断服务程序步骤:n设置中断向量设置中断向量n设置中断寄存器设置中断寄存器n等待中断等待中断n进入中断服务程序进入中断服务程序n退出中断服务程序退出中断服务程序n恢复中断寄存器恢复中断寄存器例题8.2 可屏蔽中断服务程序n8259A的的IRQ7(向量号为(向量号为0FH)中断请求)中断请求来自外部的按钮,按动一次产生一次中断来自外部的按钮,按动一次产生一次中断n每次响应外部中断每次响应外部中断IRQ7时,显示字符时,显示字符“7”,中断中断10次后,程序退出次后,程序退出设置中断向量 MO
33、V AX,OFFSET SERVICE MOV 003C,AX MOV AX,SEG SERVICE MOV 003E,AX例8.2设置中断寄存器 CLI IN AL,21H AND AL,7FH OUT 21H,AL例8.2循环等待中断例8.2 MOV CX,10L1: CMP CX,0 JZL2 STI JMP L1 SERVICE PROC MOV AX,0137H INT 10H DEC CX 例8.2进入中断服务程序退出中断服务程序 MOV AL,20H OUT 20H,AL CLI IRET SERVICE ENDP例8.2主程序结束例8.2L2: IN AL,21H OR AL,
34、80H OUT 21H,AL STI HLT例题 可屏蔽中断服务程序n利用利用PC系统的系统的IRQ2中断输入端,输入一个中断请求中断输入端,输入一个中断请求信号,该信号由外部事件产生,要求每中断一次,信号,该信号由外部事件产生,要求每中断一次,CPU响应后在响应后在CRT上显示字符串上显示字符串“This is a interrupt!”,中断中断10次后返回次后返回DOS。n设设8259的端口地址为的端口地址为20H和和21H,中断类型码为,中断类型码为08H0FH,则,则IRQ2的中断类型码是的中断类型码是0AH,对,对8259初初始化为:边沿触发、普通屏蔽、非特殊全嵌套、非自始化为:边
35、沿触发、普通屏蔽、非特殊全嵌套、非自动中断结束、固定优先级、非缓冲方式。动中断结束、固定优先级、非缓冲方式。数据定义 Data Segment Message db This is a interrupt!,0dh,0ah,$ Data ends Code Segment assume cs:code,ds:dataStart: mov ax,data mov ds,ax例8.2初始化8259 MOV AL,13H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,09H OUT 21H,AL例8.2设置中断向量 MOV AX,OFFSET SERVICE MOV
36、 0028H,AX MOV AX,SEG SERVICE MOV 002A,AX例8.2设置中断寄存器 CLI IN AL,21H AND AL,0FBH OUT 21H,AL例8.2循环等待中断例8.2 MOV CX,10L1: CMP CX,0 JZL2 STI JMP L1 SERVICE PROC MOV AH, 09H MOV DX, OFFSET Message INT 21H DEC CX 例8.2进入中断服务程序退出中断服务程序 MOV AL,20H OUT 20H,AL CLI IRET SERVICE ENDP例8.2主程序结束例8.2L2: IN AL,21H OR AL,04H OUT 21H,AL STI HLT8.5 外部中断服务程序编写外部可屏蔽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下一代互联网建设行业当前市场规模及未来五到十年发展趋势报告
- 2025年半导体硅片、外延片行业当前发展趋势与投资机遇洞察报告
- 2025年丽水市遂昌县中考冲刺卷数学试题含解析
- 操作规程制定流程课件
- 2025年3月时事政治试题及答案
- (2025)义务教育语文新课程标准考试测试题库及参考答案
- 2025年四川省攀枝花市医疗三严三基理论考试试题及答案
- 2025医师合理用药考核试题及答案
- 2025年桥梁隧道工岗位职业技能资格知识考试题与答案
- 项目技术管理试题及答案
- 食品经营安全管理制度目录
- 《不孕症》教案课件
- 【家庭教育对幼儿性格形成的影响探究11000字(论文)】
- 《电化学原理与应用》课程教学大纲
- 幼小衔接数学试卷每日一练可打印(17套)
- 漫画行业分析报告
- JC-T 507-2022 建筑装饰用水磨石
- (对外)出租车驾驶员安全行车常识培训课件
- 《房产交易税费计算》课件
- 2023年地质矿产勘测行业技能鉴定考试-地勘钻探工考考试历年高频核心考点选编附答案
- 初中1600个必背单词带英标
评论
0/150
提交评论