您的位置:首页 > 职场人生

DOS程序员参考手册

2010-12-06 18:18 381 查看
选中的内存位置



介绍选中的内存位置表的目的是帮助读者了解系统功能的操作方式。直接访问这些

位置中的任何一个都会使得程序极其不可移植,所以,如果不是没有任何别的办法得到所

需的特性和响应,就不应对其进行直接访问。

弄清楚了这些信息在内存中的位置,首先能有助于获取信息。但是改变BIOS和DOS

数据区中的信息将产生极大的破坏(当然,如果对冲毁系统不介意的话,这样做也极其有

趣)。

B.1中断表

绝对地址的00000至003FF为中断地址表。该表由中断00至FFh的中断地址组成,

每个地址占用4个字节。因此,为了在中断地址表中找到某个指定中断的地址,只需将中

断号乘以4就可以了。例如,用于中断C3h的绝对地址为030Ch。在表B.1中,前两列的

号采用的十六进制表示方法。

表B.1 中断00h至FFh的中断地址

中断号 地址 含 义

Int 00 00000 硬件除0

Int 01 00004 硬件单步捕获

Int 02 00008 不可屏蔽

Int 03 0000C 调试程序断点设置

Int 04 00010 算术溢出

Int 05 00014 BIOS打印屏幕

Int 06 00018 无效操作码

Int 08 00020 IRQ0—时钟计数

Int 09 00024 IRQ1—键盘动作

Int 0A 00028 IRQ2

Int 0B 0002C IRQ3-COM2

Int 0C 00030 IRQ4-COM1

Int 0D 00034 IRQ5—PC/XT硬盘

Int 0D IRQ5-PCATLPT2

Int 0E 00038 IRQ6—软盘

Int0F 0003C IRQ7-LPT1

Int 10 00040 BIOS视频服务

807页

中断号 地址 含 义

Int 11 00044 BIOS设备列表服务

Int 12 00048 BIOS内存大小服务

Int 13 0004C BIOS磁盘/软盘服务

Int 14 00050 BIOS通信服务

Int 15 00054 BIOS系统服务

Int 16 00058 BIOS键盘服务

Int 17 0005C BIOS打印机服务

Int 18 00060 执行ROMBASIC

Int 19 00064 重引导系统

Int 1A 00068 BIOS当天时间服务

Int 1B 0006C Ctrl-Break处理程序地址

Int 1C 00070 供Int 08处理程序调用

Int 1D 00074 视频初始化参数表

Int 1E 00078 磁盘初始化参数表

Int 1F 0007C 图形字符表

Int 20 00080 DOS程序终止

Int 21 00084 DOS功能服务

Int 22 00088 程序终止地址

Int 23 0008C DOSCtrl-Break

Int 24 00090 关键出错处理程序

Int 25 00094 DOS绝对磁盘读

Int 26 00098 DOS绝对磁盘写

Int 27 0009C DOSTSR

Int 28 000A0 DOS空闲中断

Int 29 000A4 DOS快速存放字符

Int2A 000A8 MS-Net访问

Int 2E 000B8 DOS主外壳程序装入程序

Int 2F 000BC DOS多路复用中断

Int 33 000CC 鼠标中断

Int 3F 000FC 覆盖管理程序

Int 40 00100 如果安装了硬盘则为软盘中断向量

Int 41 00104 硬盘1参数表

Int 42 00108 EGA BIOS将其用于重定向视频中断

Int 43 0010C EGA初始化参数表

Int 44 00110 EGA字符表

Int 44 Novell NetWare API

Int 46 00118 硬盘2参数表

Int 4A 00128 PCAT:Int 70报警

Int 5A 00168 簇

Int 5B 0016C 由簇程序使用

Int 5c 00170 Net BIOS接口

808页

中断号 地址 含 义

Int 67 0019C 扩展内存管理程序服务

Int 70 001C0 IRQ8——PCAT实时时钟

Int 71 001C4 IRQ9-pc AT重定向为Int 0A

Int 72 001C8 IRQ10

Int 73 001CC IRQ11

Int 74 001D0 IRQ12—鼠标中断

Int 75 001D4 IRQ13-PCAT数学协处理器

Int 76 001D8 IRQ14——硬盘事件

Int 77 001DC IRQ15

Int 7A 001E8 NoVEll NetWare API

B.2 BIOS数据区

绝对磁盘范围00400至004FF为ROM BIOS的数据区。这一区域是一个大杂烩,其

中包括了各种数据结构,表、地址和标志。在下表中,第一列为数据的绝对地址,第2列为

从BIOS数据区开始算起的偏移值——即从段地址0040处开始的偏移值。之所以将这两

