微机原理与接口技术-第8章微型计算机中断系统_第1页
微机原理与接口技术-第8章微型计算机中断系统_第2页
微机原理与接口技术-第8章微型计算机中断系统_第3页
微机原理与接口技术-第8章微型计算机中断系统_第4页
微机原理与接口技术-第8章微型计算机中断系统_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及接口技术

第八章微型计算机中断系统

CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂时中断正在运行的程序,转去执行一段特殊的服务程序(称为中断服务程序或中断处理程序),以处理该事件,该事件处理完后又返回被中断的程序继续执行,这一过程称为中断。一、中断的概念8.1概述8.1概述中断技术是微机中一项重要技术。它不仅在数据输入、输出中提高了CPU的效率,而且在多外设、实时控制、故障处理中也是一项必不可少的技术。中断处理的过程:INTR=1i+1条指令中断服务程序i条指令CPU响应中断外设中断源申请中断INTA=0②实时处理。控制系统往往有许多数据需要采集或输出。实时控制中有的数据难以估计何时需要交换。中断可为实时控制提供支持。③故障处理。计算机系统的故障往往随机发生,如电源断电、运算溢出、存储器出错等。采用中断技术,系统故障一旦出现,就能及时处理。中断的应用特点①CPU与外设并行工作。解决CPU速度快、外设速度慢的矛盾。在外设需要时发出中断申请,CPU才中断原有工作执行中断服务程序,与外设交换数据;中断服务结束,CPU返回原程序继续执行。8.1概述一、中断的概念1.中断源引起CPU中断的事件——中断源。例如:外设——请求输入输出数据,报告故障等事件——掉电、硬件故障、软件错误、非法操作、定时时间到等中断源分类:内部中断:CPU内部执行程序时自身产生的中断外部中断:CPU以外的设备、部件产生的中断8.1概述2.中断响应对于内部中断和非屏蔽中断来说CPU应立即响应。对于可屏蔽中断来说CPU在每条指令的最后一个T检测INTR引脚,当有中断请求并开中断(IF=1)的情况下向外设发出中断响应信号INTA#。当CPU响应中断后首先要保护断点,然后转去执行中断服务程序,中断服务程序执行结束返回断点继续执行被中断的程序。一、中断的概念(续)8.1概述一、中断的概念(续)8.1概述3.中断向量表(中断矢量表)中断向量表即中断服务程序入口地址表。中断向量表中存放着中断服务程序的入口地址。CPU响应中断后根据中断类型号在中断向量表中查到对应的中断服务程序的入口地址,然后转到中断服务程序。一、中断的概念(续)8.1概述4.中断优先级

当多个中断源同时发生中断请求时CPU先响应优先级高的中断。当CPU正在运行中断服务程序时又有高优先级的中断请求进入,CPU会暂时挂起正在运行的中断服务程序去执行高级的中断服务程序。实现中断嵌套。一、中断的概念(续)8.1概述5.中断屏蔽

对于可屏蔽中断,CPU可以由软件设置,使之不能被响应,称为中断屏蔽。8086/8088中断源类型

NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部逻辑断点中断可屏蔽中断请求n43012二、中断分类

8.1概述

8086/8088共有256个中断源,分内部中断和外部中断两大类:二、中断分类

(续)8.1概述

由外部硬件产生的中断。分为非屏蔽中断和可屏蔽中断两种:1.外部中断:非屏蔽中断:从NMI引脚引入,上升沿有效,不受IF(中断允许)位限制,中断向量码为2。可屏蔽中断:从INTR引脚引入,高电平有效,当IF=1时允许中断,中断向量码由中断控制器(如8259)提供。软中断指令产生的中断;如:INT12HINT21H

2.内部中断(软中断):有三种情况能引起内部中断:二、中断分类

(续)8.1概述软中断指令产生的中断;

CPU进行运算时发生错误产生的中断;单步和断点中断,用于程序调试。

CPU进行运算时发生错误产生的中断;

2.内部中断(软中断):二、中断分类

(续)8.1概述除法错中断:中断类型号为0,当商超出计算机所能表示的范围时产生。溢出中断:中断类型号为4,专用指令INTO当运算使溢出标志OF=1时产生。例如:ADDAX,VALUEINTO若OF=0INTO不起作用,否则产生中断

2.内部中断(软中断):二、中断分类

