第1章 汇编语言基础知识 1
1.1 计算机基础知识 1
1.1.1 计算机的发展史 1
1.1.2 计算机的特性 3
1.1.3 计算机的分类与应用 4
1.1.4 计算机的主要技术指标 5
1.2 计算机的基本结构与组成 7
1.2.1 计算机的硬件 8
1.2.2 计算机的软件 11
1.2.3 计算机的程序设计语言 12
1.2.4 计算机系统的层次结构 13
1.3 计算机中的数制与码制 15
1.3.1 数制及数制转换 15
1.3.2 机器数的编码 17
1.3.3 定点数与浮点数 19
1.3.4 码制 21
思考与练习 26
第2章 微型计算机体系结构 27
2.1 80x86微处理器 27
2.1.1 8086/8088的功能结构 27
2.1.2 8086/8088的寄存器组织 29
2.1.3 8086/8088的存储器组织 32
2.1.4 80x86微处理器的发展 35
2.2 IA-32 CPU 36
2.2.1 IA-32 CPU功能结构 36
2.2.2 IA-32 CPU寄存器组 38
2.2.3 IA-32 CPU存储器管理 42
2.3 先进的微处理器 44
2.3.1 高档Pentium微处理器 44
2.3.2 迅驰技术 46
2.3.3 多核技术 47
2.3.4 专用微处理器 50
2.3.5 微处理器领域的架构革命 51
思考与练习 53
第3章 微型计算机的指令系统 54
3.1 寻址方式 54
3.1.1 操作数的种类 54
3.1.2 8086/8088的机器代码格式 55
3.1.3 与数据有关的寻址方式 56
3.1.4 与转移地址有关的寻址方式 60
3.2 8086/8088指令系统 61
3.2.1 数据传送类指令 62
3.2.2 算术运算类指令 69
3.2.3 逻辑操作类指令 79
3.2.4 程序控制类指令 84
3.2.5 串操作类指令 89
3.2.6 处理器控制类指令 94
3.2.7 输入/输出类指令 96
3.3 80x86指令系统介绍 97
3.3.1 80x86寻址方式 97
3.3.2 80286指令系统新增指令 98
3.3.3 80386指令系统新增指令 101
3.3.4 80486指令系统新增指令 104
3.3.5 Pentium指令系统新增指令 106
思考与练习 108
第4章 伪指令与汇编语言程序结构设计 111
4.1 汇编语言语句类型和格式 111
4.2 伪指令 116
4.2.1 表达式赋值伪指令 116
4.2.2 数据定义伪指令 117
4.2.3 LABEL伪指令 119
4.2.4 段定义伪指令 120
4.2.5 简化段定义伪指令 124
4.2.6 过程定义伪指令 125
4.2.7 模块命名、通信等伪指令 126
4.3 汇编语言源程序结构 128
4.3.1 完整段定义结构 128
4.3.2 简化段定义结构 129
4.3.3 程序段前缀结构 130
4.3.4 可执行程序结构 131
思考与练习 133
第5章 汇编语言程序设计 136
5.1 汇编语言程序设计概述 136
5.2 顺序程序设计 138
5.3 分支程序设计 140
5.3.1 双分支结构程序设计 141
5.3.2 多分支结构程序设计 145
5.4 循环程序设计 149
5.4.1 简单循环程序设计 150
5.4.2 多重循环程序设计 154
思考与练习 158
第6章 子程序设计 160
6.1 子程序的定义与调用 160
6.1.1 子程序的定义 160
6.1.2 子程序的调用 161
6.2 子程序的参数传递方法 164
6.2.1 通过寄存器传递参数 164
6.2.2 通过堆栈传递参数 167
6.2.3 通过内存单元传递参数 170
6.3 子程序的嵌套与递归 171
6.3.1 子程序的嵌套调用 171
6.3.2 子程序的递归调用 174
思考与练习 175
第7章 输入/输出程序设计 178
7.1 微机接口技术概述 178
7.2 输入/输出的控制方式 182
7.2.1 程序查询传送方式 182
7.2.2 中断传送方式 185
7.2.3 DMA传送方式 192
7.3 输入/输出综合应用程序举例 194
思考与练习 202
第8章 高级汇编技术 204
8.1 宏汇编 204
8.1.1 宏定义与宏调用 204
8.1.2 宏汇编实例分析 211
8.1.3 宏嵌套 214
8.2 重复汇编与条件汇编 215
8.2.1 重复汇编 216
8.2.2 条件汇编 218
8.3 复杂数据结构 221
8.3.1 结构 222
8.3.2 记录 224
8.4 模块化程序设计 226
8.4.1 宏库的使用 226
8.4.2 源程序的包含文件 227
8.4.3 目标代码文件的连接 231
思考与练习 232
第9章 DOS/BIOS功能调用 234
9.1 概述 234
9.2 DOS功能调用 235
9.2.1 DOS功能调用概述 235
9.2.2 DOS功能调用程序实例 240
9.3 BIOS功能调用 244
9.3.1 BIOS功能调用概述 244
9.3.2 BIOS功能调用程序实例 247
9.3.3 显示器BIOS中断服务 249
9.4 综合应用程序设计举例 257
思考与练习 268
第10章 汇编语言上机环境及程序设计实例 270
10.1 汇编语言程序设计上机实验相关知识 270
10.1.1 汇编程序 270
10.1.2 DEBUG命令的使用 274
10.1.3 汇编错误信息 277
10.2 微型计算机操作系统介绍 281
10.2.1 微型机操作系统MS-DOS 281
10.2.2 微型机操作系统Windows 285
10.3 程序设计实例分析及实验任务 287
10.3.1 顺序程序设计 287
10.3.2 分支程序设计 288
10.3.3 循环程序设计 289
10.3.4 子程序设计 291
10.3.5 系统功能调用 293
10.4 调试程序CodeView的使用 295
10.5 汇编语言与C/C++的混合编程 298
10.6 软件逆向工程与反汇编 303
思考与练习 304
附录A DOS功能调用(INT 21H) 305
附录B BIOS功能调用 310
附录C 80x86指令系统一览表 314
参考文献 324