第1章 基础知识 1
1.1 数据表示方法 1
1.1.1 数与数制 1
1.1.2 计算机中的数据表示 3
1.1.3 基本数据类型 6
1.2 汇编语言程序设计概述 7
1.2.1 程序设计语言 7
1.2.2 汇编语言的特点和使用场合 8
1.2.3 流程图的画法 9
1.2.4 汇编语言程序设计的基本步骤 9
1.2.5 汇编语言程序质量的评价标准 11
本章小结 11
习题1 11
第2章 微处理器的结构及存储器组成 13
2.1 微处理器的结构 13
2.1.1 80X86和Pentium微处理器的功能结构 13
2.1.2 80X86和Pentium微处理器的寄存器结构 17
2.2 实模式下的存储器组织 20
2.2.1 存储单元的地址和内容 21
2.2.2 存储器地址的分段 22
本章小结 24
习题2 25
第3章 寻址方式和指令系统 26
3.1 寻址方式 26
3.1.1 数据寻址方式 26
3.1.2 程序存储器寻址方式 28
3.2 指令系统 29
3.2.1 数据传送指令 29
3.2.2 算术运算指令 35
3.2.3 十进制数算术运算指令 39
3.2.4 逻辑运算指令 40
3.2.5 处理器控制指令 47
3.2.6 只能在保护模式下执行的指令 47
本章小结 50
习题3 50
第4章 伪指令及汇编语言源程序结构 52
4.1 汇编语言语句格式 52
4.1.1 语句种类 52
4.1.2 语句格式 53
4.2 伪指令 55
4.2.1 符号定义伪指令 55
4.2.2 数据定义伪指令 56
4.2.3 段定义伪指令 59
4.2.4 简化段定义伪指令 61
4.2.5 程序开始和结束伪指令 62
4.2.6 指令集选择伪指令 62
4.2.7 过程定义伪指令 63
4.3 汇编语言源程序结构 63
4.3.1 完整段定义结构 63
4.3.2 简化段定义结构 64
4.3.3 程序段前缀结构 65
4.3.4 COM文件结构 65
本章小结 66
习题4 67
第5章 基本结构程序设计 68
5.1 顺序结构程序设计 68
5.2 分支程序设计 71
5.2.1 转移指令 71
5.2.2 双分支程序设计 74
5.2.3 多分支程序设计 76
5.3 循环结构程序设计 81
5.3.1 循环指令 81
5.3.2 循环程序的结构 85
5.3.3 循环程序设计方法 87
5.3.4 多重循环程序设计 91
5.3.5 串操作程序 95
5.3.6 循环程序设计举例 100
本章小结 104
习题5 105
第6章 子程序设计 107
6.1 子程序的概念与特性 107
6.2 子程序调用和返回指令 108
6.2.1 调用指令 108
6.2.2 返回指令 110
6.3 子程序的结构形式 111
6.3.1 子程序调用方法说明 111
6.3.2 现场保护和现场恢复 111
6.3.3 子程序的定义 112
6.4 子程序的设计和调用 112
6.4.1 子程序设计 112
6.4.2 子程序的调用 114
6.5 子程序的参数传递方法 115
6.5.1 通过寄存器传递参数 115
6.5.2 通过堆栈传递参数 118
6.5.3 用存储单元传递参数 120
6.6 子程序的嵌套与递归 122
6.6.1 子程序的嵌套调用 122
6.6.2 子程序的递归调用 123
6.7 子程序设计举例 124
6.7.1 输入/输出子程序 124
6.7.2 数制转换子程序 125
6.7.3 多位数运算子程序 129
本章小结 138
习题6 138
第7章 实模式下的中断程序设计 139
7.1 中断概述 139
7.1.1 中断与中断源 139
7.1.2 中断分类 139
7.1.3 中断向量表 141
7.1.4 中断过程 141
7.1.5 中断优先级 142
7.1.6 中断指令 142
7.2 中断处理程序设计 143
7.2.1 中断处理程序的编写 143
7.2.2 设置和获取中断向量 144
7.2.3 中断程序设计举例 145
7.3 BIOS中断调用 147
7.3.1 BIOS概述 147
7.3.2 BIOS中断调用方法 147
7.4 DOS功能调用 150
7.4.1 DOS功能调用概述 150
7.4.2 基本I/O功能调用 150
7.4.3 应用举例 152
7.5 磁盘文件管理 155
7.5.1 传统文件管理方式 155
7.5.2 扩充文件管理方式 158
7.6 鼠标中断 164
7.6.1 鼠标中断常用功能 164
7.6.2 鼠标中断应用举例 170
本章小结 172
习题7 173
第8章 输入/输出程序设计 174
8.1 概述 174
8.1.1 CPU与I/O设备之间的接口信息 174
8.1.2 典型的I/O接口形式 175
8.1.3 输入/输出的寻址方式与指令 175
8.2 CPU与外设数据传送方式 177
8.2.1 程序直接控制方式 177
8.2.2 程序中断方式 179
8.2.3 直接存储器访问方式 181
8.2.4 通道传送方式 182
本章小结 183
习题8 183
第9章 高级汇编技术 184
9.1 宏汇编 184
9.1.1 宏指令的定义、调用和展开 184
9.1.2 宏操作符 187
9.1.3 LOCAL伪指令 189
9.1.4 宏嵌套 190
9.1.5 宏程序库 193
9.1.6 宏指令与子程序的区别 193
9.2 重复汇编和条件汇编 193
9.2.1 重复汇编 193
9.2.2 条件汇编 195
本章小结 197
习题9 197
第10章 保护模式概述 198
10.1 保护模式基础 198
10.1.1 保护模式概念 198
10.1.2 保护模式意义 199
10.1.3 实模式、保护模式、虚拟8086方式三者的比较 199
10.1.4 保护模式的存储管理机制 200
10.1.5 保护模式的保护机制 204
10.2 保护模式微处理器的寄存器结构 206
本章小结 209
习题10 209
第11章 保护模式下的程序设计 210
11.1 实模式与保护模式之间的切换 210
11.1.1 概述 210
11.1.2 实模式与保护模式切换实例 211
11.2 控制转移 223
11.2.1 任务内无特权级变换的转移 223
11.2.2 任务内不同特权级变换 225
11.2.3 任务切换 228
11.2.4 任务切换实例 229
11.3 虚拟8086(V86)模式 239
11.3.1 V86模式 239
11.3.2 进入和离开V86模式 240
本章小结 242
习题11 242
第12章 保护模式下的中断和输入/输出 243
12.1 保护模式下中断和异常 243
12.1.1 保护模式的中断和异常 243
12.1.2 中断和异常的转移方法 244
12.1.3 中断和异常处理实例 248
12.2 输入/输出保护 252
12.2.1 输入/输出保护的方法 252
12.2.2 重要标志保护 255
12.2.3 输入/输出保护实例 255
本章小结 264
习题12 264
附录A 汇编语言的上机过程 265
附录B 动态调试程序DEBUG 271
附录C 80X86/Pentium指令系统 280
附录D 常用DOS功能调用表 284
参考文献 290