




已阅读5页,还剩98页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九章中断,.1基本概念,复习CPU与外设信息交换的控制方式种类以查询方式输入为例,当外设数据未准备好时,CPU需要不断查询外设是否准备好的状态,效率低,1.中断方式示意(以输入中断为例),中断概念,2.什么是中断?,CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序,这一全过程称为中断。,3.中断源能够引发CPU中断的信息源,(1)外部中断源(硬件中断源)I/O设备如键盘、显示器、打印机数据通道如磁带、磁盘时钟如82540#,由此引发的中断故障源如掉电、存贮器奇偶校验错(2)内部中断源(软件中断源)执行INT软件中断指令如执行指令INT21HCPU指令执行产生的异常如被0除、单步执行,中断概念,选通信号,4.具有中断请求功能的输入接口示意图,输入设备,锁存器(8),三态缓冲器(8),CPU数据线,RDQ,+5V,中断请求触发器,QD,中断允许触发器,数据线D0位,地址译码器,INTR,地址总线,IOW,IOR,控制口选中,数据口选中,中断概念,5.中断系统为实现中断而采取的硬件,软件措施,6.中断系统应具备的基本功能,对于硬件中断,接口电路应具备屏蔽和开放的功能,这种功能由程序员通过软件去控制。,能实现中断判优(中断排队),当有多个中断源提出请求时,应能优先响应高级别的中断源。,中断概念,能够实现中断嵌套,即高级别的中断源能够中断低级别的中断服务程序。,响应中断后,能自动转入中断处理,处理完毕能自动返回断点。,设“B”级别高于“A”,中断概念,.280X86中断指令,1.开中断指令STI功能:使F寄存器中I标志置1,CPU处于开中断状态。,2.关中断指令CLI功能:使F寄存器中I标志置1,CPU处于关中断状态。,3.软件中断指令INTnn为中断类型码,n为0255之间有定义的无符号整数。功能:无条件转向n型中断服务子程序。,INTn指令的执行过程CPU响应软件中断的过程,F寄存器栈(保存INTn之前的F状态)使F中的T标志置0禁止单步操作I标志置0CPU处于关中断状态,断口地址栈先:断口基地址(CS)栈,后:断口偏移地址(IP)栈,CPU从4n4n+3单元取出n型服务程序入口地址IP:CS,从而转入n型中断服务程序。,中断指令,4.中断返回指令IRET,功能:依次从栈顶弹出6个元素IP,CS,F如果栈顶是INTn的断口地址,则执行IRET后,返回断点,否则不能。,图示执行INTn栈顶示意图,执行IRET示意图,sp,中断指令,IRET是中断服务子程序的出口指令,IRET和RET的区别IRET从栈顶弹出6个元素IP,CS,F远程RET,从栈顶弹出4个元素IP,CS近程RET,从栈顶弹出2个元素IP,.中断向量和中断向量表,中断系统是为实现中断而采取的软、硬件措施,中断指令、中断向量和中断向量表是实现中断的重要软件措施。,什么是中断向量中断向量是实模式下,中断服务子程序的入口地址,2.中断向量表:所有中断向量的集合,3.中断向量表的设置CPU规定:在实模式下,中断向量表需设置在系统的RAM最低端的1K单元(03FFH),它由2部分组成:服务程序所在代码段的段基址2个字节服务程序入口的偏移地址2个字节,中断向量,4.中断向量表的表地址与中断类型的关系,n型中断向量,如:“21H”型中断向量:存放在84H87H单元中问:9CH型中断向量存放在何处?,解:9CH4=1001110000=270H9CH型中断向量存于270H273H单元中,中断向量,5.中断向量的引导作用,CPU响应软件中断的过程,中断向量,6.中断向量表的初始化,由BIOS设计的中断服务程序(如INT16H,INT10H)其中断向量在加电时由BIOS负责写入中断向量表。,由DOS设计的中断服务程序(如INT21H)其中断向量是在启动DOS时,由DOS负责写入中断向量表。,用户程序开发的中断服务程序,由用户程序写入其中断向量。,中断向量,问题:用户如何写入中断向量?,方法一、用户自己编写程序填写中断向量CLIPUSHDSMOVAX,0000HMOVDS,AXMOVBX,4*nMOVAX,OFFSETSERVICEMOVBX,AXMOVAX,SEGSERVICEMOVBX+2,AXPOPDSSTI,中断向量,方法二、DOS设计2个子程序,专门用于中断向量的读出、写入,INT21H的35H子功能功能:读出n型中断向量入口:AL=中断类型码出口:ES:BX=n型中断向量,INT21H的25H子功能功能:写入n型中断向量入口:DS=中断服务程序所在代码段的段基址DX=中断服务程序入口的偏移地址,中断向量,例:把用户程序中以“TIMER”命名的中断服务子程序的入口地址41CH41CH+3单元,中断向量,7.关于中断向量表的说明,在实模式下,系统RAM最低端的1K单元为中断向量表,但是并非每一个表项都是中断向量。BIOS利用某些表项做为“参数指针”,参数指针指向的是一群参数,而不是中断服务程序,因此称它们为“向量”是比较合适的。,例如:1DH型向量,指向屏幕参数表。1EH型向量,指向软盘参数表。1FH型向量,指向图型字符表。41H型向量,指向第一台硬盘参数表。46H型向量,指向第二台硬盘参数表。,用户程序不能改动这些向量,当然也不能执行以1DH,1EH,1FH,41H,46H为中断类型码的软中断指令,否则系统将会瘫痪。,中断向量,.4系统中断的分类,CPU中断逻辑,CPU中断,软件中断(INTn指令),非屏蔽中断请求,中断控制系统,NMI,可屏蔽中断请求,INTR,系统中断的分类,一.CPU中断,CPU中断是指:CPU执行某些操作而引发的中断,这类中断使用了0、1、3、4、6、7中断号。,1.除法错中断0型中断,CPU执行DIV或IDIV指令,如果除数为0,或者商数超出寄存器的表示范围,CPU自动调用0型中断服务程序。,系统中断的分类,2.单步中断1型中断,3.断点中断3型中断,当标志寄存器的T标志为1时,CPU一条指令执行完毕,自动调用1型中断服务程序。但是,DOS为1型中断设计的服务程序只有一条IRET指令。,CPU执行“INT3”指令后,调用3型中断服务程序,而DOS系统的3型中断服务程序也只有一条IRET指令。,注意:单步和断点中断是因为DEBUG程序的需要而设计,系统中断的分类,4.溢出中断4型中断对应的软件中断指令有两种汇编格式,功能稍有不同。INTOINT4,当FLAG寄存器的溢出标志为1,在这种条件下,执行“INTO”指令,将会调用4型服务程序。否则,如果溢出标志为0,执行“INTO”指令是无效的。,DOS为4型中断设计的服务程序也只有一条IRET指令,系统中断的分类,二.软件中断,执行有定义的INTn指令而引发的中断,称为软件中断。在这里,之所以加了“有定义的”这一限制词,是因为并非所有的中断号都有与之配套的中断服务程序。,软件中断使用05H,10HFFH中的若干个中断号。软件中断又可分为BIOS中断、DOS中断。,1.BIOS中断BIOS中断,占用了05H、10H1FH中断号,用户程序执行相关的软中断指令可以调用相应的中断服务程序。,INT05H屏幕打印;INT10H屏幕显示I/O;INT11H设备配置检测;,系统中断的分类,INT12H测试内存容量;INT13H磁盘I/O;INT14H串行通信I/O;INT15HBIOS扩展功能;INT16H键盘I/O;INT17H打印机I/O;INT18H启动PC机ROMBASIC(AT机)无;INT19H重新装入引导程序;INT1AH实时时钟管理。,中断号1DH,1EH,1FH,41H,46H也被BIOS占用了。但是,与这些中断号对应的并不是中断服务程序。也就是说,不存在与这些中断号对应的软中断指令,用户程序如果执行INT1DHINT1FH,INT41H,INT46H,必将引起系统瘫痪(参看中断向量表的说明)。,系统中断的分类,2.DOS中断DOS中断,又分为DOS专用中断,DOS保留中断,用户可调用的DOS中断以及保留给用户开发的中断。,(1)DOS专用中断,22H型中断程序正常结束时,DOS将自动调用该中断返回父进程。,23H型中断程序非正常结束时(如:用户按下Ctrl_C,或者Ctrl_Break中途停止程序的运行),DOS调用该中断。,24H型中断程序运行发生严重错误时(例如:对软磁盘文件进行操作的时候,驱动器小门没有关闭,或进行打印操作而打印机没有连通),DOS自动调用此类中断,发出错误信息“NotreadyAbort,Retry,Ignore?”,这些中断是DOS专用的,DOS在调用此类中断之前,还要做些准备工作。因此,用户程序不能直接调用这些中断。,系统中断的分类,28H3FH型中断也为DOS专用,Microsoft公司没有公开这类中断的功能。但是,一些醉心钻研DOS的专家们,仍然破译出一些有价值的信息。例如:INT33H为鼠标器调用。,(2)用户可调用的DOS中断,20H型中断用户程序执行INT20H指令可结束程序的运行,返回DOS。但必须注意:在执行INT20H之前,必须保证用户程序CS寄存器的内容等于PSP段基址。因此在用户的COM文件中,可以直接使用INT20H返回DOS。INT20H与INT21H的0号功能调用,完成相同的操作。,21H型中断DOS系统的许多功能都集中在21H型中断服务程序中。用户程序把功能号写入AH寄存器,设置相应的入口参数,然后执行INT21H即可调用不同的功能。我们把执行INT21H指令所完成的功能,称为“DOS系统功能调用”。,系统中断的分类,25H型中断此类中断在指定的驱动器上,按照扇区号读取信息。,26H型中断在指定的驱动器上,按照扇区号写入信息。INT25H,INT26H称为“绝对磁盘读写调用”。在此类调用中,DOS系统不使用文件控制块,也不使用文件号去管理磁盘文件,而是按照扇区号直接进行磁盘信息的读写。,27H型中断中止并驻留程序于内存之中。用户程序执行INT27H可以中止程序的运行,并且把欲驻留的程序段驻留在内存之中。,系统中断的分类,60H66H是保留给用户使用的中断号。DOS没有为它们设计服务程序。启动DOS后,60H66H型“中断向量”均为0值。正因为如此,如果你没有开发出60H66H型中断服务程序,没有改写60H66H型中断向量,千万不可调用此类中断,否则系统瘫痪。,(3)用户可开发的DOS中断,(4)DOS保留的中断,DOS为了自身版本的升级和功能扩充,保留了若干个中断它们是:42H45H,4BH5FH,68H6FH,72H74H,77H7FH。,以上关于软件中断的概念,在设计应用程序时是十分有用的,实际上,如果不涉及BIOS中断,不涉及DOS中断,用户将无法设计应用程序。,系统中断的分类,9.58259中断控制器,外部中断是由CPU以外的中断请求而引发的。如果有多个中断请求,怎样连接至CPU呢?,8259A,一.8259的内部结构,1.中断请求寄存器(IRR),寄存引脚IR0IR7的中断请求信号,IRRi位置1,表明IRi引脚上有了中断请求信号,8259内部结构,2.中断屏蔽寄存器(IMR),寄存程序员写入的中断屏蔽字,屏蔽字某位=1(IMRi位=1),则与该位对应的中断请求信号(IRRi位)就不能送到中断优先权电路。,8259内部结构,8259内部结构,如:MOVAL,11111100BOUT屏蔽寄存器口地址,AL;屏蔽IRR7IRR2的请求开放IRR1,IRR0,如:INAL,屏蔽寄存器口地址ANDAL,11110111BOUT屏蔽寄存器口地址,AL;开放IRR3的请求;对其它位的请求不改变屏蔽/开放的状态,3.优先权电路(排队电路),比较CPU正为之服务的中断源和刚进入优先权电路的中断源,哪一个级别更高。,通过判优选中其中级别最高的中断源,然后通过控制电路,从INT端向CPU提中断请求。,8259内部结构,作用:比较同时送达优先权电路的中断请求,哪一个级别最高。,4.中断控制电路,8259内部结构,作用:寄存一组初始化命令字和操作命令字,通过译码产生内部控制信号当判优电路选中一个中断源时向CPU提中断请求(INT),8259内部结构,5.中断服务寄存器(ISR),8259内部结构,ISR:8位寄存器,ISRi位与IRRi位一一对应,作用:记录CPU正为之服务的是哪一个中断源,怎样记录?,反之,如果ISR0位由10,表明IR0的中断服务程序执行完了。,所以ISR的每一位都是响应中断源的中断服务标志位。,8259内部结构,6.数据总线缓冲器,作用:完成与CPU数据线配接,接收初始化命令字,操作命令字,当收到第二个中断响应脉冲时,通过他们向CPU送出被选中的中断源的中断类型码n,在这之后CPU从4n+04n+3单元取出n型中断向量,从而转入n型服务程序。,8259内部结构,7.读/写控制模块功能:接收片选信号CS、端口选择信号A0和读写控制信号RD、WR。一片8259A在系统中占用两个口地址,用末位地址线A0选择端口,其它地址线通过译码产生8259A的片选信号。PC/XT系统中,使用一片8259A,有两个口地址:偶地址20H,奇地址21H。PC/AT系统中,使用两片8259A,主8259A口地址为20H、21H,从8259A口地址为A0H、A1H。,8259内部结构,8.级连/缓冲比较器,一位8259可以管理8级中断,二片8259“级连”可管理15级中断,级连/缓冲比较器是为完成多片8259级连设置的模块。,8259内部结构,8259的引脚,IR0IR7:外部中断请求信号输入INT:输出,提向CPU的INTR端INTA:输入,接收CPU发来的中断响应信号D0D7:输入/输出,数据总线CS:片选信号A0:地址线A0,用于选择内部端口WR、RD:读/写控制信号CAS0CAS2:用于8259级联SP/EN:用于8259级联,二.8259的中断过程CPU响应硬件中断的过程,8259A的中断过程,就是微机系统响应可屏蔽中断的过程,这一过程,简单描述如下:,首先由中断请求寄存器寄存加到引脚IR0IR7上的中断请求。,在中断屏蔽寄存器的管理下,没有被屏蔽的中断请求被送到优先权电路判优。,经过优先权电路的判别,选中当前级别最高的中断源,然后从引脚INT向CPU发出中断请求信号。,CPU满足一定条件后,向8259A发出2个中断响应信号(负脉冲)。,在实模式下,CPU从4n4n3单元取出该中断源的中断向量IP、CS,从而引导CPU执行该中断源的中断服务程序。,8259内部结构,三.8259的中断管理方式,8259是很复杂的中断控制器,它从5个方面对中断进行管理。,每一种方式又有多种选择,说明:各种中断管理方式的选择是在初始化编程时,通过初始化命令字设定的。,2.中断系统是全机的核心,只有对中断系统的方方面面全面了解的基础上才能组织初始化命令字。,3.只有系统程序员才具备这方面的知识,所以对8259的初始化编程应由系统程序完成,不做详细介绍,原因是:8259A是中断系统的核心器件,对它的初始化编程要涉及到中断系统软、硬件许多问题,而且一旦完成初始化,所有硬件中断源和中断处理程序(包括已开发和未开发的)都必须受其制约。,四.286以上微机,8259的中断管理方式,系统加电后:由BIOS对8259初始化编程,设定的中断管理方式为,中断屏蔽方式采用常规屏蔽方式即应用时,向8259中断屏蔽寄存器写入适当屏蔽字即可屏蔽/开放某一级中断。,中断源为固定优先级即IR0中断请求级别最高,IR7中断请求级别最低。,采用常规中断结束方式即在中断服务子程序结束之前向8259送中断结束命令。,五286以上的微机,对8259的应用编程,对8259编程分二步进行:,对8259进行初始化编程系统加电后,由BIOS完成对8259进行应用编程编写中断程序时完成,有2项内容,每一个硬件中断服务程序结束前必须向8259送中断命令字,通知8259本次中断结束,否则8259不能响应同一中断源的下次中断。,需要时,向8259中断屏蔽寄存器写入屏蔽字。,8259收到中断结束命令后,把ISR中的置1位清0!,9.6硬件中断,一.概述,1硬件中断分类:可屏蔽中断,非屏蔽中断CPU有2个接收中断请求信号的引脚。,可屏蔽中断:输入到INTR引脚的中断请求信号,引发的中断。,非屏蔽中断:输入到NMI引脚的中断请求信号,引发的中断。,有可屏蔽中断请求,没有DMA请求,没有非屏蔽中断请求,4.响应非屏蔽中断的条件有非屏蔽中断请求,没有DMA请求一条指令执行完,3.响应可屏蔽中断的条件,CPU一条指令执行完毕,2硬件中断的级别DMA请求级别高于非屏蔽中断高于可屏蔽中断。,CPU处于开中断状态(I标=1),二.可屏蔽中断的硬件结构,可屏蔽中断硬件结构(1),硬盘,CS,A0,从片片选,地址线A0,CAS20,INT,D7D0,INTA,RD,WR,SP/EN,从8259,主8259IR2,主8259CAS20,主8259相应引脚,可屏蔽中断硬件结构(2),IR1,IR3,IR5,IR7,IR0,IR2,IR4,IR6,实时时钟,IRQ10,IRQ9,IRQ12,IRQ11,用户中断,保留,保留,保留,保留,协处理器,1.使用2片8259级连,管理15级中断,2.中断源与中断类型,3.硬件可屏蔽中断的中断级别,4系统分配的8259口地址,5中断结束命令,命令字=20H,接入从8259的中断源,其服务程序结束应分别向主、从8259各送一个中断结束命令字。,三.关于用户中断,1.用户中断请求的途径,用户中断请求,用户中断请求从ISA总线B4端子(IRQ9)引入,经过主8259,从8259二级中断管理,最后由主8259向CPU提中断。,只有从8259IMR1置0,主8259IMR2置0,其中断请求方能送到CPU。,2.实现用户中断必须对主、从8259应用编程(这样,对各种型号的主板都能适应),INAL,0A1HANDAL,11111101BOUT0A1H,AL;开放用户中断INAL,21HANDAL,11111011BOUT21H,AL;开放从8259中断,中断的引发方式不同硬件中断是由CPU以外的硬设备发出中断请求(接到引脚INTR和NMI)而引发的。而软件中断是由于CPU执行INTn指令而引发的。,CPU获取中断类型码的方式不同:响应硬件可屏蔽中断后,中断类型码是由8259A提供的。响应软件中断时,中断类型码是由软件中断指令INTn本身提供的。,CPU响应的条件不同:CPU只有在开中断时,才能响应硬件可屏蔽中断,响应软件中断不受此限制。,中断处理程序的结束方式不同。在硬件可屏蔽中断服务程序中,中断处理结束后,需要做两件事:,四硬件中断和软件中断的区别,一是向8259A发出中断结束命令,8259A收到此命令后将ISR寄存器中的相应位清0,结束中断。二是执行IRET指令,中断返回。,而在软件中断服务程序中,中断处理结束后只需执行IRET指令。这些都是设计中断服务程序必须掌握的基本概念。,9.7硬件可屏蔽中断例,1.中断源:系统82540#计数器,每55ms有一次中断请求,2.中断类型:8型,一日时钟中断,CPU转入8型中断后,完成下列工作开中断,保护现场(DS压栈)40HDS,对“日时钟计数器”加1测算软驱马达关闭时间,向主8259送中断结束命令恢复现场,IRET,执行INT1CH,3.日时钟中断处理流程:,4.什么是“日时钟计数器”,BIOS系统规定:40H:6CH40H:6FH这4个单元(共32位)为日时钟计数器,每55ms加1次,计数到:001800B0H,为24小时,其计数值供系统软件使用。,系统启动时CPU执行BIOS中的一段程序,读取CMOS实时时钟电路的时间值计数值40:6CH40:6FH做为日时钟计数器的计数初值。,5.关于1CH服务程序8#服务程序,每隔55ms在DS=40H的前提下,调用一次1CH服务程序,之后又返回8型!,所以1CH中断是日时钟的外扩中断,用户可开发新的1CH中断(完成每55ms一次的定时操作)取代原来的中断服务子程序。,2.用户中断的中断类型CPU响应用户中断后,自动转向“71H型”服务程序,二用户中断,1.中断源:系统总线插槽B4端引入的用户设计的硬件中断请求信号,BIOS为“71H型”设计的服务程序如下:PUSHAXMOVAL,20HOUT0A0H,ALPOPAXINT0AH,用户定义的中断服务程序有两个设计方法:,定义用户中断服务程序为“71H型”中断程序的准备工作:置换71H型中断向量,即把用户中断的中断向量471H471H+3单元,定义用户中断服务程序为“0AH型”中断程序的准备工作:置换0AH型中断向量,即把用户中断的中断向量40AH40AH+3单元,3.实现用户中断必须对主、从8259应用编程,保证中断申请由8259中断控制器提向CPU,INAL,0A1HANDAL,11111101BOUT0A1H,AL;开放用户中断INAL,21HANDAL,11111011BOUT21H,AL;开放从8259中断,4.用户中断服务程序结束若用户中断定义为0AH型,服务程序结束前只向主8259送结束命令,若用户中断定义为71H服务程序结束前,向主从8259各送一中断结束命令,9.8实模式下的定时中断程序设计,什么是定时中断?,利用中断技术,每隔一定时间完成一次预定的操作定时操作。,一.定时中断程序的设计方法,1.硬件:首先要明确谁是定时中断源?,定时源是系统82540#计数器,定时源是ISA总线B4端子上的外扩定时源,2.确定中断服务程序的类型,这一问题和中断源有关系,如果中断源是ISA总线B4端子引入的则服务程序应定义为0AH或71H型,按用户中断处理,有两种可能,如果中断源是系统82540#,而且定时操作周期=55ms整数倍,则定义用户服务程序为1CH型,取代系统的1CH服务程序。,如果中断源是系统82540#,但定时操作周期55ms整数倍,应重新对82540#初始化,3.置换中断向量服务程序的类型确定之后,应置换相应的中断向量。,4.开放8259中断,从硬件中断的结构图可知:用户中断要经过从8259,主8259两级中断管理,其中断请求才能送到CPU,为了适应各种类型的主机板,在中断程序的准备工作中,应将从8259IMR1位置零,主8259IMR2位置零,从而打通用户中断请求的通道。一般说,各种型号的主机板对日时钟中断都是开放的,用户不必再采取措施。,5.避免“DOS重入”,图示,现行程序,INT21H,中断服务程序应避免使用INT21H,6服务程序的执行时间远远小于定时中断的时间间隔,7.中断结束向8259发中断结束命令,二.定时中断程序结构,特点:服务程序不直接进行定时操作,而是建立时间到标志。主程序中判时间到标志,再进行定时操作。,*,三.定时中断程序设计举例,Eg:采用定时中断,使系统每隔1S在屏幕上显示一行IAMASTUDENT!共显示10行。,设计思路1定时中断的实现因为没有外扩定时源,采用系统定时中断,即用8254的0号计数器2日时钟中断请求信号提向主8259的IR0,执行08H型中断服务程序3定时时间1S的实现1S不是55MS的整数倍,须对8254的0号计数器重新初始化55MS是最长时间,如何实现长时间定时?中断计数,4怎样从用户的8型中断服务程序转入系统的8型中断服务程序?在代码段中OLD08DD?;存放系统8型中断向量每隔55ms执行一条JMPCS:OLD08;(OLD08)IP;(OLD08+2)CS,重新对系统82540#初始化,中断计数,满Nms,定时操作,新8型服务程序,满55ms?,其中:X是N和55ms的最大公约数N是定时操作的周期,其中:X是N和55ms的最大公约数N是定时操作的周期,5ms,设计要点:置换08H型中断向量在数据段定义两个计数值ICOUNT1:用于中断计数LCOUNT:用于行计数数据段设置一中断标志TIMETO主程序判断该标志TIMETO=-1时,表明200次中断满TIMETO=0时,表明200次中断未满主程序结束后,恢复8254的计数值恢复08H中断向量中断服务程序完成对中断进行计数,判断ICOUNT,满11执行老08H型服务程序,满200将TIMETO置为-1,否则提前中断返回,.486DATASEGMENTUSE16COUNT1DB200;秒中断计数初值COUNT2DB11;55ms中断计数初值TIMETODB0LCOUNTDB10MESGDBIAMASTUDENT!,0DH,0AH,$DATAENDSCODESEGMENTUSE16OLD08DD?;存放系统8型中断向量ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AX,程序清单:,MOVAX,2INT10H;清屏CLI;关中断CALLI8254CALLREAD08CALLWRITE08STI;开中断,程序清单:,SCAN:NOPCMPTIMETO,-1JNZSCAN,200次中断到?MOVTIMETO,0MOVDX,OFFSETMESGMOVAH,9INT21HDECLCOUNTJNZSCANCALLRESETMOVAH,4CHINT21H,程序清单:,SERVICEPROCPUSHA;保护现场PUSHDS;DS可能是用户数据段段基址MOVAX,DATA;也可能是40HMOVDS,AX;重新给DS赋值DECCOUNT1;中断计数JNZNEXT2;不满1秒钟转MOVCOUNT1,200;重新设置计数初值MOVTIMETO,-1NEXT2:DECCOUNT2;中断计数JNZEXIT;不满55ms转MOVCOUNT2,11;重新设置计数初值POPDS;恢复现场POPA;恢复现场JMPCS:OLD08;转系统8型中断服务程序EXIT:MOVAL,20H;中断结束命令OUT20H,AL;主8259POPDS;恢复现场POPA;恢复现场IRET;返回被中断程序SERVICEEND
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年住院医师规培-新疆-新疆住院医师规培(口腔颌面外科)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-重庆-重庆兽医防治员一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-北京-北京食品检验工一级(高级技师)历年参考题库典型考点含答案解析
- 气瓶介质基础知识培训内容
- 2025年事业单位工勤技能-北京-北京机械冷加工三级(高级工)历年参考题库典型考点含答案解析
- 气泵基础知识培训总结
- 输电线路设备升级与改造方案
- 拆除工程项目的施工现场管理与协调方案
- 施工现场环保措施方案
- 2025年科学脑力测试题及答案
- 渣土运输车辆调度措施
- 前列腺穿刺患者护理查房
- 2024-2025学年 三年级第二学期口算数学1000题【带答案】
- 《中华人民共和国学前教育法》知识培训
- 2024年北京邮电大学人员招聘笔试真题
- T/CFPA 017-2023消防员防护辅助装备阻燃防静电内衣
- 价值导向引领:CRM策略的深度剖析与创新实践
- 鼓胀中医护理
- 设备整厂出售合同协议
- 2025-2030中国高k和ALD和和CVD金属前体行业市场发展趋势与前景展望战略研究报告
- 2025年4月12日衢州事业单位及市直遴选(选调)笔试真题及答案解析
评论
0/150
提交评论