第1章 汇编语言概述 1
1.1 汇编语言简介 1
1.2 数制基础 1
1.2.1 数据组织 2
1.2.2 数的补码表示 3
1.2.3 字符的ASCII码表示 4
1.2.4 BCD码 4
1.3 基本逻辑运算 5
1.4 汇编语言程序设计过程 6
1.4.1 编程阶段 6
1.4.2 上机阶段 7
1.5 汇编语言编程工具及环境 8
小结 9
习题 9
第2章 80x86计算机组织 11
2.1 中央处理器 12
2.2 内存储器 13
2.2.1 内存储器单元的地址和内容 13
2.2.2 内存储器地址的分段 14
2.3 8086/8088CPU寄存器组 16
2.3.1 通用寄存器 17
2.3.2 变址寄存器 17
2.3.3 指针寄存器 17
2.3.4 段寄存器 18
2.3.5 标志寄存器PSW 19
小结 20
习题 21
第3章 汇编语言源程序格式 23
3.1 一个简单的汇编语言源程序及相关知识 23
3.1.1 相关知识 23
3.1.2 常用伪指令 24
3.1.3 汇编语言源程序的一般结构 27
3.2 汇编语言源程序的上机过程 28
3.2.1 建立汇编语言的工作环境 28
3.2.2 源程序的编辑 29
3.2.3 源程序的汇编 30
3.2.4 目标文件的连接 31
3.2.5 可执行文件的执行 32
3.2.6 可执行程序的调试 32
3.2.7 列表文件与连接映像文件简介 36
小结 39
习题 39
第4章 指令系统和寻址方式 42
4.1 寻址方式 42
4.1.1 立即寻址 42
4.1.2 直接寻址 43
4.1.3 寄存器寻址 44
4.1.4 寄存器间接寻址 44
4.1.5 寄存器相对寻址(或称直接变址寻址) 45
4.1.6 基址加变址寻址 46
4.1.7 相对的基址加变址寻址 47
4.2 常用基本指令 48
4.2.1 数据传送指令 49
4.2.2 算术运算指令 54
4.2.3 十进制调整指令 59
4.2.4 逻辑运算指令 61
4.2.5 移位与循环移位指令 63
4.2.6 串处理指令 66
小结 71
习题 71
第5章 伪指令的定义与使用 75
5.1 8086/8088宏汇编语言的常用伪指令语句 75
5.1.1 程序分段定义伪指令 75
5.1.2 符号定义伪指令 76
5.1.3 变量定义伪指令 78
5.1.4 标号定义伪指令 81
5.1.5 地址计数器$和定位伪指令ORG 82
5.2 8086/8088宏汇编语言的数据和表达式 83
5.2.1 数据 83
5.2.2 表达式 84
小结 91
习题 92
第6章 分支与循环程序设计 94
6.1 控制转移指令 94
6.1.1 条件转移指令 94
6.1.2 无条件转移指令 100
6.1.3 循环控制指令 100
6.2 字符及字符串的输入与输出 103
6.3 分支程序设计 109
6.3.1 分支程序的结构形式 109
6.3.2 分支程序的设计 110
6.4 循环结构程序设计 118
6.4.1 循环程序结构 118
6.4.2 循环程序设计 121
6.5 循环与分支程序设计举例 127
小结 133
习题 133
第7章 子程序设计 136
7.1 子程序设计方法 136
7.1.1 子程序定义 136
7.1.2 CALL与RET指令 137
7.1.3 对子程序中用到的寄存器进行保护 141
7.1.4 子程序设计中的参数传递 143
7.2 子程序设计举例 153
小结 156
习题 156
第8章 宏汇编技术 158
8.1 宏定义、宏调用和宏展开 158
8.1.1 宏定义 158
8.1.2 宏调用 159
8.1.3 宏展开 160
8.2 带参数的宏 162
8.3 LOCAL伪指令 164
8.4 宏操作符 168
8.5 宏指令与子程序的区别 170
8.6 宏汇编编程实例 170
小结 172
习题 173
第9章 输入输出程序设计 174
9.1 I/O设备的数据传送方式 174
9.2 程序直接控制I/O端口 174
9.2.1 I/O端口 174
9.2.2 IN/OUT指令 175
9.2.3 程序举例 176
9.3 中断传送方式 179
9.3.1 中断概念 179
9.3.2 中断向量表 181
9.3.3 中断程序设计方法 182
9.3.4 中断程序设计举例 185
小结 188
习题 188
第10章 BIOS与DOS中断调用 190
10.1 BIOS与DOS中断调用概述 190
10.2 DOS系统功能调用 190
10.3 BIOS系统中断调用 192
小结 194
习题 194
第11章 模块化程序设计 196
11.1 模块化程序设计概述 196
11.2 SEGMENT伪指令在模块化设计中的应用 196
11.3 各模块间参数传递的方法 200
小结 204
习题 204
模拟试题 207
模拟试题1 207
模拟试题2 208
上机实验 211
实验1 指令系统实验 211
实验2 分支程序设计实验 212
实验3 循环程序设计实验 214
实验4 子程序设计实验 215
附录 218
附录A 常用字符的7位ASCII值 218
附录B DEBUG主要命令 218
附录C 习题答案 223
参考文献 247