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

  ▼ 在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. V4L2应用程序框架-二【转】

    本文转载自:http://blog.csdn.net/tommy_wxie/article/details/11371439 V4L2驱动框架 主设备号: 81 次设备号:    0-63    64 ...

  2. linux与KVM虚拟里的windows实现文件共享

    1.把windows系统里的共享文件设置为共享 2.在linux系统里 mount -t cifs //192.168.0.254/work /data/tmp -o username=test,pa ...

  3. Tutorial: WPF User Control for AX2012

    原作者: https://community.dynamics.com/ax/b/goshoom/archive/2011/10/06/tutorial-wpf-user-control-for-ax ...

  4. jqGrid中选择的行的数据[转]

    如何获取jqGrid中选择的行的数据? 下面可以获取选择一行的id,如果你选择多行,那下面的id是最后选择的行的id: var id=$(‘#gridTable’).jqGrid(‘getGridPa ...

  5. JavaEE基础(二十)/IO流

    1.IO流(IO流概述及其分类) 1.概念 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流. 流按操作类型分 ...

  6. require()与 require_once()、 include与include_once()

  7. 错误: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config

    在启动activemq的时候出现错误:“错误: 找不到或无法加载主类 Files\apache-activemq-5.10.0\bin\..\conf\login.config”,之前用activem ...

  8. Java实现批量修改文件名称

    import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** ...

  9. 简单的分页sql

    select top 5 * from books where id not in(select top (5*(5-1)) id from Books order by id) order by i ...

  10. SecureCRT issue "Could not open clipboard: Assess is denied" (无法打开粘贴板:访问被拒绝)

    I got an issue when copying some line/word (actually just select the context ) in the Linux terminal ...