列的信息部列举出来是为了便于选择一个更适合不同编程风格的值(头两列的值都采用

的是十六进制表示法)。其余两列是作为解释用的。

注意地址00500处的标志。尽管从表面上看该标志位于BIOS数据区之外,但由于它

是由打印屏幕例程使用的,因此,它实质上属于这个数据块。

表B.2 BIOS数据区

地址 偏移值 长度 含 义

00400 00 字 COM1地址(0表示未使用)

00402 02 字 COM2地址(0表示未使用)

00404 04 字 COM3地址(0表示未使用)

00406 06 字 COM4地址(0表示未使用)

00408 08 字 LPT1地址(0表示未使用)

0040A 0A 字 LPT2地址(0表示未使用)

0040C 0C 字 LPT3地址(0表示未使用)

0040E 0E 字 LPT4地址(0表示未使用)

00410 10 字 设备标志

00412 12 字节 初始化标志

00413 13 字 以千字节为单位的基本内存大小

00415 15 字节 在I/O通道中的内存量

00416 16 字节 未使用

00417 17 字 键盘状态标志

00419 19 字 ALT-键小键盘存储空间

0041A 1A 字 键盘打印超前缓冲区头

0041C 1C 字 键盘打印超前缓冲区尾

809页

地址 偏移值 长度 含 义

0041E 1E 16字节 键盘打印超前缓冲区

0043E 3E 字节 软盘数据

0043F 3F 字节 软盘电机状态

00440 40 字节 软盘电机超时计数

00441 41 字节 最后一次软盘操作状态

00442 42 7字节 磁盘命令工作区域

00449 49 字节 当前显示模式

0044A 4A 字 屏幕列数

0044C 4C 字 以字节为单位的显示内存页大小

0044E 4E 字 相对于当前显示页的偏移值

00450 50 字 显示页0的光标位置

00452 52 字 显示页1的光标位置

00454 54 字 显示页2的光标位置

00456 56 字 显示页3的光标位置

00458 58 字 显示页4的光标位置

0045A 5A 字 显示页5的光标位置

0045C 5C 字 显示页6的光标位置

0045E 5E 字 显示页7的光标位置

00460 60 字 当前光标模式

00462 62 字节 当前视频页号

00463 63 字 活动显示卡的端口地址

00465 65 字节 视频硬件方式选择寄存器值

00466 66 字节 彩色调色板设置

00467 67 双字 磁带数据

0046B 6B 字节 中断发生标志

0046C 6C 双字 从零点开始的计时器计数

00470 70 字节 零点标志(如果自上次读取以来经过了零点,则该标

志置位)

00471 71 字节 中断标志

00472 72 字 复位标志

00474 74 字节 最近一次硬盘操作的状态

00475 75 字节 硬盘驱动器数

00476 76 字节 硬盘控制字节

00477 77 字节 硬盘I/O端口偏移值

00478 78 字节 LPT1超时计数器

00479 79 字节 LPT2超时计数器

0047A 7A 字节 LPT3超时计数器

0047B 7B 字节 LPT4超时计数器

0047C 7C 字节 COM1超时计数器

0047D 7D 字节 COM2超时计数器

0047E 7E 字节 COM3超时计数器

810页

地址 偏移值 长度 含 义

0047F 7F 字节 COM4超时计数器

00480 80 字 相对于键盘缓冲区开头的偏移值

00482 82 字 相对于键盘缓冲区末尾的偏移值

00484 84 字节 EGA/MCGA/VGA屏幕上的行数(以0为基数)

00485 85 字 在EGA/MCGA/VGA屏幕上的字符高度

00487 87 字 EGA/VGA控制标志

00489 89 字节 MCGA/VGA控制标志

0048A 8A 字节 MCGA/VGA数据偏移值指针

0048B 8B 字节 软盘介质控制标志

0048C 8C 字节 硬盘控制卡的状态

0048D 8D 字节 硬盘控制卡的出错标志

0048E 8E 字节 硬盘中断控制标志

0048F 8F 字节 软盘控制器信息

00490 90 字节 软盘驱动器0当前介质状态

00491 91 字节 软盘驱动器1当前介质状态

00492 92 字节 软盘驱动器0起始介质状态

00493 93 字节 软盘驱动器1起始介质状态

00494 94 字节 软盘驱动器0磁道号

00495 95 字节 软盘驱动器1磁道号

00496 96 字节 键盘状态

00497 97 字节 键盘LED控制

00498 98 双字 用户等待例程标志指针

0049C 9C 双字 用户等待计数器

004A0 A0 字节 用户等待活动标志

004A8 A8 双字 EGA/MCGA/VGA视频保存表指针

00500 100 字节 打印屏幕状态标志
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: