【文档说明】可编程中断控制器A课件.ppt,共(73)页,686.024 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45560.html
以下为本文档部分文字说明:
17.5可编程中断控制器8259A8259A的功能8259的引脚与功能结构8259A的中断工作过程8259A的工作方式8259A的编程8259A在IBMPC/XT中的应用举例27.5可编程中断控制器8259A一、功能Intel8259A是可编程中断控制器
,配合80X86CPU管理可屏蔽中断中断优先权的管理中断屏蔽的管理中断结束的管理38259A8259A具体功能:1片8259A可以管理8级中断,经级连最多可扩展至64级每一级中断都可单独被屏蔽或允许在中断响应周期,可提供中断向量
号(配合I8086/88/286/386),或相应的调用指令(配合I8080/85)。8259A有多种工作方式,可通过初始化编程进行设置。4二、8259的引脚与功能结构D7~D0INTAINT中断请求寄存器中断屏蔽寄存器数据总线缓
冲器IR0IR7读/写控制逻辑级联缓冲器/比较器RDWRA0CSCAS0CSA1CAS2SP/EN优先权判别电路中断服务寄存器控制逻辑58259的内部结构1。中断请求寄存器IRR保存8条外界中断请求信号IR0~IR7的请求状态Di位为1
表示IRi引脚有中断请求;为0表示无请求2、中断服务寄存器ISR保存正在被8259A服务着的中断源(或已进入中断处理程序)。Di位为1表示IRi中断正在服务中;为0表示没有被服务3、中断屏蔽寄存器IMR
保存对中断请求信号IRi的屏蔽状态Di位为1表示IRi中断被屏蔽(禁止);为0表示允许8259占用两个端口地址A0=1、0(奇地址、偶地址)。见P252图8-138259A与系统总线的连接65.控制逻辑控制逻辑电路中,有一组初始化命令字Reg:ICW1~ICW4一组操
作命令字Reg:OCW1~OCW3。系统刚开始时,初始化命令字送8259A,以后过程中将保持不变,操作命令则用来在过程中控制中断操作。控制逻辑按编程设定方式管理8259A的全部工作。4.优先权判别电路用来识别和管理各中断请求信号的优先级别。6.数据总线缓冲器——三态缓冲器。8
259A与CPU的数据总线接口77.读/写控制逻辑——完成来自CPU的读写命令,及与片选信号CS与A0(0或1)决定访问片内某个Reg。通过OUT指令WR有效,把命令字写入ICW和OCW.通过IN指令RD有效,将IR
R、ISR或IMR内容通过数据总线读入CPU。8.级联缓冲器/比较器(用于多片8259之间的连接)主—从结构中,作为主设的8259A,CAS2~CAS0是输出线,作为从设的8259A,CAS2~CAS0是
输入线,两者互连。SP/EN——从片编程/缓冲器允许信号线,是个双功能引脚。①缓冲器方式,输出信号,控制缓冲器传送方向。②非缓冲器方式,它是输入信号,用于规定8259A是主(SP=1)还是从(SP=0)。在只有一片8259A的系统中,SP/EN接高电平。8三、82
59A的中断工作过程0010000000000000ISRIRRD0D7D0D700000000IMR优先权电路INTINTACPUINTRINTAD2111092.当外设发出中断请求后,其对外部中断请求的处
理过程如下:①若有IRi=1,则IRR中相应位置1。②若对应IMR中的相应位为0,则8259A向CPUINTR。③若IF=1,则CPU在执行完当前指令后,发第一个INTA8259A④ISR中对应当前最高优先权的位为1,且IRR中相应位清0。⑤CPU发第二个
INTA8259A,8259ADB上送8位的向量号N(即中断类型号,初始化8259A时已设定好)。CPU做:N×4从中断向量表中取出中断服务程序的入口地址。⑥若8259A为AEOI(自动结束中断),则在第二个INTA
尾,ISR中相应的位复位。否则,至中断服务程序结束,发出EOI命令使ISR中相应位复位。8259A的工作过程1.上电后,由CPU执行一段程序对8259初始化(通过输入初始化命令字实现)。完成初始化后,8259A处于就绪状态。CPU进入响应中断的过程,继而执行中断子程序。10
8259A的中断过程CAS0~CAS2D0~D7SP/ENIR0~IR7CPU响应周期8259A工作波形INT第1个总线周期T1T2T3T4ALECLK第2个总线周期T1T2T3T4第1个-INTA前保持高电平INTALOCK中断向量主片输出级联信号从片接收11四、8259A的工作方
式普通全嵌套方式特殊全嵌套方式自动循环方式特殊循环方式优先权固定方式优先权循环方式设置优先权方式普通中断结束方式特殊中断结束方式自动中断结束方式非自动中断结束方式结束中断方式中断屏蔽方式普通屏蔽方式特殊屏蔽方式中断触发方式边沿触发方式电平触发方式数据线连接方式缓冲方式非缓
冲方式与CPU配合方式与8080/8085CPU配合与8086/8088CPU配合级连方式级连不级连121.设置优先权方式普通全嵌套方式——8259A的中断优先权顺序固定不变,从高到低依次为:IR0、IR1、IR2、……IR
7中断请求后,8259A对当前请求中断中优先权最高的中断IRi予以响应,将其向量号送上数据总线,对应ISR的Di位置位,直到中断结束(ISR的Di位复位)在ISR的Di位置位期间,禁止再发生同级和低级优先权的中断,但允许高级优先权中断的嵌套特殊全嵌套方式——允许同
级中断嵌套(用于级连主片)优先权自动循环方式——最高优先权自动转移到相邻的低优先级中断源(P332),如IR3被响应后,IR3最低,IR4最高。优先权特殊循环方式——优先权由OCW2设置哪个IR最低,其他的随之确定。13⑵特殊全嵌套方式(适用于8259级联的情况)级联时,主片须采用特殊的全嵌套
方式。CPU主8259AINT从8259AIR0IR1IR7IR0IR1IR7……特殊全嵌套普通全嵌套⑴普通全嵌套方式——常用方式,又称全嵌套方式,适用于单片8259的情况。特点:和全嵌套方式基本相同,不同的是:在处理某以及中断时,可响应同级中断,从而实现对同级中断请求的特
殊嵌套.14①主片编程为特殊全嵌套方式:当处理一级中断时,如果有同级的中断请求,也会给予响应。否则:当从片8259IR2有中断请求,若主片是普通全嵌套方式,则会屏蔽从片上的IR0、IR1(比IR2优先级高)中断请求。
因为从片上的8个IRi变成了主片的同一级。而特殊全嵌套方式,对来自同一从片的较高优先级请求不会屏蔽。EOI从从ISR是否全为0EOI主NYIRET②在从片的中断处理程序快结束时,应给8259A发EOI(中断结束)命令,方法是:(a
)向从片发EOI;(b)读从片的ISR内容:若为0,表示从片只有一个中断源申请中断,再向主片发一个EOI命令。若不为0,表示从片存在两个以上的中断源在申请中断,则不应发EOI给主片。15(3)优先权循环方式一个系统的优先权比较复杂,所以不能总规定I
R0高…IR7低。8259A设计了两种改变优先权的方法。•特殊循环方式——适用于中断源的优先级需要任意改变的情况通过OCW2命令字设置当前的最低优先级IR5,使得有:IR6IR7IR0…IR5。•自动循环方式——适用于设备的优先权相等情况当一个设备受到中断服务后,它的优先级自动
降到最低,其相邻的中断请求变成最高的。例如:IR0IR1IR2IR3IR4IR5IR6IR7初始高低若IR4有中断请求,处理IR4后,IR5成为最高优先级,优先级次序为:IR5IR6IR7IR0IR1IR2IR3IR4IR4左循环至最低
优先级。162.结束中断处理方式在中断请求得到响应时,ISR中相应位置1,中断服务结束时,必须使这个位复位为0以标识中断处理结束。这个中断结束是指8259结束中断,而不是CPU结束执行中断服务程序。⑵非自动中断结束方式①普通中断
结束方式(EOI)——适用于全嵌套方式当8259A工作在全嵌套方式时,则当前服务过的中断源就是中断优先权最高的源,可以用非特殊(普通)的EOI使它在ISR中的相应位清0。这个命令加在中断服务程序的末尾处。⑴自动中断结束方式(A
EOI)——只能用于不要求中断嵌套的情况在第二个INTA的后沿,8259A自动把ISR的对应位清0。用于系统中只有一片8259A,多个中断不会嵌套的情形。系统一进入中断处理,就将当前中断服务寄存器ISR的对应位清除。对8259A来说,好像已经结束了当前中断。在命令字
ICW4中将AEOI(D1)位置“1”。17不管是普通、还是特殊的中断结束方式,级联系统中的中断结束必须发送两次EOI:一次给从片,一次给主片。(向从片发EOI后,须检查从片中的所有申请中断的源是否全服务过。只有都服务过了,才能向主8259送另一个
EOI命令)。②特殊结束中断方式——非全嵌套方式下当8259A工作在非全嵌套模式时,8259A可能不能确定刚服务的源的等级,需要用特殊的EOI命令,指出要清除哪个ISR位。18中断结束字什么是8259A的中断结束字(EOI)?8259A判断
中断服务寄存器ISR的状态:若某位为1,表示该中断源正在得到服务;一般情况下,将不再响应同级或低级的中断(采用特殊屏蔽方式时,可响应低级别的中断)若某位为0,表示该中断服务已结束,可响应低级级别中断。用指令向8259A送中断结束字,可以使ISR的某位清0193.屏蔽中断源方式——
通过IMR编程可允许或禁止中断⑴普通屏蔽方式通过命令字OCW1设置IMR某位或某几位为1,则屏蔽其中断请求。置0则允许该级中断。⑵特殊屏蔽方式——用于开放较低级中断请求在8259中,当一个中断请求被响应时,ISR对应位置1。在该位未复位时,8259A会禁止所有优先级比它
低的中断。用特殊屏蔽方式可以做到:①屏蔽当前中断级(IMR对应位为1);②ISR中相应位复位,则较本级低的中断源申请可以得到响应。20屏蔽中断源方式P331普通屏蔽方式将IMR的Di位置1,对应的中断IRi将被屏蔽,该中断请求将不能从8259A送到CPU如果将IMR的Di位置0,则允许对
应的中断产生特殊屏蔽方式——允许发生低级的中断嵌套,用于级连时的主片。将IMR的Di位置1,中断IRi被屏蔽;同时,ISR的Di位将置0,允许发生低级的中断。214.与CPU的配合方式与8086/8088C
PU配合——中断响应时,INTA信号2个总线周期有效,8259A送相应的中断向量号(1个字节)到数据总线。8086/88CPU8259A中断向量号INTAINTR225.级连方式不级连——只用1片,如PC/XT级连——使用2~9片,如PC/AT(2片)主片从片-INTAINTRIR0IR7I
R7IR0CAS0~CAS2=010INTINTD0~D723中断级连8259A可以级连,1个主片最多可以级连8个从片级连时,主片的级连线CAS0~CAS2连至每个从片的CAS0~CAS2,输出被选中的从片编号,每个从片的中断请求信号INT,连至主8259
A的一个中断请求输入端IRi;主片的INT线连至CPU的中断请求输入端INTR在非缓冲方式下,引脚SP/EN,通过接地指定该片充当从片(-SP=0);反之若接高电平则该片充当主片(-SP=1)。246.数据线连接方式缓冲方式对8259A
的数据线(输出中断向量)加缓冲器予以隔离和驱动SP/EN引脚作为输出端,输出允许信号,用以关闭或开启缓冲器非缓冲方式SP/EN引脚作为输入端在8259A级连时,用它选择该芯片充当主片或从片267.中断触发方式边沿触发方式中断请求输入端出现上升沿
为有效的中断请求信号电平触发方式中断请求端出现高电平为有效的中断请求信号278259A是可编程中断控制器,对其编程可以分为两部分:①初始化编程:由CPU向8259A送2~4个字节的初始化命令字ICW(InitializationCommandWord)。②工
作方式编程:由CPU向8259A送三个字节的操作命令字OCW(OperationCommandWord)。8259A必须通过ICW初始化,则处于全嵌套工作方式,在8259A工作期间,OCW规定或设置其
工作方式,动态地控制CPU处理中断的过程。五、8259A的编程28初始化编程8259A开始工作前写入。用户必须对8259A进行初始化编程。通过写入初始化命令字ICW对8259A进行初始化。共有ICW1--ICW4。工作方式编程在8259A工作期间写入,共有OCW1—OCW3
。可以随时向8259A写入工作命令字OCW,使之按用户设置的新的工作方式进行工作用户还可以通过写工作命令字OCW通知8259A,下面的操作要读取8259A中的状态信息,以便了解其工作情况291.初始化命令字ICW8259A在开始工作前必须写入初
始化命令字初始化命令字ICW最多可以有4个:ICW1~ICW4必须按照以下顺序依次写入其中ICW1和ICW2是必须的ICW3和ICW4是否需要,由具体的工作方式(在ICW1中的设置)决定。30ICW1写入偶地址,A0=0×××1LTIM×SNGLIC4D7D6D5D4D3D2D1
D0×——表示可以任意,为1为0都可以(建议为0)1——只能为1,作为标志,表示写的为ICW1D3中断触发方式:LTIM=1,电平触发方式LTIM=0,边沿触发方式D1规定单片或级连方式:SNGL=1,单片方式SNGL=
0,级连方式,且后边要写ICW3D0是否写入ICW4IC4=1,要写入ICW4IC4=0,不写入ICW4,即ICW4规定的位全为0特征:A0=0,ICW1中D4=1ICW1启动了8259A中的初始化顺序,自动发生一系列事件31ICW1启动了8259A中的初始化顺序,自动发生一系列事件
①对中断请求信号边沿检测电路复位;②清IMR、ISR;③指定IR0优先级最高;④设定为普通屏蔽方式;⑤设定为非自动结束中断方式。32ICW2写入奇地址A0=1T7T6T5T4T3×××D7D6D5D4D3D2D1D0设置中
断向量号•T7~T3为中断向量号的高5位•低3位由8259A自动确定:IR0为000、IR1为001、……、IR7为11133ICW3写入奇地址A0=1S7S6S5S4S3S2ID2S1ID1S0ID0D7D6D
5D4D3D2D1D0针对从片针对主片级连命令字•主片:Si=1,说明其对应引脚IRi上连接有从片;否则引脚IRi上没有连接从片•从片:ID0~ID2编码说明该从片的INT引脚接到了主片上的哪个IRi引脚34ICW4写入奇地址A0=1000SF
NMBUFM/SAEOIμPMD7D6D5D4D3D2D1D0SFNM嵌套方式:特殊全嵌套方式(SFNM=1)普通全嵌套方式(SFNM=0)BUF数据线的缓冲方式:缓冲方式(BUF=1)非缓冲方式(BUF=0)M/S:主片/从片选择:主片(M/S=1)从片(M/S=
0)AEOI中断结束方式:自动中断结束(AEOI=1)非自动中断结束(AEOI=0)微μPM处理器类型:16位80x86(PM=1)8位8080/8085(PM=0)35写ICW1A0=0,D4=1写ICW2A0=1SNGL=1IC4=1写ICW3A0=1写ICW4A0=
1是否是否按顺序对A0=1端口写入命令字8259A芯片的初始化流程36初始化主片8259Amoval,11h;写入ICW1out20h,alintr1:moval,08h;写入ICW2out21h,alintr2:mov
al,04h;写入ICW3out21h,alintr3:moval,1h;写入ICW4out21h,al中断控制器的初始化程序段PC机上8259地址:20h-21h37初始化从片8259Amoval,11h;
写入ICW1out0a0h,alintr5:moval,70h;写入ICW2out0a1h,alintr6:moval,02h;写入ICW3out0a1h,alintr7:moval,01h;写入ICW4out0a1h,al中断控制器的初始化程序段该题中8259的两个地址
:0a0h、0a1h382.工作命令字OCW8259A工作期间,可以随时接受工作命令字OCWOCW共有3个:OCW1~OCW3写入时没有顺序要求,需要哪个OCW就写入那个OCW在写入ICW1~ICW4后,8259A就绪,可接收中断请求信号,若不再写入OCW,则处于全嵌套
中断工作方式。若需改变上述8259A的中断控制方式,或为了屏蔽某些中断,以及读出8259A的一些状态信息,如IRR、ISR、IMR的内容,则必须写入操作命令字OCW。39OCW1写入奇地址M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字•其内容将写入中断
屏蔽寄存器IMRMi=1,则禁止对应IRi中断;Mi=0,则允许对应IRi中断。各位互相独立。OCW1可放置于程序的任何地方,实现对某些中断的屏蔽或开放,也就实现了对优先权的改变。40OCW2写入偶地址RS
LEOI00L2L1L0D7D6D5D4D3D2D1D0L2~L0的3位编码指定IR引脚R、SL和EOI配合使用产生中断结束EOI命令和改变优先权顺序OCW2标志•发中断结束命令字•控制中断优先权的循环OCW2标志41OC
W2(中断结束和优先权循环控制字)设置优先级是否循环,循环的方式,中断结束的方式。L0L1L200EOISLR0A0D7D6D5D4D3D2D1D0偶地址8259A的几种不同工作方式OCW2标志位0000
01…110111①系统中最低优先级的编码②SL=1时,要清除ISR中的哪一位。中断优先方式:1按左循环方式0非循环方式IR0(高)…IR7(低)决定L2L1L0是否有效:1有效,指出最低优先级0无效,当前被服务的中断源左循环到最低优先级。中断结束命令位:1ISR中相应位复位0在ICW4中给
出AEOI4243OCW3写入偶地址0ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM设置中断屏蔽方式P、RR和RIS规定随后读取的状态字含义OCW3标志44RISRRP1
0SMMESMM00A0D7D6D5D4D3D2D1D0偶地址未定义,常取0OCW3标志是否工作于特殊屏蔽模式1中断查询命令0非查询命令在下一个RD脉冲10读IRR(从A0=011读ISR端口)决定下
一个操作是否是读操作10复位11置特殊屏蔽OCW3(屏蔽和读状态控制字)⑴设置和撤消特殊屏蔽方式D6D510复位为普通屏蔽方式11置为特殊屏蔽方式⑵设置中断查询方式查询外部事件是否有中断请求.i)写OCW3
8259A,其中D2=1ii)读查询字(对同一地址)452。查询字:在OCW3的D2位P为1后的下一个读命令,查询为外设服务i----W2W1W0D7D6D5D4D3D2D1D0中断位I位为1,有外设请求中断W2~W0的编码当前中断请求的
最高优先级CPU内部禁止中断时,或不想用INT引脚向CPU申请中断时,可通过查询字获得外设中断请求情况。463.读取状态字CPU可随时读出IRR、ISR、IMR和查询字A0为低(偶地址)时由OCW3中RR和RIS位编码决定读取的是IRR或ISR,由O
CW3中P=0位决定下面读取的是A0为高(奇地址)时,读取的是IMR478259A的端口CSA0RDWR功能00100110000101010×111×××写入ICW1、OCW2和OCW3写入ICW2~ICW4和OCW
1读出IRR、ISR和查询字读出IMR数据总线高阻状态数据总线高阻状态484.命令字和状态字的区别方法⑴利用读写信号区别写入的控制寄存器和读出的状态寄存器⑵利用地址信号区别不同I/O地址的寄存器⑶由控制字中的标志位说明是哪个寄存器⑷由芯片内顺序控制逻辑按一定顺序识别不同的寄存器⑸由前面
的控制字(引导字)决定后续操作的寄存器接口电路中常用的方法508259A在IBMPC/AT上的应用CAS0~2CAS0~2+5V主8259A80286CPUINTRD0~D7SP/ENINTD0~D7日时钟键盘串行口2串行口1并
行口2软盘并行口1A0-INTR1CS—IRQ0—IRQ1IRQ2—IRQ3—IRQ4—IRQ5—IRQ6—IRQ7—A0—CS从8259AD0~D7INTSP/EN实时钟改向0AH中断保留保留保留协处理器硬盘保留A0-INTR2CS—
IRQ8—IRQ9—IRQ10—IRQ11—IRQ12—IRQ13—IRQ14—IRQ15—A0—CS系统总线B25………B24………B23………B22………B21………系统总线B4…D3…………D4…………D5…………
D6…………D7…………INTARDWRINTAIORIOWINTARDWR-S0~-S28228851PC机中8259A应用注意事项利用上升沿做为中断请求IRQ的有效信号IRQ0~IRQ7中断向量号依次为08H~0FHIRQ8~IRQ15中断
向量号依次为70H~77H(PC/AT机)采用普通全嵌套优先权方式,中断优先权从高到低顺序为IRQ0~IRQ2、IRQ8~IRQ15(级连从片)、IRQ3~IRQ7,且不能改变采用普通中断结束EOI方式,需
在中断服务程序最后发送普通EOI命令一般采用普通屏蔽方式,通过写IMR相应位为0允许中断,应注意不要破坏原屏蔽状态。52外部中断服务程序编写外部可屏蔽中断服务程序,需注意:中断服务结束时应向8259发送中断结束命令EOI(OCW2)
一般只能采用存储单元来传递参数不能使用DOS系统功能调用(DOS为单用户单任务操作系统,不能重入)中断服务程序要尽量短小,以免影响系统的实时性53外部中断服务程序(续)编写主程序,需注意:修改中断向量控制CPU的中断允许标志设置8259A的中断屏蔽寄存器54例题:可屏蔽中断服
务程序在PC机中:8259A的IRQ0(向量号为08H)中断请求来自定时器8253,每隔55ms产生一次定时中断该例的08H号中断服务程序将显示一个字符串,10次中断共显示10个字符串用内存单元(共享变量)在主程序
与外部中断服务程序之间传递参数:中断发生的次数显示信息安排在共同的数据段中55数据段intmsgdb‘A8259AInterrupt!’db0dh,0ah,0counterdb0例7.256保存中断向量movax,3508hint
21hpushbx;保存偏移地址pushes;保存段基地址例7.257设置中断向量clipushds;保护dsmovdx,offsetnew08h;中断入口地址movax,segnew08hmovds,axmovax,2
508hint21hpopds;恢复ds例7.258设置中断寄存器inal,21h;读IMRpushaxandal,0feh;允许IRQ0(接8253)out21h,almovcounter,0;设置中断次数初值sti;开中断例7.259循环等待中断start1:cmpc
ounter,10jbstart1;中断10次退出例7.2就在主程序循环当中60new08hprocsti;开中断pushax;保护寄存器pushbxpushdsmovax,@datamovds,ax;设置数据段DS例7.2进入中断服务程序61中断处理inccounter
movsi,offsetintmsg;显示信息calldpstri例7.262显示字符串dpstriproc;显示字符串子程序pushaxpushbxdps1:lodsb;取一字符cmpal,0;判是否结束标志jzdps2例7.263显示字符串(续)m
ovbx,0movah,0ehint10hjmpdps1dps2:popbxpopaxretdpstriendp例7.264退出中断服务程序moval,20h;送中断结束字out20h,alpopds;恢复寄存器popbxpopaxiret
;中断返回new08hendp例7.265主程序结束clipopaxout21h,alpopdxpopdsmovax,2508hint21hstimovax,4c00hint21h例7.2A8259AInterrupt!A8259AInterr
upt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!A8259AInterrupt!66驻留中断服务程序内
存驻留TSR(TerminateandStayResident)程序应用程序运行后仍然保存在主存中,可以被其他程序调用利用DOS功能调用31H代替4CH终止程序小型驻留程序常编写成.COM程序,但驻留程序也可编成.E
XE程序需要驻留内存的程序段要书写在其他代码的前面67例题:报时中断驻留服务程序在PC机中系统08H号中断服务程序调用INT1CH指令中断每隔55ms调用这个报时中断,中断65543次就是时间过了1小时该例编写驻留内存的
INT1CH中断服务程序用于整点报时,程序功能是每过1小时显示1条信息执行此程序后,该报时中断服务程序将驻留内存注意:因65543=65536+7,假定用2个字来记录中断发生的次数,则每经过1小时有:高字=高字+1低字=低字+7低字能被7整除时表
示时间为整点68new1chprocsti;开中断pushsi;保护寄存器pushdsmovsi,cs;com程序数据和代码共段movds,si;设置数据段DSaddcountl,1;处理低字adccounth,0;处理高字例7.3进入中断服务程序69中断处
理cmpcountl,7;低字为7否jnzn1ch1cmpcounth,1;高字为1否jnzn1ch1movcountl,0;计满1小时movcounth,0movsi,offsetintmsgcalldpstri例7.365543
=65536+7=高字1H/低字7H70退出中断服务程序n1ch1:popds;恢复寄存器popsiiret;中断返回countldw0;数据counthdw0intmsgdb‘OneHourHasPass
ed!’db0dh,0ah,0new1chendp例7.3OneHourHasPassed!71显示字符串dpstriproc;显示字符串子程序pushaxpushbxdps1:lodsbcmpal,0jzdps2例7.372显示字符串(续)movbx,0movah,0ehint10hj
mpdps1dps2:popbxpopaxretdpstriendp例7.373主程序开始start:movax,csmovds,axmovdx,offsetnew1chclimovax,251chint21hstimovdx,of
fsettsrmsgmovah,09hint21h例7.374主程序结束movdx,offsetstart;计算驻留内存的边界adddx,15;以“节”(16B)为单位处理movcl,4shrdx,cladddx,10h;加程序段前缀开销256Bmova
x,3100h;程序驻留int21htsrmsgdb‘INT1CHProgramInstalled!’db0dh,0ah,'$'endstart例7.3INT1CHProgramInstalled!75第8章教学要求1.掌握中断的基本概念。(中断、CPU响应中断的条件、CPU响应中断的
过程、中断优先权)。表2.掌握8088的中断类型、中断响应过程、中断向量表。3.掌握8259的功能、特点。理解8259A的内部结构、寄存器作用、中断过程、命令字。4.掌握8259A的普通全嵌套优先权、普通中断结束、边沿触发方式5、熟悉
内部、外部中断服务程序的编写。