(续)8.1概述单步和断点中断,用于程序调试。单步中断:用于程序调试。当TF位置1后,每执行一条指令CPU即自动产生中断类型号为1的中断。断点中断:用于程序调试。中断类型号为3。当用debug调试程序时,可以在程序中插入断点,在断点处插入一条断点指令INT3

8.2中断处理过程1.中断请求:对中断请求信号的规定:信号要满足CPU的要求;应被有效的记录;信号的应及时撤消。对于可屏蔽中断中断的处理过程分以下几步:2.中断响应:指令执行结束;开中断;没有复位、保持和非屏蔽中断;如果正在执行STI(开中断)IRET(中断返回)指令,CPU要再执行一条指令后才响应。对于非屏蔽中断CPU会立即响应对于可屏蔽中断要满足一定条件:8.2中断处理过程3.保护现场:软件查询法;中断矢量法。4.转入执行中断服务程序:

中断源识别:

中断服务:5.恢复现场:6.中断返回:8.2中断处理过程一、CPU对中断的响应关中断断点保护转中断服务CPU自动执行中断响应保护现场开中断中断服务恢复现场返回主程序CPU执行中断服务程序执行一条指令指令结束INTR=1取下一条指令CPU执行主程序NN

1、CPU发INTA同时,自动关中断

2、CPU自动将断点CS,IP,PSW入栈

3、CPU将中断源提供的中断类型码形成中断服务入口地址,送CS,IP执行PUSH指令用于中断嵌套。若无中断嵌套,可放在恢复现场前执行POP指令原PSW,IP,CS出栈,返回主程序IF=1INTR=18.2中断处理过程8.2中断处理过程对于不可屏蔽中断和IF无关,也不用判断中断源,直接转到中断2,在中断处理过程过程中仍能响应不可屏蔽中断。对于软件中断由程序设定,能被不可屏蔽中断和可屏蔽中断所中断。中断请求非屏蔽中断内部中断可屏蔽中断第2个INTA周期读中断向量码第1个INTA周期FLAGS→((SP)-1)((SP)-2)(CS)→((SP)-3)((SP)-4)(IP)→((SP)-5)((SP)-6)(SP)-6→SP0→IF0→TF(4n)

(4n+1)→(IP)(4n+2)

(4n+3)→CS中断处理中断响应过程:INTA:中断响应输出信号(两个负脉冲),用于读中断向量码8086/8088

中断过程

二、8086/8088的中断响应过程完成当前指令内部中断NMIINTRTF=1执行下一条指令IF=1响应中断读类型码标志入栈调服务程序CS、IP入栈清除IF、TF令TEMP=TF又有NMITEMP=1执行服务程序CS、IP出栈标志出栈继续执行被中断的程序YNNNNYYYYNNYYNIF=1读类型码N形成中断类型码二、中断向量表8.2中断处理过程对于可屏蔽中断,当CPU响应中断后要判断是哪个中断源发出的中断请求(中断源识别),可以采用软件查询法和中断矢量法。软件查询法的具有简单优点是简单,但浪费时间,当源较多时有些设备可能长时间得不到服务。中断矢量法是将中断服务程序的入口地址(矢量地址)放到一个转移地址表中,根据中断类型号可以在表中查到对应的中断服务程序的入口地址。存放各类中断的服务程序入口地址(段和偏移)表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口每个服务程序入口占用4Bytes,低字为段内偏移,高字为段基址根据中断类型号获得中断服务程序入口的方法:(n为中断类型号)中断向量在IVT中的存放地址=4×n8086/8088中断向量表(IVT)二、中断向量表8.2中断处理过程CS

n=0,存放除法中断程序入口地址...000H004H008H3FCH3FFHIPCSCSIP

n=1,存放单步中断程序入口地址n=255

中断n的服务程序入口地址存放在4n

开始连续的4个单元中(4×0)(4×0+1)2个单元

(4×0+2)(4×0+3)

两个单元二、中断向量表8.2中断处理过程例:某中断的中断类型号为68H,其中断过程为:(1)计算存放中断服务程序入口地址的地址=68H*4=1A0H;(2)

取中断入口地址的段内偏移量装入IP,IP=2050H

