9.9 Exception Summary 异常汇总

Table 9-6 summarizes the exceptions recognized by the 386.

Table 9-6. Exception Summary

Description               Interrupt   Return Address  Exception     Function That Can Generate

Number      Points to       Type          the Exception

Faulting

Instruction

Divide error               0          YES             FAULT         DIV, IDIV

Debug exceptions           1

Some debug exceptions are traps and some are faults.  The exception

handler can determine which has occurred by examining DR6.  (Refer to Chapter 12.)

Some debug exceptions are traps and some are faults.  The exception

handler can determine which has occurred by examining DR6.  (Refer to Chapter 12.) Any instruction

Breakpoint                 3          NO              TRAP          One-byte INT 3

Overflow                   4          NO              TRAP          INTO

Bounds check               5          YES             FAULT         BOUND

Invalid opcode             6          YES             FAULT         Any illegal instruction

Coprocessor not available  7          YES             FAULT         ESC, WAIT

Double fault               8          YES             ABORT         Any instruction that can

generate an exception

Coprocessor Segment

Overrun                    9          NO              ABORT         Any operand of an ESC

instruction that wraps around

the end of a segment.

Invalid TSS               10          YES             FAULT

An invalid-TSS fault is not restartable if it occurs during the

processing of an external interrupt.        JMP, CALL, IRET, any interrupt

Segment not present       11          YES             FAULT         Any segment-register modifier

Stack exception           12          YES             FAULT         Any memory reference thru SS

General Protection        13          YES             FAULT/ABORT

All GP faults are restartable. If the fault occurs while attempting to

vector to the handler for an external interrupt, the interrupted program is

restartable, but the interrupt may be lost.  Any memory reference or code

fetch

Page fault                14          YES             FAULT         Any memory reference or code

fetch

Coprocessor error         16          YES             FAULT

Coprocessor errors are reported as a fault on the first ESC or WAIT

instruction executed after the ESC instruction that caused the error.        ESC, WAIT

Two-byte SW Interrupt     0-255       NO              TRAP          INT n

9.10 Error Code Summary 错误代码汇总

Table 9-7 summarizes the error information that is available with each exception.

Table 9-7. Error-Code Summary

Description                       Interrupt     Error Code

Number

Divide error                       0            No

Debug exceptions                   1            No

Breakpoint                         3            No

Overflow                           4            No

Bounds check                       5            No

Invalid opcode                     6            No

Coprocessor not available          7            No

System error                       8            Yes (always 0)

Coprocessor Segment Overrun        9            No

Invalid TSS                       10            Yes

Segment not present               11            Yes

Stack exception                   12            Yes

General protection fault          13            Yes

Page fault                        14            Yes

Coprocessor error                 16            No

Two-byte SW interrupt             0-255         No

