x86中断向量表

转载 2012年05月10日 09:58:04
1 -- 关于中断向量的几点注释
1. 系统引导时,中断向量表放在内存何处?
     系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个字节,共可存储256个中断向量。
2. 系统引导时,处在实模式下,只可寻址1MB,为什么要用4个字节来寻址中断呢处理程序?
     刚看到的时候,我也很纳闷。我们都知道编程的时候指针都是4个字节的,可以寻址4GB,在实模式下完全可以少用字节啊?其实实模式的内存选址方式是:段值 * 16 + 偏移值,就是内存地址。而这4个字节中,2个字节存储段值,两外两个存储偏移值。所以共有4个字节。

3. 这篇资料是看书和从网上整理而来的,不同的资料间往往有些冲突的地方,这样就难免有些错误,以后再做修订。
2 -- 中断向量表
内存地址(十六进制) 对应向量号(十六进制) 中断用途
BASIC中断向量
0x3C4 - 0x3FF F1-FF 未使用
0x218 - 0x3C3 86-F0 BASIC程序运行时提供给BASIC解释程序作用
0x200 - 0x217 80-85 为BASIC保留
0x1E0 - 0x1FF 78-7F 未使用
0x1DC - 0x1DF 77 硬件中断15
0x1D8 - 0x1DB 76 硬件中断14
0x1D4 - 0x1D7 75 硬件中断13
0x1D0 - 0x1D3 74 硬件中断12
0x1CC - 0x1CF 73 硬件中断11
0x1C8 - 0x1CB 72 硬件中断10
0x1C4 - 0x1C7 71 硬件中断9
0x1C0 - 0x1C3 70 硬件中断
0x1A0 - 0x1BF 68-6F 未使用
0x180 - 0x19F 60-67 为用户程序保留的单元
0x128 - 0x17F 4A-5F 保留
0x124 - 0x127 49 指向键盘增强服务变换表
0x120 - 0x123 48 PC机使用,用于把PC机的键盘代码变换为标准的键盘代码
0x11C - 0x11F 47 保留
DOS中断向量
0x118 - 0x11B 46 第二硬盘参数块
0x114 - 0x117 45 保留
0x110 - 0x113 44 PC机使用,用于指向低分辩率图形字符参数表
0x108 - 0x10F 42-43 未使用
0x104 - 0x107 41 硬盘参数块
0x0C0 - 0x0CB 34-40 未使用
0x0CC - 0x0CF 33 鼠标中断
0x0C0 - 0x0CB 30-32 未使用
0x0BC - 0x0BF 2F 多路服务中断
0x0B8 - 0x0BB 2E 基本SHELL程序装入
0x0AC - 0x0B7 2B-2D 未使用
0x0A8 - 0x0AB 2A Microsoft 网络接口
0x0A4 - 0x0A7 29 快速写字符
0x0A0 - 0x0A3 28 DOS安全使用
0x09C - 0x09F 27 终止并驻留程序
0x098 - 0x09B 26 绝对磁盘写功能
0x094 - 0x097 25 绝对磁盘读功能
0x090 - 0x093 24 严重错误处理(用户不能直接调用)
0x08C - 0x08F 23 Ctrl+Break 处理地址(用户不能直接调用)
0x088 - 0x08B 22 程序中止时DOS返回地址(用户不能直接调用)
0x084 - 0x087 21 DOS系统功能调用
0x080 - 0x083 20 DOS中断返回
数据表指针
0x07C - 0x07F 1F 图形字符扩展码
0x078 - 0x07B 1E 软盘参数块
0x074 - 0x077 1D 视频参数块
提供给用户的中断
0x070 - 0x073 1C 定时器控制的软中断
0x06C - 0x06F 1B Ctrl + Break控制的软中断
BIOS中断
0x068 - 0x06B 1A 时钟管理
0x064 - 0x067 19 引导装入程序--系统自举
0x060 - 0x063 18 BASIC入口代码--ROM BASIC入口代码
0x05C - 0x05F 17 打印机输出
0x058 - 0x05B 16 键盘I/O
0x054 - 0x057 15 盒式磁带I/O
0x050 - 0x053 14 RS-232串行通讯口I/O
0x04C - 0x04F 13 磁盘I/O
0x048 - 0x04B 12 测定存储器容量
0x044 - 0x047 11 设备检验
0x040 - 0x043 10 屏幕显示I/O
8259中断向量
0x03C - 0x03F F LPT2控制器中断--并行打印机(IRQ7)
0x038 - 0x03B E 磁盘控制器中断--软磁盘(IRQ6)
0x034 - 0x037 D LPT2控制器中断--硬磁盘(并行口)(IRQ5)
0x030 - 0x033 C 异步通信(primary)--串行通信接口1(IRQ4)
0x02C - 0x02F B 异步通信(secondary)--串行通信接口2(IRQ3)
0x028 - 0x02B A 彩色/图形(IRQ2)
0x024 - 0x027 9 键盘(IRQ1)
0x020 - 0x023 8 定时器(IRQ0)
8088中断向量
0x01C - 0x01F 7 保留
0x018 - 0x01B 6 保留
0x014 - 0x017 5 打印屏幕
0x010 - 0x013 4 溢出
0x00C - 0x00F 3 断点指令
0x008 - 0x00B 2 非屏蔽中断
0x004 - 0x007 1 单步(用于DEBUG)
0x000 - 0x003 0 除以零

