前言 1
第1章 基础知识 1
1.1 汇编语言及特点 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 2
1.1.4 汇编语言的特点 2
1.2.1 数值数据 3
1.2 数据表示 3
1.2.2 字符数据 5
1.3 8086CPU和寄存器组 6
1.3.1 Intel 8086CPU内部结构 6
1.3.2 8086寄存器组 7
1.3.3 标志寄存器 8
1.4 存储器物理地址的形成 10
1.4.1 存储器 10
1.4.3 物理地址的形成 11
1.4.2 存储器单元的地址和内容 11
习题1 13
第2章 寻址方式和指令系统 15
2.1 寻址方式 15
2.1.1 寄存器寻址 16
2.1.2 寄存器间接寻址 16
2.1.3 变址寻址 18
2.1.4 基址加变址寻址 19
2.1.5 立即寻址 20
2.1.6 直接寻址 21
2.1.7 跨段问题 22
2.2 数据传送类指令 22
2.2.1 通用数据传送指令 22
2.2.2 堆栈操作指令 24
2.2.3 标志寄存器传送指令 26
2.2.4 地址传送指令 26
2.2.5 输入输出指令 28
2.3 算术运算类指令 29
2.3.1 加法指令 29
2.3.2 减运算指令 29
2.3.3 乘运算指令 31
2.3.4 除运算指令 32
2.3.5 符号扩展指令 33
2.3.6 十进制调整指令 34
2.4 位操作类指令 37
2.4.1 逻辑运算指令 37
2.4.2 移位指令 38
2.5 串操作类指令 41
2.6 控制转移类指令 46
2.6.1 条件转移指令 46
2.6.2 无条件转移指令 48
2.6.3 循环指令 49
2.6.4 子程序调用指令 50
2.6.5 中断指令 51
2.7 处理机控制类指令 52
2.7.1 标志位设置指令 52
2.7.2 CPU状态控制指令 52
习题2 53
第3章 宏汇编语言 59
3.1 宏汇编语言格式 59
3.1.1 指令语句格式 59
3.2 汇编语句表达式 60
3.1.2 伪指令语句格式 60
3.2.1 常量 61
3.2.2 变量 61
3.2.3 标号 64
3.2.4 表达式与运算符 65
3.2.5 运算符的优先级 70
3.3 伪指令 71
3.3.1 数据定义伪指令 72
3.3.2 符号定义伪指令 72
3.3.3 段定义伪指令SEGMENT/ENDS 74
3.3.4 假定伪指令ASSUME 77
3.3.5 置汇编地址计数器伪指令ORG 79
3.3.6 源程序结束伪指令 79
3.4 DOS系统功能调用 79
3.4.1 概述 79
3.4.2 常用的DOS系统功能调用 80
3.5 综合举例 82
习题3 86
4.1.1 汇编语言程序设计的一般步骤 90
4.1.2 流程图 90
第4章 程序设计方法 90
4.1 概述 90
4.2 顺序程序设计 91
4.3 分支程序设计 94
4.3.1 用条件转移指令实现程序分支 94
4.3.2 用跳转表实现多路分支 97
4.4.1 循环程序的结构 99
4.4 循环程序设计 99
4.4.2 单重循环程序设计 100
4.4.3 多重循环程序设计 105
4.5 子程序设计 109
4.5.1 子程序的概念 109
4.5.2 子程序的定义 109
4.5.3 子程序设计方法 110
4.5.4 子程序应用举例 111
4.5.5 子程序的嵌套与递归调用 116
4.6 模块化程序设计 118
4.7 高级汇编语言技术 121
4.7.1 宏指令 121
4.7.2 宏指令的使用过程 121
4.7.3 宏操作符 123
4.7.4 局部符号伪指令LOCAL 124
4.7.5 宏库的使用 125
4.7.6 重复汇编 127
4.7.7 条件汇编 129
习题4 132
第5章 输入输出和中断 136
5.1 I/O设备数据传送方式 136
5.1.1 端口寻址方式 136
5.1.2 CPU与外设的传送方式 137
5.2 中断传送方式 144
5.2.1 概述 144
5.2.2 8086/8088的中断系统 146
5.3 BIOS中断调用方式 158
5.3.1 概述 158
5.3.2 常用BIOS功能调用 159
5.3.3 图形显示程序设计 162
5.4 综合举例 168
习题5 181
6.1.2 动画程序的开发 183
6.1.1 字符图形显示 183
第6章 应用系统开发 183
6.1 汽车动画程序开发 183
6.2 发声系统程序开发 188
6.2.1 系统发声途径 188
6.2.2 发声应用程序举例 190
习题6 203
第7章 实验指导 204
7.1 实验步骤 204
7.2.2 DEBUG命令的常用命令 206
7.2 调试程序DEBUG 206
7.2.1 DEBUG程序的调用 206
7.3 实验 212
附录一 ASCII码表 217
附录二 8086指令系统表 218
附录三 MASM伪指令表 225
附录四 DOS的软件中断与系统功能调用 230
附录五 常用BIOS子程序的功能及其调用参数 236
参考文献 242