收藏 分销(赏)

微机原理与接口技术第8章2(8259A).ppt

上传人:天**** 文档编号:1891864 上传时间:2024-05-11 格式:PPT 页数:63 大小:412.50KB
下载 相关 举报
微机原理与接口技术第8章2(8259A).ppt_第1页
第1页 / 共63页
微机原理与接口技术第8章2(8259A).ppt_第2页
第2页 / 共63页
微机原理与接口技术第8章2(8259A).ppt_第3页
第3页 / 共63页
微机原理与接口技术第8章2(8259A).ppt_第4页
第4页 / 共63页
微机原理与接口技术第8章2(8259A).ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、8.5 中断控制器Intel 8259A8.5.1 功能功能nIntel 8259A是是可可编编程程中中断断控控制制器器(管管理理)PIC,配配合合CPU(I8080/85、I8086/88/286/386等等)管理可屏蔽中断管理可屏蔽中断n中断优先权管理中断优先权管理n中断屏蔽管理中断屏蔽管理n中断结束管理中断结束管理.8259An8259A8259A特点特点:n1片片8259A可可以以管管理理8级级中中断断,经经级级连连最最多多可可扩扩展展至至64级级n每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许n在在中中断断响响应应周周期期,可可提提供供相相应应的的调调用用指指令令(配配

2、合合I8080/85)或或 中中 断断 向向 量量 号号(配配 合合I8086/88/286/386)n8259A设设计计有有多多种种工工作作方方式式,通通过过初初始始化化编编程程进进行设置行设置.8.5.2 8259的结构及引脚D7D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优优先先权权判判别别电电路路中中断断服服务务寄寄存存器器控制逻辑控制逻辑.8259的内部结构n中断请求寄存器中断请求寄存器IRRn保存保存8条外

3、界中断请求信号条外界中断请求信号IR0IR7的请求状态的请求状态nDi位为位为1表示表示IRi引脚有中断请求;为引脚有中断请求;为0表示无请求表示无请求n中断服务寄存器中断服务寄存器ISRn保存正在被保存正在被8259A服务着的中断状态服务着的中断状态nDi位为位为1表示表示IRi中断正在服务中;为中断正在服务中;为0表示没有被服务表示没有被服务n中断屏蔽寄存器中断屏蔽寄存器IMRn保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态nDi位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许8259占用两个端口地址占用两个端口地址A0=1、0(奇地址、

4、偶地址)(奇地址、偶地址)P323图图7-11 8259与系统总线的连接。与系统总线的连接。.中断级连n8259A可以可以级连级连,1个个主片主片最多可以级连最多可以级连8个个从片从片n级级连连时时,主主片片的的级级连连线线CAS0CAS2连连至至每每个个从从片的片的CAS0CAS2,输出被选中的从片编号输出被选中的从片编号,n每每个个从从片片的的中中断断请请求求信信号号 INT,连连至至主主8259A的的一一个个中中断断请请求求输输入入端端IRi;主主片片的的 INT 线线连连至至CPU的中断请求输入端的中断请求输入端INTRn在在非非缓缓冲冲方方式式下下,引引脚脚SP/EN,通通过过接接地

5、地指指定定该该片片充充当当从从片片(-SP0);反反之之若若接接高高电电平平则则该该片片充当主片(充当主片(-SP1)。)。.8259A的中断过程CAS0CAS2D0D7SP/ENIR0IR7CPU响应周期响应周期8259A工作波形工作波形INT第第1个总线周期个总线周期T1 T2 T3 T4ALECLK 第第2个总线周期个总线周期T1 T2 T3 T4第第1个个-INTA前保持高电平前保持高电平 INTALOCK中断向量主片输出级联信号从片接收.8259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定

6、方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断方式结束中断方式中断屏蔽方式中断屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式与与CPU配合方式配合方式与与8080/8085 CPU配合配合与与8086/8088 CPU配合配合级连方式级连方式级连级连不级连不级连.1.与CPU的配合方式n与与8080

7、/8085 CPU配配合合 中中断断响响应应时时,INTA信信号号3个个机机器器周周期期有有效效,8259A送送CALL XXXXH指指令令(3个个字字节节)的的机机器器代代码码到数据总线到数据总线;n与与8086/8088 CPU配配合合中中断断响响应应时时,INTA信信号号2个个总总线线周周期期有效有效,8259A送相应的送相应的中断向量号中断向量号(1个字节)到数据总线。个字节)到数据总线。8080/85 CPU8259A8086/88CPU8259ACALL XXXXH中断向量号中断向量号INTAINTRINTAINTR.2.级连方式n不级连不级连只用只用1片,如片,如 PC/XTn级

