第1章 基础知识 1
1.1 数制及数制之间的转换 1
1.1.1 十进制、二进制与十六进制 1
1.1.2 十进制与十六进制之间的转换 2
1.2 微型计算机系统的体系结构 4
1.2.1 8086微处理器 5
1.2.2 内存 8
1.3 信息的机器表示 10
1.2.3 内存单位 10
1.3.1 整数的机器表示 11
1.3.2 溢出标志OF和进位标志CF 16
1.3.3 ASCII代码 17
1.3.4 逻辑运算 19
习题 19
第2章 上机步骤和汇编开发工具ZASM 21
2.1 汇编语言程序的开发过程 22
2.1.1 汇编语言处理系统 23
2.1.2 汇编语言程序的上机步骤 24
2.1.3 源程序的编辑 25
2.1.4 源程序的汇编 25
2.1.5 目标程序的连接 30
2.1.6 浮动的概念 32
2.2 排错步骤——TD的用法 34
2.2.1 TD简介 35
2.2.2 源级排错 36
2.2.3 机器级排错 37
2.2.4 测试系统I/O中断服务 39
2.3 汇编开发工具ZASM 43
2.3.1 ZASM的构成 43
2.3.2 ZASM的安装 44
2.3.3 ZASM的集成开发环境 44
习题 45
第3章 指令系统 47
3.1 MOV指令 47
3.2 编址方式 48
3.2.1 立即方式 48
3.2.2 寄存器方式 49
3.2.3 内存方式 50
3.3 指令系统 54
3.3.1 传送指令类 56
3.3.2 算术指令类 59
3.3.3 逻辑和移位指令 67
3.3.4 控制转移指令 72
习题 78
4.1 语句格式 81
第4章 汇编伪指令和ZASM宏指令 81
4.2 汇编表达式 82
4.2.1 数值表达式 82
4.2.2 地址表达式 83
4.3 符号指令的操作数 85
4.4 伪指令 87
4.4.1 符号定义 87
4.4.2 内存分配 89
4.4.3 定义段 91
4.5 框架文件ZFRAME.ASM 94
4.4.4 定义模块 94
4.6 ZASM的I/O功能库 96
4.6.1 I/O宏的格式和功能 96
4.6.2 程序例子 98
习题 102
第5章 编程初步 105
5.1 程序开发步骤 105
5.2 流程图 106
5.3 结构化程序设计 107
5.4 顺序结构程序设计 108
5.5 分支结构程序设计 111
5.5.1 单选项的分支结构 111
5.5.2 复合条件的分支结构 114
5.5.3 有符号的与无符号的条件转移指令 115
5.5.4 条件转移指令的跨距 116
5.5.5 多分支结构 117
5.6 参考例题 119
习题 123
6.1.1 单重循环结构 125
第6章 循环程序设计 125
6.1 单重循环结构程序设计 125
6.1.2 循环指令组 127
6.1.3 阅读程序 134
6.1.4 串操作指令 138
6.2 多重循环结构程序设计 144
6.3 查找和排序 151
6.4 参考例题 159
习题 166
7.1 过程的概念 169
第7章 过程程序设计 169
7.2 过程调用和返回指令 170
7.3 寄存器的保存和恢复 174
7.4 过程之间的参数传递 176
7.4.1 用寄存器传递参数 176
7.4.2 用堆栈参数表传递参数 177
7.4.3 值参数和地址参数 179
7.4.4 过程地址参数 180
7.5.1 自动变量——堆栈中的局部变量 182
7.5 过程的局部变量 182
7.5.2 静态变量——私有段中的局部变量 183
7.6 过程的嵌套调用 187
7.7 过程的递归调用 188
7.8 参考例题 193
习题 202
第8章 宏指令 205
8.1 宏定义和宏调用 205
8.2 宏的嵌套 211
8.2.1 宏定义内嵌宏调用 212
8.2.2 宏定义内嵌宏定义 213
8.2.3 宏定义内嵌重定义 215
8.3 条件块 216
8.4 重复块 220
习题 225
第9章 模块化程序设计 227
9.1 模块的概念 227
9.2 一个单模块应用程序 228
9.3 多模块程序 233
9.4 目标模块库的管理 237
9.4.1 库管理程序TLIB 237
9.4.2 用TLIB建立目标模块库QS.LIB 239
9.5 命令行参数 240
9.6 汇编语言模块和C语言模块的连接 241
9.6.1 Turbo C的编译 242
9.6.2 C语言主函数调用汇编语言子过程 246
9.6.3 汇编语言主过程调用C语言子函数 248
9.6.4 更新ZASM使汇编语言程序能够调用C函数 250
习题 253
第10章 磁盘文件的管理 255
10.1 中断服务 255
10.1.1 中断向量表 256
10.1.2 中断操作 256
10.2 文件I/O中断服务 257
10.2.1 文件名串 258
10.2.5 文件指针 259
10.2.4 文件属性 259
10.2.3 错误代码 259
10.2.2 文件代号 259
10.3 写磁盘文件 261
10.4 读磁盘文件 263
10.5 在文件尾处添加记录 265
10.6 随机读记录 266
10.7 字符设备和正文文件 268
习题 272
11.1 文件ZIOM.INC 275
第11章 ZASM的实现 275
11.2 文件ZIOL.ASM 284
习题 292
附录 TD和EDIT的功能键 293
附录A TD和EDIT的功能键 293
附录B 8086指令集 294
附录C 伪指令简表 299
词汇索引 301
参考文献 305