锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

DOS程序员手册(一)

时间:2023-12-09 13:37:02 sx系列光电开关传感器

当今MS-Windows横扫大江南北,让我们来研究一下它的祖先——MS-DOS!

这本书很少见,希望读者好好学习!

DOS程序员手册(1)

DOS教程

(以下内容均为原作者说明,仍保留)

这本电子书只是一个简单的把戏txt做成了chm,文本格式可能会让人看起来有点恼火。哦,对不起,我会做的,因为我自己写的网页是手工制作的,整理需要几天时间。希望你看的时候不要边看边骂

(京)新登字158号

DOS Programmer's Reference,4th Edition

Terrv Dettmann

Authorized translation from the English language edition published by Que Corporation.

Copyright 1993 by Que Corporation

All rights reserved. No part of this book maybe reproduced or transmitted in any form or by any means,electronic

or mechanical, including photocopying,recording or by any information storage retrieval system,without permis-

sion in writing from the Publisher.

Chinese language edition published by Tsinghua University Press.

本书英文版Que Corporation版权于1993年出版,版权为Que所有这本书的中文版本Que Corporation授予清华大学

出版社。未经出版科书面许可,不得以任何方式复制或抄袭本书内容。

01-95-330是中华人民共和国国家版权局的作权合同登记章。

所有版权,翻印必须调查。

本书封面贴有清华大学出版社激光防伪标签,无标签者不得出售。

版本中的图书编目(CIP)数据

DOS程序员参考手册/(美)Detmann有;熊桂喜等翻译-北京:清华大学出版社,1995

ISBN 7-302-001984-3

微型计算机磁盘操作系统手册IV. TP316- 62

中国版图书馆CIP第17042号数据核字(95)

出版商:清华大学出版社(北京清华大学邮编100084)

印刷:北京人民文学印刷厂

发行人:北京科技发行所新华书店总店

开本: 787*1092 1/16 印张: 54.75 字数: 1299千字

版次: 1996年1月第一版1996年1月第一次印刷

书号: ISBN 7-302-01984-3/TP·915

印数: 0001-5000

定价: 89.00元

a3页

内容简介

本书是介绍MS-DOS编程技术书籍是多年来权威畅销书籍。内容很好

全面,覆盖DOS各方面。

·包括了MS-DOS 6.xx覆盖所有内容,覆盖所有内容DOS每个版本(1.0-6.22)。书中

包括全部的DOS功能调用和数据结构,包括一些未开放和保留的功能。

·介绍了PC编程所需BIOS、鼠标、EMS、XMS、DPMI、任务切换等的功能调

用。

.分专题介绍DOS编程的各个方面入/输出设备;内存、文件、目录、设备管

理;TSR以及设备驱动程序;DOS错误处理等。

·介绍了如何汇编语言,BASIC C/C++及Pascal中使用DOS及BIOS的技术。

·大量实例源代码丰富实用。

本书的读者对象为对PC对编程感兴趣的专业技术人员、大学生和计算机爱好

者。

a4页

目 录

译者序……………………………………………………………………………………………………… 1

引言………………………………………………………………………………………………… 2

第一部分DOS概述

第1章DOS简介………………………………………………………………………………………3

1.1什么是DOS………………………………………………………………………………………3

1.2DOS的历史………………………………………………………………………………………4

1.2.1 1.0版…………………………………………………·………………………………6

1.2.2 1.1版……………………………………………………………………………………6

1.2.3 1.25版…………………………………………………………………………………6

1.2.4 2.0版……………………………………………………………………………………6

