▼ 中断是一个由硬件激发的过程,它中断当前正在执行的任何程序。

  ▼ 在Intel系列微处理器中,包括INTR和NMI(Non Maskable Interrupt)两个申请中断的引脚和一个响应INTR中断的引脚INTA。

  ▼ 软中断有INT、INTO、INT3和BOUND。其中,INTO和BOUND为条件中断。

  ▼ IF(interrupt flag,中断标志)和TF(trap flag)两个标志位。

  ▼ 中断返回指令是:IRET(IRETD)。

  ▼ 中断向量表(interrupt vector table)存于:000000H~0003FFH,共256个每个4字节共占1024字节

  ▼ 中断向量(interrput vector)包含中断服务程序的入口地址(段地址+偏移地址)。

  ▼ 当微处理器执行完当前指令后,会按照下边给出的顺序检查下列条件以确定中断是否有效。

  

   图1  确定中断前的条件检查

  ▼ 中断发生时的处理顺序如下:

  

              图2 中断处理顺序

▼ 保护模式下,使用一组存储在中断描述表IDT(interrupt descriptor table)中的共256个中断描述符来取代中断向量。每个中断描述符长8字节,共256 × 8 = 2K字节。

      

                  图3 保护模式下的中断描述符

▼ 中断描述符表由中断描述表地址寄存器IDTR定位于系统中任何存储单元。

▼ 中断标志IF和陷阱标志TF在中断期间的标志寄存器内容压入堆栈后被清除。当IF被置位它允许INTR引脚产生一个中断;当IF被清除,它阻止INTR引脚产生中断。当TF = 1时,它在每条指令执行后产生一个陷阱中断(类型1,即单步);当TF = 0,程序正常执行。

        

                  图4 标志位寄存器

▼ 中断标志通过STICLI指令来置位和清除。没有特殊的指令来置位和清除陷进标志。

  

Intel微处理器学习笔记(五) 中断的更多相关文章

  1. Intel微处理器学习笔记(三) 不可见寄存器

    参考资料: 1.  http://blog.chinaunix.net/uid-20797642-id-2495244.html 2.  http://www.techbulo.com/708.htm ...

  2. Intel微处理器学习笔记(一) 实模式内存结构

    图一 奔腾概念示意图 存储系统一般划分为三个主要部分:TPA(transient program area),System Area和XMS(extended memory system). 图二 内 ...

  3. Intel微处理器学习笔记(二) 三种模式

    三种模式:实模式.保护模式和平展模式. 实模式存储器(DOS存储器)位于00000H~FFFFFH,共1M空间(任何型号微处理器都支持). 保护模式存储器(Windows存储器)可位于整个保护存储系统 ...

  4. Intel微处理器学习笔记(四) 内存分页

    内存分页机制(memory paging mechanism)是从386开始的.线性地址通过分页机制透明转换为物理地址. 从这里知道:1. 如果不分页,则线性地址等于物理地址:2. 如果分页,则线性地 ...

  5. C#可扩展编程之MEF学习笔记(五):MEF高级进阶

    好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...

  6. stm32学习笔记——外部中断的使用

    stm32学习笔记——外部中断的使用 基本概念 stm32中,每一个GPIO都可以触发一个外部中断,但是,GPIO的中断是以组为一个单位的,同组间的外部中断同一时间只能使用一个.比如说,PA0,PB0 ...

  7. (转)Qt Model/View 学习笔记 (五)——View 类

    Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...

  8. java之jvm学习笔记五(实践写自己的类装载器)

    java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

随机推荐

  1. 在HTML页面获取当前系统时间

    <script language="javascript"> function getCurDate() { var d = new Date(); var week; ...

  2. Java中如何在另一个类里面使用运行类中的对象,举例说明了一下。

    package 计时器; import java.util.Timer; import java.util.TimerTask; /* * 主要是想在另一个类里面,使用该类的对象,如何使用呢?如何传递 ...

  3. $(document).ready vs $(window).load vs window.onload

    原文地址: $(document).ready vs $(window).load vs window.onload $(document).ready We execute our code whe ...

  4. 为博客启用MetaWeBlog API

    最近想写一个博客系统,主要有以下几点功能. 能够使用Live Writer来发布.修改文章 使用MongoDB作为持久化 对于博客中的图片.CSS.JS文件,使用CDN加速 后期可加上Radis 使用 ...

  5. Multi-source Replication

    MariaDB starting with 10.0.1 Multi-source replication means that one server has many masters from wh ...

  6. hdwiki 数据库结构说明

    HDWiki数据库结构说明          以下标有“A”的表示该列为自增列,标有“P”的表示该列为主码,标有“I”的表示该列为索引列,标有“U”的表示该列为唯一列,标有“F”的表示全文搜索.   ...

  7. DailyReport自动保存工具

    PS:自己初学C#,SharePoint时做的一个小tool. Friday, November 28, 2014 ​这个tool编译出来以后可以把部门的daily report保存到本地,数据库,和 ...

  8. ZOJ 3593 One Person Game

    One Person Game Time Limit: 2 Seconds      Memory Limit: 65536 KB There is an interesting and simple ...

  9. js的 image 属性 和一个预加载模块

    创建一个Image对象:var a=new Image();    定义Image对象的src: a.src=”xxx.gif”;    这样做就相当于给浏览器缓存了一张图片. 图像对象: 建立图像对 ...

  10. 正确修改MySQL最大连接数的三种好用方案

    以下的文章主要介绍的是正确修改MySQL最大连接数的三种好用方案,我们大家都知道MySQL数据库在安装完之后,默认的MySQL数据库,其最大连接数为100,一般流量稍微大一点的论坛或网站这个连接数是远 ...