,段码装入CS,CS=A000H;(3)转向中断服务程序;(4)中断返回502000A0001A0H001A2H001A4H存放地址=68H*4=1A0H2050A000STIPUSHDSIRET中断服务程序A000:2050INT68HMOVAX,0①②③④⑤2.中断入口地址的设置

IBMPC对256个中断类型已进行了地址分配,其中40H以后的中断类型号可供用户使用。供用户使用的中断类型号,可由用户定义为软中断,由INTn指令引用;可通过INTR端或通过中断控制器8259A引入可屏蔽的硬件中断。使用时用户要自己将中断服务程序入口地址置入相应的中断向量表内。方法1:通过指令来设置程序1:MOVAX,0;中断入口表

MOVES,AX;段地址送ESMOVDI,n*4;偏移量送DIMOVAX,OFFSETINTRADCLD;DF=0递增STOSW;传送子程序偏移地址MOVAX,CSSTOSW;传送子程序段地址STI;开中断MOVAX,0;中断入口表

MOVES,AX;段地址送ESMOVBX,n*4;偏移量送DIMOVAX,OFFSETINTRADMOVES:[BX],AXMOVAX,SEGINTRADMOVES:[BX+2],AXSTI程序2:方法2:通过调用DOS功能来设置设置中断入口:把由AL指定中断类型号的中断入口DS:DX中放置在中断入口表中。预置:AL=中断类型号

DS:DX=中断服务程序入口地址

AH=25H执行:INT21H取中断入口:把由AL指定中断类型号的中断入口,从中断入口表中取到ES:BX中。预置:AL=中断类型号

AH=35H执行:INT21H返回:ES:BX=中断服务程序入口地址MOVAL,n;取中断入口MOVAH,35HINT21HPUSHES;存原中断入口PUSHBXPUSHDSMOVAX,SEGINTRADMOVDS,AXMOVDX,OFFSETINTRADMOVAL,n;中断类型号MOVAH,25H;设置中断入口INT21HPOPDSPOPDX;恢复原中断入口POPDSMOVAL,nMOVAH,25HINT21HRET二、中断向量表8.2中断处理过程3.中断类型号的获取

对于内部中断和从NMI引入的非屏蔽中断,类型号固定。对于从INTR引入的可屏蔽中断,类型号有两种方法:并行输入接口;8259中断控制器中断主程序的编写主程序中的初始化:设置中断向量表设置中断屏蔽位设置中断允许标志。硬件(外设接口)和CPU自动完成:外设向CPU发INTR当前指令结束,CPU发INTA#CPU读中断类型号CPU保存断点关中断、禁止单步中断取中断服务程序入口地址转到中断服务程序中断服务子程序的编写中断服务子程序:保护现场若允许中断嵌套要开中断执行中断处理程序关中断,禁止其它中断进入发EOI命令,结束中断恢复现场用IRET指令返回主程序8.3中断控制器8259A1、8级优先权控制,通过级连可扩展到64级优先级控制;2、每一级可由程序单独屏蔽或允许;3、在CPU响应周期,可提供相应的中断类型码。中断类型码由8259编程设定;4、通过编程可设定多种工作方式。一、功能数据总线缓冲器读/写控制电路级联缓冲器/比较器D0~D7RD#WR#A0CS#中断请求寄存器(IRR)CA0CA1CA2SP#/EN#判优电路PR内部服务寄存器(ISR)中断请求寄存器(IMR)控制电路IR0...IR7INTA#INT8259内部结构图二、中断控制器8259A内部结构

8.3中断控制器8259A1、数据总线缓冲器与CPU的DB连接,传送控制字、状态字和中断类型码等。2、读写逻辑通过IORD、IOWR、CS、A0控制接收CPU的命令、发出8259的状态。8.3中断控制器8259A二、中断控制器8259A内部结构

(序)

CSRDWRA0D4D3读写操作

01001写ICW10101

写ICW2、ICW3、ICW4、OCW1010000写OCW2010001写OCW30010

读IRR/ISR0011

读IMR8259的读写功能3、级联缓冲/比较器(1)缓冲方式:在多片8259A级联的系统中,8259A通过总线驱动器和数据总线相联。在缓冲方式下,SP#/EN#与总线驱动器的允许端相连,控制总线驱动器的启动,当EN#=0,8259A控制数据送到CPU,当EN#=1,控制数据从CPU送到8259A。(2)非缓冲方式:此时各8259A直接与数据总线相连。SP#/EN#为输入端,当SP#=1,该片为主片,当SP#=0,该片为从片。主片与从片通过CAS0~CAS2级连。主片的INTR与CPU的INTR连接;从片的INTR作为主片的IR0~IR7输入。8.3中断控制器8259A二、中断控制器8259A内部结构

