zoukankan      html  css  js  c++  java
  • 3中断和异常

    3.13 

    异常来自于CPU本身,是主动产生的,而中断来自于外部设备,是中断源发起的,CPU是被动的


    3.2

    异常分为3类:错误,陷阱,中止

    错误类异常通常可以被纠正,如内存页错误,错误异常处理程序返回时,CPU执行的第一条指令仍是刚才导致异常的那条指令,所以如果导致异常的情况没有消除,会再次产生异常

    陷阱类异常会执行紧接关要执行的下一条指令,如INT3

    中止类异常主要用于报告严重错误,不允许恢复继续执行,


    3.5

    中断和异常处理的核心数据结构是中断描述符表(IDT)

    响应的全过程:

    1.cs和EIP的低16位入栈

    2.标志寄存器低16位入栈

    3.清除标志寄存器的IF标志,以禁止其他中断

    4.清除标志寄存器的TF,RF,AC标志

    5.以向量号n为索引,找到对应表项,

    6.把表项中段地址和编移地址装入CS和EIP中,执行

    7.以IRET指令结束,IRET会从堆栈中弹出CS,IP和标志寄存器的值,然后返回执行被中断的程序.


  • 相关阅读:
    centos 编程环境
    git 安装 使用
    nodejs 笔记
    微信开发
    composer 使用笔记
    一:安装centos 7最小编程环境 xfce桌面
    二: 安装centos服务环境软件mysql httpd php
    我的通用程序规范及说明
    常用js代码集
    三 , lnmp 一键包安装使用
  • 原文地址:https://www.cnblogs.com/hgy413/p/3693432.html
Copyright © 2011-2022 走看看