1.2.5 2.1版…………………………………………………………………………………7

            1.2.6 3.0版……………………………………………………………………………………7

              1.2.7 3.1版……………………………………………………………………………………7

              1.2.8 3.2版……………………………………………………………………………………7

              1.2.9 3.3版……………………………………………………………………………………8

              1.2.10 4.0版…………………………………………………………………………………8

              1.2.11 5.0版…………………………………………………………………………………8

              1.2.12 6.0版…………………………………………………………………………………8

              1.2.13未来展望……………………………………………………………………………9

        1.3DOS的结构……………………………………………………………………………………9

        1.4 DOS的程序员接口……………………………………………………………………………10

        1.5小结………………………………………………………………………………………………11

    第2章     DOS系统结构………………………………………………………………………………12

        2.1“虚机”概念………………………………………………………………………………………12

        2.2物理机器…………………………………………………………………………………………13

        2.3处理器……………………………………………………………………………………………13

              2.3.1 8086内存寻址…………………………………………………………………………14

              2.3.2 8086寄存器集…………………………………………………………………………16

              2.3.3 80286及其更高档的处理器…………………………………………………………19

 

a5页

          2.3.4CPU芯片的识别…………………………………………………………………… 20

          2.3.5数学协处理器…………………………………………………………………………22

          2.3.6数学协处理器的识别…………………………………………………………………22

      2.4内存………………………………………………………………………………………………24

      2.5 I/O通道……………………………………………………………………………………… 25

          2.5.1键盘……………………………………………………………………………………25

          2.5.2显示器屏幕……………………………………………………………………………26

          2.5.3打印机…………………………………………………………………………………28

          2.5.4串行口…………………………………………………………………………………28

          2.5.5鼠标………………………………-……………………………………………… 29

      2.6存储设备…………………………………………………………………………………………29

          2.6.1物理磁盘结构…………………………………………………………………………29

          2.6.2逻辑磁盘结构…………………………………………………………………………30

      2.7软件………………………………………………………………………………………………31

          2.7.1 BIOS……………………………………………………………………………………31

          2.7.2 DOS核心………………………………………………………………………………32

          2.7.3命令处理器………………………………………………………………………… 32

          2.7.4设备驱动程序…………………………………………………………………………33

      2.8小 结………………………………………………………………………………………………34

第3章动态的DOS…………………………………………………………………………………35

      3.1 DOS启动顺序…………………………………………………………………………………35

      3.2命令处理…………………………………………………………………………………………38

      3.3 DOS下的程序…………………………………………………………………………………39

          3.3.1 CoM程序………………………………………………………………………………39

          3.3.2 EXE程序………………………………………………………………………………41

      3.4一些高级语言的例子……………………………………………………………………………45

          3.4.1一个Turbo Pascal程序………………………………………………………………45

          3.4.2一个编译的C程序…………………………………………………………………46

          3.4.3比较不同版本的程序…………………………………………………………………46

      3.5中断………………………………………………………………………………………………48

          3.5.1内部中断………………………………………………………………………………49

          3.5.24非屏蔽中断……………………………………………………………………………49

          3.5.3硬件(可屏蔽)中断……………………………………………………………………50

          3.5.4软件中断………………………………………………………………………………50

      3.6内存分配与管理…………………………………………………………………………………52

      3.7小结………………………………………………………………………………………………55

第4章DOS和BIOS接口 ………………………………………………………………………56

      4.1从程序中访问DOS和BIOS…………………………………………………………………56

          4.1.1一个对Dos的简单调用………………………………………………………………57

a6页

            4.1.2传递字符串地址给DOS………………………………………………………………58

      4.2高级语言资源……………………………………………………………………………………59

            4.2.1C语言………………………………………………………………………………60

            4.2. 2 Turbo Pascal…………………………………………………………………………68

            4.2.3 Quick BASIC…………………………………………………………………………72

      4.3小结………………………………………………………………………………………………76

                  第二部分    输入输出设备

第5章输出设备………………………………………………………………………………………79

      5.1基本的字符设备…………………………………………………………………………………79

      5.2看看显示系统的工作方式…………………………………………………………………… 80

          5.2.1存储和显示视频数据…………………………………………………………………81

          5.2.2视频显示格式…………………………………………………………………………83

          5.2.3识别视频显示适配卡…………………………………………………………………87

      5.3视频功能…………………………………………………………………………………………99

          5.3.1利用DOS和BIOS视频功能编程……………………………………………………99

          5.3.2使用多个显示页………………………………………………………………………104

      5.4打印机功能……………………………………………………………………………………106

      5.5小结……………………………………………………………………………………………108