8、连级连使用使用29片,如片,如 PC/AT(2片)片)INTAINTRIR0IR7IR7IR0CAS0CAS2=010INTINTD0D7.3.设置优先权方式n普通全嵌套方式普通全嵌套方式n8259A的中断的中断优先权顺序固定不变优先权顺序固定不变,从高到低依次为,从高到低依次为:IR0、IR1、IR2、IR7n中中断断请请求求后后,8259A对对当当前前请请求求中中断断中中优优先先权权最最高高的的中中断断 IRi 予予以以响响应应,将将其其向向量量号号送送上上数数据据总总线线,对对应应ISR的的 Di位位置置位位,至至到到中中断断结束(结束(ISR的的 Di 位复位)位复位)n在在ISR的的

9、 Di 位位置置位位期期间间,禁禁止止再再发发生生同同级级和和低低级级优优先先权权的的中中断断,但但允许高级优先权中断的嵌套允许高级优先权中断的嵌套n特殊全嵌套方式特殊全嵌套方式允许同级中断嵌套(用于级连主片)允许同级中断嵌套(用于级连主片)P331n优优先先权权自自动动循循环环方方式式最最高高优优先先权权自自动动转转移移到到相相邻邻的的低低优优先先级级中断源中断源(P332),如如IR3被响应后,被响应后,IR3最低,最低,IR4最高。最高。n优优先先权权特特殊殊循循环环方方式式优优先先权权由由OCW2设设置置哪哪个个IR最最低低,其其他他的随之确定。的随之确定。.中断结束字n什么是什么是8

10、259A的的中断结束字中断结束字(EOI)?)?n8259A判断中断服务寄存器判断中断服务寄存器ISR的状态:的状态:n若若某某位位为为1,表表示示该该中中断断源源正正在在得得到到服服务务;一一般般情情况况下下,将将不不再再响响应应同同级级或或低低级级的的中中断断(采采用用特特殊殊屏屏蔽蔽方方式式时时,可响应低级别的中断)可响应低级别的中断)n若若某某位位为为0,表表示示该该中中断断服服务务已已结结束束,可可响响应应低低级级级级别别中断。中断。n用指令向用指令向8259A送中断结束字,可以使送中断结束字,可以使ISR的某位清的某位清0n该操作与该操作与CPU无关。无关。.4.结束中断处理方式自

11、自动动中中断断结结束束方方式式 中中断断响响应应后后自自动动送送结结束束字字,清清0 ISR中当前优先级最高的中断服务标志。中当前优先级最高的中断服务标志。非非自自动动中中断断结结束束方方式式中中断断结结束束时时用用户户必必须须用用指令送结束字,分特殊和非特殊两种。指令送结束字,分特殊和非特殊两种。非特殊配合全嵌套优先权方式使用,清非特殊配合全嵌套优先权方式使用,清ISR中相应位中相应位当当CPU用用输输出出指指令令往往8259A发发出出普普通通中中断断结结束束EOI命命令令时时,8259A就就会会对对ISR中中当当前前优优先先级级最最高高的的中中断断服服务务标标志清志清0 特殊中断结束配合特

12、殊全嵌套(循环优先权)方式特殊中断结束配合特殊全嵌套(循环优先权)方式中中断断结结束束时时用用户户用用指指令令送送特特定定的的结结束束字字,指指明明要要清清除除ISR中的哪一位。中的哪一位。.5.屏蔽中断源方式 P331n普通屏蔽方式普通屏蔽方式n将将 IMR的的 Di 位位置置1,对对应应的的中中断断 IRi 将将被被屏屏蔽蔽,该中断请求将不能从该中断请求将不能从8259A送到送到CPUn如果将如果将 IMR 的的 Di位置位置0,则允许,则允许对应的对应的中断产生中断产生n特特殊殊屏屏蔽蔽方方式式允允许许发发生生低低级级的的中中断断嵌嵌套套,用于级连时的主片。用于级连时的主片。n将将IMR

