第1章 汇编语言程序设计基础 1
1.1 机器语言与汇编语言 1
1.1.1 指令与程序 1
1.1.2 机器语言 1
1.1.3 汇编语言 1
1.2 数据表示方法 2
1.2.1 数制及其转换 2
1.2.2 数值数据编码 4
1.2.4 内存中的数据 7
1.2.3 字符数据编码 7
1.3 微型计算机结构 8
1.3.1 8086微处理器 8
1.3.2 寄存器结构 9
1.3.3 内存组织 11
1.3.4 堆栈技术 13
1.4 汇编语言程序设计 14
1.4.1 开发环境 14
1.4.2 一般过程 15
1.4.3 基本方法 15
1.5 本书使用符号约定 16
习题 17
第2章 寻址方式与指令系统 18
2.1 指令格式 18
2.1.1 机器语言指令格式 18
2.1.2 汇编语言指令格式 19
2.2 寻址方式 20
2.2.1 数据寻址方式 20
2.2.2 转移地址寻址方式 23
2.2.3 寻址方式的选择 24
2.3 指令系统 24
2.3.1 通用数据传送指令 25
2.3.2 地址传送指令 26
2.3.3 标志传送指令 27
2.3.4 输入输出指令 27
2.3.5 处理器控制指令 28
2.4 指令与寻址方式举例 28
习题 30
第3章 汇编语言程序及实现 32
3.1 汇编语言程序结构 32
3.2 汇编语言语句 36
3.2.1 语法基础 36
3.2.3 指令语句 37
3.2.2 语句格式 37
3.2.4 伪指令语句 38
3.3 表达式 38
3.3.1 量 39
3.3.2 数值表达式 40
3.3.3 地址表达式 40
3.4 伪指令 42
3.4.1 数据定义伪指令 42
3.4.2 符号定义伪指令 43
3.4.3 段定义伪指令 44
3.4.4 模块定义等伪指令 47
3.4.5 宏指令 49
3.5 上机操作 50
3.5.1 上机操作必备程序 50
3.5.2 上机操作过程 50
3.6 DEBUG使用方法 54
3.6.1 DEBUG的运行 54
3.6.2 DEBUG的主要命令 54
习题 58
4.1 算术运算指令 61
4.1.1 加法类指令 61
第4章 简单程序设计 61
4.1.2 减法类指令 62
4.1.3 乘法类指令 63
4.1.4 除法类指令 64
4.1.5 调整指令 65
4.2 位运算指令 67
4.2.1 逻辑运算指令 67
4.2.2 移位操作指令 68
4.3.1 系统功能调用方式 70
4.3.2 输入/输出系统功能调用 70
4.3 输入/输出系统功能调用 70
4.4 简单程序设计举例 74
习题 80
第5章 分支程序设计 82
5.1 分支程序结构 82
5.2 无条件转移指令 83
5.3 条件转移指令 84
5.3.1 简单条件转移指令 84
5.3.2 无符号数条件转移指令 85
5.3.3 符号数条件转移指令 85
5.4 分支程序设计方法 86
5.4.1 两路分支程序设计方法 86
5.3.4 CX条件转移指令 86
5.4.2 多路分支程序设计方法 87
5.5 分支程序设计举例 93
习题 102
第6章 循环程序设计 104
6.1 循环程序基本结构 104
6.2 循环控制指令 105
6.2.1 LOOP指令 105
6.2.2 LOOPZ/LOOPE指令 106
6.2.3 LOOPNZ/LOOPNE指令 107
6.3 串操作与重复前缀指令 108
6.3.1 串操作指令 108
6.3.2 重复前缀指令 109
6.4 循环程序控制方法 111
6.4.1 计数控制法 111
6.4.2 条件控制法 114
6.5 多重循环程序设计 115
6.6 循环程序设计举例 116
习题 128
7.1 调用与返回指令 131
7.1.1 子程序调用指令CALL 131
第7章 子程序设计 131
7.1.2 返回指令RET 133
7.2 子程序的结构 134
7.3 参数传递方法 136
7.3.1 约定寄存器法 136
7.3.2 约定存储器法 138
7.3.3 堆栈法 141
7.4 嵌套和递归调用 143
7.4.1 子程序的嵌套调用 143
7.4.2 递归子程序 145
7.5.1 子程序的功能设计 147
7.5 子程序设计方法 147
7.5.2 子程序的参数设计 148
7.5.3 现场的保护与恢复 148
7.6 子程序设计举例 149
习题 157
第8章 中断和系统功能调用 159
8.1 中断有关概念 159
8.1.1 中断源及其优先级 159
8.1.2 中断响应过程和中断向量表 160
8.1.3 PC/XT的系统中断 161
8.2.1 中断服务程序 162
8.2 中断程序设计 162
8.2.2 设置和获取中断向量 163
8.2.3 INT指令和IRET指令 164
8.3 常用系统中断 164
8.3.1 常用BIOS中断 165
8.3.2 常用DOS中断 171
8.4 磁盘文件管理 174
8.4.1 FCB方式 174
8.4.2 文件代码方式 179
8.5 程序设计举例 181
习题 189
第9章 汇编语言程序设计技术 191
9.1 高级汇编技术 191
9.1.1 宏汇编 191
9.1.2 重复汇编 196
9.1.3 条件汇编 197
9.2 混合编程技术 199
9.2.1 调用协议 199
9.2.2 编程接口 200
9.3 模块化技术 207
9.3.1 模块之间的通信接口 207
9.3.2 装入模块和装入过程 211
习题 214
第10章 汇编语言程序设计应用 216
10.1 图形处理程序 216
10.1.1 动画显示 216
10.1.2 彩色屏幕绘图 217
10.2 声音处理程序 218
10.2.1 8253编程方法 218
10.2.2 扬声器驱动方法 220
10.2.3 音调控制方法 220
10.3 设备驱动程序 222
10.3.1 设备驱动程序概述 223
10.3.2 设备驱动程序命令 225
10.3.3 设备驱动程序设计 229
10.4 通信处理程序 234
10.4.1 UART的端口 234
10.4.2 UART系统功能调用 238
10.4.3 通信程序设计 238
习题 241
附录A 8086汇编指令一览 242
附录B 汇编出错提示信息 249
参考文献 254