第6章输入设备……………………………………………………………………………………109

      6.1键盘……………………………………………………………………………………………109

        6.1.1了解键盘的工作方式…………………………………………………………………109

        6.1.2用BASIC读键盘……………………………………………………………………113

        6.1.3使用Int 16h来访问键盘……………………………………………………………114

        6.1.4使用Int 21h来访问键盘……………………………………………………………118

        6.1.5识别键盘支持的水平…………………………………………………………………124

    6.2鼠标……………………………………………………………………………………………125

        6.2.1了解鼠标的工作方式…………………………………………………………………125

        6.2.2初始化鼠标驱动程序…………………………………………………………………125

        6.2.3鼠标位于何处…………………………………………………………………………126

    6.3小 结……………………………………………………………………………………………130

第7章串行设备……………………………………………………………………………………131

    7.1串行接口………………………………………………………………………………………132

    7.2 串行转换:UART……………………-…………………………………………………… 134

        7.2.1发送保持寄存器(THR)………………………………………………………………135

        7.2.2接收数据寄存器(RDR)………………………………………………………………135

        7.2. 3波特率除数(BRD)……………………………………………………………………135

        7.2.4中断允许寄存器(IER)………………………………………………………………136

a7页

            7.2.5中断识别寄存器(IIR)………………………………………………………………136

            7.2.6FIFO控制寄存器(FCR)……………………………………………………………137

            7.2.7线控制寄存器(LCR)…………………………………………………………………137

            7.2.8调制解调器控制寄存器(MCR)……………………………………………………138

            7.2.9线状态寄存器(LSR)…………………………………………………………………138

            7.2.10调制解调器状态寄存器(MSR)…………………………………………………139

      7.3将通信端口初始化……………………………………………………………………………140

      7.4调制解调器……………………………………………………………………………………142

      7.5编写一个终端程序……………………………………………………………………………143

            7.5.1双工考虑………………………………………………………………………………143

            7.5.2控制程序Term.c……………………………………………………………………144

            7.5.3支持函数………………………………………………………………………………144

      7.6使用term.c……………………………………………………………………………………151

      7.7直接访问UART………………………………………………………………………………151

            7.7.1汇编语言………………………………………………………………………………152

            7.7.2C语言…………………………………………………………………………………152

            7.7.3BASIC语言……………………………………………………………………………152

            7.7.4Pascal语言……………………………………………………………………………152

      7.8修改Term.c…………………………………………………………………………………152

      7.9回送检测…………………………………………………………………………………… 154

      7.10评价串行I/O设备……………………………………………………………………………155

      7.11小结……………………………………………………………………………………………155

                第三部分    磁盘、目录和文件

第8章磁盘…………………………………………………………………………………………159

    8.1磁盘的内部结构…………………………………………………………………………… 159

          8.1.1分区表………………………………………………………………………………160

          8.1.2引导记录………………………………………………………………………………163

          8.1.3文件分配表(FAT)……………………………………………………………………166

      8.2利用磁盘功能…………………………………………………………………………………172

          8.2.1驱动器信息……………………………………………………………………………172

          8.2.2格式化磁盘……………………………………………………………………………177

      8.3小结……………………………………………………………………………………………183

第9章目录和文件…………………………………………………………………………………184

      9.1磁盘目录……………………………………………………………………………………184

          9.1.1根目录……………………………………………………………………………… 185

          9.1.2目录项…………………………………………………………………………………186

          9.1.3子目录…………………………………………………………………………………190

          9.1.4卷标………………………………………………………………………………… 190

