Upload
nassor
View
45
Download
8
Embed Size (px)
DESCRIPTION
中断系统. 第六章 中断系统. 中断的作用. 第 6.1 节 计算机中断系统 中断的作用 并行操作,提高工作效率 CPU 与外设同时工作,多个外设同时工作。 实现实时处理 在控制系统中,有些参量要求计算机能快速处理,用中断方式容易实现。 故障处理 出现故障,提出中断申请,要求计算机及时响应。. 中断源. 中断源 任何能引发中断的事件都称为 中断源 ,可分为: 硬件中断源: I/O 设备,系统时钟,故障源等 软件中断源: 程序中断指令 (INT 3) ,指令运行出错 (INTO) 等 中断系统的功能 (一)实现中断及返回 检测中断 - PowerPoint PPT Presentation
Citation preview
计算机原理讲义
中断系统
第六章 中断系统
计算机原理讲义
中断的作用
第 6.1 节 计算机中断系统一.中断的作用
并行操作,提高工作效率 CPU与外设同时工作,多个外设同时工作。
实现实时处理 在控制系统中,有些参量要求计算机能快速处理,
用中断方式容易实现。 故障处理
出现故障,提出中断申请,要求计算机及时响应。
计算机原理讲义
中断源二.中断源
任何能引发中断的事件都称为中断源,可分为: 硬件中断源: I/O 设备,系统时钟,故障源等 软件中断源:程序中断指令 (INT 3) ,指令运行出错
(INTO) 等三.中断系统的功能(一)实现中断及返回
1. 检测中断 当中断允许时, CPU 在每条指令的最后一个时钟周
期检测中断请求。2. 响应中断时保护断点和现场
断点自动保护,现场要在中断服务程序中保护
计算机原理讲义
中断系统的功能 CPU 响应中断时,会停止当前执行程序,转去执行中断处
理程序,原程序被打断的地方称为“断点”。 断点地址是指中断处理程序结束后,返回原程序恢复执
行的第一条指令的地址,又称“返回地址”。现场是指进入中断服务程序之前 CPU 各个寄存器的状态。
3. 中断服务完成时将中断申请信号撤销4. 中断服务完成后恢复现场和断点,返回原程序
中断服务程序
返回断点
中断处理
断点 CS : IP+1
正常程序
CS : IP
继续执行
计算机原理讲义
中断系统的功能(二)对中断进行控制
1. 对中断申请进行控制例 1 一个输入设备的中断接口电路
CQ
D +5V
160H
D0A
A 中断允许触发器B 中断申请触发器
D
CQ RB
地址 译码 器
INTR
162H
IOWA15~A0
IORINTA
缓冲器
缓冲器中断类型码 (0FH)
三 态
三 态D7 ~ D0 D7 ~ D0
EOC
外 设
计算机原理讲义
中断系统的功能※ 电路说明① 外设准备好数据后,发 EOC信号(负脉冲),把数据放到
接口线上,同时置“ 1”中断申请触发器。② 执行如下指令,置中断允许触发器为“ 1”,开放中断
MOV AL, 01H
MOV DX, 160H OUT DX, AL
③ 若禁止中断,则执行如下指令 MOV AL, 00H MOV DX, 160H OUT DX, AL
计算机原理讲义
中断系统的功能④ 当 INTR 为高电平,且 CPU 中断开放( IF= 1),则 C
PU 响应中断。在中断响应周期, INTA 有效,读取中断类型码,清除中断申请触发器。
⑤ 在中断服务程序中读取外设数据 MOV DX, 162H IN AL, DX
2. 对中断响应进行控制标志寄存器 Flag中 IF标志可控制 CPU是否查询 INTR引
脚 STI IF=1 允许中断 CLI IF=0 禁止中断
计算机原理讲义
中断系统的功能(三)实现优先权排队 当系统中多个中断源同时发出中断请求时, CPU 按照
重要性和急迫性 (中断优先级 )择优响应:① 不同优先级同时请求时, CPU 先响应高优先级中断;② CPU 在处理低优先级中断时,若出现高优先级中断请求,
则转去处理高优先级中断 (中断嵌套 );③ CPU 在处理高优先级中断时,若出现低优先级中断请求,
暂不响应;④ CPU 在处理中断时,若出现同级别中断请求,则等当前
中断处理完后,才处理新的请求。
计算机原理讲义
中断系统的功能(四)寻找中断源
有中断申请时需要查找中断源,以决定中断服务程序入口地址。
1. 预先约定 当有中断申请时,则转到固定地址执行中断服务程
序。电路简单,但一般只能为几个中断源服务。2. 查询
在中断服务程序中查询中断源。3. 应答方式(矢量中断) 响应中断时 CPU发中断响应信号,中断源收到此
信号发出中断类型码, CPU根据中断类型码决定中断服务程序入口地址。
计算机原理讲义
中断系统的功能※ 中断源查找和中断优先级排队的实现
1. 软件查询中断源CPU 响应中断后用软件查询申请中断的外设
查询方法优点 查询次序即是优先权次序; 省硬件,不需要硬件排队电路。
缺点:转至服务程序入口时间长
A15A0~ 译码
器
地址
IORINTR
D7~D0
源 A B C D E F G H
20H
三态缓冲器
中断申请触发器
计算机原理讲义
中断系统的功能 查询程序
IN AL, 20H
LEA BX, BRNTAB
CIRCLE: SHR AL, 1
JC GETAB
ADD BX, 2
OR AL, AL
JNZ CIRCLE
JMP ERROR
GETAB: JMP CS : [BX]
BRNTAB DW SUB1, SUB2, SUB3, SUB4
DW SUB5, SUB6, SUB7, SUB8
CF0DST
MSB LSB
计算机原理讲义
中断系统的功能2. 链式优先权排队电路(应答方式)
※ 电路说明① 每个接口有一个中断允许输入 IEI 和中断允许输出 IEO,只有 IEI 为高电平时才允许该接口芯片发中断请求;
② IEO=IEI•INT INT表示该设备有中断请求;③ 每个接口芯片的中断请求输出为 OC门,具有负逻辑的
“线或”关系;④ 响应中断时由 INTA从接口读取中断矢量。
外设 2
IEI IEO接口 2
外设 1
IEI IEO接口 1SEL1
外设 3
IEI IEO接口 3SEL2 SEL3
+5V
D7~D0
INTAINTR
IORIOW
计算机原理讲义
中断系统的功能3. 中断优先权编码电路
中断请求寄存 器
中断服务寄存 器
优先权编码器
优先权编码器
B2B1B0
A2A1A0
A>B
比较器
INTRIR0IR1IR2IR3IR4IR5IR6IR7
※ 电路说明①中断请求寄存器由 IR0
~IR7 可分别引入 8 个外设的中断请求。
②优先权编码器把当前最高优先级的中断输入进行编码后输出。
③中断服务寄存器记录正在服务的中断申请。
④中断申请的最高级与正在服务的最高级比较,只有申请级高于服务级才能提出中断申请( INT )。
计算机原理讲义
8086 中断结构
第 6.2 节 8086/8088 的中断结构一.8086 中断
8086 CPU 中断分为两类 硬件中断:由外部请求引起的中断 软件中断:由指令执行引起的中断
INT 3
指令INTO指令INT 4
断点 单步中断INT 1
除数为 0
INT 0
INT n 指令
中 断 逻 辑NMI
INTR
非屏蔽中断
可屏蔽中断
INT 2
计算机原理讲义
8086 中断结构(一)硬件中断
1. 可屏蔽中断 可屏蔽中断申请输入为 INTR引脚,高电平有效,该中断受 IF控制, CPU在每条指令的最后一个 T 状态检测该引脚。 CPU响应中断后,使 INTA有效,从外设读取中断类型码。
8086/8088有 256 个中断类型,用 1个字节进行编码称为中断类型码,每个中断类型码对应 4个字节的中断服务程序入口地址。
计算机原理讲义
8086 中断结构2. 非屏蔽中断 非屏蔽中断申请输入为 NMI 引脚,上升沿
有效,该中断不受 CPU 控制,中断类型码为 2 ( INT
2) 。 非屏蔽中断一般用于非常事件。 PC/XT 机
中用于系统板上 RAM奇偶错, I/O通道奇偶错和 808
7异常中断。
计算机原理讲义
8086 中断结构(二)软件中断
1. DIV 和 IDIV 指令( INT 0 ) 若除数为 0或商超过寄存器所能表达的范围,则产
生类型为 0 的软件中断。2. INT 指令 ( INT n )
执行 INT n 指令引起的中断。
3. INTO 指令( INT 4 )若 OF=1 ,则指令 INTO 引起类型码为 4 的软件中断。
4. 单步中断 ( INT 1 ) 若 TF=1 ,则 CPU 每执行完一条指令后便产生类型码为 1 的软件中断。
计算机原理讲义
中断优先级顺序二.PC 机的中断优先顺序
1. 软件中断(单步中断除外)2. 不可屏蔽中断 NMI
3. 可屏蔽中断 INTR
4. 单步中断
计算机原理讲义
中断向量表
三.PC 机的中断向量 8086 CPU 在内存 00000H ~ 003FFH 的 1KB 地址
空间内建立一个中断向量表,存放 256 个中断服务程序的入口地址,每个地址占 4 个字节。前两个字节为中断服务程序偏移地址 IP ,后两个字节为服务程序段地址CS 。
类型 255 指针
除数为 0
单步非屏蔽断点溢出
003FCH
00000H
00004H
00008H
0000CH
00010H
CSIP
段地址偏移量
一个中断服务程序的入口地址称为中断向量,中断向量表就是中断服务程序入口地址表。
计算机原理讲义
中断向量表 由于每个中断类型码对应 4个字节的程序入口地址,因此中断类型码乘以 4便可得到中断向量表中存放中断服务程序入口地址的存储单元的偏移量。
256 个中断向量中 0 ~ 4 : 专用中断类型 5 ~ 1FH : 保留中断类型 (可修改中断服务程序)
20H ~ 0FFH :用户可用中断类型其中 8 ~ 0FH 是 8 个硬件中断
例: INT 21H 指令调用第 21 号中断服务程序,其入口地址存放在中断向量表中84H ~ 87H 的连续 4 个字节。( 21H×4 = 84H )
偏移量低 8位
偏移量高 8位
段地址低 8位
段地址高 8位87H
86H
85H
84HIP
CS
计算机原理讲义
INTR 引脚信号说明※ INTR 引脚信号说明 计算机中,多个外设中断源通过 8259A 中断优先级管理器连接到 INTR 引脚,外设中断源的优先级由 8259A 进行管理
IR0 ~ IR7 优先级由高到低,通常对应的中断类型码为 8~
0FH 。( IR0 ~ IR7 的编号恰好对应中断类型码的低 3位) 例: IR0 对应中断类型码 08H
IR0IR1IR2IR3IR4IR5IR6IR7
8259A
INTINTR
8086
外设中断源 1
外设中断源 8
计算机原理讲义
INTR 引脚信号说明 IBM PC/XT 机中一般使用两片 8259A 级连
8259级联后可管理 15个外设,只能两级级联优先级: 0 1(8……15)3…7 高 低
IR0IR1IR2IR3IR4IR5IR6IR7
主片8259A
INTRINTR
CPU
IR8IR9
IR10IR11IR12IR13IR14IR15
从片8259A
INTR
计算机原理讲义
中断响应过程四.中断响应过程
1. 中断检测 CPU 在每条指令执行的最后一个时钟周期检测中断请
求,如果出现以下之一,则进入中断响应周期。 有软件中断 有 NMI 中断信号 有 INTR 中断信号,而且 CPU 允许中断响应,即 IF=
12. 获取中断类型码
进入中断响应周期以后, 若是 INTR ,则产生 INTA 信号,中断源通过数据总
线的低 8位将中断类型码传送给 CPU ; 若是 NMI ,则类型码是 2 ; 若程序出错产生中断,则使用默认的类型码; 若是中断指令,则指令中有类型码。
计算机原理讲义
中断响应过程3. 保护断点 系统自动将标志寄存器压入堆栈,清除 TF 和 IF ,并
将断点处的 CS 和 IP压入堆栈,先压 CS 后压 IP 。4. 得到中断向量 系统根据中断类型码形成中断服务程序的入口地址,
转入中断服务程序执行,每个中断都有自己的处理程序。5. 中断服务处理
进入中断服务程序后,通常由以下步骤组成 保护现场,开中断 中断处理 关中断,恢复现场,又开中断 用中断返回指令 (IRET) 返回
6. 中断返回:从堆栈中恢复断点处 CS:IP 和 FLAG
计算机原理讲义
8259 功能简介
第 6.3 节 中断控制器 INTEL8259A
一. INTEL8259A 结构与功能(一)功能简介
8259A 是与 8086 系列 CPU兼容的可编程中断控制器。 具有 8 级优先权控制,通过级联可扩展至 64 级 每一级中断都可以屏蔽和允许。 中断响应时提供中断类型码。 中断申请可以有电平触发,也可有边沿触发。 有多种工作方式。
计算机原理讲义
8259 内部结构(二) 8259 内部结构
INTA INT
数据总线 缓冲器
读 /写控 制逻 辑
级 连缓 冲比 较
SP/EN
控制电路控制逻辑
初始化命令 寄存器组
操作命令寄存器组
中断 请求 寄存 器( IRR )
IR0IR1IR2IR3IR4IR5IR6IR7
中断服务寄存器
( ISR )
中断优先级分析器
中断屏蔽寄存器 ( IMR )
D7~D0
RDWR
CSA0
CAS1CAS2
CAS0
计算机原理讲义
8259 内部结构说明
※ 内部结构说明① 8259A 有 8 个外部请求输入端 IR0~IR7 ,由中断请求
寄存器 IRR 保存申请状态;② 中断服务寄存器 ISR 保存 CPU 正在处理的中断请求;③ 中断屏蔽寄存器 IMR 对中断申请进行控制;④ 中断优先级分析器决定中断申请的优先级;⑤ 控制逻辑中包含两个寄存器组
初始化命令寄存器组: ICW1~ICW4 操作命令寄存器组: OCW1~OCW3
⑥ 级联逻辑控制 8259A 的主从工作方式。
计算机原理讲义
8259 引脚图
※ 引脚说明① D7~D0 双向,三态数据线,
可直接与系统总线相连。② IR7~IR0 8 个外部中断请求
输入引脚,可为高电平有效或上升沿有效。
③ RD 读信号,输入,低电平有效,若有效则把 8259A内部寄存器数据读入到 CPU 。
④ WR 写信号,输入,低电平有效,若有效则把数据写入到8259A 的内部寄存器。
1234567891011121314
CS WR RD D7 D6 D5 D4 D3 D2 D1 D0
CAS0CAS1GND
Intel8259A
2827262524232221201918171615
VccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS2
(三) 8259A 引脚图
计算机原理讲义
8259 引脚图说明⑤ CS 片选信号,低电平有效,给 8259A 分配地址。⑥ A0 用于选择 8259A内部不同寄存器。⑦ INT 中断申请线,输出,高电平有效, 8259A 的中断
申请输出引脚(可连接 8086 的 INTR )。⑧ INTA 输入,低电平有效,有效时 8259A 输出中断类型
码⑨ CAS2~CAS0 级联信号线,当 8259A 为主片时为输出
引脚,从片时为输入引脚。收到第一个 INTA 时,主片通过这三根线通知有中断申请的从片在第二个 INTA 时送出中断类型码。
⑩ SP/EN 在非缓冲工作方式时,输入,决定 8259A 为主片还是从片;在缓冲工作方式时,输出,由它打开总线缓冲器。
计算机原理讲义
8259 与计算机的连接二.8259A 与计算机的连接(一) 8259A单片工作方式的接口电路
D7~D0
D7~D0
RDWRINTINTAA0CS
8259A
SP/EN IR0IR1IR2IR3IR4IR5IR6IR7
CAS2CAS1CAS0
IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7
日时钟键盘保留COM2COM1硬盘软盘打印机
+5V
IORIOW
INTRINTA
A1
A13
A15A14
A10
A12A11
74LS30
74LS04A9
+5V
A8A7A6A5
+5V
CBA
74LS138
Y1Y0
G2AG2B
G1
计算机原理讲义
8259 与计算机的连接※ 电路说明
① 8259A 的数据线与控制线对应连接到系统总线;② 由 74LS30 ( 8 输入与非门)和 74LS138 (三-八译
码器)对地址线进行译码决定端口地址,地址为020H~03FH ;
③ 8086使用低 8位数据线与 8259A传递信息。 8086 的A1 接到 8259 的 A0 线上,使用偶地址;
④ CAS2 CAS1 CAS0未接, SP/EN 接正电源;⑤ 地址范围
范 围A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0
0 0 0 0 0 0 0 0 0 0 1 X X X X X0020H~ 003FH
计算机原理讲义
(二)两片 8259A 级联工作管理 15 级中断+5V
D7~D0INT
8259A
SP/EN IR0IR1IR2IR3IR4IR5IR6IR7
IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7
CAS2 CAS1 CAS0
D7~D0
CS
8259A
SP/EN
IR0IR1IR2IR3IR4IR5IR6IR7
IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15
CAS2 CAS1 CAS0INT
INTA2CS
(020H ~
03FH )
(0A0H ~ 0BFH )
INTA1CS
INTARDWRA0
INTARDWRA0
D7~D0
实时钟改向 INT0A
协处理器
CS
INTRINTAIORIOWA1
计算机原理讲义
8259 与计算机的连接※ 说明① 从片 8259A 的中断申请端 INT 接主片的 IR2
② 主片的 SP/EN 接 +5V,从片的 SP/EN 接地,主从片的CAS2、 CAS1、 CAS0 对应连接。
③ 主片的端口地址 INTA1CS 为 020H~03FH, 从片的端口地址 INTA2CS 为 0A0~ 0BFH.
④ 8086 系统主从芯片都用偶地址传递信息。
计算机原理讲义
8259 初始化命令字三.8259A 编程字(一)初始化命令字
1. ICW1 ( Initial Command Word )
※ A0=0 , D4=1 表示对 ICW1编程① D0 ( IC4 )
D0=1 需要 ICW4 ; D0=0 不需要 ICW4② D1 ( SNGL )
D1=1 为单片 8259 工作方式; D1=0 为级联工作方式,此时要用 ICW3 指明级联端
A0
0 IC4SNGLADILTIM1A7 A6 A5
D7 D6 D5 D4 D3 D2 D1 D0
计算机原理讲义
8259 初始化命令字③ D2 ( ADI )
指明 8080/8085 系统中地址间距, 8086 系统不用④ D3 ( LTIM )
D3=1 中断请求是电平触发方式 ; D3=0 上升沿触发方式。
⑤ D5~D7 ( A5~A7 )8080/8085 系统中断服务程序页面地址, 8086 系统不用
※ 注:初始化命令字一般在初始化 8259 时才写入,而且写入有严格的顺序,先写 ICW1 ,最后写 ICW4
计算机原理讲义
8259 初始化命令字2. ICW2
※ A0=1 ,跟在 ICW1 后表示对 ICW2编程① A15~A8 为 8080/8085 系统中页面地址高 8位;② T7~T3 为 8086 系统中的中断类型码的高 5位,低 3
位根据申请端自动填充。例 若 ICW2 = 0000 1000B ,则 8259A 的 IR3 引脚上的
中断请求的中断类型码为 0000 1011 即 0x0B
A0
1
D7 D6 D5 D4 D3 D2 D1 D0
A15/T7 A14/T6 A13/T5 A12/T4 A11/T3 A10 A9 A8
计算机原理讲义
8259 初始化命令字3. ICW3
※ A0=1 ,且 ICW1 的 D1=0 ( SNGL ),跟在 ICW2表示对 ICW3编程
① 主片 Si=1表示该中断申请来自从片② 从片 ID2~ID0 对应从片的标识位,响应中断时第一
个 INTA ,主片从 CAS2 ~CAS0送出识别号,若从片的 CAS2~CAS0 与识别号相同,在第二个 INTA送出中断类型码。 ID2 ~ID0 与从片连接到主片的输入端相对应。
A0 D7 D6 D5 D4 D3 D2 D1 D01 S7 S6 S5 S4 S3 S2 S1 S0
A0 D7 D6 D5 D4 D3 D2 D1 D01 0 0 0 0 0 ID2 ID1ID0
主片
从片
计算机原理讲义
8259 初始化命令字4. ICW4
※ A0=1 ,且 ICW1 的 D0=1 ,跟在其他初始化字后表示对ICW4编程
① D0 ( pm )D0=1 为 16位处理器体系; D0=0 为 80/85 处理器
体系② D1 ( AEOI )
D1=1 自动结束中断方式,在第二个 INTA 清 ISR 中的对应位 ;
D1=0 非自动结束中断方式,中断结束时发 EOI命令清 ISR 中的对应位
A0
AEOIM/SBUF
D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 SFNM upm
计算机原理讲义
8259 初始化命令字③ D2 ( M/S )
在缓冲方式下( BUF=1) ,选择主片和从片, M/S=1为主片, M/S=0 为从片。
在非缓冲方式下,由 SP/EN 引脚设定主片和从片。④ D3 ( BUF )
D3=1 为缓冲工作方式, SP/EN 为缓冲选通信号。单片系统都置 1 ;
D3=0 为非缓冲工作方式。⑤ D4 ( SFNM )
D4=1 为特殊全嵌套方式,此时允许同级中断再次进入,一般用于多片级联方式;
D4=0 为普通全嵌套方式,禁止同级中断再次进入。
计算机原理讲义
8259 操作命令字(二)操作命令字
操作命令字可在任何时候写入 8259A ,且无顺序。1. OCW1 ( Operation Command Word )
※ A0=1 表示设置 OCW1 Mi=1 表示屏蔽 IRi 输入中断请求例屏蔽键盘
IN AL, 22H
OR AL, 02H / AND AL, 0FDH
OUT 22H, AL
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 M7 M6 M5 M4 M3 M2 M1 M0
计算机原理讲义
8259 操作命令字2. OCW2
※ A0=0 ,且 D4D3 = 00 ,表示对 OCW2编程① R 优先权循环状态
R=1 优先权自动循环; R=0 优先权不循环② SL
设定标志。 SL=1由 L2、 L1、 L0 指明中断号或最低优先权
③ EOI
中断结束命令标志,非自动结束方式时清 ISn
一般 EOI 指令为 MOV AL, 20H
OUT 20H, AL
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 R SL EOI 0 0 L1 L0L2
计算机原理讲义
8259 操作命令字R SL EOI
0 0 1 非特殊 EOI 结束中断命令,清除当前的中断响应0 1 1 特殊 EOI命令,清除由 L2 L1 L0 指示的中断响
应1 0 1 特殊 EOI命令,清除当前的中断响应,优先级循环一次
1 0 0 设置 8259A 在中断自动结束模式下按优先级自动循环方式工作
0 0 0 取消 8259A 在中断自动结束模式下的优先级自动循环工作方式
1 1 1 结束由 L2 ~ L0 指示的中断,并使 L2 ~ L0 为最低优先级
1 1 0 设定最低优先级特殊循环 ,此时由 L2 ~ L0 指出最低优先级
0 1 0 无操作
计算机原理讲义
8259 操作命令字3. OCW3
※ A0=0 ,且 D4D3 = 01 ,表示对 OCW3编程① ESMM SMM
1 1 设置特殊屏蔽,无优先级,未屏蔽中断申请均可进入
1 0 取消特殊屏蔽② P=1 ,设置 8259A 为查询工作方式,此时 8259A 不发
INT 信号, CPU通过查询指令决定服务程序。查询得到格式如下表所示
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0 ESMM SMM 0 1 RR RISP
计算机原理讲义
8259 操作命令字
I=1 表示有中断请求 W2 W1 W0 为当前最高优先级的中断请求中断号
③ P=0 ,由 RR 和 RIS 设置下一个读取的寄存器 RR RIS
1 0 在下一个 A0 = 0端口读 IRR
1 1 在下一个 A0 = 0端口读 ISR
若下一个 A0 = 1 ,则读取 IMR 寄存器
A0 D7 D6 D5 D4 D3 D2 D1 D00 W1 W0W2I X X X X
例:读取 ISR 到 AL 中 mov al, 0BH
out 20H, al
IN al, 20H
; 读取 IMR 到 AL 中 mov al, 0AH
out 20H, al
IN al, 22H
计算机原理讲义
8259 命令字举例四.8259A 初始化编程举例(一) 8259A初始化编程顺序
级联方式?
ICW1
ICW2
ICW3
要 ICW4?
ICW4
N
Y
Y
N
计算机原理讲义
8259 命令字举例(二) IBM PC/XT 机单片 8259A初始化
要求:① 端口地址为 20H 和 22H
② 接收 8 个中断请求信号为边沿触发③ 选择全嵌套方式, IR0 为最高优先级, IR7 为最低优先
级④ 设定 IR0 中断类型码为 08H
注: 8259A 的地址线 A0 是连接到系统地址总线的 A1 上
A0AEOIM/SBUF
D7 D6 D5 D4 D3 D2 D1 D01 0 0 0 SFNM upmICW4
A00 IC4SNGLADILTIM1A7 A6 A5
D7 D6 D5 D4 D3 D2 D1 D0ICW1
A01 XXX T3T4T7 T6 T5
D7 D6 D5 D4 D3 D2 D1 D0ICW2
计算机原理讲义
8259 命令字举例初始化程序段
INTA0_0 EQU 20H
INTA0_1 EQU 22H
MOV AL, 13H
OUT INTA0_0, AL ;ICW1
MOV AL, 08H
OUT INTA0_1, AL ;ICW2
MOV AL, 09H
OUT INTA0_1, AL ;ICW4
计算机原理讲义
8259 命令字举例(三)在 AT/286 以上机器上,使用两片 8259A 级联组成 15 个中断申请输入端要求:① 端口地址主片为 20H 和 22H ,从片为 A0H 和 A2H 。② 接收上升沿触发中断请求信号。③ 选择全嵌套方式,优先级排列次序为 0 级最高,依次为
1 级, 8~15 级,然后是 3~7 级。④ 采用非缓冲方式,主片 SP/EN 接 +5V ,从片 SP/EN 接
地⑤ 设定主片中断类型码为 08H~0FH ,从片为 70H~77H
计算机原理讲义
8259 命令字举例※初始化命令字
IC4SNGLADILTIM1X XICW1 11HX
XXX T3T4T7 T6 T5ICW208H主
从 70H
S7 S6 S5 S4 S3 S2 S1 S0主ICW3 04H
0 0 0 0 0从 0 1 0 02H
AEOIM/SBUF0 0 0 SFNM upmICW4 01H
计算机原理讲义
8259 命令字举例初始化程序段INTA00 EQU 20H
INTA01 EQU 22H
INTB00 EQU 0A0H
INTB01 EQU 0A2H
MOV AL, 11H
OUT INTA00, AL ;主片 ICW1
JMP SHORT $+2 ;I/O 口要求延时MOV AL, 08H
OUT INTA01, AL ;ICW2
JMP SHORT $+2
MOV AL, 04H
OUT INTA01, AL ;ICW3
JMP SHORT $+2
MOV AL, 01H
OUT INTA01, AL ;ICW4
JMP SHORT $+2
MOV AL, 11H
OUT INTB00, AL ;从 ICW1
JMP SHORT $+2
MOV AL, 70H
OUT INTB01, AL ;ICW2
JMP SHORT $+2
MOV AL, 02H
OUT INTB01, AL ;ICW3
JMP SHORT $+2
MOV AL, 01H
OUT INTB01, AL ;ICW4