目录 1
1 计算机基础知识 1
1.1 计算机的发展 1
1.1.1 计算机发展概况 1
1.1.2 微处理器和微型计算机的发展概况 1
1.2 计算机中的进位计数制 2
1.2.1 进位计数制的通用表达式 2
1.2.2 二进制 2
1.2.3 数制的转换 3
1.3 带符号数的表示方法 4
1.3.1 原码 4
1.3.2 补码 4
1.3.3 反码 5
1.4 定点数和浮点数 6
1.4.1 定点数 6
1.4.2 浮点数 6
1.5 二进制信息编码 7
1.5.2 字符编码(ASCII码) 8
1.5.1 十进制数的二进制编码(BCD码) 8
1.5.3 汉字编码 9
1.6 算术运算和逻辑运算 9
1.6.1 定点加减法运算 9
1.6.2 定点加减法的溢出问题 10
1.6.3 定点乘除运算 11
1.6.4 基本逻辑运算 12
1.7 微型计算机系统的基本组成 13
1.7.1 微型计算机硬件系统的基本组成 13
1.7.2 微型计算机软件系统的基本组成 14
2 微处理器 16
2.1 8086内部结构 16
2.1.1 总线接口部件(BIU) 16
2.1.2 执行部件(EU) 18
2.1.3 物理地址和逻辑地址 19
2.1.4 总线周期概念 22
2.2.1 两种工作模式 24
2.2 8086外部引脚及控制信号 24
2.2.2 两种模式的共用引脚及信号 25
2.2.3 最小模式下的信号 27
2.2.4 最大模式下的信号 29
2.3 8086最小模式和最大模式下的基本系统 31
2.3.1 最小模式下的基本系统 32
2.3.2 最大模式下的基本系统 33
2.4 8086总线操作与时序 36
2.4.1 CPU操作与时序 36
2.4.2 读/写操作 37
2.4.3 中断操作 41
2.4.4 非总线操作 51
2.5 8086指令寻址方式 55
2.5.1 操作数寻址方式 56
2.5.2 程序转移寻址方式 57
2.5.3 寻址方式与指令格式 57
2.6.1 传送类指令 65
2.6 8086指令系统 65
2.6.2 算术运算类指令 73
2.6.3 逻辑运算类指令 89
2.6.4 串操作类指令 94
2.6.5 程序控制类指令 98
2.6.6 处理器控制类指令 111
2.7 80386 115
2.7.1 流水线体系结构与虚拟存储器技术 115
2.7.2 工作模式 118
2.7.3 寄存器组成 120
2.8 80486 124
2.8.1 内部结构 124
2.8.2 高速缓存(Cache) 125
2.8.3 主要特点 125
2.9 Pentium(P5)及Pentium MMX(P55C) 126
2.9.1 Pentium(P5) 126
2.9.2 Pentium MMX(P55C) 128
2.10.1 Pentium Pro(P6) 129
2.10 Pentium Pro(P6)与Pentium Ⅱ/Ⅲ/4 129
2.10.2 Pentium Ⅱ 130
2.10.3 Pentium Ⅲ 131
2.10.4 Pentium 4 132
2.11 Pentium系列PC机主板的构成 133
2.11.1 主板构成 133
2.11.2 芯片组 134
3.1.3 汇编与汇编程序 139
3.1.2 源程序与目标程序 139
3.1.1 汇编语言 139
3.1 汇编语言的基本概念 139
3 汇编语言程序设计 139
3.1.4 汇编语言的特点 140
3.2 汇编语言的语法规则 140
3.2.1 语法规则 140
3.2.2 语句 141
3.3.3 操作数域 142
3.3.2 操作域 142
3.3.1 标号域 142
3.3 指令性语句 142
3.3.4 注释域 146
3.4 指示性语句(伪指令语句) 147
3.4.1 赋值伪指令 147
3.4.2 定义存储单元伪指令 147
3.4.3 定义存储单元类型伪指令 148
3.4.4 段定义伪指令 148
3.4.5 过程定义伪指令 149
3.4.6 模块定义和源程序结束伪指令 150
3.5 汇编 150
3.5.1 汇编方法 150
3.5.2 汇编语言程序的建立和执行 151
3.6 汇编语言程序设计方法与步骤 153
3.6.1 任务说明 153
3.6.2 程序方案设计 155
3.6.3 编写程序 158
3.6.4 上机调试 160
3.6.5 编制文件与软件维护 160
3.7 汇编语言程序设计的基本结构 161
3.7.1 顺序结构程序设计 161
3.7.2 分支结构程序设计 162
3.7.3 循环结构程序设计 166
3.7.4 子程序结构程序设计 170
3.8 软件中断和系统功能调用 174
3.8.1 软件中断 175
3.8.2 系统功能调用 177
3.8.3 汇编语言程序与高级语言程序的连接 181
4 存储器 183
4.1 存储器分类及主要性能指标 183
4.1.1 存储器分类 183
4.1.2 存储器主要性能指标 184
4.2.1 随机存取存储器RAM 186
4.2 内存储器 186
4.2.2 只读存储器ROM 190
4.3 内存储器的扩展与连接 195
4.3.1 内存储器的扩展 195
4.3.2 内存储器的连接 196
4.4 外存储器 200
4.4.1 软盘存储器 201
4.4.2 硬盘存储器 202
4.4.3 光盘存储器 203
5 输入/输出(I/O)及接口 205
5.1 输入/输出(I/O)接口 205
5.1.1 输入/输出(I/O)的概念 205
5.1.2 输入/输出(I/O)接口的作用 205
5.1.3 输入/输出(I/O)传送的信息 206
5.1.4 输入/输出(I/O)接口的编址 206
5.2 输入/输出(I/O)接口的功能与分类 207
5.2.1 输入/输出(I/O)接口的功能 207
5.2.2 输入/输出(I/O)接口的分类 208
5.3.1 程序控制方式(软件控制方式) 210
5.3 输入/输出(I/O)的数据传送方式 210
5.3.2 DMA控制方式(硬件控制方式) 211
5.4 并行通信与可编程并行接口8255的功能 213
5.4.1 并行通信与并行接口的概念 213
5.4.2 8255的内部结构 215
5.4.3 8255的外部引脚 216
5.4.4 8255的工作方式 217
5.5 可编程并行接口8255的编程和应用 223
5.5.1 8255的控制字与初始化编程 223
5.5.2 8255的应用 225
5.6 串行通信与串行接口的功能 227
5.6.1 串行通信与串行接口的概念 227
5.6.2 串行通信的主要问题 229
5.6.3 串行通信接口标准 237
5.7 可编程串行接口8251的功能及应用 248
5.7.1 8251的内部结构与外部引脚 248
5.7.2 8251的编程及应用 252
5.8 输入/输出的计数/定时控制 258
5.8.1 计数/定时控制的需要和基本原理 258
5.8.2 8253的内部结构与外部引脚 260
5.8.3 8253的工作方式 263
5.8.4 8253的编程及应用 270
5.9 输入/输出的中断及优先级控制 274
5.9.1 中断及优先级控制的需要 274
5.9.2 8259的内部结构与外部引脚 276
5.9.3 8259的工作方式 279
5.9.4 8259的编程及应用 282
5.10 简易键盘/LED显示器接口 295
5.10.1 外围设备及其实际接口概述 295
5.10.2 简易键盘接口 298
5.10.3 发光二极管(LED)显示器接口 305
5.11 常用外部设备接口 312
5.11.1 ASCII键盘接口 313
5.11.2 鼠标器接口 315
5.11.3 CRT显示器接口 317
5.11.4 打印机接口 327
5.12 外围通道接口 340
5.12.1 外围通道的概念 340
5.12.2 数/模(D/A)转换器接口 343
5.12.3 模/数(A/D)转换器接口 354
6 微机系统组成及应用 372
6.1 总线 372
6.1.1 总线结构 372
6.1.2 总线类型 379
6.1.3 ISA总线 384
6.1.4 PCI总线 389
6.2 微型计算机系统组成 396
6.2.1 微机系统分类 396
6.2.2 微型计算机系统的一般组成 398
6.2.3 典型PC机系统的组成 401
6.3.1 驻留软件 413
6.3 驻留软件及操作系统 413
6.3.2 操作系统 421
6.4 微机应用系统组成 441
6.4.1 微机应用系统的主要研究内容 441
6.4.2 微机应用系统的一般组成 445
6.4.3 微机应用系统的应用形式(系统模式) 457
6.4.4 微机应用系统的硬件抗干扰技术 468
6.5.1 微机应用系统及其算法 479
6.5 微机应用系统的算法与应用软件 479
6.5.2 微机应用系统的应用软件 498
6.5.3 微机应用系统的软件抗干扰技术 505
6.6 微机应用系统设计与开发 509
6.6.1 设计原则 509
6.6.2 设计步骤 511
6.6.3 设计与实施的主要方法和问题 515
7 软件概念及数据结构 524
7.1 软件及其发展 524
7.2.1 算法及其特性 527
7.2.2 算法描述 527
7.2 算法及其描述 527
7.2.3 算法分析 528
7.3 操作系统的概念 529
7.4 数据、数据元素和数据结构 532
7.4.1 数据和数据元素 532
7.4.2 数据结构 532
7.5 线性表 534
7.5.1 线性表的逻辑结构 534
7.5.2 线性表的顺序存储结构 534
7.5.3 线性表的运算 535
7.6 栈 538
7.6.1 栈的定义 538
7.6.2 栈的顺序存储结构 538
7.6.3 栈的运算 539
7.6.4 栈的应用 539
7.7.2 环形队列 543
7.7.1 队列 543
7.7 队列 543
7.7.3 队列的应用 545
7.8 数组的概念及其存储结构 546
7.8.1 数组的定义 546
7.8.2 数组的存储结构 547
7.8.3 稀疏矩阵 548
7.9 线性链表 552
7.9.1 线性链表结构 552
7.9.2 线性链表的运算 553
7.10 链栈、链队列和双向链表 555
7.10.1 链栈 555
7.10.2 链队列 555
7.10.3 双向链表 556
7.11 查找(线性、对半) 557
7.11.1 线性查找 557
7.11.2 对半查找 558
7.12 排序(选择、插入、冒泡、快速) 560
7.12.2 插入排序 561
7.12.1 选择排序 561
7.12.3 冒泡排序 563
7.12.4 快速排序 563
附录 算法的VC++语句描述形式 567
8 软件工程 580
8.1 软件工程和软件管理 580
8.1.1 软件工程 580
8.1.2 软件生存周期模型 580
8.1.3 软件管理 581
8.2 软件开发的几种方法 583
8.2.1 结构化方法 583
8.2.2 快速原型法 583
8.2.3 面向对象法 584
8.3 结构化分析 585
8.3.1 结构化分析的基本概念 585
8.3.2 数据流图 585
8.3.3 数据字典 587
8.3.4 处理逻辑的表达方法 588
8.4 结构化设计 589
8.4.1 结构化设计和系统设计说明书 589
8.4.2 模块设计原则 591
8.4.3 模块设计策略 593
8.5 面向对象分析与设计 596
8.5.1 面向对象分析 596
8.5.2 面向对象设计 599
8.6.2 测试步骤 603
8.6.1 测试目的 603
8.6 软件测试 603
8.6.3 测试方法 604
8.7 软件维护 607
8.7.1 维护和维护内容 607
8.7.2 维护过程 608
8.7.3 可维护性 608
8.8 软件文档……………………………………………………………………(61o) 610
8.8.1 用户文档 610
8.8.2 系统文档 610