13、的的 Di 位位置置1,中中断断IRi被被屏屏蔽蔽;同同时时,ISR的的Di位将置位将置0,允许发生低级的中断。允许发生低级的中断。.6.中断触发方式n边沿触发方式边沿触发方式n中中断断请请求求输输入入端端出出现现上上升升沿沿为为有有效的中断请求信号效的中断请求信号n电平触发方式电平触发方式n中中断断请请求求端端出出现现高高电电平平为为有有效效的的中断请求信号中断请求信号.7.数据线连接方式n缓冲方式缓冲方式n对对8259A的的数数据据线线(输输出出中中断断向向量量)加加缓缓冲冲器器予予以以隔离和驱动隔离和驱动nSP/EN引引脚脚作作为为输输出出端端,输输出出允允许许信信号号,用用以以关关闭闭

14、或开启缓冲器或开启缓冲器n非缓冲方式非缓冲方式nSP/EN引脚作为引脚作为输入端输入端n在在8259A级连时,用它选择该芯片充当主片或从片级连时,用它选择该芯片充当主片或从片.8.5.5 8259A的编程 P253n初始化编程初始化编程n8259A开始工作前写入,共有开始工作前写入,共有ICW1-ICW4。n用用户户必必须须对对8259A进进行行初初始始化化编编程程。通通过过写写入入初初始始化化命命令令字字ICW对对8259A进行初始化。进行初始化。n操作编程操作编程n在在8259A工作期间写入,共有工作期间写入,共有OCW1OCW3。n可可以以随随时时向向8259A写写入入操操作作命命令令字

15、字OCW,使使之之按按用用户户设设置的新的工作方式进行工作置的新的工作方式进行工作n用用户户还还可可以以通通过过写写操操作作命命令令字字OCW通通知知8259A,下下面面的的操作要读取操作要读取8259A中的状态信息,以便了解其工作情况中的状态信息,以便了解其工作情况.1.初始化命令字ICWn8259A在开始工作前必须写入初始化命令字在开始工作前必须写入初始化命令字n初始化命令字初始化命令字ICW最多可以有最多可以有4个:个:ICW1ICW4n必须按照以上顺序必须按照以上顺序依次依次写入写入n其中其中 ICW1 和和 ICW2 是必须的是必须的nICW3和和ICW4是否需要,由具体的工作方式决

