第一章 基础知识 1
1.1 数制及数制之间的转换 1
1.1.1 十进制、二进制与十六进制 1
1.1.2 十—十六进制之间的转换 2
1.2 微机的体系结构 4
1.2.1 8086处理器 4
1.2.2 内存 7
1.2.3 计算机中的存储结构 9
1.3 信息的机器表示 9
1.3.1 整数的机器表示:有符号数与无符号数表示法 10
1.3.2 溢出标志OF和进位标志CF 14
1.3.3 ASCⅡ代码 15
1.3.4 逻辑运算 17
习题 17
第二章 上机步骤和汇编开发工具ZASM 18
2.1 汇编语言程序的开发过程 18
2.1.1 汇编语言处理系统 20
2.1.2 汇编语言程序的上机步骤 20
2.1.3 源程序的编辑 21
2.1.4 源程序的汇编 22
2.1.5 目标程序的连接 26
2.2 排错步骤——TD的用法 28
2.2.1 TD概要 29
2.2.2 源级排错 30
2.2.3 机器级排错 31
2.2.4 测试系统I/O中断服务 33
2.3 汇编开发工具ZASM 36
2.3.1 ZASM的构成 37
2.3.2 ZASM的安装 37
2.3.3 ZASM的集成开发环境 37
习 题 38
第三章 指令系统 39
3.1 MOV指令 39
3.2 编址方式 40
3.2.1 立即方式(immediate mode) 40
3.2.2 寄存器方式(registor mode) 41
3.2.3 内存方式 41
3.3 指令系统 45
3.3.1 传送指令类 47
3.3.2 算术指令类 49
3.3.3 逻辑和移位指令 57
习 题 67
第四章 汇编伪指令和ZASM宏指令 69
4.1 语句格式 69
4.2 汇编表达式 70
4.2.1 数值表达式 70
4.2.2 地址表达式 71
4.3 符号指令的操作数 72
4.4 伪指令 74
4.4.1 符号定义 74
4.4.2 内存分配 76
4.4.3 定义段 78
4.4.4 定义模块 80
4.5 框架文件ZFRAME.ASM 80
4.6 ZASM的I/O功能库 82
4.6.1 I/O宏的格式和功能 82
4.6.2 程序例子 85
习 题 90
第五章 编程初步 91
5.1 程序开发步骤 91
5.2 流程图 92
5.3 结构化程序设计 93
5.4 顺序结构程序设计 94
5.5 分支结构程序设计 97
5.5.1 单选项的分支结构 97
5.5.2 复合条件的分支结构 99
5.5.3 有符号的与无符号的条件转移指令 101
5.5.4 条件转移指令的跨距 101
5.5.5 多分支结构 102
5.6 参考例题 104
习 题 108
第六章 循环程序设计 109
6.1 单重循环结构程序设计 109
6.1.1 单重循环结构 109
6.1.2 循环指令组 111
6.1.3 阅读程序 117
6.1.4 串操作指令 121
6.2 多重循环结构程序设计 127
6.3 查找和排序 133
6.4 参考例题 138
习 题 143
第七章 过程程序设计 145
7.1 过程的概念 145
7.2 过程调用和返回指令 146
7.3 寄存器的保存和恢复 149
7.4 过程之间的参数传递 151
7.5 过程的局部变量 157
7.6 过程的嵌套调用 161
7.7 过程的递归调用 163
7.8 参考例题 167
习题 180
第八章 宏指令 182
8.1 宏定义和宏调用 182
8.2 宏的嵌套 187
8.2.1 宏定义内嵌宏调用 187
8.2.2 宏定义内嵌宏定义 188
8.2.3 宏定义内嵌重定义 190
8.3 条件块 192
8.4 重复块 198
8.5 伪指令语言和宏的递归调用 201
习 题 205
第九章 模块化程序设计 207
9.1 模块的概念 207
9.2 一个单模块应用程序——快速排序 208
9.2.1 宏PUSHR和POPR 208
9.2.2 宏WRITEC和WRITELN 209
9.2.3 宏READD和WRITED 210
9.2.4 宏WRITEP 210
9.2.5 宏READA和WRITEA 211
9.2.6 过程ZREADD和ZWRITED 213
9.2.7 快速排序 217
9.3 多模块程序 221
9.4 目标模块库的管理 225
9.4.1 库管理程序TLIB 225
9.4.2 用TLIB建立I/O模块库IOLIB.LIB 227
9.5 命令行参数 229
9.6 汇编语言模块和C语言模块的连接 230
9.6.1 Turbo C的编译 231
9.6.2 C语言主程序调用汇编语言过程 235
9.6.3 汇编语言主程序调用C语言子程序 236
9.6.4 更新ZASM使汇编语言程序能够调用C函数 238
习题 242
第十章 磁盘文件的管理 243
10.1 中断服务 243
10.1.1 中断向量表 243
10.1.2 中断操作 244
10.2 文件I/O中断服务 245
10.3 写磁盘文件 248
10.4 读磁盘文件 250
10.5 在文件尾处添加记录 252
10.6 随机读记录 254
10.7 字符设备和正文文件 256
习 题 259
附录A TD和EDIT的功能键 261
附录B 8086指令集 262
附录C 伪指令简表 268