a8页

    9.2什么是文件……………………………………………………………………………………191

    9.3 DOS处理文件的方式…………………………………………………………………………191

          9.3.1标准文件控制块………………………………………………………………………192

          9.3.2扩展的文件控制………………………………………………………………………192

          9.3.3基本的FCB文件处理……………………………………………………………193

          9.3.4什么时候使用FCB功能…………………………-………………………………193

          9.3.5句柄功能………………………………………………………………………………194

          9.3.6基本的句柄文件处理技术……………………………………………………………194

          9.3.7何时使用句柄功能……………………………………………………………………195

          9.3.8练习:目录搜索………………………………………………………………………195

    9.4小结……………………………………………………………………………………………199

                第四部分内存管理及其它

第10章程序和内存管理…………………………………………………………………………203

    10.1内存的工作方式………………………………………………………………………………204

    10.2内存管理………………………………………………………………………………………207

        10.2.1压缩程序内存………………………………………………………………………209

        10.2.2获得更多的内存……………………………………………………………………210

    10.3扩充内存………………………………………………………………………………………211

        10.3.1确定扩充内存的有效性………………………………………………………… 211

        10.3.2使用扩充内存………………………………………………………………………213

    10.4扩展内存…………………………………………………………………………………… 217

        10.4.1确定扩展内存的有效性……………………………………………………………217

        10.4.2使用扩展内存………………………………………………………………………218

    10.5程序执行………………………………………………………………………………………245

        10.5.1 EXEC功能…………………………………………………………………………245

        10.5.2程序退出…………………………………………………………………………··-249

        10.5.3潜在的EXEC问题…………………………………………………………………249

        10.5.4往DOS中输入命令………………………………………………………………250

        10.5.5替换DOS的内部命令……………………………………………………………251

        10.5.6为什么有些EXE文件不能被转换成COM文件………………………………252

        10.5.7程序段前缀(PSP)…………………………………………………………………252

    10.6内存常驻软件的编程…………………………………………………………………………254

    10.7小结……………………………………………………………………………………………256

第11章中断处理程序……………………………………………………………………………257

    11.1什么是中断……………………………………………………………………………………257

11.2中断的工作方式………………………………………………………………………………259

    11.3 Intel 8086系列的中断类型…………………………………………………………………259

          11.3.1内部硬件中断…………………………………………………………………… 260

a9页

            11.3.2外部硬件中断……………………………………………………………………260

              11.3.3软件中断……………………………………………………………………………261

        11.4中断向量……………………………………………………………………………………262

        11.5获取和设置中断向量…………………………………………………………………………262

      11.6 什么时候必须写一个中断处理程序?………………………………………………………263

        11.7编写Ctrl-C处理程序………………………………………………………………………264

        11.8编写一个关键出错处理程序…………………………………………………………………270

        11.9 TSR综述……………………………………………………………………………………294

        11.10TSR的中断基础……………………………………………………………………………296

              11.10.1键盘中断…………………………………………………………………………296

              11.10.2 InDOS标志、DOSOK中断和定时器中断………………………………………296

        11.11小结…………………………………………………………………………………………302

    第12章设备驱动程序………………………………………………………………………… 304

        12.1驱动程序的类型………………………………………………………………………………305

              12.1.1字符设备驱动程序…………………………………………………………………305

              12.1.2块设备驱动程序……………………………………………………………………305

        12.2设备驱动程序的工作方式……………………………………………………………………306

        12.3设备驱动程序的结构…………………………………………………………………………308

              12.3.1设备头………………………………………………………………………………309

              12.3.2策略例程………………………………………………………………………… 312

              12.3.3中断例程……………………………………………………………………………314

        12.4完整的驱动程序………………………………………………………………………………328

              12.4.1汇编驱动程序………………………………………………………………………331

              12.4.2安装驱动程序………………………………………………………………………332

              12.4.3调试驱动程序………………………………………………………………………332

        12.5编一个实用的驱动程序………………………………………………………………………333

        12.6使用设备驱动程序……………………………………………………………………………334

        12.7小结……………………………………………………………………………………………334

    第13章其它杂项功能……………………………………………………………………………336

        13.1DOS版本信息………………………………………………………………………………336

        13.2设备信息………………………………………………………………………………………339

        13.3日期和时间功能………………………………………………………………………………341

       13.4扩展的出错处理………………………………………………………………………………345

        13.5未公开的功能…………………………………………………………………………………349

        13.6小结…………………………………………………………………………………………350

                      第五部分参考手册

