第一章 计算机中的数制和码制 1
1.1 数制 1
一、常用计数制 1
二、数制换算 2
三、字符编码 3
1.2 码制 4
一、机器数的原码、补码和反码 5
二、整数补码的运算 5
三、无符号数 7
1.3 浮点数的基本概念 7
一、浮点数 7
二、浮点机器数 8
三、浮点数的数值范围 9
习题 10
第二章 计算机基础 11
2.1 计算机系统组成 11
一、计算机的硬件组成 11
二、计算机系统的软件 12
2.2 微型计算机 12
一、微型机的硬件结构 12
二、微型机的基本配置 13
2.3 8088 CPU 14
一、8088的寄存器结构 14
二、8088的功能结构 15
三、8088的存储器组织 15
第三章 8088指令系统 18
3.1 概述 18
3.2 8088寻址方式 19
一、立即寻址 19
二、寄存器寻址 19
三、直接寻址 20
四、寄存器间接寻址 20
五、变址寻址 21
六、基址+变址寻址 21
3.3 寻址方式的段约定和段超越 21
一、段约定 21
二、段超越 22
3.4 8088标志寄存器 22
3.5 8088指令系统 23
一、传送类指令 24
二、算术运算指令 28
三、转移和调用指令 35
四、逻辑运算指令 41
五、串操作指令 44
六、处理机控制指令 50
3.6 80286加强指令 51
习题 54
第四章 宏汇编语言 55
4.1 汇编源程序的语句类型 55
4.2 宏汇编的基本语法 56
一、标号和变量 56
二、常数 57
三、数值运算符 58
四、方括号运算符和地址表达式 58
五、修改属性的运算符(PTR) 59
六、返回属性或数值的运算符 59
4.3 宏汇编的常用伪指令 60
一、符号定义伪指令 60
二、字节定义伪指令 61
三、字定义伪指令 61
四、双字定义伪指令 62
4.4 宏汇编基本语句 62
一、段定义语句 62
二、段约定语句 64
三、过程定义语句 65
四、定位语句 65
五、公用符号说明语句 66
六、外部符号说明语句 66
七、汇编结束语句 66
4.5 源程序的编程格式 69
一、EXE文件的汇编格式 69
二、COM文件的汇编格式 70
三、EXE文件和COM文件的内存映像 71
四、程序段前缀 72
五、返回DOS的其它方法 73
4.6 汇编语言程序的上机过程 76
一、源程序的编辑、编译和链接 76
二、MASM和LINK的使用方法 77
三、COM文件的生成 78
四、批处理文件的使用 79
4.7 宏指令的定义与调用 79
一、无参数的宏定义伪指令 79
二、宏调用 80
三、带有哑参数的宏定义伪指令 80
四、带有哑参数的宏指令调用 81
五、LOCAL伪指令 81
六、宏定义嵌套 84
七、宏指令和子程序的区别 85
4.8 条件汇编 85
一、条件汇编的基本格式 85
二、常用的条件汇编语句 85
三、应用举例 85
第五章 汇编语言程序设计 87
5.1 DOS系统I/O功能调用 87
5.2 BIOS键盘输入功能调用 91
5.3 CRT显示器 92
5.4 BIOS屏幕显示功能调用 94
5.5 分支程序 96
一、简单分支 97
二、复合分支 97
三、多分支 99
5.6 循环程序 100
5.7 子程序 101
5.8 代码转换 106
5.9 数值计算 116
5.10 数据处理 120
5.11 延时程序 135
一、最简单的延时程序 135
二、使用DOS系统功能调用设计延时程序 136
三、使用BIOS功能调用设计延时程序 137
5.12 字符串的动画显示 137
5.13 模块化程序设计 140
一、PUBLIC伪指令 141
二、EXTRN伪指令 141
三、模块化程序设计举例 141
四、模块化设计应注意的问题 147
5.14 磁盘文件I/O 148
一、DOS磁盘文件操作功能调用 149
二、磁盘文件操作程序设计 151
习题 156
第六章 总线和时序 157
6.1 8088的引脚功能 157
一、最小/最大模式公用引脚 158
二、8088最小模式系统 159
三、最大模式系统 160
6.2 8088的典型时序 162
一、指令周期、总线周期和T状态 162
二、存储器读周期 162
三、存储器写周期 164
6.3 总线标准 164
一、PC总线 165
二、AT总线 166
三、EISA总线 169
四、局部总线 169
第七章 输入/输出系统 170
7.1 输入/输出接口概述 170
一、CPU与输入/输出设备交换信息的途径 170
二、输入/输出端口 170
三、I/O端口的编址方式 171
四、接口电路应具备的功能 171
五、接口电路分类 172
六、8088的输入/输出指令 172
7.2 CPU与输入/输出交换信息的方式 173
一、无条件传送方式 173
二、查询方式 174
三、中断控制方式 176
四、直接存储器存取(DMA)方式 177
7.3 可编程定时器/计数器8253 177
一、8253的内部结构 177
二、8253引脚功能 179
三、8253控制字与初始化编程 180
四、8253的工作方式 182
7.4 8253在PC/XT中的应用 188
7.5 发声系统与音乐程序设计 190
一、PC系列机发声系统 190
二、音符频率表 192
三、音乐程序设计举例 192
习题 196
第八章 中断系统 197
8.1 中断的基本概念 197
8.2 8088的中断指令 198
8.3 中断向量和中断向量表 199
8.4 系统中断的分类 202
一、CPU中断 202
二、软件中断 203
8.5 8259A中断控制器 205
一、8259A的内部结构 205
二、中断响应周期 207
三、8259A级连应用 207
四、8259A中断管理方式 209
五、8259A命令字 212
六、8259A初始化编程 216
8.6 PC/XT硬件中断 216
一、8088的中断引脚 217
二、PC/XT可屏蔽中断 218
三、CPU的中断响应过程 219
四、硬件中断和软件中断的区别 219
五、PC/XT 8259A初始化 219
六、PC/XT的非屏蔽中断 220
8.7 PC/AT硬件中断 220
一、PC/AT可屏蔽中断 220
二、PC/AT 8259A初始化 222
三、PC/AT系统用户中断 223
8.8 日时钟中断 223
一、日时钟中断处理流程 224
二、日时钟中断的外扩 224
8.9 定时中断程序设计 224
一、中断类型的选择 224
二、中断向量的置换 225
三、定时中断程序设计 225
8.10 实时时钟中断 232
一、实时时钟电路工作原理 233
二、实时时钟中断处理流程 233
三、周期中断 234
四、报警中断 237
8.11 键盘中断 240
一、键盘中断全过程 240
二、PC/XT机键盘接口电路 240
三、键盘中断处理流程 242
四、特殊键状态标志 242
五、键代码 243
六、键盘缓冲区 244
习题 245
第九章 串行通信与接口芯片 246
9.1 串行通信基础 246
一、串行通信方式 246
二、串行异步通信协议 247
三、数据传送方式 248
四、信号的调制和解调 249
五、串行接口标准 249
六、串行通信接口的基本任务 250
9.2 可编程串行异步通信接口芯片8250 251
一、8250内部结构 251
二、8250的引脚特性 252
三、8250的内部寄存器 255
四、8250初始化编程 258
9.3 可编程串行通信接口芯片8251A 259
一、8251A内部结构 259
二、8251A工作原理 260
三、8251A引脚功能 261
四、8251A的命令字和状态字 263
9.4 串行通信程序设计 265
一、BIOS通信程序 265
二、串行通信的外部环境 268
三、串行通信程序设计 268
习题 273
第十章 并行接口芯片8255A 274
10.1 8255A的内部结构 274
10.2 8255A控制字 277
10.3 8255A的工作方式 278
一、方式0 279
二、方式1 280
三、方式2 283
10.4 8255A应用举例 285
习题 295
第十一章 DMA控制器 296
11.1 概述 296
11.2 8237A DMA控制器 297
一、8237A的基本功能 297
二、8237A的内部结构和工作原理 298
三、8237A引脚功能 299
四、8237A的内部寄存器 301
五、8237A的时序 306
11.3 8237A的应用 307
一、8237A的初始化编程 307
二、8237A在IBM PC/XT中的应用 308
三、8237A在IBM PC/AT中的应用 310
11.4 DMA传送实验 312
一、实验目的 312
二、实验电路 312
三、电路分析 312
四、实验内容 313
五、程序清单 314
习题 316
第十二章 数/模、模/数转换 317
12.1 数/模转换 317
一、数/模转换原理 317
二、DAC 0832 318
三、数/模转换电路与程序设计 320
12.2 模/数转换 323
一、模/数转换原理 323
二、ADC 0809 324
三、模/数转换电路 326
第十三章 汇编语言高级编程 327
13.1 驻留程序 327
一、驻留程序的设计方法 327
二、驻留程序设计举例 330
三、DOS内存管理 333
四、驻留程序的解驻 334
13.2 音乐驻留程序 338
13.3 时钟显示驻留程序 343
一、系统时钟的获取方法 343
二、系统时钟的显示方法 343
三、时钟显示驻留程序的激活方式 344
13.4 菜单程序 349
一、菜单程序的设计考虑 349
二、常用的光标控制键 350
三、菜单程序设计举例 350
四、批处理程序的设计 356
13.5 分屏幕显示全双工通信 357
13.6 脉冲收号器性能模拟 365
一、拨号脉冲识别 365
二、脉冲收号扫描周期的确定 366
三、位间隔识别 366
四、位间隔扫描周期的确定 367
五、脉冲收号器性能模拟 367
第十四章 实验 375
14.1 软件实验 375
14.2 TPC—1 十六位微机实验培训系统简介 379
14.3 硬件实验 382
参考文献 388