第1章 计算机运算基础 1
1.1 无符号数 1
1.1.1 二进制与十六进制 1
1.1.2 数制转换 2
1.2 带符号数 5
1.2.1 负数的表示法 5
1.2.2 符号数的运算 6
1.3 运算方法 8
1.4 常用的编码 8
1.4.1 BCD码 9
1.4.2 ASCII码与奇偶校验 9
思考与练习 10
第2章 计算机硬件基础 12
2.1 计算机发展简史 12
2.2 微型计算机系统概述 13
2.2.1 微型计算机系统简介 13
2.2.2 微处理器的基本结构 16
2.2.3 程序执行过程简介 18
2.3 8086 16位微处理器 18
2.3.1 8086/8088概述 19
2.3.2 8086/8088的寄存器 20
2.3.3 存储器物理地址的形成 22
2.4 Pentium系列32位微处理器 25
2.4.1 Pentium概述 25
2.4.2 Pentium的寄存器 27
2.5 主板 31
2.5.1 主板的结构 31
2.5.2 BIOS ROM 33
2.5.3 CMOS RAM 34
思考与练习 35
第3章 汇编语言指令系统 37
3.1 汇编语言伪指令 37
3.2 寻址方式 42
3.2.1 立即数寻址 43
3.2.2 寄存器寻址 43
3.2.3 直接存储器寻址 43
3.2.4 寄存器间接寻址 44
3.2.5 比例变址寻址 47
3.3 传送指令 48
3.3.1 MOV指令 48
3.3.2 地址传送指令 50
3.4 堆栈操作指令 51
3.5 算术运算与BCD调整指令 53
3.5.1 加法指令 53
3.5.2 减法指令 54
3.5.3 乘法指令 54
3.5.4 除法指令 55
3.5.5 BCD调整指令 56
3.6 逻辑与移位和位操作指令 58
3.6.1 逻辑运算指令 59
3.6.2 移位指令 59
3.6.3 位测试指令 62
3.7 串操作指令 63
3.8 分支转移指令 65
3.8.1 CALL指令 65
3.8.2 循环指令 67
3.8.3 无条件转移指令 68
3.8.4 条件转移指令 68
3.9 其他常用指令 69
思考与练习 71
第4章 汇编语言程序设计 75
4.1 系统功能调用 75
4.2 汇编程序典型结构 77
4.3 顺序程序 82
4.4 循环程序 83
4.5 分支程序 89
4.6 子程序与宏调用 94
4.6.1 子程序调用 94
4.6.2 用堆栈传递参数 96
4.6.3 宏调用 98
4.7 数制转换 101
4.8 表格处理 104
4.9 汇编与C/C++接口 105
4.10 汇编语言程序开发的基本方法与步骤 110
4.10.1 汇编语言程序开发集成环境 111
4.10.2 程序开发的基本步骤 112
4.10.3 DEBUG 114
思考与练习 117
第5章 存储器接口 120
5.1 存储器与接口设计 120
5.1.1 概述 120
5.1.2 ROM 122
5.1.3 RAM 123
5.1.4 内存条 123
5.1.5 存储器接口设计 125
5.2 存储器访问 128
5.2.1 信号描述 128
5.2.2 总线周期的状态 130
5.2.3 单次传送周期 130
5.2.4 等待状态 132
5.2.5 四字边界对准 132
5.3 高速缓冲存储器 134
5.3.1 Cache的作用 134
5.3.2 Cache的读/写策略 135
5.3.3 Cache的实施原理简介 137
5.4 双重独立总线结构 139
思考与练习 140
第6章 输入/输出与中断 141
6.1 I/O端口 141
6.1.1 I/O端口寄存器 141
6.1.2 I/O端口操作指令 143
6.2 I/O接口基本原理 144
6.3 中断 147
6.3.1 中断的基本概念 148
6.3.2 中断向量表 150
6.4 软件中断 152
6.4.1 异常中断 152
6.4.2 INT N指令中断 153
6.5 硬件中断 154
6.5.1 硬件中断综述 154
6.5.2 可屏蔽中断INTR与控制器8259A 156
6.5.3 外部中断应用编程 158
思考与练习 161
第7章 常用接口芯片及应用 163
7.1 可编程并行I/O接口芯片8255A 163
7.1.1 概述 163
7.1.2 3种工作方式 165
7.2 键盘与显示器接口设计 170
7.2.1 矩阵键盘的设计 170
7.2.2 七段数码显示器的设计 173
7.3 可编程定时/计数器8254/8253-PIT 175
7.3.1 8254/8253概述 175
7.3.2 扬声器电路与发声程序 181
7.3.3 频率或转速测量 183
7.4 ADC接口设计 183
7.4.1 8位ADC及应用设计 184
7.4.2 12位ADC及应用设计 187
7.5 DAC接口设计 192
7.6 DMA传输 196
7.6.1 DMA传送原理 196
7.6.2 可编程DMAC 8237A-5简介 197
思考与练习 197
第8章 PC标准接口与扩展总线 199
8.1 并行标准接口 199
8.1.1 LPT接口概述 199
8.1.2 SPP模式 201
8.1.3 EPP模式 204
8.1.4 ECP模式 210
8.2 串行通信标准接口 210
8.2.1 RS-232串行通信标准 211
8.2.2 可编程串行接口芯片8250 214
8.2.3 通信编程 217
8.3 ISA扩展总线 220
8.4 PCI扩展总线简介 222
8.4.1 概述 223
8.4.2 总线信号定义 224
8.5 PCI扩展总线协议简介 227
8.5.1 地址空间 227
8.5.2 传输操作 229
8.6 PCI BIOS功能调用 230
8.7 USB概述 233
8.7.1 物理接口 234
8.7.2 系统组成 236
8.8 USB传输协议简介 238
8.8.1 信息包的结构与种类 239
8.8.2 4种传输方式 242
思考与练习 243
第9章 保护模式与增强技术 244
9.1 实模式综述 244
9.2 保护模式下的存储器分段管理 246
9.2.1 控制寄存器 247
9.2.2 特权级 248
9.2.3 虚拟存储器 249
9.2.4 描述符表 250
9.2.5 段选择器与段描述符的结构 250
9.2.6 描述符表的定位 253
9.2.7 存储器寻址过程 253
9.2.8 保护模式下的中断过程 256
9.3 分页管理机制 257
9.3.1 概述 257
9.3.2 4 KB分页 257
9.3.3 线性地址转换全过程 259
9.3.4 4 MB分页 260
9.4 其他增强技术 261
9.4.1 超标量流水线 261
9.4.2 动态执行技术 261
9.4.3 分支预测 262
9.4.4 条件传送指令 263
9.4.5 特殊方式寄存器 263
9.4.6 MMX技术 264
9.4.7 SSE技术 265
9.4.8 多核处理器 266
思考与练习 266
附录A 常用的系统功能调用 268
A.1 DOS功能调用 268
A.2 BIOS功能调用 269
A.3 INT 33H鼠标功能调用 272
附录B IA基本指令集 274
附录C MMX指令集 284
参考文献 287