内容简介
第一章绪论
本书的组织
新的DOS 4.00服务
目录
实用程序盘
最少硬件配置
第一部分编写程序
引导记录
文件分配表(FAT)
磁盘格式
第二章访问磁盘
磁盘目录
数据区
访问磁盘
直接读写磁盘数据
请求驱动器和磁盘信息
文件把柄
第三章用文件把柄访问文件
文件名
专用文件把柄
读写文件数据
请求和指定文件属性
访问子目录
访问目录
查找目录中文件
请求和指定国家语言支持(NLS)
控制网络操作
第四章用文件控制块访问文件
文件控制块(FCB)
扩充的FCB
磁盘传输区(DTA)
访问文件
访问随机记录
查找目录中文件
访问顺序记录
第五章管理设备的输入/输出
管理显示输入/输出
管理键盘输入/输出
管理其它设备输入/输出
管理文件的系统动作
访问系统设备驱动程序的控制通道
读写二进制和ASCII方式的数据
第六章控制进程
分配内存
DOS 4.00内存管理
DOS 4.00内存分配图
在装入时标识程序
程序段
装入并执行复盖
参数块
装入复盖但不执行
终止程序/子程序
调用命令处理程序
对错误的反应
回答Ctrl-Break动作
请求和指定系统日期和时间
请求和指定中断向量
第二部分使用程序设计的实用程序
启动LIB.EXE实用程序
IBM库管理程序/2
第七章建立目标代码库
在命令行上键入输入信息
使用回答文件
建立和维护库
建立库文件
修改库文件
对库进行组合
建立交叉引用清单
库管理程序错误信息
执行一致性检查
设置库页大小
第八章建立可执行文件
IBM连接程序/2
启动LINK.EXE程序
在命令行上键入LINK的输入
使用回答文件提供LINK输入
使用连接程序选项
为CodeView准备文件/CODEVIEW
保留节(Paragraph)空间/CPARMAXALLOC
段排序/DOSSEG
控制数据装入/DSALLOCATE
压紧可执行文件/EXEPACK
观察选项清单/HELP
控制运行文件装入/HIGH
把行号复制到映射文件/LINENUMBERS
产生公共符号映射/MAP
显示连接时信息/INFORMATION
忽略缺省库/NODEFAULTLIBRARYSEARCH
保持兼容性/NOGROUPASSOCIATION
保持小写/NOIGNORECASE
设置复盖中断/OVERLAYINTERRUPT
换盘暂停/PAUSE
设置最大段数/SEGMENTS
设置栈尺寸/STACK
阅读映射文件
建立程序的复盖版本
向LINK提供复盖结构
LINK怎样格式化EXE文件
段排序
段组合类型
组
指令和数据引用错
连接程序错误信息
连接程序的限制
第九章转换文件格式
EXE2BIN.EXE实用程序
键入EXE2BIN的输入部分
两种转换类型
设备驱动程序
标准COM文件
第十章调试程序
DEBUG(调试)实用程序
启动DEBUG.COM程序
在DEBUG提示处键入命令
BEBUG命令一览表
DEBUG工作空间
A(汇编)命令
C(比较)命令
D(转储)命令
E(写入)命令
F(填写)命令
G(执行)命令
H(16进制算术运算)命令
I(输入)命令
L(装入)命令
M(传送)命令
N(命名)命令
O(输出)命令
P(进行)命令
Q(退出)命令
R(寄存器)命令
S(检索)命令
T(追踪)命令
U(反汇编)命令
W(写)命令
XA(EMS分配)命令
XD(EMS释放分配)命令
XS(EMS状态)命令
XM(EMS映射)命令
DEBUG错误信息
第十一章编写可安装的设备驱动程序
设备驱动程序的类型
字符设备驱动程序
块设备驱动程序
DOS 4.00怎样安装设备驱动程序
设备驱动程序的基本部分
设备驱动程序标题
策略程序
中断程序
DOS 4.00怎样传递请求
回答请求
初始化请求
介质检查请求
建立BPB请求
输入或输出请求
不等待的无破坏性的输入请求
字符输入和输出状态请求
字符输入和输出清洗请求
打开和关闭请求
可装卸介质请求
一般IOCTL请求
取逻辑设备请求
设置逻辑设备请求
时钟$(CLOCK$)设备驱动程序实例
第三部分附录
附录A DOS 4.00中断
20H程序终止
21H功能请求
22H终止地址
23HCtrl-Break出口地址
24H紧急错误处理程序向量
25H/26H绝对磁盘读/写
28H—2EH由DOS 4.00保留
2FH多路中断
27H终止但保持常驻
30H—3FH由DOS 4.00保留
附录B DOS 4.00功能调用
使用DOS 4.00功能调用
程序代码段
COM程序
DOS 4.00寄存器
对错误的反应
扩充错误码
00H—程序终止
01H—带响应的控制台输入
02H—显示输出
04H—辅助设备输出
05H—打印输出
03H—辅助设备输入
06H—直接控制台I/O
07H—无响应的直接控制台输入
08H—无响应的控制台输入
09H—显示字符串
0AH—带缓冲的键盘输入
0CH—清除键盘缓冲区并调用键盘功能
0DH—磁盘复位
0BH—检测标准输入状态
0EH—选择磁盘
0FH—打开文件
10H—关闭文件
11H—搜索第一个目录项
12H—搜索下一个目录项
13H—删除文件
14H—顺序读
15H—顺序写
16H—建立文件
19H—当前磁盘
17H—文件换名
1AH—设置磁盘传输地址
1BH—分配表信息
1CH—指定设备的分配表信息
21H—随机读
22H—随机写
23H—文件大小
24H—设置相对记录字段
25H—设置中断向量
26H—建立新程序段
27H—随机块读
28H—随机块写
29H—解析文件名
2AH—取日期
2BH—设置日期
2CH—取时间
2DH—设置时间
2EH—设置/复位检验开关
2FH—取磁盘传输地址(DTA)
30H—取DOS版本号
31H—终止进程并保持常驻
33H—读取/设置系统值
35H—取中断向量
36H—取磁盘自由空间
38H—读取/设置国别信息
39H—建立子目录(MKDIR)
3AH—取消子目录
3BH—改变当前目录(CHDIR)
3CH—建立文件(CREAT)
3DH—打开文件
3EH—关闭文件把柄
3FH—从文件或设备读入
40H—写到文件或设备
41H—从指定目录删除文件(UNLINK)
42H—移动文件读/写指针(LSEEK)
43H—改变文件模式(CHMOD)
44H—设备输入/输出控制
45H—复制文件把柄(DUP)
46H—强行复制文件把柄(FORCDUP)
47H—取当前目录
48H—分配内存
49H—释放已分配的内存
4BH—装入或执行程序(EXEC)
4AH—修改已分配的内存块(SETBLOCK)
4CH—终止进程(EXIT)
4DH—取子进程的返回代码(WAIT)
4EH—查找第一个相符的文件(FIND FIRST)
4FH—查找下一个相符的文件(FIND NEXT)
54H—取检验开关设定值
56H—文件换名
57H—读取/设置文件的日期和时间
59H—取扩充错误
5AH—建立临时文件
5BH—建立新文件
5CH—锁定/开锁文件访问
5E00H—取机器名
5E02H—设置打印机的配置
5E03H—取打印机的配置
5F02H—取重定向表项
5F03H—重定向设备
5F04H—取消重定向
65H—取扩充的国别信息
62H—取程序段前缀地址
66H—读取/设置全局代码页
67H—设置把柄计数
68H—提交文件
6CH—扩充的打开/建立
附录C设备的输入/输出控制(IOCtl)
44H—设备的输入/输出控制(IOCtl)
附录D扩展内存支持