第14章参考手册概述……………………………………………………………………………353

a10页

        14.1怎样介绍各个服务……………………………………………………………………………353

              14.1.1中断号…………………………………………………………………………… 353

              14.1.2功能号………………………………………………………………………………354

              14.1.3子功能号……………………………………………………………………………354

              14.1.4版本的有效性………………………………………………………………………355

              14.1.5用途……………………………………………………………………………… 355

              14.1.6描述…………………………………………………………………………………355

              14.1.7调用寄存器…………………………………………………………………………355

              14.1.8返回寄存器…………………………………………………………………………355

              14.1.9注释…………………………………………………………………………………355

        14.2详细的功能总结………………………………………………………………………………355

    第15章BIOS参考手册……………………………………………………………………………371

    第16章DOS参考手册……………………………………………………………………………470

        16.1怎样调用DOS服务…………………………………………………………………………470

        16.2可重入性………………………………………………………………………………………470

        16.3保留的功能……………………………………………………………………………………471

        16.4未公开的功能…………………………………………………………………………………472

        16.5 DOS服务……………………………………………………………………………………472

    第17章鼠标参考手册……………………………………………………………………………649

        17.1鼠标的功能…………………………………………………………………………………649

        17.2鼠标驱动程序的EGA寄存器接口…………………………………………………………677

    第18章EMS参考手册……………………………………………………………………………682

    第19章XMS参考手册……………………………………………………………………………721

    第20章DPMI参考手册…………………………………………………………………………731

    第21章任务切换参考手册………………………………………………………………………780

        21.1数据结构………………………………………………………………………………………780

        21.2通报功能………………………………………………………………………………………784

        21.3服务功能………………………………………………………………………………………789

    第22章DoubleSpace参考手册…………………………………………………………………794

        22.1CVF结构……………………………………………………………………………………794

        22.2API功能………………………………………………………………………………………795

    附录A ASCII字符集………………………………………………………………………………799

a11页

附录B 选中的内存位置……………………………………………………………………………806

      B.1中断表…………………………………………………………………………………………806

      B.2 BIOS数据区……………………………………………………………………………………808

附录C 一种标准的TSR标识技术………………………………………………………………811

      C.1用户参数块………………………………………………………………………………… 812

      C.2功能00h(检查安装)…………………………………………………………………………813

      C.3功能01h(返回用户参数指针)………………………………………………………………814

      C.4其它TesseRact功能…………………………………………………………………………815

附录D 保留的DOS功能…………………………………………………………………………816

      D.1未公开的DOS功能的种类……………………………………………………………………816

      D.2覆盖范围……………………………………………………………………………………817

      D.3使用功能52h—表中表……………………………………………………………………818

      D.4小结……………………………………………………………………………………………855

附录E 支持资源清单………………………………………………………………………………856

      E.1硬件……………………………………………………………………………………………856

      E.2 MS-DOS和BIOS编程………………………………………………………………………856

      E.3编程语言…………………………………………………………………………………… 857

      E.4一般编程技术……………………………………………………………………………… 858

 

      《DOS程序员参考手册》第四版;英文原名为“DOS Programmer's Reference, 4th
Edition”,作者是美国的Terry Dettman及AllenL.Wyatt, Sr. 。本书是Que的保留书
目,内容完整,解释清楚,在介绍DOS编程技术的书籍中,本书是多年来最有影响、最受欢
迎的书籍之一。
      DOS是整个PC机的技术基础,即使是到今天,在Windows 3.1广为流行,乃至Win- 
