中断向量表

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

 

3. 这篇资料是看书和从网上整理而来的,不同的资料间往往有些冲突的地方,这样就难免有些错误,以后再做修订。

中断向量表 内存地址(十六进制) 对应向量号(十六进制) 中断用途 *******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 除以零

 

 

参考资料:
1.IBM-PC汇编语言程序设计
2.80X86汇编语言程序设计教程
 

你可能感兴趣的:(c,Microsoft,dos,basic,存储,磁盘)