计算机中段的概念,计算机中断的概念.ppt

第2章PC机接口芯片 本章概要接口电路通常有专用芯片可选 本章介绍4款常用的PC机接口芯片 8259 中断管理接口芯片8253 定时器 计数器接口芯片8237 DMA控制芯片8255 并行I O接口芯片上述接口芯片最早用于PC XT中 后来出现的286 P4 一直保持了这些芯片的功能 并且兼容了它们的I O地址 本章的介绍适用于所有PC机 一8086的中断方式实地址下的中断方式PC机工作在实模式下时 中断源的I O地址是实际部件的物理地址 保护模式下的虚拟地址PC机工作在保护模式下时 中断源的I O地址是由VM 虚拟机 安排的虚拟地址 第1节PC机的中断系统 1外部中断 1 可屏蔽中断INTR 硬件中断 CPUINTR 外部中断由8259中断管理芯片发来 CPU是否响应中断 由状态寄存器PSW的IF位决定IF 0中断被屏蔽IF 1允许中断 2 非屏蔽中断NMI CPUNMI 外部中断如掉电发生 CPU是否响应中断 无论IF位是否为1 CPU总会响应 用于紧急情况下 CPU作应急处理 2内部中断由INT指令触发 或CPU运行中出现异常情况 如 除零 在程序中设置断点 单步运行程序 1 INT指令指令格式 INT中断类型号 0 0FFH 执行示意图 2 处理器错误中断除法错误引起中断 如除数为0 中断类型号 0溢出中断 若OF 1 则引起中断 中断类型号 4 3 程序调试中断单步中断 置TF 1 则每执行一条指令 就产生此中断 中断类型号 1断点中断 在程序中需要观察结果的地方插入指令INT3 称为断点 中断类型号 3 以上中断的优先顺序 内部中断 INTX 非屏蔽中断 NMI 可屏蔽中断 单步中断 二硬件中断的优先级INTR 硬件中断 由接口电路产生 是本书讨论的主要对象 CPU的INTR只有一条引线 外部设备有多个 用一片中断管理芯片 实现一对多的管理 主要管理内容有 允许那些中断能送到CPU 引起CPU中断 即中断的屏蔽问题 对各外设送来的中断 决定他们的优先级 PC XT机中的硬件中断电路 优先级 IRQ0 IRQ7 80X86机中的硬件中断电路 中断向量表中断向量 某中断的服务程序的入口地址 8086共有256个中断类型号 每一中断类型号对应一个中断向量 中断向量表 将256个中断向量用一个线性表存放一个中断向量占用表中的4个字节 分别存放CS和IP 中断类型号0 中断类型号1 中断类型号2 00000H 00002H 00004H 00006H 00008H 0000AH PC机中的物理地址 已知中断类型号 就能算出对应的中断向量在表中的地址 例 键盘中断IRQ1 其中断类型号 09H 故中断向量在表中的存放地址 9 4 36 即24H开始的4个字节 PC机中常用的硬件中断类型号 PC机中常用的硬件中断类型号 续 中断类型号的应用举例例 已知PC机中键盘中断的类型号为09H 按键压下和提起时均会产生中断 试编程 修改09H号中断向量 使其指向自己编写的中断服务程序 在自己编写的中断服务程序中读取键码 扫描码 注 键盘扫描码可从I O地址为60H的端口读得 本程序的用途 如果在后台运行 可监视用户敲了哪些键 进一步分析他在干什么 友情提示 不要干非法的事 不要搞密码窃取 include include includevoidinterrupt sys vect09 unsignedintkey flag voidinterruptmy vect09 key inportb 0 x60 flag 1 sys vect09 voidmain flag 0 sys vect09 getvect 0 x09 setvect 0 x09 my vect09 while 1 if flag printf 02x key flag 0 if key 0 x0010 break if key

展开阅读全文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值