zoukankan      html  css  js  c++  java
  • [ASM]中断过程

    任何一个通用的CPU,都具备一种能力,可以在执行完当前正在执行的指令后,检测到从CPU内部或外部送过来的一种特殊信息,并且可以立即对所接收到的信息进行处理。这种特殊的信息,称为中断信息。中断的意思是,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊的信息。中断信息是要求CPU马上进行某种处理,并向所要进行的该处理提供了必备的通知信息。中断信息可以来自CPU 内部和外部。

    内中断的产生

    1.         除法错误

    2.         单步执行

    3.         执行into指令

    4.         执行int 指令

    CPU收到中断信息后,从中提取中断类型码,利用中断类型码在中断向量表中找到中断处理程序的入口地址,然后用入口地址设置CS IP,使CPU 执行中断处理程序。用中断类型码找到中断向量,并用它设置CSIP, 这个工作是由CPU的硬件自动完成的,这个过程称为中断过程。中断向量表指定放在内存地址0处,从内存0000:0000000003FF1024个单元中存放,这是规定。

    8086CPU中断过程如下

    1.         (从中断信息中)取得中断类型码

    2.         把标志寄存器入栈(中断过程要改变标志位,为了恢复现场)

    3.         设置标志寄存器的第8TF和第9IF的值为0

    4.         CS入栈

    5.         IP入栈

    6.         从内存地址为中断类型码*4和中断类型码*4+2的两个字单元中读取中断处理程序的入口地址设置IPCS;

  • 相关阅读:
    解析包含空格的字符串
    机器学习实战之Logistic回归
    复杂的数据类型
    k-近邻算法
    C&C++
    位运算
    文件操作
    结构体与共用体
    预处理-04-#if defined和#if !defined
    预处理-03-文件包含、条件编译、小结
  • 原文地址:https://www.cnblogs.com/abeen/p/1589263.html
Copyright © 2011-2022 走看看