(序)

8.3中断控制器8259A二、中断控制器8259A内部结构

(序)

5、在服务寄存器IRS(8位)

正在服务的中断源标志,当某个中断被响应后,CPU发出第一个INTA信号,ISR中的相应位置“1”,一直被保存到该中断处理结束。当多重中断时,ISR的多位同时被置1。4、中断请求寄存器

IRR(8位)

存放中断请求信号,当IR0——IR7中的某个IR端有中断请求时,IRR相应的某位置1。当该中断被响应后,IRR相应的位被复位。优先权IR0最高,IR7最低。8.3中断控制器8259A二、中断控制器8259A内部结构

(序)

6、中断屏蔽寄存器

IMR(8位)用于存放对中断请求的屏蔽信息。软件编程使得IMR的某位为“1”时,相应IRR中的中断请求被屏蔽;若IMR的某位为“0”时,允许相应IRR中的中断请求进入中断优先级判别器。IMR的各中断屏蔽位是独立的,屏蔽了优先级高的中断,不影响其它较低优先级的中断允许。7、优先权电路(PR)

对IRR保持的各中断请求(已屏蔽的除外)进行优先权判别,并在CPU的中断响应周期将其送IRS。在出现多重中断时,由PR判定是否允许所出现的中断去打断正在处理的中断,让优先级更高的中断优先处理。8、控制逻辑向CPU输出INTR中断请求,接受CPU的中断响应信号INTA#。8.3中断控制器8259A二、中断控制器8259A内部结构

(序)

8259A对中断请求的处理过程:当某IRi有效时,IRR相应位置1若有效的IRi未被屏蔽,则向CPU发出中断请求检测到第1个INTA#信号后,置ISRi=1,IRRi=0检测到第2个INTA#信号后,把ISRi=1中最高优先级的中断类型码放到DB上若工作在AEOI方式,在第2个INTA#结束时,使ISRi复位;否则由CPU发出EOI命令使ISRi复位8.3中断控制器8259A

(1)嵌套方式:用于优先级的控制,嵌套方式分为一般和特殊两种嵌套方式:完全嵌套方式(一般嵌套方式):

这种方式符合一般优先级的控制原则,用于单片8259或级连方式中从8259。特点是只有优先级高的中断可以中断比它优先级低的中断。特殊全嵌套方式:

在这种方式下,主8259在对从8259进行中断处理时允许同一个从8259的不同中断请求服务。用于级连方式中主8259。特点是允许中断优先级和它同级的中断服务。

三、8259A的中断管理方式(工作方式)(序)8.3中断控制器8259A1.优先级设置方式:在8259中优先级的控制有两种方式:固定优先级:

IR0——IR7优先级依次由高到低固定排列。循环优先级:

在这种方式下,有自动循环和特殊循环优先级两种:(2)优先级的规定自动循环:刚被服务的中断优先级最低。

特殊循环(指定循环):被OCW2指令指定的优先级最低。

三、8259A的中断管理方式(工作方式)(序)8.3中断控制器8259A1.优先级设置方式(序)2.中断结束处理方式当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0,采用什么方式对ISRi

进行清除就是这里所说的中断结束方式。8259A有两种结束方式,非自动和自动结束方式。

三、8259A的中断管理方式(工作方式)(序)8.3中断控制器8259A自动结束方式:该方式下不需要EOI命令,在第2个INTA#结束时,由8259A使ISRi自动复位;因此使用自动结束方式有可能响应更低级的中断。

非自动结束方式:两种EOI命令一般结束命令(EOI)特殊EOI方式(SEOI),在该方式下可以对正在处理的中断以外的中断标志进行清除。

三、8259A的中断管理方式(工作方式)(序)8.3中断控制器8259A2.中断结束处理方式(序)

8259A的命令字8259A的控制命令分为初始化命令字ICWICW1~ICW4向8259A写入ICW的过程称为初始化编程操作命令字OCW

OCW1~OCW3向8259A写入OCW的过程称为操作方式编程

四、8259A的编程方法

