第1章 汇编语言基础 1
1.1 计算机内数据的表示 1
1.1.1 进位计数制 1
1.1.2 数据组织 3
1.1.3 无符号数的表示 4
1.1.4 有符号数的表示 4
1.1.5 字符编码 6
1.1.6 BCD码 7
1.2 计算机组织 7
1.2.1 计算机组成 7
1.2.2 中央处理器 8
1.2.3 存储器 8
1.2.4 总线 10
1.2.5 外部设备和接口 11
1.3 指令、程序和程序设计语言 12
1.3.1 指令和程序 13
1.3.2 机器语言和汇编语言 14
1.3.3 高级语言 14
1.4 80x86寄存器 14
1.4.1 数据寄存器 14
1.4.2 地址寄存器 15
1.4.3 段寄存器 15
1.4.4 专用寄存器 16
1.4.5 其他寄存器 17
1.5 80x86 CPU的工作模式 17
1.5.1 实地址模式 17
1.5.2 保护模式 17
1.5.3 虚拟8086模式 19
习题1 19
第2章 数据定义与传送 21
2.1 数据的定义 21
2.1.1 数据段 21
2.1.2 数据定义 22
2.2 数据的传送 24
2.2.1 指令格式 24
2.2.2 程序段 27
2.2.3 基本传送指令 29
2.2.4 其他传送指令 32
2.2.5 堆栈 34
2.2.6 操作数表达式 37
2.3 汇编语言上机操作 39
2.3.1 编辑 39
2.3.2 汇编 40
2.3.3 连接 41
2.3.4 运行和调试 41
习题2 43
第3章 数据运算与输入/输出 45
3.1 算术运算 45
3.1.1 加法指令 45
3.1.2 减法指令 47
3.1.3 乘法和除法指令 48
3.1.4 表达式计算 50
3.2 循环 51
3.2.1 基本循环指令 51
3.2.2 程序的循环 52
3.2.3 数据的累加 53
3.2.4 多项式计算 54
3.3 十进制数运算 56
3.3.1 压缩BCD数运算 56
3.3.2 非压缩BCD数运算 59
3.4 逻辑运算 60
3.5 控制台输入/输出 61
3.5.1 字符的输出 61
3.5.2 字符的输入 65
3.5.3 输入/输出库子程序 68
3.6 移位和处理器控制 71
3.6.1 移位指令 71
3.6.2 循环移位指令 74
3.6.3 标志处理指令 76
3.6.4 处理器控制指令 77
习题3 77
第4章 选择与循环 81
4.1 测试与转移控制指令 81
4.1.1 无条件转移指令 81
4.1.2 比较和测试指令 83
4.1.3 条件转移指令 85
4.2 选择结构程序 87
4.2.1 基本选择结构 87
4.2.2 单分支选择结构 92
4.2.3 复合选择结构 93
4.2.4 多分支选择结构 94
4.3 循环结构程序 97
4.3.1 循环指令 98
4.3.2 计数循环 98
4.3.3 条件循环 102
4.3.4 多重循环 106
4.4 程序的调试 114
4.4.1 程序调试的基本过程 114
4.4.2 语法错误的调试 115
4.4.3 程序测试 115
4.4.4 程序逻辑错误的调试 116
习题4 119
第5章 子程序 122
5.1 子程序结构 122
5.1.1 CALL和RET指令 123
5.1.2 子程序的定义 125
5.1.3 子程序文件 128
5.1.4 子程序应用 129
5.2 参数的传递 131
5.3 嵌套和递归子程序 135
5.3.1 嵌套子程序 135
5.3.2 递归子程序 136
5.4 多模块程序设计 139
5.4.1 段的完整定义 139
5.4.2 简化段定义 142
5.4.3 创建多模块程序 144
5.5 汇编语言与C语言混合编程 147
5.5.1 C语言源程序编译为汇编源程序 147
5.5.2 C语言程序调用汇编子程序 150
5.5.3 汇编语言程序调用C语言函数 151
5.6 DOS和BIOS调用 153
5.6.1 BIOS功能调用 153
5.6.2 DOS功能调用 156
习题5 156
第6章 字符串与文件处理 160
6.1 串操作指令 160
6.1.1 与无条件重复前缀配合使用的指令 160
6.1.2 与有条件重复前缀配合使用的指令 163
6.2 文件的建立和打开 166
6.2.1 文件 166
6.2.2 文件的建立、打开和关闭 168
6.3 文件读/写 170
6.3.1 文件写 170
6.3.2 文件读 172
6.3.3 文件指针 174
6.4 设备文件 180
习题6 181
第7章 显示程序设计 182
7.1 宏指令 182
7.1.1 宏指令的定义 182
7.1.2 宏指令的使用 183
7.2 字符方式显示程序设计 187
7.2.1 文本显示模式和字符属性 187
7.2.2 直接写屏输出 188
7.2.3 BIOS显示功能调用 190
7.3 图形显示程序设计 194
7.3.1 图形显示模式 194
7.3.2 用BIOS功能调用设计图形显示程序 194
7.3.3 图形方式下的显存组织 197
7.3.4 动画程序设计 197
习题7 205
第8章 输入/输出与中断 207
8.1 外部设备与输入/输出 207
8.1.1 外部设备和接口 207
8.1.2 输入/输出指令 208
8.1.3 程序控制输入/输出 210
8.2 中断 213
8.2.1 中断的概念 214
8.2.2 中断服务程序 216
8.2.3 定时中断 218
8.2.4 驻留程序 220
8.3 .COM文件 224
8.3.1 .COM文件和.EXE文件 224
8.3.2 .COM文件概述 225
习题8 226
附录A 标准ASCII码字符表 228
附录B 键盘扫描码表 229
附录C 汇编语言课程设计文本阅读器 230
附录D 80x86指令系统 243
附录E 伪指令和操作符 253
附录F DOS功能调用 254
附录G BIOS功能调用 259
参考文献 263