第一章 概论 1
第一节 引言 1
一、几个基本概念 1
目 录 1
二、汇编语言 2
三、高级语言 2
四、两种语言比较 2
第二节 汇编语言程序设计 3
一、汇编语言程序设计特点 3
二、程序设计步骤 5
二、汇编过程 6
第三节 汇编程序 6
一、汇编程序的作用 6
三、IBM-PC的汇编程序 8
习题 8
第二章 8088/8086系统结构 9
第一节 8088微处理器的结构 9
一、8088微处理器的结构 9
二、程序执行过程 10
第二节 8088微处理器的寄存器 11
一、通用寄存器组 11
三、标志寄存器 13
二、指令指针寄存器 13
四、段寄存器 14
第三节 8088微处理器的端脚功能 16
第四节 8088与8086微处理器的差异 18
一、结构区别 19
二、端脚区别 19
习题 19
第三章 8088/8086指令系统 20
第一节 寻址方式 20
一、操作数类型 20
二、寻址方式 20
第二节 指令系统 24
一、数据传送指令 25
二、算术运算指令 31
三、逻辑运算指令 40
四、移位指令 43
五、转移指令 46
六、字符串操作指令 51
七、处理器控制指令 56
八、输入输出指令 58
九、中断指令 58
习题 59
二、语句结构 62
一、语句类别 62
第一节 汇编语言语句 62
第四章 汇编语言 62
三、指令语句操作数 63
四、表达式用运算符和操作符 65
第二节 汇编语言伪指令 69
一、符号定义伪指令 69
二、数据定义伪指令 70
三、段和模块定义伪指令 71
四、模块通信伪指令 73
五、列表控制伪指令 74
六、过程定义伪指令 74
七、其它伪指令 75
第三节 汇编语言程序结构 76
一、汇编语言源程序的一般结构 76
二、段寄存器的装填 77
三、IBM-PC中程序正确返回DOS问题 77
四、检查程序执行结果的简单方法 78
第四节 结构和记录 79
一、结构 79
二、记录 81
第五节 条件汇编与宏操作伪指令 84
一、条件汇编 84
二、宏操作伪指令 85
习题 91
第五章 基本程序设计 93
第一节 顺序程序设计 93
一、存储单元内容移位 93
二、乘法运算与乘10运算 93
三、屏蔽与组合 94
四、拆字 95
五、单字节压缩BCD数加法运算 95
六、二字节的二进制数加法 96
七、取数的反码和补码 98
八、平方表 98
第二节 分支程序设计 99
一、单重分支结构程序 100
二、多重分支结构程序 102
第三节 循环程序设计 110
一、循环程序的结构 110
二、单重循环程序 110
三、多重循环程序 116
四、循环次数未知的循环程序 121
五、‘位’控制循环程序 123
第四节 子程序设计 125
一、子程序与主程序 125
二、子程序段内调用和返回 126
三、子程序段间调用和返回 128
四、调用程序和子程序间的参数传递 130
五、寄存器内容的保护 139
六、子程序嵌套使用 141
七、关于递归子程序、可重入子程序 143
第五节 具有模块结构的程序设计 147
一、概述 147
二、模块的组合方式 148
三、模块间的通信 150
四、模块化程序设计的注意点 150
五、模块化程序设计举例 151
习题 162
第一节 定点数算术运算程序 165
一、定点数运算的概念 165
第六章 算术运算程序设计 165
二、定点数加法运算 166
三、定点数减法运算 170
四、定点数乘法运算 172
五、定点数除法运算 178
第二节 浮点数算术运算程序 187
一、浮点数概念 187
二、浮点数的规格化 188
三、浮点数加减运算 189
四、浮点数乘除运算 190
习题 190
一、二进制码与ASCⅡ码间的相互转换 192
第七章 非数值处理程序设计 192
第一节 代码转换 192
二、二进制码与BCD码间的相互转换 195
三、二进制数到七段显示码的转换 203
第二节 字符数据处理 205
一、字符串比较 206
二、字符串检索 207
三、字符删除与插入 208
四、字符串统计 212
第三节 表处理 214
一、表的查询 215
二、表的插入与删除 218
第四节 检索 221
一、顺序检索 221
二、折半检索 224
三、散列值检索 227
第五节 排序 230
一、交换排序 231
二、选择排序 234
三、插入排序 237
习题 240
一、输入、输出过程 242
二、CPU寻址外设方式 242
第一节 输入、输出概述 242
第八章 输入、输出程序设计 242
三、CPU与外设间的交换信息 243
四、数据传送方式 244
第二节 输入、输出方式 245
一、直接输入、输出方式 245
二、查询输入、输出方式 247
三、中断输入、输出方式 253
四、直接数据通道传送(DMA)方式 253
第三节 输入、输出程序设计举例 254
一、函数波形发生器 254
二、使PC机发声 257
三、PC机间通信(查询方式) 260
习题 270
第九章 中断程序设计 272
第一节 中断的概念 272
一、中断的引入 272
二、中断源 273
三、中断工作方式的优点 273
四、中断系统的功能 274
第二节 8088/8086的中断系统 276
一、中断源 276
二、中断矢量表 278
四、中断处理程序结构 282
三、中断过程 282
五、用户软中断的设置 285
第三节 中断程序设计举例 288
一、数据采集 288
二、键盘输入处理 292
三、PC机间通信(中断方式) 299
习题 307
第十章 系统调用及程序设计 308
第一节 DOS系统功能调用 308
一、概述 308
二、DOS功能调用分组 309
三、常用的DOS功能调用 310
四、磁盘文件管理 314
第二节 BIOS功能调用 322
一、概述 322
二、常用BIOS功能调用 323
三、图形显示程序设计 326
第三节 汇编语言程序与高级语言程序的接口 333
一、概述 333
二、MS-PASCAL与汇编语言接口 333
习题 336
附录1 指令系统查阅表 338
附录2 指令对标志位的影响 345
附录3 IBM-PC ASCⅡ码字符表 346
参考资料 347