16、定是否需要,由具体的工作方式决定流程流程.ICW1 写入偶地址1LTIMSNGLIC4D7D6D5D4D3D2D1D0表示可以任意表示可以任意为为1为为0都可以(建议为都可以(建议为0)1只能为只能为1,作为标志,作为标志中断触发方式:中断触发方式:LTIM1,电平触发方式,电平触发方式LTIM0,边沿触发方式,边沿触发方式 规定单片或级连方式:规定单片或级连方式:SNGL1,单片方式,单片方式SNGL0,级连方式,级连方式是否写入是否写入ICW4IC41,要写入,要写入ICW4IC40,不不写写入入ICW4,即即ICW4规定的位全为规定的位全为0.ICW2 写入奇地址T7T6T5T4T3D7

17、D6D5D4D3D2D1D0设置中断向量号设置中断向量号nT7T3为中断向量号的高为中断向量号的高5位位n低低3位由位由8259A自动确定:自动确定:nIR0为为000、IR1为为001、IR7为为111.ICW3 写入奇地址S7S6S5S4S3S2ID2S1ID1S0ID0D7D6D5D4D3D2D1D0级连命令字级连命令字n主主片片:Si1,说说明明其其对对应应引引脚脚IRi 上上连连接接有有从片;否则引脚从片;否则引脚IRi上上没有连接从片没有连接从片n从从片片:ID0ID2 编编码码说说明明该该从从片片的的INT引引脚脚接到了主片上的哪个接到了主片上的哪个IRi引脚引脚针对从片针对从片

18、针对主片针对主片.ICW4 写入奇地址000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:特殊全嵌套方式(特殊全嵌套方式(SFNM1)普通全嵌套方式(普通全嵌套方式(SFNM0)数据线的缓冲方式:数据线的缓冲方式:缓冲方式(缓冲方式(BUF1)非缓冲方式(非缓冲方式(BUF0)主片主片/从片选择:从片选择:主片(主片(M/S=1)从片(从片(M/S=0)中断结束方式:中断结束方式:自动中断结束(自动中断结束(AEOI1)非自动中断结束(非自动中断结束(AEOI0)微处理器类型:微处理器类型:16位位80 x86(PM1)8位位8080/8085(PM0).

19、初始化主片8259Amov al,11h;写入写入ICW1out 20h,alintr1:mov al,08h;写入写入ICW2out 21h,alintr2:mov al,04h;写入写入ICW3out 21h,alintr3:mov al,1h;写入写入ICW4out 21h,al中断控制器的初始化程序段PC机上机上8259地址:地址:20h-21h.初始化从片8259Amov al,11h;写入写入ICW1out 0a0h,alintr5:mov al,70h;写入写入ICW2out 0a1h,alintr6:mov al,02h;写入写入ICW3out 0a1h,alintr7:mov

20、 al,01h;写入写入ICW4out 0a1h,al中断控制器的初始化程序段该题中该题中8259的两个地址:的两个地址:0a0h、0a1h.2.操作命令字OCWn8259A工工作作期期间间,可可以以随随时时接接受受操操作作命命令令字字OCWnOCW共有共有3个:个:OCW1OCW3n写写入入时时没没有有顺顺序序要要求求,需需要要哪哪个个OCW就就写写入入那个那个OCW.OCW1 写入奇地址M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字n其内容将写入中断屏蔽寄存器其内容将写入中断屏蔽寄存器IMRnMi=1,则禁止对应则禁止对应IRi中断;中断;nMi=0,

21、则允许对应则允许对应IRi中断。中断。n各位互相独立。各位互相独立。.OCW2 写入偶地址RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使用配合使用产产生生中中断断结结束束EOI命命令令和和改改变优先权顺序变优先权顺序L2L0的的3位编码位编码指定指定IR引脚引脚.OCW3 写入偶地址0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式设置中断屏蔽方式P、RR和和RIS规规定定随随后后读读取取的的状状态字态字含义含义.3.读取状态字nCPU可随时读出可随时读出IRR、ISR、IMR和和查询字查询字nA0为低(偶地址

22、)时为低(偶地址)时n由由OCW3中中RR和和RIS位位编编码码决决定定读读取取的的是是IRR或或ISR,n由由OCW3中中P位位决决定定读读取取的的是是查查询询字字,查查询询字字可可反反映映8259A是是否否有有中中断断请请求求,及及哪哪个个引引脚脚上上有有中中断断请请求求nA0为高(奇地址)时,读取的是为高(奇地址)时,读取的是IMR.查询字:在OCW3的D2位P为1后的下一个读命令,查询为外设服务 (P330)IW2W1W0D7D6D5D4D3D2D1D0中断位中断位I位为位为1,有外设请求中断有外设请求中断W2W0的编码的编码当当前前中中断断请请求求的的最最高优先级高优先级.8259A

23、的端口 CS A0 RD WR功能功能 0 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 1 写入写入ICW1、OCW2和和OCW3写入写入ICW2ICW4和和OCW1读出读出IRR、ISR和查询字和查询字读出读出IMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态.4.命令字和状态字的区别方法 利利用用读读写写信信号号区区别别写写入入的的控控制制寄寄存存器器和和读读出出的的状态寄存器状态寄存器 利用利用地址信号地址信号区别不同区别不同I/O地址的寄存器地址的寄存器 由由控制字中的控制字中的标志位标志位说明是哪个寄存器说明是哪个寄存器 由由芯芯片片内

24、内顺顺序序控控制制逻逻辑辑按按一一定定顺顺序序识识别别不不同同的的寄存器寄存器 由由前前面面的的控控制制字字(引引导导字字)决决定定后后续续操操作作的的寄寄存器存器接口电路中常用的方法接口电路中常用的方法.8259A在IBM PC系列机上的应用CAS0CAS2 主主8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0-INTR CS IRQ8 IRQ9 IRQ10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS系统总线系统总线B4D3D4D5D6D7INTARDWR对比对比8259A在在IBM

25、PC/AT机的应用机的应用8259A在在IBM PC/XT机上的应用机上的应用+5V.8259A在IBM PC/AT上的应用CAS02CAS02+5V主主8259A80286 CPUINTRD0D7SP/ENINTD0D7日时钟日时钟键盘键盘串行口串行口2串行口串行口1并行口并行口2软盘软盘并行口并行口1A0-INTR1 CS IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7 A0 CS 从从8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0-INTR2 CS IRQ8 IRQ9 IRQ

26、10 IRQ11 IRQ12 IRQ13 IRQ14 IRQ15 A0 CS系统总线系统总线B25B24B23B22B21系统总线系统总线B4D3D4D5D6D7INTARDWRINTAIORIOWINTARDWR-S0-S282288.PC机中8259A应用注意事项n利用利用上升沿上升沿做为中断请求做为中断请求IRQ的有效信号的有效信号nIRQ0IRQ7中断向量号依次为中断向量号依次为08H0FHnIRQ8IRQ15中中断断向向量量号号依依次次为为70H77H(PC/AT机)机)n采采用用普普通通全全嵌嵌套套优优先先权权方方式式,中中断断优优先先权权从从高高到到低低顺顺序序为为IRQ0IRQ

27、2、IRQ8IRQ15(级级连连从从片片)、IRQ3IRQ7,且不能改变,且不能改变n采采用用普普通通中中断断结结束束EOI方方式式,需需在在中中断断服服务务程程序序最最后发送普通后发送普通EOI命令命令n一一般般采采用用普普通通屏屏蔽蔽方方式式,通通过过写写IMR相相应应位位为为0允允许中断,应注意不要破坏原屏蔽状态。许中断,应注意不要破坏原屏蔽状态。.8.6 IBM PC/XT的中断结构n略略.第8章教学要求1.掌掌握握中中断断的的基基本本概概念念。(中中断断、CPU响响应应中中断断的的条条件件、CPU响响应应中中断断的的过过程程、中中断断优优先先权权)。表表2.掌掌握握8088的的中中断

28、断类类型型、中中断断响响应应过过程程、中中断断向向量表。量表。3.掌掌握握8259的的功功能能、特特点点。理理解解8259A的的内内部部结结构、寄存器作用、中断过程、命令字。构、寄存器作用、中断过程、命令字。4.掌掌握握8259A的的普普通通全全嵌嵌套套优优先先权权、普普通通中中断断结结束、边沿触发方式束、边沿触发方式5、熟悉内部、外部中断服务程序的编写。、熟悉内部、外部中断服务程序的编写。.P263 习题n8.1 8.2 8.3 8.4 8.6 8.7 8.10 8.11 8.12 8.15 8.17 8.18 8.21 8.22 8.23 8.28 8.31.外部中断服务程序n编写外部可屏

29、蔽中断服务程序,需注意:编写外部可屏蔽中断服务程序,需注意:n中中断断服服务务结结束束时时应应向向8259发发送送中中断断结结束束命命令令EOI(OCW2)n一般只能采用一般只能采用存储单元存储单元来来传递参数传递参数n不不能能使使用用DOS系系统统功功能能调调用用(DOS为为单单用用户户单单任务操作系统,不能重入)任务操作系统,不能重入)n中中断断服服务务程程序序要要尽尽量量短短小小,以以免免影影响响系系统统的的实实时性时性.外部中断服务程序(续)n编写主程序,需注意:编写主程序,需注意:n修改中断向量修改中断向量n控制控制CPU的中断允许标志的中断允许标志n设置设置8259A的中断屏蔽寄存

30、器的中断屏蔽寄存器.例题:可屏蔽中断服务程序n在在PC机中:机中:n8259A的的IRQ0(向向量量号号为为08H)中中断断请请求求来来自自定时器定时器8253,每隔,每隔55ms产生一次定时中断产生一次定时中断n该该例例的的 08H 号号中中断断服服务务程程序序将将显显示示一一个个字字符符串串,10次中断共显示次中断共显示10个字符串个字符串n用用内内存存单单元元(共共享享变变量量)在在主主程程序序与与外外部部中中断断服务程序之间传递参数:服务程序之间传递参数:中断发生的次数中断发生的次数n显示信息安排在共同的数据段中显示信息安排在共同的数据段中.数据段intmsgdb A 8259A In

31、terrupt!db 0dh,0ah,0counterdb 0例.保存中断向量mov ax,35 08hint 21hpush bx;保存偏移地址保存偏移地址push es;保存段基地址保存段基地址例.设置中断向量clipush ds ;保护保护dsmov dx,offset new08h ;中断入口地址中断入口地址mov ax,seg new08hmov ds,axmov ax,25 08hint 21hpop ds ;恢复恢复ds例.设置中断寄存器in al,21h ;读读IMRpush axand al,0feh ;允许允许IRQ0(接(接8253)out 21h,almov count

32、er,0 ;设置中断次数初值设置中断次数初值sti ;开中断开中断例.循环等待中断start1:cmp counter,10jb start1;中断中断10次退出次退出例 就在主程序循环当中就在主程序循环当中.new08hprocsti;开中断开中断push ax;保护寄存器保护寄存器push bxpush dsmov ax,datamov ds,ax;设置数据段设置数据段DS例 进入中断服务程序.中断处理inc countermov si,offset intmsg;显示信息显示信息call dpstri例.显示字符串dpstriproc;显示字符串子程序显示字符串子程序push axpus

33、h bxdps1:lodsb;取一字符取一字符cmp al,0;判是否结束标志判是否结束标志jz dps2例.显示字符串(续)mov bx,0mov ah,0ehint 10hjmp dps1dps2:pop bxpop axretdpstriendp例.退出中断服务程序mov al,20h ;送中断结束字送中断结束字out 20h,alpop ds ;恢复寄存器恢复寄存器pop bxpop axiret ;中断返回中断返回new08hendp例.主程序结束clipop axout 21h,alpop dxpop dsmov ax,25 08hint 21hstimov ax,4c00hint

34、 21h例 A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!A 8259A Interrupt!.驻留中断服务程序n内存驻留内存驻留TSR(Terminate and Stay Resident)程序程序n应应用用程程序序运运行行后后仍仍然然保保存存在在主主存存中中,可可以以被被其其他程序调用他程序调用n利用利用DOS功能

35、调用功能调用 31H 代替代替 4CH 终止程序终止程序n小小型型驻驻留留程程序序常常编编写写成成.COM程程序序,但但驻驻留留程程序也可编成序也可编成.EXE程序程序n需需要要驻驻留留内内存存的的程程序序段段要要书书写写在在其其他他代代码码的的前前面面.例题:报时中断驻留服务程序n在在PC机中机中n系统系统 08H 号中断服务程序调用号中断服务程序调用 INT 1CH 指令中断指令中断n每每隔隔55ms调调用用这这个个报报时时中中断断,中中断断65543次次就就是是时时间间过过了了1小时小时n该该例例编编写写驻驻留留内内存存的的 INT 1CH 中中断断服服务务程程序序用用于于整整点点报时,

36、程序功能是每过报时,程序功能是每过1小时显示小时显示1条信息条信息n执行此程序后,该报时中断服务程序将驻留内存执行此程序后,该报时中断服务程序将驻留内存注意:因注意:因 65543=65536+7,假定用,假定用2个字来记个字来记录中断发生的次数,则每经过录中断发生的次数,则每经过1小时有:小时有:高字高字=高字高字+1低字低字=低字低字+7 低字能被低字能被7整除时表示时间为整点整除时表示时间为整点.new1chprocsti ;开中断开中断push si ;保护寄存器保护寄存器push dsmov si,cs ;com程序程序数据和代码共段数据和代码共段mov ds,si ;设置数据段设置

37、数据段DSadd countl,1 ;处理低字处理低字adc counth,0 ;处理高字处理高字例7.3进入中断服务程序.中断处理cmp countl,7 ;低字为低字为7否否jnz n1ch1cmp counth,1 ;高字为高字为1否否jnz n1ch1mov countl,0 ;计满计满1小时小时mov counth,0mov si,offset intmsgcall dpstri例7.365543=65536+7=高字高字1H /低字低字7H.退出中断服务程序n1ch1:pop ds;恢复寄存器恢复寄存器pop siiret;中断返回中断返回countldw 0 ;数据数据count

38、hdw 0intmsgdb One Hour Has Passed!db 0dh,0ah,0new1chendp例7.3One Hour Has Passed!One Hour Has Passed!.显示字符串dpstriproc;显示字符串子程序显示字符串子程序push axpush bxdps1:lodsbcmp al,0jz dps2例7.3.显示字符串(续)mov bx,0mov ah,0ehint 10hjmp dps1dps2:pop bxpop axretdpstriendp例7.3.主程序开始start:mov ax,csmov ds,axmov dx,offset new1

39、chclimov ax,25 1chint 21hstimov dx,offset tsrmsgmov ah,09hint 21h例7.3.主程序结束mov dx,offset start ;计算驻留内存的边界计算驻留内存的边界add dx,15 ;以以“节节”(16B)为单位处理为单位处理mov cl,4shr dx,cladd dx,10h ;加程序段前缀开销加程序段前缀开销256Bmov ax,31 00h ;程序驻留程序驻留int 21htsrmsgdb INT 1CH Program Installed!db 0dh,0ah,$end start例7.3INT 1CH Program Installed!.

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服