第1章 预备知识 1
1.1 汇编语言的由来及其特点 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 汇编程序 2
1.1.4 汇编语言的主要特点 3
1.1.5 汇编语言的使用领域 4
1.2 计算机的主要性能指标 4
1.3 数据的表示和类型 6
1.3.1 数值数据的表示 6
1.3.2 非数值数据的表示 9
1.3.3 基本的数据类型 10
习题 11
第2章 CPU资源和存储器 12
2.1 计算机的基本结构 12
2.2 寄存器组 13
2.2.1 数据寄存器 14
2.2.2 地址寄存器 18
2.2.3 段寄存器 18
2.2.4 专用寄存器 19
2.3 存储器 21
习题 27
上机指导 28
第3章 操作数的寻址方式 34
3.1 立即数寻址方式 34
3.2 寄存器寻址方式 35
3.3 直接寻址方式 36
3.4 寄存器间接寻址方式 37
3.5 寄存器相对寻址方式 39
3.6 基址加变址寻址方式 40
3.7 相对基址变址寻址方式 41
习题 43
上机指导 44
第4章 微机指令系统 46
4.1 汇编语言指令格式 46
4.1.1 指令格式 46
4.1.2 了解指令的几个方面 46
4.2 汇编语言指令系统 47
4.2.1 数据传送指令 47
4.2.2 标志位操作指令 51
4.2.3 算术运算指令 52
4.2.4 逻辑运算指令 56
4.2.5 移位操作指令 57
4.2.6 测试指令 60
4.2.7 比较运算指令 61
4.2.8 循环指令 61
4.2.9 转移指令 64
4.2.10 ASCII——BCD码运算调整指令 68
4.2.11 处理器指令 71
习题 71
上机指导 74
第5章 常用伪指令和操作符 76
5.1 汇编语言数据与操作符 76
5.1.1 常数 76
5.1.2 变量 77
5.1.3 标号 78
5.1.4 数值返回值操作符 78
5.1.5 属性操作符 80
5.1.6 算术操作符 81
5.1.7 逻辑操作符 84
5.1.8 关系操作符 85
5.1.9 分离字节操作符 85
5.1.10 操作符的优先级 85
5.2 常用伪指令 86
5.2.1 数据定义伪指令 87
5.2.2 复合内存变量的定义 90
5.2.3 调整偏移量伪指令 94
5.2.4 符号定义伪指令 97
5.2.5 LABEL伪指令 98
5.2.6 基数控制伪指令 99
习题 99
上机指导 102
第6章 基本程序设计 104
6.1 源程序的基本组成 104
6.1.1 源程序的结构 104
6.1.2 段的定义 105
6.1.3 段寄存器的说明语句 105
6.1.4 堆栈段的说明 107
6.2 顺序结构 108
6.3 分支结构 109
6.4 循环结构 117
6.5 子程序 124
6.5.1 子程序的定义 124
6.5.2 子程序的调用和返回指令 125
6.5.3 子程序的参数传递 128
6.5.4 寄存器的保护与恢复 133
6.6 段的基本属性 134
习题 136
上机指导 138
第7章 串操作指令与程序设计 144
7.1 字符串操作指令 144
7.2 字符串程序设计 148
习题 151
第8章 输入输出和中断 153
8.1 输入输出的基本概念 153
8.1.1 I/O端口地址 153
8.1.2 I/O指令 154
8.1.3 I/O程序举例 154
8.2 中断 155
8.2.1 中断的基本概念 155
8.2.2 中断的指令 156
8.2.3 中断和子程序调用 157
8.3 中断功能的分类 158
8.3.1 键盘输入的中断功能 158
8.3.2 屏幕显示的中断功能 161
8.3.3 打印输出的中断功能 170
8.3.4 串行通信口的中断功能 174
8.3.5 鼠标的中断功能 176
8.3.6 目录和文件的中断功能 181
8.3.7 内存管理的中断功能 185
8.3.8 读取和设置中断向量 185
习题 189
上机指导 189
第9章 宏 192
9.1 宏的定义和引用 192
9.1.1 宏的定义 192
9.1.2 宏的引用 193
9.1.3 宏的参数传递方式 195
9.1.4 宏参数的特殊操作符的使用 196
9.1.5 宏与子程序的区别 198
9.2 与宏有关的伪指令 199
9.2.1 局部标号伪指令LOCAL 199
9.2.2 取消宏定义伪指令PURGE 201
9.2.3 退出宏扩展伪指令EXITM 201
9.3 重复汇编伪指令 201
9.3.1 按参数值重复伪指令REPT 202
9.3.2 按参数个数重复伪指令IRP 203
9.3.3 按参数字符个数重复伪指令IRPC 204
9.4 条件汇编 204
9.4.1 条件汇编伪指令的格式 205
9.4.2 条件汇编伪指令的举例 206
习题 208
上机指导 209
第10章 应用程序的设计 210
10.1 字符串的处理程序 210
10.2 数据的分类统计程序 213
10.3 数据转换程序 215
10.4 动态数据的编程 217
习题 218
上机指导 218
第11章 汇编语言和C/C++的混合编程 220
11.1 汇编指令的嵌入 220
11.2 多模块连接混合编程 222
11.3 汇编语言在visual C++中的应用 229
习题 234
上机指导 236
第12章 汇编语言调试工具 238
12.1 宏汇编程序MASM与链接程序LINK 239
12.1.1 运行汇编程序必备的条件 239
12.1.2 编写汇编源程序 239
12.1.3 执行宏汇编程序 241
12.1.4 执行连接程序 243
12.1.5 执行程序 245
12.2 动态调试程序DEBUG 246
12.2.1 动态调试程序DEBUG的主要特点 246
12.2.2 DEBUG的进入 246
12.2.3 DEBUG的主要命令 247
12.3 TASM的使用 251
12.4 连接器TLINK的使用 252
12.5 编译器TCC的使用 252
12.6 汇编语言其他编程工具 254
12.6.1 编程集成环境PWB 254
12.6.2 Turbo Assember 259
12.6.3 CodeView 260
12.6.4 Turbo Debuger 261
上机指导 262
附录A MS—DOS软中断 266
附录B 系统功能调用及INT 21H 269
附录C MS—DOS扩展错误代码表 293
附录D 鼠标功能中断INT 33H 295
附录E 其他DOS中断 303
附录F BIOS中断 305
参考文献 328