第1章 基础知识 1
1.1 什么是汇编语言 1
1.1.1 机器语言与汇编语言 1
1.1.2 汇编语言的特点及应用场合 2
1.1.3 汇编语言与高级语言的比较 3
1.2 硬件基础 4
1.2.1 计算机硬件的基本组成 4
1.2.2 地址、数据和控制总线 5
1.2.3 CPU对内存的访问 5
1.2.4 内存地址空间 6
1.3 计算机执行程序的过程 7
1.4 数制与转换 9
1.4.1 数制 10
1.4.2 数制的转换 11
1.5 计算机中数和字符的表示 13
1.5.1 计算机中数的表示 13
1.5.2 计算机中字符的表示 16
1.6 习题 17
第2章 8086 CPU的编程结构 20
2.1 8086 CPU的内部结构 21
2.2 8086 CPU的内部寄存器 22
2.2.1 通用寄存器 22
2.2.2 段寄存器 23
2.2.3 控制寄存器 23
2.3 8086 CPU的存储器管理 24
2.3.1 存储器的分段管理 25
2.3.2 CPU对存储器的寻址 26
2.4 外部设备(端口) 28
2.5 8086 PC的工作过程 29
2.6 80x86 CPU的工作模式 34
2.6.1 实模式 34
2.6.2 保护模式 35
2.6.3 虚拟8086模式 36
2.7 习题 36
2.8 上机实验 38
第3章 第一个程序 44
3.1 汇编语言程序格式 44
3.2 汇编语言程序上机过程与程序的跟踪调试 46
3.2.1 输入源程序 47
3.2.2 汇编 48
3.2.3 连接 50
3.2.4 运行调试 51
3.3 常用伪指令 53
3.3.1 段定义伪指令 54
3.3.2 数据定义伪指令 57
3.3.3 表达式与赋值伪指令 59
3.3.4 其他常用的伪指令 63
3.4 常用的DOS系统功能调用 64
3.5 习题 66
3.6 上机实验 70
第4章 寻址方式与指令系统 71
4.1 寻址方式 71
4.1.1 立即寻址方式 72
4.1.2 寄存器寻址方式 73
4.1.3 存储器寻址方式 74
4.1.4 L/O寻址方式 81
4.2 8086/8088指令系统 82
4.2.1 数据传送指令 82
4.2.2 算术运算指令 92
4.2.3 逻辑运算与移位指令 105
4.2.4 串处理指令 112
4.2.5 CPU控制指令 119
4.3 习题 120
4.4 上机实验 127
第5章 转移指令与分支、循环程序设计 129
5.1 转移指令的寻址方式 129
5.1.1 段内寻址 129
5.1.2 段间寻址 132
5.2 控制转移指令 134
5.2.1 无条件转移指令 134
5.2.2 条件转移指令 136
5.2.3 循环指令 138
5.3 分支程序设计方法 141
5.3.1 单分支结构程序设计 141
5.3.2 二分支结构程序设计 142
5.3.3 多分支结构程序设计 143
5.3.4 用跳转表实现多路分支的程序设计 145
5.3.5 分支程序应用举例 147
5.4 循环程序设计方法 154
5.4.1 单重循环结构程序设计 155
5.4.2 多重循环结构程序设计 160
5.4.3 循环程序应用举例 163
5.5 习题 167
5.6 上机实验 177
第6章 子程序设计 179
6.1 子程序的设计方法 179
6.1.1 子程序的定义 179
6.1.2 子程序的调用和返回指令 181
6.1.3 保存与恢复寄存器 185
6.1.4 子程序的参数传递 186
6.1.5 增强功能的子程序定义 191
6.2 子程序设计举例 192
6.3 模块化程序设计 196
6.3.1 伪指令PUBLIC和EXTRN 196
6.3.2 模块间的调用 197
6.3.3 模块间的参数传递 198
6.3.4 子程序库 201
6.3.5 C/C++和汇编语言的混合编程 202
6.4 宏 206
6.4.1 宏定义 206
6.4.2 宏调用 207
6.4.3 宏展开 207
6.4.4 宏与子程序 207
6.4.5 宏定义中的参数 208
6.4.6 局部标号伪指令LOCAL 210
6.4.7 取消宏定义伪指令PURGE 211
6.4.8 宏嵌套 211
6.4.9 宏库的建立和调用 211
6.5 习题 212
6.6 上机实验 218
第7章 I/O与中断 219
7.1 I/O 219
7.1.1 I/O端口地址 219
7.1.2 I/O指令 220
7.1.3 I/O控制方式 221
7.2 中断 223
7.2.1 中断指令 224
7.2.2 8086 CPU的中断分类 225
7.2.3 中断向量表 227
7.2.4 中断过程 230
7.2.5 中断处理程序 230
7.2.6 中断程序设计举例 231
7.3 DOS与BIOS的中断调用 238
7.3.1 键盘I/O 239
7.3.2 显示I/O 244
7.3.3 时间和日期中断 250
7.3.4 时钟中断 253
7.4 习题 255
7.5 上机实验 259
第8章 磁盘文件操作 260
8.1 磁盘文件概述 260
8.1.1 路径名和ASCIZ串 261
8.1.2 文件代号式磁盘文件存取 264
8.2 文件操作程序设计 266
8.2.1 利用文件代号存取文件的流程 266
8.2.2 建立新文件 267
8.2.3 打开文件 269
8.2.4 移动文件指针 271
8.3 磁盘记录结构简介 275
8.3.1 磁盘的记录方式 275
8.3.2 主引导记录MBR 277
8.3.3 分区引导记录 279
8.3.4 文件分配表FAT 280
8.4 直接磁盘服务 282
8.4.1 基本磁盘服务INT 13H 282
8.4.2 扩展磁盘服务INT 13H 288
8.5 习题 291
8.6 上机实验 292
附录1 ASCII码表 293
附录2 8086指令系统表 294
附录3 汇编出错提示信息 307
参考文献 312