dows 95(或Chicago)即将问世时仍是如此。因为无论是Windows、OS/2、NetWare还是
Windows NT,都离不开DOS的基础性、概念性支持。虽然DOS是一个单用户的操作系
统,但所有上述的多任务操作系统都是从DOS上发展起来的,并且尽可能地与DOS保持
兼容,才能被用户接受。用户使用计算机,必须先从DOS学习起,具备了DOS的初步知识
才能进入Windows、OS/2乃至NetWare及Windows NT的网络世界。学习PC编程的
人,无论是学生或计算机爱好者,都得从DOS开始,更不要说是开始学习C 、BASIC、Pas- 
cal,特别是学习汇编语言编程的人们。即使是PC编程高手,首先也必须具备完整而深入
·的DOS知识。
      正是在这样的背景下,我们在清华大学出版社的全力支持下,组织翻译了这本《DOS
程序员参考手册》。原书已到第四版,但在国内却是首次介绍。与Microsoft公司为DOS
软件而准备的《程序员技术参考手册》相比,这本书内容更丰富、完整、更易于使用。
      全书共分五个部分及五个附录。第一至四部分是以技术专题方式对DOS编程的各个
方面进行了论述,并以大量的C/C++、Pascal、BASIC及汇编语言实例,使读者不仅可以
从理论上学习DOS编程的知识,而且可通过实例,立即构造出自己的实用程序。其中,第
一部分可以说是一些预备性的知识,介绍了DOS的历史、DOS的结构、DOS所运行的硬
件技术基础,以及提供给程序员的DOS和BIOS编程接口。本部分通过实例说明,要用好
DOS,使编出的程序效率更高,必须选择好适当的编程及层次;在C/C++、Pascal、BA-
SIC中,都可以充分地利用DOS和BIOS提供的资源。
      第二部分介绍DOS的外部设备编程技术。其中输入设备有键盘和鼠标;输出设备有
字符设备、显示器、打印机等。另外还重点介绍了串行设备。作者在这一部分里所介绍的
知识很有特色,且不局限于DOS范围,而是从编程者的需要出发,从各个层次上对输入
输出设备进行编程,且理论与实践并举。
      第三部分介绍了DOS的磁盘、文件及目录管理和程序员对其编程时所应具备的技术
及知识。这一部分是DOS的重点,也是DOS程序员最常使用的功能。本书的这一部分,
内容详尽,实例也很有针对性。
 
2页
      第四部分介绍了DOS编程技术的三个较难的专题:内存管理、中断处理程序及设备
处理程序。 Microsoft技术手册在这几个技术专题的介绍上过于简单,而本书则尽可能地
将所涉及的知识(无论是已公开的还是未公开的)介绍给读者,并给出了一些很有价值的
实例。但从译者角度看,所讲内容仍不够全面,有关这几个专题的内容,读者不妨参看清华
大学出版社出版的Addsion- Wesley的书籍《未公开的DOS核心技术》。
      第五部分是本书最具特色的内容,也是它区别于其它DOS程序员参考书籍的地方。
这一部分的篇幅较大,比Microsoft的参考手册所提供的知识要丰富得多。在内容上,它
介绍了BIOS、DOS、EMS、XMS、DPMI、DoubleSpace及任务切换等方面的功能调用。在
每个功能调用的介绍内容中,尽可能地把所涉及的知识、禁止及注意事项介绍给了读者。
它的注释部分确实是独一无二的。
      本书的内容都是最新的。本书的所有功能调用都已更新到了MS- DOS 6。不仅如此,
本书对每一个功能调用,都作了版本上的说明及在各个版本下的使用注意事项。因此,本
书完全可以作为任何一个DOS版本的技术参考手册。而且由于有了第五部分的内容,读
者在进行PC编程时,所涉及的技术,都可以在这里找到。像这样把BIOS、DOS、EMS、
XMS及DPMI都融于一体的书籍,确实给读者提供了方便。因为其中有些内容,一般程序
员是很难找到的。
      就像书名所表达的那样,本书是为DOS程序员准备的。但是由于PC机的特点,由于
