本书将“计算机原理”与“汇编语言程序设计”的内容进行了有机结合。从普遍性和原理性的角度出发,讲述计算机硬件系统的组成、各部件的结构及工作原理、指令系统和汇编语言程序设计的基本方法。全书内容分10章:第1章绪论;第2章计算机中的信息表示方法;第3章运算方法和运算器;第4章指令系统和寻址方式;第5章控制器部件的组成及其设计;第6章存储器系统;第7章输入/输出设备及输入/输出系统;第8章汇编语言的程序格式;第9章汇编语言程序设计;第10章汇编语言程序的开发与调试。
样章试读
目录
- 目录
前言
第1章 绪论 1
1.1 计算机的定义、特征与发展 1
1.2 计算机系统组成 3
1.2.1 计算机系统组成框图 3
1.2.2 计算机硬件 4
1.2.3 计算机软件 7
1.2.4 软件与硬件的逻辑等价性 9
1.3 计算机系统的层次结构 9
1.48086 寄存器组与存储器 10
1.4.1 8086的寄存器 11
1.4.2 8086存储器寻址 14
1.5 计算机的分类与应用 19
1.5.1 计算机的分类 19
1.5.2 计算机的应用 21
1.6 计算机的性能指标 24
习题 25
第2章 计算机中的信息表示方法 26
2.1 数值数据表示方法 26
2.1.1 数制与进位计数法 26
2.1.2 数制转换 27
2.1.3 二进制的四则运算 31
2.1.4 定点数表示 32
2.1.5 浮点数表示 33
2.1.6 机器码表示方法 35
2.2 非数值数据的信息表示 43
2.2.1 逻辑数据 43
2.2.2 西文字符的表示 45
2.2.3 字符串的表示 45
2.2.4 汉字字符的表示 46
2.2.5 多媒体信息的表示 47
2.2.6 校验码 47
习题 48
第3章 运算方法和运算器 50
3.1 定点加减运算 50
3.1.1 补码加减法运算 50
3.1.2 溢出判断 52
3.2 移位运算 53
3.3 定点乘法运算 54
3.3.1 原码一位乘 54
3.3.2 原码两位乘 57
3.3.3 补码一位乘 59
3.3.4 阵列乘法 62
3.4 定点除法运算 66
3.4.1 原码一位除 66
3.4.2 补码一位除 70
3.4.3 阵列除法 72
3.5 运算器的组成 76
3.5.1 运算器的组成部件 76
3.5.2 半加器与加法器 78
3.5.3 串行进位与并行进位 80
3.5.4 并行加法器进位链 84
3.5.5 定点运算器的三种结构 85
3.6 浮点运算 87
3.6.1 浮点加减法运算 87
3.6.2 浮点乘除法运算 92
3.6.3 浮点运算的流水线 95
3.7 运算器的发展 96
3.7.1 ALU 的发展 96
3.7.2 浮点运算器的发展 97
习题 97
第4章 指令系统和寻址方式 99
4.1 指令系统的基本概念 99
4.1.1 指令系统及计算机语言 99
4.1.2 对指令系统的性能要求 101
4.2 指令格式 101
4.2.1 指令格式及指令字长度 101
4.2.2 操作码 102
4.2.3 地址码 104
4.2.4 指令助记符与机器指令代码 105
4.2.5 指令格式举例 106
4.3 寻址方式 108
4.3.1 指令寻址方式 108
4.3.2 操作数寻址方式 110
4.3.3 8086 寻址方式 114
4.4 指令的分类与操作数的类型 120
4.4.1 指令类型 120
4.4.2 操作数类型举例 121
4.4.3 CISC 与 RISC 指令系统 122
4.58086 指令系统 123
4.5.1 数据传送指令 123
4.5.2 算术运算指令 131
4.5.3 逻辑运算指令 136
4.5.4 字符串处理指令 139
4.5.5 程序控制类指令 143
4.5.6 输入/输出类指令 148
4.5.7 系统控制类指令与其他指令 148
习题 148
第5章 控制器部件的组成及其设计 151
5.1 控制器的功能、组成与指令的执行 151
5.1.1 控制器部件的功能及基本组成 151
5.1.2 指令的执行步骤 153
5.1.3 指令周期的基本概念 154
5.1.4 指令周期举例 154
5.1.5 方框图语言 157
5.2 时序产生器和控制方式 160
5.2.1 时序产生器 160
5.2.2 控制方式 162
5.3 微程序控制器的组成与设计 164
5.3.1 微程序控制器的工作原理和基本组成 164
5.3.2 微程序设计技术 169
5.3.3 微指令的格式 169
5.3.4 微指令操作码与地址码的编译方法 171
5.4 硬连线控制器的组成与设计 173
5.4.1 硬连线控制器的基本原理、基本组成和运行过程 173
5.4.2 硬连线控制器设计步骤 175
5.5 典型CPU举例 176
5.6 指令流水与并行技术 184
5.6.1 指令流水的基本概念 184
5.6.2 RISC的指令系统和流水线 185
5.6.3 并行处理技术 186
习题 187
第6章 存储器系统 189
6.1 存储器概述 189
6.1.1 存储器分类 189
6.1.2 存储器系统的设计目标 191
6.1.3 存储器的分级结构 191
6.2 主存储器 193
6.2.1 主存储器概述 193
6.2.2 动态存储器的存储原理和读写 193
6.2.3 静态存储器的存储原理及其与CPU的连接 196
6.2.4 存储器的设计 203
6.3 外存储器 204
6.3.1 外存储器概述 204
6.3.2 磁盘与磁盘阵列 205
6.3.3 光盘设备与技术 216
6.3.4 优盘设备与技术 218
6.4 高速缓冲存储器 224
6.4.1 cache的工作原理 224
6.4.2 cache与主存的地址映射 225
6.4.3 cache替换算法及其实现 228
6.4.4 cache的一致性问题 230
6.4.5 cache结构举例 231
6.5 虚拟存储器 232
6.5.1 虚拟存储器的概念与功能 232
6.5.2 虚拟存储器的基本管理方法 233
6.5.3 虚拟存储器的替换算法 235
6.5.4 存储保护 236
6.6 并行存储器 239
6.6.1 双端口存储器 239
6.6.2 多模块交叉存储器 241
习题 244
第7章 输入/输出设备及输入/输出系统 246
7.1 输人/输出设备 246
7.1.1 输人/输出设备概述 246
7.1.2 输入/输出设备的分类 247
7.2 输入设备 248
7.2.1 键盘的分类与工作原理 249
7.2.2 鼠标的分类与工作原理 251
7.3 输出设备 253
7.3.1 打印机的分类与工作原理 253
7.3.2 显示器的分类与工作原理 256
7.4 输入/输出系统的概述 261
7.5 计算机总线系统 263
7.5.1 总线的概念和结构 263
7.5.2 总线的连接 265
7.5.3 总线的内部结构 266
7.5.4 总线的仲裁和数据传输控制 267
7.5.5 总线标准 272
7.6 输人/输出接口 273
7.6.1 接口的基本概念与基本功能 273
7.6.2 接口的分类 274
7.6.3 串行口举例 274
7.7 输人/输出数据传输方式 275
7.7.1 程序査询方式 275
7.7.2 程序中断方式 277
7.7.3 DMA 方式 282
7.7.4 通道方式 284
7.7.5 输入/输出处理机 287
习题 288
第8章 汇编语言的程序格式 289
8.1 汇编程序的功能 289
8.2 汇编语言的格式 289
8.2.1 名字项 290
8.2.2 操作码项 291
8.2.3 操作数项 291
8.2.4 注释项 292
8.3 伪指令 292
8.3.1 程序开始和结束伪指令 292
8.3.2 段定义伪指令 293
8.3.3 段对应伪指令 294
8.3.4 过程定义伪指令 296
8.3.5 汇编语言程序的结构 296
8.3.6 数据定义伪指令 299
8.3.7 符号定义伪指令 302
8.3.8 定位伪指令与地址计数器 302
8.3.9 对准伪指令 303
8.3.10 基数控制伪操作 304
8.4 运算符与表达式 304
8.4.1 算术运算符 304
8.4.2 关系运算符 305
8.4.3 逻辑运算符和移位运算符 305
8.4.4 数值回送运算符 306
8.4.5 属性运算符 307
8.4.6 运算符的优先级 307
习题 308
第9章 汇编语言程序设计 311
9.1 分支程序设计 311
9.1.1 单分支结构 311
9.1.2 双分支结构 312
9.1.3 多分支结构 313
9.2 循环程序设计 320
9.2.1 循环程序的结构形式 320
9.2.2 单重循环程序设计 321
9.2.3 多重循环程序设计 325
9.3 宏汇编 328
9.3.1 宏定义 329
9.3.2 宏调用 330
9.3.3 宏展开 330
9.4 子程序 331
9.4.1 子程序与主程序的关系 331
9.4.2 子程序举例 332
习题 336
第10章 汇编语言程序的开发与调试 338
10.1 开发过程 338
10.2 开发环境 339
10.2.1 编辑程序 339
10.2.2 编译 340
10.2.3 连接 342
10.2.4 运行 343
10.3 DEBUG 调试 343
10.3.1 DEBUG的进人与退出 343
10.3.2 DEBUG的主要命令 343
参考文献 350
附录A DOS功能调用 351
附录B 8086汇编指令表 357