80x86 中断向量表

1 -- 关于中断向量的几点注释 1. 系统引导时,中断向量表放在内存何处?      系统刚引导时,内存0x00000到0x0003FF共1KB的空间用于存放中断向量表。每个中断向量占用4个...
  • xiaobai_2511
  • xiaobai_2511
  • 2017年06月07日 12:23
  • 359

LINUX-内核-中断分析-中断向量表(1)-x86

x86体系中断概念在《深入理解Linux内核》第四章中提到,Intel文档提出了两个 概念。 第一个概念是把同步和异步中断分别称为异常(exception)和中断(interrupt); 第二个概...
  • haolianglh
  • haolianglh
  • 2016年07月18日 23:38
  • 2880

x86保护模式的几点思考——IRQ、中断号和中断向量

说到中断号和中断向量,也许你并不陌生,这两个概念也可以将中断原理解释个大概了。但是当你深究下去的时候你会碰到另一个东西——IRQ,之后自然而然的对从硬件级开始到中断向量表的整个中断过程产生好奇,然后继...
  • wzsy
  • wzsy
  • 2016年05月16日 09:49
  • 1435

LINUX-内核-中断分析-中断向量表(2)-mips

mips中断概念在《MIPS体系结构透视》的第5章说到,在MIPS中,中断、陷阱、系统调用和任何可以中断程序正常执行流的情况全被都被称为异常。 以上这种统一到“异常”的概念及其逻辑当然会体现在MIP...
  • haolianglh
  • haolianglh
  • 2016年07月19日 21:39
  • 1441

中断机制和中断描述符表、中断和异常的处理

1、中断向量 Intel x86 系列微机共支持256 种向量中断,为使处理器较容易地识别每种中断源,将它们从0~256 编号,即赋予一个中断类型码 n,Intel 把这个8 位的无符号整数叫做...
  • Simba888888
  • Simba888888
  • 2013年09月16日 10:09
  • 4498

STM32 中断向量表的位置 、重定向

【lanmanck原创】 这篇文章已经说了STM32的启动过程: http://blog.csdn.net/lanmanck/article/details/8252560 我们...
  • soyman
  • soyman
  • 2014年09月03日 01:46
  • 1500

C6000 DSP技术深度探索(3)-中断向量表

DSP 作为一款处理器,它也支持中断处理,对于中断机制的引入,这里就不多说了,下面仍然以C6000系列DSP为例,探讨一下中断向量表,在前一篇文章中, 提到了汇编文件中存在一种特殊的文件,该文件通常命...
  • hanfei410
  • hanfei410
  • 2015年12月02日 21:11
  • 1124

关于中断向量表的拷贝和映射机制

最近做的项目中,我遇到到了
  • zfzzxd
  • zfzzxd
  • 2014年11月24日 10:16
  • 1712

ARM中断向量表与响应流程

一首先中断向量表定义在哪里?如何加载?  二  中断向量表与中断服务程序 三处理流程 /////////////////////////////////////////////////////...
  • honour2sword
  • honour2sword
  • 2014年10月18日 18:24
  • 3906

STM32学习笔记之中断向量表,MDK程序启动分析

;// Stack Configuration ;// Stack Size (in Bytes) ;// Stack_Size EQU 0x00000200 ...
  • sinat_23338865
  • sinat_23338865
  • 2016年07月20日 22:13
  • 2087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:x86中断向量表
举报原因:
原因补充:

(最多只允许输入30个字)