8.3中断控制器8259A8259A内部寄存器的寻址方法CS#RD#WR#A0D4D3读写操作010000写OCW2写OCW3写ICW1写ICW2,ICW3,ICW4,OCW1(顺序写入)00101x1xx00101xx读出IRR、ISR读出IMR需要CS#、A0、RD#、WR#和D4、D3的配合内部寄存器的访问方法如下表:

四、8259A的编程方法

(序)8.3中断控制器8259A8259的初始化流程如图:写ICW1写ICW2级连?写ICW3需ICW4?写ICW4NNYY!

注意次序不可颠倒

四、8259A的编程方法

(序)8.3中断控制器8259A初始化8259A必须从ICW1开始写ICW1意味着重新初始化8259A写入ICW1后,8259A的状态如下:清除ISR和IMR(全0);将中断优先级设成初始状态:IR0最高,IR7最低;设定为一般屏蔽方式;采用非自动中断结束方式;状态读出逻辑预置为读IRR。8259A的初始化过程

四、8259A的编程方法

(序)8.3中断控制器8259ALTIM:触发方式=1高电平触发=0上升沿触发

A0 D7 D6 D5 D4 D3 D2 D1 D0

0 x

x

x 1 LTIM xSNGLIC4

IC4:ICW4控制=1要写ICW4=0不写ICW4(默认为全0)SNGL:级连控制=1单片=0级连8259A的初始化字

ICW1

四、8259A的编程方法

(序)8.3中断控制器8259AT7~T3:中断向量码的高5位T2~T0:最低3位为中断源的序号IRn000~111分别对应IR0~IR7由8259A根据中断源的序号自动填入例如:若ICW2命令字为48H,则IR0的中断向量码为48H,IR7的中断向量码为4FH,等等。

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 T7T6 T5 T4 T3

x

x

x8259A的初始化字ICW2(中断向量码)

四、8259A的编程方法

(序)8.3中断控制器8259A8259A的初始化字ICW3(级连控制字)

主片的级联控制字

Si=1对应IRi线上连接了从片

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 S7S6 S5 S4 S3

S2

S1

S0从片的级联控制字

ID2~ID0标识码,说明本从片连接到主片的哪个IR引脚上。000~111分别对应IR0~IR7。

A0 D7 D6 D5 D4 D3 D2 D1 D0

1 00 0 0 0

ID2 ID1 ID0

四、8259A的编程方法

(序)8.3中断控制器8259AICW3——级连控制字(续)ICW3必须与主从片的连接关系一致: 例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。

四、8259A的编程方法

(序)8.3中断控制器8259A8259A的初始化字ICW4(中断结束方式字):

SFNM:特殊全嵌套1特殊全嵌套方式0一般全嵌套方式AEOI:自动EOI1自动EOI方式0非自动EOI方式A0 D7 D6 D5D4 D3 D2 D1 D0

1 00 0SFNM BUF M/S AEOI μPM

BUF:缓冲方式

M/S:主/从缓冲选择BUFM/S11缓冲方式/主PIC10缓冲方式/从PIC0x非缓冲方式/正常

四、8259A的编程方法

(序)8.3中断控制器8259ABUF:缓冲方式

M/S:主/从缓冲选择BUFM/S11缓冲方式/主PIC10缓冲方式/从PIC0x非缓冲方式/正常μPM=18086/8088=08080/8085

四、8259A的编程方法

(序)8.3中断控制器8259A例7-17:IBMPC/XT系统中,ROMBIOS中对8259A初始化程序为MOVAL,13H

OUT20H,AL

MOVAL,08HOUT21H,AL

MOVAL,09HOUT21H,AL

8259A的操作命令字OCW

OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求:OCW1必须写入奇地址端口(A0=1)OCW2,OCW3必须写入偶地址端口(A0=0)

四、8259A的编程方法

(序)8.3中断控制器8259A操作命令字OCW1(中断屏蔽字):

Mi=1时中断请求线IRi被屏蔽(不允许中断)Mi=0时允许该IRi中断OCW1将被写入IMR寄存器。A0=1时读OCW1可读出设置的IMR内容。A0 D7 D6 D5 D4 D3 D2 D1 D0

1 M7M6 M5 M4 M3

M2

M1

M0

四、8259A的编程方法

(序)8.3中断控制器8259A操作命令字OCW2(中断结束和优先级循环):

