1.1 汇编语言概述 1
1.1.1 为什么要学习和使用汇编语言 1
1.1.2 汇编语言的基本概念 1
1.2 计算机中数和字符的表示 2
1.2.1 数制及数制间的转换 2
1.2. 2数和字符在计算机中的表示 7
1.3 8086/8088的编程结构 14
1.3.1 8086/8088的内部结构 14
1.3.2 8086/8088CPU的寄存器结构及其用途 16
1.4 存储器及堆栈 18
1.4.1 存储器 18
1.4.2 堆栈 19
习题1 20
2.1.2 寻址方式 22
2.1.1 指令及指令格式 22
2.1 寻址方式 22
2.2 指令系统 27
2.2.1 数据传送指令 27
2.2.2 算术运算指令 33
2.2.3 逻辑运算类指令 46
2.2.4 字符串操作指令 52
2.2.5 控制转移类指令 56
2.2.6 处理器控制指令 65
2.3 指令编码 66
习题2 73
3.1 汇编语言语句种类及格式 78
3.2 汇编语言伪指令 79
3.2.1 数据定义及其存储分配伪指令 79
3.2.2 符号定义伪指令 82
3.2.3 段定义伪指令 83
3.2.4 段寻址伪指令 84
3.2.5 指定地址伪指令 85
3.2.6 过程定义伪指令 86
3.2.7 程序结束伪指令 88
3.2.8 基数控制伪指令 88
3.3 汇编语言操作符和表达式 89
3.4 汇编语言源程序的结构 96
3.4.1 汇编语言源程序的基本结构 96
3.4.2 汇编语言中正确返回操作系统的方法 97
3.5 汇编语言源程序的上机过程 99
3.5.1 用编辑程序建立汇编源程序文件(.ASM文件) 99
3.5.2 用汇编程序将.ASM文件汇编成目标程序文件 100
3.5.3 用连接程序生成可执行文件 103
3.5.4 程序的执行和调试 104
习题3 106
4.1 汇编语言程序设计的基本步骤 109
4.2 顺序程序设计 111
4.3 分支程序设计 113
4.4 循环程序设计 117
4.4.1 循环程序的结构 117
4.4.2 循环程序的控制方法 118
4.5 子程序设计 122
4.5.1 子程序的概念 122
4.5.2 子程序的调用和返回 123
4.5.3 利用堆栈保存和恢复现场 124
4.5.4 主程序和子程序之间的数据传送 124
4.5.5 子程序的嵌套与递归 131
4.6 DOS系统功能调用 132
4.6.1 DOS系统功能调用概述 132
4.6.2 基本I/O功能调用 133
4.6.3 DOS系统功能调用举例 135
习题4 139
5.1 输入和输出 141
5.2 中断 146
5.2.1 外部中断 147
5.2.2 内部中断 147
5.2.3 中断的优先级和中断嵌套 148
5.2.4 中断向量表 148
5.2.5 中断类型号的获取 151
5.2.6 中断向量表的修改 152
5.3 ROMBIOS中断调用 155
5.3.1 概述 155
5.3.2 ROMBIOS的使用 156
5.3.3 中断调用举例 156
习题5 159
6.1 字符串处理 161
6.2 代码转换 167
6.3 表的处理及其应用 173
6.3.1 表的查找 173
6.3.2 数据加密 176
6.3.3 数据的排序 177
6.4 图形显示 179
6.4.1 文本方式下的图形显示 180
6.4.2 图形方式下的图形显示 190
6.5 声音和乐曲 194
6.5.1 声音系统 194
6.5.2 利用8255直接控制扬声器发声 194
6.5.3 利用定时器控制扬声器发声 195
6.5.4 乐曲程序 197
6.6 磁盘文件存取技术 199
6.6.1 顺序文件存取方式 201
6.6.2 随机存取方式 204
6.6.3 随机分块存取方式 205
6.6.4 文件代号式存取方式 206
习题6 216
7.1 汇编语言各模块之间的连接 218
7.1.1 各模块之间的连接 218
7.1.2 多个模块连接时的组合情况 218
7.1.3 多个模块之间的变量传送问题 221
7.2 高级语言程序与汇编语言程序连接概述 226
7.3 C语言与汇编语言程序的连接 227
7.3.1 C语言与汇编语言程序连接时的系统约定 227
7.3.2 连接实例 229
7.4 汇编语言程序与PASCAL程序的连接 231
7.4.1 汇编子程序与PASCAL程序连接时的系统约定 231
7.4.2 连接举例 232
习题7 234
8.1 80286微处理器及其指令系统 235
8.1.1 80286微处理器结构 235
8.1.2 80286的操作方式 238
8.1.3 80286增强与增加的指令 238
8.1.4 80286的MASM新增加的指令 240
8.2 80386/80486及Pentium芯片介绍 243
8.2.1 80386CPU结构及指令系统 243
8.2.2 80486系统介绍 245
8.2.3 Pentium芯片介绍 246
习题8 246
附录A 调试程序DEBUG 247
附录B BIOS中断调用 250
附录C DOS功能调用 255
附录D 汇编程序出错信息 261
参考文献 266