第一章 系统资源 1
1.1 确定系统资源的状况 1
1.1.1 访问8255外设接口 2
1.1.2 确定IBM微机的型号 5
1.1.3 确定PC—DOS版本 6
1.1.4 确定图形适配卡的数目及类型 7
1.1.5 找出磁盘驱动器的数目及种类 9
1.1.6 确定外部设备数目及类型 10
1.1.7 确定RAM大小 12
1.2 中断管理 15
1.2.1 8259中断控制器编程 16
1.2.2 允许/禁止特定的硬件中断 16
1.2.3 编制自用中断 17
1.2.4 完善现有的中断 20
1.3 程序管理 21
1.3.1 存储器的分配与撤消 22
1.3.2 运行嵌套程序 25
1.3.3 程序中使用DOS用户接口指令 27
1.3.4 程序执行完后常驻内存 28
1.3.6 调入并运行程序覆盖 31
1.3.6 将程序由.EXE型转换为.COM型 34
第二章 定时器与发声器 37
2.1 定时器的置数和读数 37
2.1.1 8253/8254定时器编程 37
2.1.2 时间的设置与读取 40
2.1.3 日期的设置与读取 42
2.1.4 实时时钟的设置与读取 43
2.1.5 延时操作编程 45
2.1.6 定时操作编程 46
2.1.7 实时控制操作编程 48
2.1.8 用定时器芯片产生随机数 51
2.2 发声 53
2.2.1 76496发声器的编程方法(仅对PCjr) 53
2.2.2 演奏 55
2.2.3 与其它操作同时进行的演奏 57
2.2.4 报警 58
2.2.5 演奏音符串 60
2.2.6 在进行其它操作的同时演奏音符串 63
2.2.7 产生滑音音调 67
2.2.8 产生音响效果 68
2.2.9 同时发声 70
第三章 键盘 72
3.1 键盘监控 72
3.1.1 清除键盘缓冲区 73
3.1.2 检查缓冲区中的键入字符 75
3.1.3 等待键入字符但不在民间上显示 76
3.1.4 等待键入字符并把它送向屏幕 78
3.1.5 立即获取字符 80
3.1.6 获取键入字符串 81
3.1.7 检查/设置双态键和组合键的状态 83
3.1.8 编写通用的键盘输入例程 84
3.1.9 重新编制键盘中断 88
3.2 存取特殊键 92
3.2.1 Backspace,Enter,Escape和Tab键的使用 92
3.2.2 组合键的使用:Shift键Ctrl键和Alt键 92
3.2.3 双态键的使用:Numlock,Capslock,Ins和Scrollock 93
3.2.4 数字副键盘和光标键的使用 94
3.2.5 功能键的使用 95
3.2.6 重新编制单个键 96
3.2.7 对单个键定义键盘宏功能 98
3.2.8 建立Ctrl-Break例程 99
3.2.9 PrtSc键的重新定义 100
3.3 各种键盘编码及应用 101
3.3.1 各种键的使用 102
3.3.2 扫描码 102
3.3.3 ASCII码 103
3.3.4 框图编码 103
3.3.5 扩充码 103
第四章 视频显示 105
4.1 视频显示控制 105
4.1.1 6845视频控制器编程 106
4.1.2 屏幕显示模式的设置与检验 108
4.1.3 设置字符的属性和颜色 113
4.1.4 设置屏幕边界的颜色 120
4.1.5 清除全部或部分屏幕内容 121
4.1.6 视频适配器之间的转换 123
4.2 光标控制 125
4.2.1 在绝对位置处设置光标 126
4.2.2 设置光标于相关位置 128
4.2.3 光标的打开与关闭 130
4.2.4 改变光标的形状 131
4.2.5 光标位置的读取、存储及恢复 132
4.2.6 产生交替光标类型 134
4.3 屏幕字符显示 135
4.3.1 在屏幕上“写”单个字符 135
4.3.2 在屏幕上“写”一串字符 142
4.3.3 读给定位的字符及属性 144
4.3.4 建立特殊字符 145
4.4 描绘点阵图形 149
4.4.1 设置点阵图形的彩色 150
4.4.2 在屏幕上描绘点阵(对于单色卡、彩色卡、PCjr) 154
4.4.3 在屏幕上描绘点阵(对EGA) 158
4.4.4 确定屏幕一点的颜色 165
4.4.5 在屏幕上画线 169
4.4.6 屏幕区域填充 173
4.4.7 用块字符描绘图形 177
4.5 应用卷轴及分页技术 179
4.5.1 文本屏幕垂直卷轴 179
4.5.2 文本屏幕水平卷轴 181
4.5.3 切换文本页 182
4.5.4 文本页间卷轴 187
第五章 磁盘驱动器 189
5.1 监视磁盘分配 189
5.1.1 读取文件分配表 190
5.1.2 确定可用的磁盘空间 193
5.1.3 文件长度的获取与设置 194
5.1.4 校正盘空间不足的错误 196
5.2 磁盘目录操作 197
5.2.1 根目录的读取与更改 198
5.2.2 子目录的建立与删除 201
5.2.3 子目录的读取与更改 203
5.2.4 当前目录的获取与设置 205
5.2.5 获取/设置文件的时间和日期 206
5.2.6 写保护或隐藏文件 207
5.2.7 文卷标号的读取与改写 209
5.3 准备进行文件操作 212
5.3.1 缺省驱动器的设置与检查 213
5.3.2 文件的建立与删除 214
5.3.3 文件的打开与关闭 217
5.3.4 重新命名文件/移动文件的目录位置 222
5.3.5 准备进行文件操作 223
5.3.6 分析来自命令行的信息 228
5.4 读写文件 229
5.4.1 对765软盘控制器和8237DMA芯片进行编程 230
5.4.2 特定扇区的读与写 239
5.4.3 写入顺序文件 242
5.4.4 读顺序文件 248
5.4.5 写入随机文件 253
5.4.6 读随机文件 257
5.4.7 在读、写操作之后对数据进行验证 261
5.4.8 磁盘错误的确定与排除 261
第六章 打印机 265
6.1 控制打印机操作 265
6.1.1 初始化打印口和重新初始化打印机 266
6.1.2 测试打印机是否联机 267
6.1.3 解释和排除打印机的错误 269
6.1.4 两台或多台打印机的切换 272
6.2 设置打印参数 273
6.2.1 设定文本和图形打印方式 274
6.2.2 行距的控制 276
6.2.3 走纸的控制 277
6.2.4 控制打印头的位置 278
6.2.5 设置制表符位置 278
6.2.6 改变打印字形 279
6.2.7 IBM各种打印机性能的比较 280
6.3 将数据发送至打印机 284
6.3.1 输出文本或图形数据 285
6.3.2 文本的右对齐 288
6.3.3 均衡间隙的文本打印 291
6.3.4 打印特殊字符 293
6.3.5 屏幕拷贝 296
第七章 输入/输出 300
7.1 访问串行端口 300
7.1.1 8250UART芯片编程 301
7.1.2 串行口初始化 302
7.1.3 设置当前通信端口 306
7.1.4 监视串行端口状态 307
7.1.5 调制解调器的初始化和监视 308
7.1.6 数据发送 312
7.1.7 接收数据 314
7.1.8 用通信中断发送/接收数据 317
7.1.9 查找通信控制码 320
7.2 建立设备驱动程序 321
7.2.1 建立设备首标 322
7.2.2 建立设备策略 323
7.2.3 建立设备中断句柄 324
7.2.4 访问设备驱动程序 328
7.2.5 设备错误的检查与分析 330
7.3 使用串行I/O设备 333
7.3.1 读/写磁带录音机 334
7.3.2 读取光笔位置 334
7.3.3 从游戏端口读取模拟输入值 337
7.3.4 从游戏端口取数字输入值 340
附录A 二进制、十六进制及内存寻址 343
附录B BASIC语言的位操作 347
附录C 汇编语言基础知识 352
附录D 将汇编例程组合成BASIC程序 356
附录E 使用ANSI.SYS设备驱动程序 358
附录F 8088指令系统 359
附录G 80286指令系统 366
附录H IBM微机词汇表 371
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《强制执行前沿与热点问题》陈兴责编;乔宇 2020
- 《党员干部理论学习培训教材 理论热点问题党员干部学习辅导》(中国)胡磊 2018
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《强磁场下的基础科学问题》中国科学院编 2020
- 《高等学校“十三五”规划教材 C语言程序设计》翟玉峰责任编辑;(中国)李聪,曾志华,江伟 2019
- 《改革进程中的刑事诉讼程序与证据问题研究 基于警察的视角》谢波 2019
- 《马克思主义意识形态建设的基础问题探幽》陈冬生,王枫桥责编 2019
- 《Java程序设计基础》罗刚 2018