目 录 1
前言 1
第1章程序组织 1
1.1简要说明:程序的管理 1
1.2截取命令行参数 2
1.3 读入或修改DOS环境变量 3
1.4从一个程序中运行另一个程序 5
1.5给DOS返回一个退出代码 8
1.6使程序驻留内存 9
1.7把程序从.EXE类型转换为.COM类型 12
第2章设备确认 15
2.1 简要说明:访问系统资源 15
2.2确认DOS版本 15
2.3确认显示卡的类别与型号 17
2.4确认磁盘驱动器的数目与类型 19
2.5确认I/O端口的数目与类型 22
2.6确认所用键盘的类型 24
2.7确认是否安装有鼠标 26
2.8确认常规内存的可用性 28
2.9确认扩展内存的可用性 30
2.10确认扩充内存的可用性 33
第3章内存管理 35
3.1简要说明:内存的种类 35
3.2分配/释放常规内存 38
3.3确认扩展内存页框地址 41
3.4确认扩展内存可用页的数目 42
3.5分配扩展内存页 43
3.6扩展内存页之间的交换 45
3.7取/置扩展内存页映象 46
3.8释放扩展内存页 49
3.9 在程序中使用扩展内存 50
第4章 中断的程序设计 52
4.1 简要说明:中断是如何工作的 52
4.2给中断控制器芯片编程 56
4.3允许/禁止特定硬件中断 57
4.4 从BASIC、Pascal和C中调用中断 59
4.5编写你自己的中断服务例程 63
4.6链接现有中断 66
5.1 简要说明:PC如何计量时间 69
第5章时钟与计时器 69
5.2给计时芯片编程 70
5.3 置/读BIOS日历钟计数 72
5.4 置/读时间 75
5.5 置/读日期 77
5.6置/读实时时钟 79
5.7定时或延迟程序操作 82
5.8控制实时操作 84
6.1简要说明:PC如何发出音响 89
第6章音响的程序设计 89
6.2让扬声器发嘟嘟声 90
6.3演奏乐音 91
6.4在前台演奏乐音序列 95
6.5在后台演奏乐音序列 99
6.6做音响效果 99
第7章击键截取 106
7.1 简要说明:键盘工作原理 106
7.2清键盘缓冲区 108
7.3测键盘缓冲区中的键入码 111
7.4在键盘缓冲区中插入键入码 112
7.5截取键入码但不显示 113
7.6截取键入码并自动显示 116
7.7有可用码才去截取 118
7.8截取一串键入码 120
7.9编写一个通用键盘输入例程 124
7.10编写一个Ctrl-Break例程 132
第8章击键译码 134
8.1 简要说明:击键的种类 134
8.2检测/设置切换键和换档键的状态 135
8.4使用专用键 139
8.3使用数字辅助键盘和光标键 139
8.5查找扫描码 141
8.6找ASCⅡ码 142
8.7查找扩展码 145
第9章使用鼠标 147
9.1简要说明:鼠标的编程 147
9.2初始化鼠标驱动程序 149
9.3显示或隐藏鼠标光标 150
9.4设置文本鼠标光标的形状 152
9.5设置图形鼠标光标的形状 154
9.6取得或设置鼠标光标的位置 156
9.7将鼠标光标限定在屏幕的一部分 158
9.8定义不显示鼠标光标的屏幕区域 160
9.9跟踪鼠标的移动 161
9.10设置鼠标与光标移动的比率 162
9.11 监视鼠标按钮 164
9.12截取单击、双击和拖动事件 165
9.13 建立鼠标中断例行程序 167
9.14从游戏端口取得模拟输入 167
9.15从游戏端口取得数字输入 170
10.1简要说明:磁盘类型与磁盘分配 173
第10章磁盘驱动器的管理 173
10.2设置/检查缺省驱动器 175
10.3读/改磁盘的卷标 177
10.4确定可用的磁盘空间 178
10.5读/写特定磁盘扇区 180
10.6对磁盘控制器和DMA芯片进行编程 184
10.7检测和恢复磁盘错误 193
第11章 目录访问 197
11.1简要说明:目录结构 197
11.2创建/删除子目录 198
11.3 读取/设置当前目录 200
11.4读目录 202
11.5把文件移到另一个目录下 206
11.6确认文件的大小 207
11.7读取/设置文件的时间和日期 209
11.8读取/设置文件属性 212
11.9文件或目录更名 215
11.10删除文件 217
第12章文件的读和写 219
12.1简要说明:文件存取的方法 219
12.2创建、打开和关闭文件 222
12.3顺序文件写 226
12.4顺序文件读 230
12.5随机存取文件写 234
12.6随机存取文件读 238
12.7写操作后验证数据 241
第13章控制视频硬件 243
13.1 简要说明;控制视频硬件 243
13.2视频控制器芯片的编程 244
13.3设置/检验屏幕显示模式 245
13.4设置屏幕背景或边界颜色 247
13.5清除全部/部分屏幕 249
13.6文本屏幕滚动 250
13.7切换显示页 253
13.8设置或查找光标位置 256
13.9打开/关闭光标 259
13.10改变光标形状 261
第14章显示文本 264
14.1 简要说明:显示文本 264
14.2 设置字符属性/颜色 264
14.3 在屏幕上写单个字符 268
14.4在屏幕上写字符串 273
14.5读给定位置的字符及其属性 276
14.6建立特殊字符 278
第15章显示图形 281
15.1 简要说明:显示图形 281
15.2设置图形模式的颜色 283
15.3 画一个象素(CGA,MCGA,HGC) 287
15.4 画一个象素(EGA,VGA) 290
15.5查找屏幕上某个点的颜色 297
16.1简要说明:控制打印机 301
第16章控制打印机 301
16.2初始化打印机端口/重新初始化打印机 303
16.3测试打印机是否联机 306
16.4输出数据到打印机 308
16.5控制行式打印机的页格式 313
16.6控制HP LaserJet打印机的页格式 315
16.7选择行式打印机字模 316
16.8 选择和下装HP LaserJet字模 318
16.9在行式打印机上打印图形 322
16.10在HP LaserJet打印机上打印图形 323
17.2串行通信芯片的编程 326
第17章串行通信 326
17.1 简要说明:如何传输串行数据 326
17.3初始化串行口 328
17.4监视串行口状态 332
17.5初始化并监视调制解调器 334
17.6发送数据 338
17.7接收数据 342
17.8用通信中断发送/接收数据 346
17.9查找通信控制码 349