【译】x86程序员手册36-9.9异常汇总的更多相关文章

  1. 【译】x86程序员手册31- 第9章 异常和中断

    Chapter 9 Exceptions and Interrupts 第9章 异常和中断 Interrupts and exceptions are special kinds of control ...

  2. 【译】x86程序员手册01

    Intel 80386 Reference Programmer's Manual 80386程序员参考手册 Chapter 1 -- Introduction to the 80386 第1章 - ...

  3. 【译】x86程序员手册03 - 2.1内存组织和分段

    2.1 Memory Organization and Segmentation 内存组织和分段 The physical memory of an 80386 system is organized ...

  4. 【译】x86程序员手册00 - 翻译起因

    从上一次学习MIT的操作系统课程又过去了一年.上次学习并没有坚持下去.想来虽有种种原因,其还在自身无法坚持罢了.故此次再鼓起勇气重新学习,发现课程都已由2014改版为2016了.但大部分内容并没有改变 ...

  5. 【译】x86程序员手册38-10.2实在址模式下的软件初始化

    10.2 Software Initialization for Real-Address Mode   实地址模式的软件初始化 In real-address mode a few structur ...

  6. 【译】x86程序员手册09-第3章程序指令集

    注:觉得本章内容与理解操作系统不直接相关,所以本章并未看完,也就没有翻译完,放在这里中是为了保证手册的完整.有兴趣的人可以去原址查看. https://pdos.csail.mit.edu/6.828 ...

  7. 【译】x86程序员手册02 - 基本的程序模式

    Chapter 2 -- Basic Programming Model: 基本的程序模式 Introduces the models of memory organization. Defines ...

  8. 【译】x86程序员手册40-10.5初始化的例子

    10.5 Initialization Example初始化的例子 译注:本来想把这个例子全部注释完,但由于对intel汇编实不熟悉,有太多的伪指令,本人也是免强看懂,所以就不再做翻译了. $TITL ...

  9. 【译】x86程序员手册39-10.3切换到保护模式

    10.3 Switching to Protected Mode  切换到保护模式 Setting the PE bit of the MSW in CR0 causes the 80386 to b ...

  10. 【译】x86程序员手册37-第10章 初始化

    Chapter 10 Initialization 第10章 初始化 After a signal on the RESET pin, certain registers of the 80386 a ...

随机推荐

  1. 阐述Linux操作系统之rpm五种基本操作

    Linux操作系统现在已经成为流行的操作系统,很多的人都开始学习,Linux操作系统包括了很多的专业知识,今天和大家讲讲Linux操作系统中的rpm基本操作.希望你学会本文中提到rpm的五种基本操作知 ...

  2. FineReport实现java报表统计图表的效果图

    Java报表-ERP图表联动 Java报表-多维坐标轴图 Java报表-静态图表 Java报表-时间坐标轴 Java报表-图表报表动态交互 Java报表-图表热点链接 Java报表-图表缩放 Java ...

  3. 清空sql 日志

    USE [master] GO ALTER DATABASE 库名 SET RECOVERY SIMPLE GO USE 库名 GO ,,TRUNCATEONLY) GO USE [master] G ...

  4. 织梦dedecms将指定图片自动生成指定尺寸的小图、缩略图、图片的方法

    对于普通企业网站来讲,织梦原来的程序只是提供了一个缩略图,但是这样对于一些相对来说图片会比较多的网站来说,图片太大当缩略图会导致网站整体的访问速度,所以我今天就来教你织梦把一张大图转换成生成一张小图或 ...

  5. [QT开发小结]LNK1104: cannot open file ‘gdi32.lib’ 解决方法

    1.环境变量 : Path = ;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin; 添加变量: INCLUDE = C:\Program ...

  6. 使用cloudflare加速你的网站隐藏你的网站IP

    前言 cloudflare 是一家国外的 CDN 加速服务商,还是很有名气的.提供免费和付费的加速和网站保护服务.以前推荐过的百度云加速的国外节点就是和 cloudflare 合作使用的 cloudf ...

  7. 【JSOI 2008】 最大数

    [题目链接] 点击打开链接 [算法] 很明显,我们可以用线段树解决此题 只需维护区间最值就可以了 [代码] #include<bits/stdc++.h> using namespace ...

  8. Oracle “CONNECT BY” 用法

    Oracle “CONNECT BY”是层次查询子句,一般用于树状或者层次结果集的查询.其语法是: [ START WITH condition ] CONNECT BY [ NOCYCLE ] co ...

  9. Redis: Redis Desk Manager Setup

    ylbtech-Redis: Redis Desk Manager Setup 1.返回顶部 1. redis-desktop-manager-0.8.1.3847 2. 2. 安装返回顶部 1. 2 ...

  10. 07_传智播客iOS视频教程_#import指令

    mac切换中英文输入法默认是Ctrl+空格键. 预处理指令的执行时机是在编译之前.在编译之前执行预处理指令. #import指令是包含文件,将指定的文件的内容在预编译的时候拷贝到写指令的地方. #im ...