DOS是PC机上各种软件的基础,因此本书为所有在PC上进行编程的计算机专业人员、
大专院校学生及计算机爱好者都能提供方便。
      这是一本在翻译上有较大难度的书籍,因为本书所涉及的知识非常丰富。由于工作量
关系,虽经我们做了巨大努力,书中仍难免有误,欢迎读者指正。
      参加本书的翻译及审校工作的有熊桂喜、陆益民、黎军英、田子钧、蒋华、陈石、陈清
等。此外还有其它同志为本书的翻译工作提供过宝贵的意见。在此一并致谢。
                                            译者
                            1994年12月于北京航空航天大学计算机系
3页
         引        言
      欢迎使用《DOS程序员参考手册》第四版。编写本书的目的有两个。首先,我们想向人
们解释清楚:在DOS级上的程序如何使用DOS、BIOS以及其它能帮助编程的相关功能。
其次,我们也想鼓励使用高级语言的程序员使用DOS功能来扩展他们对PC系统的控
制。                    
      大多数谈及DOS和BIOS编程的书籍,都把重点放在汇编语言上。虽然也有少量的
书籍讨论了从高级语言中使用DOS功能的内容,但大多数也只涉及皮毛,实际上是很难
作为参考手册来使用的。《DOS程序员参考手册》第四版一书,通过大量的实例,希望能帮
助读者在程序中充分地发掘出使用DOS或BIOS功能的潜力。我们的目的就是,当读者
进行编程工作时,本书能实实在在地摆在计算机旁,助你一臂之力,而不仅仅是放在书架
上的摆设。
      为了使本书能对读者发挥出最大的作用,我们充分地考虑到了谈及内容的深度和广
度,做到了读者能任意从某个具体的编程主题开始。本来,整本那可由介绍众多编程主题
和技巧的内容组成,但是,本书并没有对每个专题都穷追不舍,而是给出一个开始点,然后
给出足够的参考信息,让读者自己一步步地深入下去。书中的内容提供了各种所需的基础
知识,利用这些知识,读者自己就能进一步地编写出功能强大而富有活力的程序。
      本书讨论了BIOS和DOS功能可应用到的各个主要领域。书中的讨论和实例,能有
助于初学者了解到如何使用这些功能;对于高级程序员,则提供了更进一步的方法,让他
们去组织所了解的内容。只要可能,任何时候我们都强调搞清楚为什么要这么用的道理。
      像本书这样题材的书籍,只有提供了尽可能详尽的参考资料,才能对程序员真正有
用。本书的最后一大部分,一个功能一个功能地详细列出了所有的DOS和BIOS功能(包
括许多未曾公开的功能)。对每个功能,都对它提供了信息进行总结,并提供了对寄存器要
求的详细信息。在本手册中这一部分所列出的信息,对任何DOS程序员都是很有用的,无
论他工作时使用的是汇编语言,还是BASIC、C或Pascal。
      本书另一个有意义之处就是其中的内容都是最新的。书中所列功能的版本已覆盖了
MS-DOS6,还包括了有关扩展内存驱动程序、扩充内存驱动程序以及鼠标驱动程序的内
容。其中还有一些与硬件有关的章节,介绍了如何识别所使用的CPU芯片的类型,有什
么样的协处理器、系统当前使用的是何种显示卡等。
      本书在第四版中增加了一些以往版本所不具备的内容。除了对使用功能按照最新信
息进行了更新外,整个参考手册部分中的内容更加充实和完善,能够让读者尽快地获得所
需的内容。我们相信,仅仅通过这部分所增加的内容,就会让读者受益匪浅。
 
4页
   有时,有关未公开功能的内容是不完整或不准确的,但我们在本书中仍介绍了这方面
    的内容,因为程序员在编程时需要全面地了解DOS和BIOS的知识,而仅靠已公开的内
    容尚不能完全做到这一点。但使用这些未公开的特性是有风险的,因为它们未公开,因而
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章