




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 微型计算机的中断系统7.1 中断的基本概念7.2 8086的中断结构7.3 可编程中断控制器8259A7.4 中断调用本章主要目标1.8259A工作原理、工作方式、编程方法及应用。2.可屏蔽中断的中断响应过程。3.中断程序的设置与设计方法。4.常用中断调用方法。7.1 中断的基本概念7.1.1 中断及中断源7.1.2 中断系统的功能7.1.3 中断处理过程7.1.4 中断判别的方法7.1.1 中断与中断源1.中断: 在CPU正常运行程序时,由于内部事件、外部事件或由程序预先安排的事件所引起的CPU暂时停止正在运行的程序,而转去执行请求CPU服务的内部/外部事件或预先安排事件的服务程序,
2、待服务程序处理完毕后又返回去继续执行被暂停的程序。2.中断源 : 发出中断请求的外部设备或引起中断的内部原因称为中断源。常见的中断源有: (1)故障中断,如电源掉电、内存奇偶错等;(2)软件中断,如CPU执行某些指令或操作引起的中断等;(3)输入输出设备中断,如打印机、CRT、磁盘等;(4)实时时钟,如定时器提供的实时信号等。7.1.1 中断与中断源3. 中断识别: 即找出是哪一个中断源发出的中断请求。 中断识别的目的是要形成该中断源的中断服务程序的入口地址,以便CPU将此地址置入 CS:IP寄存器 ,从而实现程序的转移。7.1.1 中断及中断源此 结束7.1.2 中断系统的功能 中断系统是指
3、实现中断功能的软硬件的统称。 中断系统的功能:1.正确识别中断请求,实现中断响应、中断处理及中断返回。2.实现中断优先级排队。3.实现中断嵌套。7.1.2 中断系统的功能 结束7.1.3 中断处理过程中断请求中断判优中断响应中断处理中断返回7.1.3中断处理过程图 中断处理过程-1判优逻辑进行优先排队中断源提出中断请求CPU执行完当前指令CPU取下一条指令中断请求信号有效?CPU允许中断否?CPU关闭中断保护程序断点找出中断源,形成中断服务程序入口地址,并转向中断服务程序中断请求中断判优中断响应7.1.3中断处理过程保护现场 执行中断服务程序恢复现场CPU开放中断 返回原程序断点处中断处理中断
4、返回图 中断处理过程-27.1.3中断处理过程 结束开中断关中断7.1.4 中断判别的方法软件查询判优链式电路判优专用硬件方式中断的多级嵌套1软件查询判优图 软件查询判优电路IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ71 并行输入接口 INTRD0D7 CPU中断请求寄存器1软件查询判优断点保护IRQ0?IRQ1?IRQ7?中断返回中断源0的中断服务程序中断源1的中断服务程序中断源7的中断服务程序NNNYYY图 软件查询程序流程图2链式电路判优CPUINTAINTR1 A1B1I/O7I/O接口接口1 1 1 1 1 1 1 1 图 链式优先权排队电路0I/O接口3专用硬件
5、方式 在微型机中普遍使用一种可编程的中断控制器(如Intel 8259A)实现中断优先级的管理。4中断的多级嵌套请求中断响应中断响应请求中断返回中断返回低级中断服务程序高级中断服务程序图 两级中断嵌套的示意图 一个中断请求尚未处理完,又转而处理新的中断请求,称为中断的多级嵌套或称为多级中断。 7.1.4 中断判别的方法 7.1 中断的基本概念 结束7.2 8086的中断结构7.2.1 8086的中断类型7.2.2 中断向量和中断向量表7.2.3 中断向量的装入7.2.4 8086的中断响应过程7.2.1 8086的中断类型外部中断:由外部硬件请求产生的中断,所以又称为硬件中断。内部中断:由指令
6、的执行或者软件对标志寄存器中某个标志的设置产生的中断,所以又称为软件中断。8086/8088中断源类型NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断n43012可屏蔽中断请求1外部中断(1)非屏蔽中断NMI。用户不能用软件屏蔽的中断。(2)可屏蔽中断INTR。8086的INTR中断请求信号来自中断控制器8259A,是电平触发方式,高电平有效。2内部中断(1)专用中断: 在中断向量表中,类型号04中除了类型号2的NMI非屏蔽中断外,其余均为专用的软件中断,它们通常是由某个标志位引起的中断。 0型中断除法出错
7、中断。 1型中断单步中断(TF=1)。 3型中断断点中断(INT 3)。 4型中断溢出中断(INTO指令,条件:OF=1 )(2)指令中断: INT n指令,其类型号就是给定的n。7.2.1 8086的中断类型 结束7.2.2 中断向量和中断向量表中断向量:中断服务程序的入口地址。 组成:共4个字节,段地址及偏移地址(CS:IP) 。中断向量表:把系统中所有的中断向量集中起来放到存储器的某一区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表。中断类型号:中断向量表的每一个向量的序号就是中断类型号,共256个中断类型。中断向量地址:中断向量在表中的位置称为中断向量地址。 中断
8、向量地址中断类型号47.2.2 中断向量和中断向量表类型0中断入口(除法出错)类型1中断入口(单步中断)类型2中断入口(NMI)类型3中断入口(断点中断)类型4中断入口(溢出中断)类型5中断入口类型31中断入口类型32中断入口类型255中断入口IPCSIPCSIPCS00000400800C01001407C0803FC专用中断系统备用供用户使用低地址偏移地址低字节偏移地址高字节高地址段地址低字节段地址高字节偏移地址段地址IBM-PC/XT中断类型号的功能分配类型码中断源类型码中断源类型码中断源00H被0除0FH并口1中断1EH磁盘参数01H单步中断10H显示器驱动程序1FH图形字符集02HN
9、MI11H设备检测20H程序结束03H断点中断12H存储器检测21HDOS系统调用04H溢出中断13H软盘驱动程序22H结束地址05H屏幕打印中断14H通信驱动程序23HCtrl-Break夭折键处理06H(保留)15H盒式磁带机驱动程序24H关键性错误处理07H(保留)16H硬盘驱动程序25H磁盘顺序读08H定时电路中断17H打印机驱动程序26H磁盘顺序写09H键盘中断18HBASIC程序27H程序结束且驻留内存0AH保留的硬件(级联)中断19H引导(BOOT)程序28HDOS内部使用0BH异步串口2中断1AH年月日定时中断29-2EDOS保留使用0CH异步串口1中断1BH用户键盘2FHDO
10、S内部使用0DH并口2中断1CH用户定时器时标30-3FDOS保留使用0EH软盘中断1DHCRT初始化参数实方式下中断服务程序入口地址中断类型号n与其对应的中断向量存放起始地址之间的关系:起始地址=4n;末地址=4n+3即中断向量在4n4n+3指示的内存单元中。实方式下的中断服务程序入口地址求法(例子)例:假设在实地址方式下,内存00140H到00147H中存放的数据如右图所示,求51H号中断的中断服务程序入口地址。解(1)求中断向量存放的首地址和末地址 由中断类型号51H可知中断向量存放的首地址51H4=144H(左移两位方法)末地址51H4+3=147H(2)从首末地址对应的4个单元找出中
11、断向量,即 00144H到00147H中内容就是51H号中断的中断向量 对照中断向量组成及格式可知 段地址=4540H,偏移地址=3430H, 所以中断服务程序入口地址为 段地址16+偏移地址=45400H+3430H=48830H中断向量组成及格式7.2.2 中断向量和中断向量表 结束7.2.3 中断向量的装入 中断向量在开机上电时,由程序装入内存指定的中断向量表中。系统配置和使用的中断所对应的中断向量由系统软件负责装入。若系统中(如单板机)未配置系统软件,就要由用户自行装入中断向量。7.2.3 中断向量的装入例:将中断服务程序的入口地址直接写入中断向量表(假设中断向量号为60H,中断服务程
12、序的段基址是SEG_INTR,偏移地址是OFFSET_INTR)。 MOV AX,00HMOV ES,AXMOV BX,60H*4;中断号4BXMOV AX,OFFSET_INTR;中断服务程序偏移值AXMOV ES:BX,AX;装入偏移地址MOV AX,SEG_INTR;中断服务程序的段基址AXMOV ES:BX+2,AX;装入段基址 7.2.3 中断向量的装入 结束7.2.4 8086的中断响应过程1内部中断响应过程2外部中断响应过1内部中断响应过程过程:(1)将类型号乘4,计算出中断向量的地址;(2)CPU的标志寄存器入栈,以保护各个标志位,此操作类似于PUSHF指令。(3)清除IF和T
13、F标志,屏蔽新的INTR中断和单步中断。(4)保存断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值。(5)根据第一步计算出来的地址从中断向量表中取出中断服务程序的入口地址(段和偏移),分别送至CS和IP中。(6)转入中断服务程序执行。1内部中断响应过程特点: 中断由CPU内部引起,中断类型号的获得与外部无关,CPU不需要执行中断响应周期去获得中断类型号。 除单步中断外,内部中断无法用软件禁止,不受中断允许标志IF的影响。 内部中断何时发生是可以预测的,这有点类似于子程序调用。2外部中断响应过程(1)非屏蔽中断响应: NMI中断不受IF标志的影响,也不用外部接口给出中断类型号,
14、CPU响应NMI中断时也没有中断响应周期。 (2)可屏蔽中断响应: 当INTR信号有效时,如果中断允许标志IF1,则CPU就在当前指令执行完毕后,产生两个连续的中断响应总线周期。2外部中断响应过程CLKALELOCKINTAD7D0 T1 T2 T3 T4 T1 T2 T3 T4 第一个总线 周期INTA第二个总线 周期INTA中断类型号图 8086对INTR的中断响应时序可屏蔽中断的响应过程(1)处理器接到中断申请,处理完当前指令即进入响应周期。(2)第二阶段即中断响应周期,在其间CPU向外部中断控制器发送两个响应脉冲信号INTA。 第一个响应脉冲通知中断控制器,已经响应外部中断请求,让中断
15、控制器提供中断类型号。 第二个响应脉冲,CPU取走中断类型号。(3)将标志寄存器中的内容压入堆栈保护,然后清IF和TF标志,以禁止INTR引脚以及陷井和单步中断。(4)将断点地址压入堆栈(CS:EIP或CS:IP)。 断点地址:指中断时CPU待执行的下一条指令对应的逻辑地址。 顺序:先压入断点地址CS,后压入偏移地址EIP(或IP)。(5)CPU得到中断类型号码n后,通过中断类型号与中断服务程序入口地址的关系找出该类型对应的段基地址和偏移地址,从而转入中断服务程序入口地址。完成中断响应任务。可屏蔽中断的响应过程中断处理1保护现场 保护现场实质:将重要信息压入堆栈。2开中断 目的:开放所有可屏蔽
16、中断,以允许高级中断嵌套。3执行中断服务程序 中断服务程序主体-中断的目的。4关中断 目的:关中断以确保可靠有效地恢复现场。5恢复现场 恢复现场实质:将原来压入堆栈中的内容弹出来。中断返回中断服务程序的最后一条指令都无一例外地使用中断返回指令IRET。中断返回的目的:使原来在中断响应过程中压入堆栈中的断点地址和标志寄存器中的内容,依次从堆栈中弹出,以便继续执行原来的程序。中断过程7.2.4 8086的中断响应过程 7.2 8086的中断结构 结束7.3 可编程中断控制器82598259简介:(1)8位可编程中断控制器,又称优先级控制器(2)处理8级向量优先级中断(3)具有单一+5V供电(4)8
17、259A芯片级联组成强大的中断管理系统(多至64级外部中断)。(5)优先级方式可编程7.3 可编程中断控制器82597.3.1 内部结构及工作原理7.3.2 引脚信号7.3.3 工作方式7.3.4 编程方法7.3.5 应用举例7.3.1 内部结构及工作原理7.3.1内部结构及工作原理数据总线缓冲器 数据总线缓冲器是一个三态、双向的8位缓冲器,是8259A与CPU系统数据总线的接口。数据总线缓冲器的主要功能有:(1) 通过数据总线缓冲器,CPU向8259A内部发送命令。(2) CPU接收8259A状态信息。(3) 在中断响应周期,CPU从中获得中断类型号。读/写逻辑 接收CPU送来的读/写控制信
18、号、片选信号以及地址选择信号,对内部各个寄存器进行读写操作。级联缓冲/比较器 级联缓冲/比较器在级联方式的主从结构中(两个以上的8259A组成的系统),用来存放和比较系统中各8259A的从设备标志(ID)。中断请求寄存器IRRD7D6D5D4D3D2D1D0IRR7IRR6IRR5IRR4IRR3IRR2IRR1IRR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引脚功能:记录外部中断源的中断申请的状态。状态:1对应引脚有中断请求且还未被响应。 0对应引脚无中断请求或有但已经被响应。中断服务寄存器ISRD7D6D5D4D3D2D1D0ISR7ISR6ISR5ISR4ISR3ISR2
19、ISR1ISR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引脚功能:记录外部中断源的中断申请被服务的状态。状态:1对应引脚的中断请求已被响应(服务)且服务还没有结束。0对应引脚的中断请求未被响应。中断屏蔽寄存器IMRD7D6D5D4D3D2D1D0IMR7IMR6IMR5IMR4IMR3IMR2IMR1IMR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引脚功能:设置外部中断源的中断屏蔽状态。状态:1对应引脚的中断被屏蔽。0对应引脚的中断未被屏蔽。注意:只有IMRi相应位为0且IF=1,CPU才有可能响应可屏蔽中断。中断优先权分辨器PR 优先权分辨器PR用来确定存放在
20、IRR中各个中断请求信号对应中断源的优先级。并总是选出当前最高优先中断源的中断申请通知控制逻辑,以便控制逻辑发送中断请求信号INT给CPU。控制逻辑 控制逻辑是控制8259A内部各个部件的主要逻辑电路。主要功能包括:(1) 根据CPU对8259A编程设定的工作方式来产生内部控制信号。(2) 如果中断请求寄存器IRR有未被屏蔽的位,则控制逻辑对应于当时最高优先的中断源,向CPU发中断请求信号INT。(3) 接收CPU送来的中断响应信号,并置位中断服务寄存器ISR的相应位(ISRi) 。(4) 控制发出相应的中断类型号,以供CPU读取。7.3.1 内部结构及工作原理8259A工作过程1)当外部IR
21、i有中断申请时,IRRi=1。2)PR判别优先级,并将当前最高优先中断源的请求通知控制逻辑。控制逻辑向CPU发INT信号。3)当响应中断时,CPU发INTA#,控制逻辑收到响应后,准备中断类型号,同时使ISRi=1,并使IRRi=0。4)当CPU处理完中断服务程序后发中断结束命令,控制逻辑使ISRi=0,结束中断过程。 如果IMRi=1,则对应中断源的中断请求被屏蔽。7.3.1 内部结构及工作原理 结束7.3.2 引脚信号7.3.2 引脚信号D7D0:为8位双向的数据线A0:端口选择信号(两个端口地址)IRi:8个中断源中断请求端INT:中断请求输出信号INTA#:中断响应输入信号RD#和WR
22、#:读/写控制信号CS#:片选信号SP#/EN#:级联/缓冲控制 (1)级联时输入:SP#:1=主片, 0 =从片; (2)缓冲时输出:EN#:1CPU写,0CPU读。7.3.2 引脚信号 结束7.3.3 工作方式1、中断优先级方式2、中断嵌套方式3、中断屏蔽方式4、中断结束方式5、中断触发方式6、与系统总线的连接方式7、级联工作方式8、查询方式1、中断优先级方式IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最高级最高级最低级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级优先级可编程改变 两种优先级控制方式:固定优先级和循环优先级。1、
23、固定优先级方式:所有中断请求IRi的中断优先级固定不变;优先级排列顺序可编程改变;加电后8259A的默认方式,默认优先级顺序从高到低为IR0-IR7。1、中断优先级方式2、循环优先级方式 :中断源轮流处于最高优先级,即自动中断优先级循环;初始优先级顺序可用编程改变;某中断请求IRi被处理后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级。IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低级最高级最高级最低级ISR内容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服务结束以前0101000001000000IR4的服务结束以后ISRi2、中断
24、嵌套方式 两种中断嵌套方式:普通全嵌套方式和特殊全嵌套方式。1、普通全嵌套方式(默认方式): 一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。2、特殊全嵌套方式: 一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。 注: 特殊全嵌套仅用于多个8259A级联时的主8259A,而不能用于从属8259A或单8259A系统。一般全嵌套方式与特殊全嵌套方式的区别 D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应特殊嵌套方式:因主片不封锁从片的INT,故
25、级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁)C.假定IR3发生中断,并获得服务一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。B.特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。A.INTE.从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7去CPU3、中断屏蔽方式 两种优先级控制方式:普通屏蔽方式和特殊屏蔽方式。1、普通屏蔽方式: 当一个优先级较高的中断请求正在被处理时,不允许优先级较低的中断进入正在处理的高级别中断。 利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或数位置1来屏蔽一个或数个中断源的中断请求。3、中断屏蔽方式2
26、、特殊屏蔽方式: 在某些场合,执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,特殊屏蔽方式提供了允许较低优先级的中断能够得到响应的特殊手段。 特殊屏蔽方式中只能用特殊EOI命令结束中断。4、中断结束方式 当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0是通过向8259A发出中断结束命令(EOI命令)实现的。 三种EOI方式:自动EOI方式正常EOI方式特殊EOI方式4、中断结束方式 (1)中断自动结束方式(AUTOMATICAEOI方式) 在第二个INTA#后沿,即完成把对应的ISR位复位。 注意:AEOI方式是
27、在中断响应后,而不是在中断处理程序结束后将ISR位清0。这样,在中断处理过程中,8259A中就没有“正在处理”的标识。此时,若有中断请求出现,且IF1,则无论其优先级如何(比本级高、低或相同),都将得到响应。尤其是当某一中断请求信号被CPU响应后,如不及时撤销,就会再次被响应“二次中断”。 所以,AEOI方式适合于中断请求信号的持续时间有一定限制以及不出现中断嵌套的场合。 通过ICW4可以设置AEOI方式(AEOI=1)。4、中断结束方式(2) 一般(常规)中断结束方式 CPU发出正常EOI命令,该EOI命令使ISRi=1的位中优先级最高的那一位复位。 可用于嵌套工作方式。 在级联情况下的:先
28、结束从片上中所有服务后,再结束对应的主片上的服务。4、中断结束方式 (3)特殊中断结束方式(SPECIFIC EOISEOI) 由CPU发出特殊EOI命令,该EOI命令中指出了所要复位的ISR的位号,用于特殊屏蔽方式。5、中断触发方式 两种触发方式:边沿触发方式和电平触发方式。1、边沿触发: IRi出现上升沿表示有中断请求。 2、电平触发: IRi出现高电平表示有中断请求。 在第1个INTA#结束前,IRi必须保持高电平。 6、与系统总线的连接方式 两种连接方式:缓冲方式和非缓冲方式。1、缓冲方式: 一般在多片8259A级联系统中,8259A通过总线驱动器与系统总线相连,而不是8259A直接与
29、系统总线相连,这就是缓冲方式。2、非缓冲方式: 当系统只有一片8259A或少量几片8259A时,一般将它直接与数据总线相连。这就是所谓的非缓冲方式。7、级联工作方式单片8259A可支持8个中断源;采用多片8259A级连,可最多支持64个中断源。n片8259A可支持7n+1个中断源;级连时只能有一片8259A为主片,其余的均为从属片;涉及到的8259A引脚包括: CAS0-CAS2、SP#/EN#、IRi、INT。级联电路连接方法8、查询方式 CPU禁止外部的中断请求(IF位为0)。外设仍然向8259A发中断请求信号,要求CPU服务,此时,CPU需要用软件查询方法来确认中断源,从而实现对外设的服
30、务。 CPU首先向8259A发查询命令,紧接着执行一条输入指令(IN),从8259A的偶地址读出一个字节的查询字,由该指令产生的RD#信号使ISR的相应位置1。 CPU读入查询字后,判断其最高位,若最高位为1,说明8259A的IR端已有中断请求输入,此时该查询字的最低三位组成的代码表示了当前中断请求的最高优先级,CPU据此转入相应的中断服务程序。7.3.3 工作方式 结束7.4 中断调用及中断程序设计7.4.1 中断调用指令的执行过程7.4.2 BIOS中断调用7.4.3 DOS中断调用7.4.4 中断程序设计7.4.1 中断调用指令的执行过程INT n指令的执行过程IRET 指令的执行过程I
31、NT n指令的执行过程(1)SP=SP-2(2)PSW (FLAGS) 入栈(3)SP=SP-2(4)断点地址(INT n 的下一条指令)的CS入栈(5)SP=SP-2(6)断点地址的IP入栈(7)IP=0000:n*4(8)CS=0000:n*4+2IRET 指令的执行过程(1)IP=SS:SP(2)SP=SP+2(3)CS=SS:SP(4)SP=SP+2(6)FLAGS=SS:SP(7)SP=SP+27.4.1 中断调用指令的执行过程 结束7.4.2 BIOS中断调用BIOS功能调用: 借助于存于系统板ROM中的BIOS程序实现功能调用,它是最直接控制硬件的系统程序,是其它程序(OS,用户
32、程序等)与硬件的接口程序。BIOS中断类型BIOS调用方法与步骤BIOS调用示例BIOS中断类型BIOS调用方法与步骤1)在AH寄存器中设置调用子程序的功能号2)根据要求设置入口参数3)使用INT n指令转入BIOS程序入口,其中n为中断类型号4)程序运行完毕后,如果有出口参数,则按规定取得出口参数BIOS调用示例显示功能日期和时间键盘服务参见:P414 附录2 常用BIOS中断调用BIOS显示功能调用10H示例 在当前光标处显示一个字符$,光标自动后移。中断号:10H功能号:AH=0EH入口参数:AL=要显示的字符编码调用方法:MOV AH,0EHMOV AL,$INT 10H利用BIOS日
33、期调用读取日期 读系统日期。中断号:1AH功能号:AH=04H入口参数:无出口参数:CX=年(带世纪),DH=月,DL=日调用方法:MOV AH,04INT 1AH利用BIOS日期调用设置日期 设置系统日期。中断号:1AH功能号:AH=05H入口参数:CX=年(带世纪),DH=月,DL=日出口参数:无调用方法:MOV CX,2006H ;2006年MOV DX,0428H ;4月28日MOV AH,05INT 1AH利用BIOS时间调用读取时间 读系统时间。中断号:1AH功能号:AH=02H入口参数:无出口参数:CH=时,CL=分,DH=秒调用方法:MOV AH,02INT 1AH利用BIOS
34、时间调用设置时间设置系统时间。中断号:1AH功能号:AH=03H入口参数:CH=时,CL=分,DH=秒出口参数:无调用方法: MOV AH,03MOV CX,1145H ;11:45MOV DH,0INT 1AHBIOS键盘服务调用16H示例 从键盘读取字符。中断号:1AH入口参数:AH=0出口参数:AH=键盘扫描码,AL=ASCII码字符调用方法:MOV AH,0INT 16H7.4.2 BIOS中断调用 结束7.4.3 DOS中断调用DOS中断类型DOS调用方法DOS调用示例DOS功能调用: 借助于DOS操作系统提供的处理程序实现功能调用。DOS中断类型DOS调用方法同BIOS在AH寄存器
35、中设置调用子程序的功能号。根据要求设置入口参数。使用INT21H指令转入DOS程序入口,其中n为中断类型号。程序运行完毕后,如果有出口参数,则按规定取得出口参数。DOS中断调用21H示例显示功能日期和时间键盘服务DOS显示功能调用示例在当前光标处显示一个字符$,光标自动后移,功能号AH=02H入口参数:要显示的字符在DL中调用方法:MOV AH,02HMOV DL,$INT 21H与BIOS功能两点不同: 一是中断类型号和功能号不同, 二是要显示的字符存放寄存器不同利用DOS日期调用2AH读取日期读系统日期,功能号2AH入口参数:无出口参数:CX=年(带世纪),DH=月,DL=日,AL=星期(
36、0星期日,16星期16)调用方法:MOV AH,2AHINT 21H注意:CX、DH及DL中为十六进制数利用DOS日期调用2BH设置日期读系统日期,功能号2BH入口参数:CX=年(带世纪),DH=月,DL=日出口参数:成功,AL=0;失败,AL=0FFH调用方法: MOV CX,2006 ;2006年(07D6H)MOV DH,04MOV DL,28 ;4月28日MOV AH,2BHINT 21H注意:CX,DH,DL均用十六进制数表示DOS键盘服务调用示例从键盘读字符并回示入口参数:AH=1出口参数:AL=ACII码字符调用方法:MOV AH,1INT 21H7.4.3 DOS中断调用 结束7.4.4 中断程序设计1、中断程序设计的任务2、中断向量设置3、中断服务程序驻留内存方法4、中断服务程序设计1、中断程序设计的任务加载程序(1)设置中断向量(2)初始化中断控制器(前面已介绍过)(3)利用系统功能调用驻留中断服务程序 【注意】在执行上述操作前必须关中断,以免影响加载程序的正常运行;而当加载程序运行结束时,必须开中断,这样才能接收中断请求。中断服务程序设计2、中断向量设置直接装入方法直接利用中断向量与存放地址关系存入内存利用DOS中断装入方法入口:AH=25,AL=中断类型号,DS:DX=中断向量,出口:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息技术贷款居间合同
- 有色金属贷款居间合同
- 2024泰来县职业技术教育中心学校工作人员招聘考试及答案
- 2024湖南省衡阳市第五技工学校工作人员招聘考试及答案
- 离婚双方财产分割合同书
- 舞蹈教师合作合同及条款
- 化工制图与识图试题库与参考答案
- 采购合同范文大全
- 电路理论考试题(附答案)
- 酒店餐饮部后厨承包合同
- 叉车日常维护保养检查记录表
- (完整版)创伤后应激障碍量表平民版_PCL-C
- 仿生鱼机器人设计说明书
- Q∕GDW 12070-2020 配电网工程标准化设计图元规范
- (精心整理)小学英语特殊疑问句练习(带答案)
- 小学语文人教课标版(部编)三年级下册习作:我做了一项小实验
- 广西壮族自治区建筑装饰装修工程消耗量定额(2013版)
- 中国历史朝代简表全
- 铁总计统【2017】177号关于进一步加强铁路建设项目征地拆迁工作和费用管理的指导意见
- 蹲踞式起跑PPT
- 1云南省初中综合素质,完整版综合素质评定表
评论
0/150
提交评论