RSLEOI001一般EOI命令(复位ISR)011特殊EOI命令,(按L2-L0指定复位ISR)101一般EOI命令,优先级自动循环100自动EOI,设置优先级自动循环000自动EOI,取消优先级自动循环

111特殊SEOI命令,按L2-L0指定IRi优先级最低110不执行EOI命令,按L2-L0指定IRi优先级最低010无操作A0 D7 D6 D5 D4 D3 D2 D1 D0

0 RSL EOI 0 0

L2

L1

L0中断结束命令自动循环优先级特殊循环优先级

四、8259A的编程方法

(序)8.3中断控制器8259A操作命令字OCW3(屏蔽方式/查询方式控制字):

ESMM:允许使能特殊屏蔽方式SMM:特殊屏蔽方式ESMMSMM11特殊屏蔽方式置位10特殊屏蔽方式复位0x非特殊屏蔽方式P(Polling):=1查询方式

=0非查询方式A0 D7 D6 D5 D4 D3 D2 D1 D0

0 0ESMMSMM 0 1 P RR RISRR:读寄存器RIS:ISR/IRR选择RRRIS11读ISR10读IRR0x无效

四、8259A的编程方法

(序)8.3中断控制器8259A

8259A可以工作在查询方式:CPU先写一个D2=1的OCW3,再对同一地址读入,即可得到如下状态字节:

IxxxxR2R1R0

I=1表示有中断请求,中断请求号为R2-R0

此查询步骤可反复执行,以响应多个同时发生的中断。读IRR/ISR:写入此命令后,随后再对同一地址读,即可得到IRR或ISR的内容。操作命令字OCW3(屏蔽方式和读出控制字):(序)

四、8259A的编程方法

(序)8.3中断控制器8259A8.3中断控制器8259A

五、8259A的级联五、8259的中断级联CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0从82591#CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0从82592#CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0主8259GNDGNDVcc地址总线(16)控制总线(8)数据总线(8)RDWRCSA0D7--D0INTACAS0CAS1CAS2IR7IR6IR5IR4IR3IR2IR1IR0INTSP/EN从8259RDWRCSA0D7--D0INTACAS0CAS1CAS2SP/ENIR7IR6IR5IR4IR3IR2IR1IR0主8259INT外部中断请求外部中断请求例:某中断级联系统,从片的INT端接主片的IR3,主片从IR1、IR3引入两个中断请求,中断类型号为31H、35H。中断服务程序的段基址为1000H,偏移量分别为2000H、3000H。从8259的IR4、IR5引入两个中断请求,中断类型号为44H、45H。中断服务程序的段基址为2000H,偏移量分别为3600H、4500H。0020001000300010004500200036002000116001140011200110000D6000D4000C4000C6IPCS31IPCS35IPCS44IPCS45

(1)中断入口地址写入中断向量表MOVAX,1000H;送段地址MOVDS,AXMOVDX,2000H;送偏移地址MOVAL,31HMOVAH,25HINT21HMOVDX,3000HMOVAH,35HINT21HMOVAX,2000HMOVDS,AXMOVDX,3600HMOVAL,44HMOVAH,25HINT21HMOVDX,3000HMOVAH,35HINT21H(2)主片8259A初始化编程(端口地址FFC8H,FFC9H)MOVAL,11H;ICW1,级联,边沿触发MOVDX,0FFC8H;OUTDX,ALMOVAL,30H;ICW2,确定中断类型号MOVDX,0FFC9H;OUTDX,ALMOVAL,08H;ICW3,IR3端接从INT端OUTDX,ALMOVAL,11H;ICW4,特殊嵌套,非缓冲方式OUTDX,ALMOVAL,0D5H;OCW1,允许IR1,IR3,IR5中断OUTDX,ALMOVAL,20H;OCW2,普通EOI结束方式MOVDX,0FFC8H;OUTDX,AL(3)从片8259A初始化编程(端口地址FFC8H,FFC9H)MOVAL,11H;ICW1,级联,边沿触发MOVDX,0FFCAH;OUTDX,ALMOVAL,40H;ICW2,确定中断类型号MOVDX,0FFCBH;OUTDX,ALMOVAL,03H;ICW3,从片接主片的IR3端OUTDX,ALMOVAL,01H;ICW4,完全嵌套,非缓冲方式OUT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论