第1章 基础知识 1
1.1汇编语言概述 1
1.1.1汇编语言程序示例 1
1.1.2机器语言 3
1.1.3汇编语言 4
1.1.4高级语言 5
1.1.5三种语言的特点比较 6
1.1.6汇编语言源程序的格式 6
1.2计算机中数和字符的表示 7
1.2.1不同进位制的数及相互间的转换 7
1.2.2BCD码 11
1.2.3ASCII码 12
1.2.4整数和小数 13
1.2.5原码、反码和补码 13
1.3计算机中数的运算规则 15
1.3.1算术运算 15
1.3.2逻辑运算 15
1.480x86微处理器 17
1.4.1微型计算机的结构 17
1.4.2中央处理器 18
1.5内存储器 22
1.5.1内存单元的地址和内容 22
1.5.2内存储器寻址 24
1.6外部设备 28
小结 29
习题 30
第2章 8086指令系统初步 32
2.18086指令格式 32
2.2操作数的形式及寻址方式 33
2.2.1寻址方式的概念 33
2.2.2寻址方式 36
2.2.3寻址方式小结 42
2.3Intel 8086基本指令 43
2.3.1数据传送指令 43
2.3.2算术运算指令 48
2.3.3位操作指令 53
小结 60
习题 61
第3章 汇编语言程序结构 63
3.1表达式 63
3.1.1常量 63
3.1.2数值表达式 64
3.1.3变量和标号 64
3.1.4地址表达式 66
3.2常用的汇编伪指令 70
3.2.1段定义伪指令 70
3.2.2假定伪指令ASSUME 71
3.2.3置汇编地址计数器伪指令ORG 72
3.2.4符号定义伪指令LABEL 72
3.2.5源程序结束伪指令END 72
3.3汇编语言程序的上机过程 73
3.3.1开发环境 73
3.3.2上机过程 74
3.4调试程序 75
小结 77
习题 78
第4章 汇编语言程序设计 80
4.1程序设计方法概述 80
4.1.1程序设计的步骤 80
4.1.2程序流程图设计方法 81
4.2顺序结构程序设计 82
4.3DOS系统功能调用 83
4.3.1DOS系统功能调用的一般方法 83
4.3.2常用系统功能调用 84
4.4分支结构程序设计 86
4.4.1常见的标志处理指令 86
4.4.2控制转移类指令 87
4.4.3分支结构程序设计 91
4.5循环结构程序设计 95
4.5.1循环指令 95
4.5.2循环程序的基本结构 96
4.5.3单重循环程序的设计举例 98
4.5.4多重循环程序的设计举例 101
4.6串处理类指令 106
4.7数制转换程序设计 110
4.7.1其他进制数到二进制数的转换 111
4.7.2二进制数到其他进制数的转换 113
4.7.3涉及BCD码的转换 114
4.8数据运算程序设计 115
4.8.1BCD码调整指令及涉及BCD码的运算 115
4.8.2浮点数据运算程序设计 117
小结 122
习题 122
第5章 结构化程序设计 126
5.1结构化程序设计的一般步骤和方法 126
5.2子程序设计 127
5.2.1子程序基本概念 127
5.2.2子程序的定义、调用和返回 127
5.2.3子程序设计中的现场保护与参数传递 129
5.2.4子程序的嵌套与递归 133
5.2.5子程序设计实例 138
5.3宏汇编 147
5.3.1宏的概念 147
5.3.2宏指令的定义和使用 147
5.3.3宏调用中的参数 150
5.3.4宏库及其使用 155
5.3.5宏指令与子程序的比较 157
小结 159
习题 159
第6章 输入输出程序设计 162
6.1输入输出的基本概念 162
6.1.1I/O端口地址 162
6.1.2I/O指令 163
6.1.3数据传送方式 164
6.2中断及中断程序设计 167
6.2.1中断的分类 167
6.2.2中断优先级 167
6.2.3中断向量表 168
6.2.4设置中断向量 168
6.2.5应用实例 169
6.3BIOS功能调用 170
6.4键盘I/O 171
6.4.1键盘中断处理程序 171
6.4.2键盘I/O程序 172
6.5显示器I/O 173
6.5.1文本显示方式及字符显示属性 173
6.5.2彩色图形显示方式 174
6.5.3显示I/O中断调用 174
6.5.4Intel 8279集成电路 180
6.5.58279程序设计 184
小结 187
习题 188
第7章 通信与模数转换程序设计 189
7.1并行通信 189
7.1.1并行通信的概念 189
7.1.2可编程并行接口芯片Intel 8255 189
7.1.3Intel 8255程序设计 191
7.2串行通信I/O 194
7.2.1串行通信的概念 194
7.2.2异步通信芯片8251 200
7.2.38251应用举例 203
7.38259中断控制器及其程序设计 205
7.3.18259A的内部结构 205
7.3.28259程序设计 206
7.4定时/计数程序设计 210
7.4.1可编程内部定时器8253/8254 211
7.4.2IBM PC定时/计数程序设计 212
7.4.3通用发声程序设计 212
7.5D/A与A/D转换程序设计 213
小结 218
习题 218
第8章 磁盘文件处理程序 220
8.1磁盘文件概念 220
8.2传统文件管理方式 221
8.2.1顺序存取方式 221
8.2.2随机存取方式 224
8.2.3随机分块存取方式 226
8.3扩充文件管理方式 227
8.3.1扩充文件管理功能调用 227
8.3.2扩充文件管理方式实例 228
8.4对文件外部特性与目录的操作 237
小结 239
习题 239
第9章 汇编语言程序设计扩展 241
9.1结构 241
9.1.1结构的定义 241
9.1.2结构变量及其字段的访问 242
9.2条件汇编 244
9.3重复汇编 246
9.3.1给定次数的重复汇编伪指令REPT 247
9.3.2由参数个数决定次数的重复汇编伪指令IRP 247
9.3.3由字符串字符个数决定汇编次数的伪指令IRPC 248
9.4多模块程序设计 249
9.4.1完整的段定义 249
9.4.2关于堆栈段的说明 251
9.4.3段组的说明和使用 252
9.4.4段的简化定义 253
9.4.5模块间的通信 255
9.5汇编语言与C语言的混合编程 257
9.5.1汇编语言指令嵌入到C语言程序中的简单方法 257
9.5.2模块连接法 258
9.5.3汇编语言调用C语言程序 259
9.6驻留程序设计 260
小结 264
习题 265
第10章 80x86/Pentium汇编语言程序设计 266
10.1从8086到Pentium 266
10.1.18086/Pentium结构特点 266
10.1.2Pentium工作模式 268
10.1.3Pentium系统提供的特权级 269
10.2Pentium CPU的寄存器组织 270
10.3保护模式下程序使用的逻辑地址与物理地址 272
10.3.1保护模式内存储器寻址 272
10.3.2选择器和描述符 273
10.3.3保护模式内存储器寻址范围举例 275
10.3.4程序不可见寄存器 276
10.4保护模式内存储器寻址方式 280
10.5指令系统扩展 281
10.5.1源程序结构 281
10.5.2指令集的扩展 287
小结 293
习题 293
附录A 指令表 294
附录B 伪指令表 300
附录C MSDOS与BIOS调用表 302
附录D BIOS功能调用 307
参考文献 310