DOS程序员参考手册

来源:互联网 发布:南风知我意1txt 编辑:程序博客网 时间:2024/05/20 02:28

  选中的内存位置
 

 介绍选中的内存位置表的目的是帮助读者了解系统功能的操作方式。直接访问这些
位置中的任何一个都会使得程序极其不可移植,所以,如果不是没有任何别的办法得到所
需的特性和响应,就不应对其进行直接访问。
      弄清楚了这些信息在内存中的位置,首先能有助于获取信息。但是改变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        字节          打印屏幕状态标志
 

原创粉丝点击