第一章 基础知识 1
1.1 汇编语言 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.2 80X86系列CPU处理器简介 3
1.2.1 8086/8088处理器 3
*1.2.2 80286微处理器 5
*1.2.3 80386微处理器 7
1.3.1 数制 10
1.3 数据类型 10
1.3.2 数据的存取 11
1.3.3 处理器数据类型 13
1.4 存储器和堆栈 15
1.4.1 存储器 15
1.4.2 堆栈 16
1.4.3 实方式下的存储器物理地址和形成 17
*1.4.4 保护方式下的存储器物理地址的形成 19
1.5 80X86系列的标志寄存器 20
习题一 23
2.1.1 寄存器寻址 25
2.1 80X86寻址方式 25
第二章 80X86寻址方式和指令系统 25
2.1.2 寄存器间接寻址 26
2.1.3 变址寻址 28
2.1.4 基址加变址寻址 30
2.1.5 立即寻址 32
2.1.6 直接寻址 33
*2.1.7 比例变址 34
*2.1.9 基址比例变址位移 35
2.1.10 跨段问题和寻址方式综合举例 35
*2.1.8 基址比例变址 35
2.2 8086/8088指令系统 38
2.2.1 数据传送指令 38
2.2.2 算术运算指令 43
2.2.3 位操作指令 52
2.2.4 串操作指令 59
2.2.5 控制转移指令 63
2.2.6 处理器控制指令 63
*2.3 80386/80486新增的指令集 73
习题二 77
3.1.1 汇编语言符号集和标识符 85
3.1 宏汇编语言表达式 85
第三章 宏汇编语言 85
3.1.2 符号常量、变量、标号 86
3.1.3 运算符、表达式 89
3.2 伪指令语句 96
3.2.1 数据定义伪指令 97
3.2.2 符号定义伪指令 97
3.2.3 段定义伪指令 99
3.2.4 假定伪指令 103
3.2.5 置汇编地址计数器伪指令 105
*3.2.7 确定80X86工作方式伪指令 106
3.2.6 源程序结束伪指令 106
3.3 常用DOS系统功能调用 107
3.3.1 输入系统基本功能调用 109
3.3.2 输出系统基本功能调用 109
3.3.3 其它功能调用 112
3.4 汇编源程序举例 112
*3.5 MASM宏汇编程序的功能 114
3.5.1 MASM的功能 114
3.5.2 汇编过程 115
3.5.3 汇编列表文件 117
习题三 119
3.5.4 符号交叉列表文件 119
4.1 概述 124
第四章 程序设计的方法和技术 124
4.2 简单程序设计 126
4.3 分支程序设计 131
4.4 循环程序设计 136
4.4.1 循环程序的结构 137
4.4.2 循环控制方法 139
4.4.3 单重循环程序设计 141
4.4.4 多重循环程序设计 153
4.5.1 概念 161
4.5 子程序设计 161
4.5.2 子程序定义格式及现场保护方法 162
4.5.3 主、子程序之间参数传递的约定 163
4.5.4 子程序设计及其调用举例 165
4.5.5 子程序的嵌套和递归 177
4.6 宏功能程序设计 182
4.6.1 宏定义和宏调用 183
4.6.2 宏定义与宏调用中的参数设置 186
*4.6.3 重复汇编和条件汇编伪指令 190
4.6.4 宏库的使用 193
4.6.5 宏指令与子程序比较 195
*4.7 模块化程序设计 196
4.7.1 模块定义与通讯伪指令 197
4.7.2 段定义伪指令 198
4.7.3 连接程序(LINK)的功能 198
4.7.4 模块化程序设计应用举例 199
习题四 204
第五章 系统中断处理技术 210
5.1 I/O端口和数据的传送方式 210
5.2.1 中断的有关概念 211
5.2 中断 211
5.2.2 IBMPC的中断源及其优先级 212
5.2.3 中断矢量表 214
5.3 软中断程序设计 215
习题五 218
第六章 定时器程序设计 219
6.1 定时器概述 219
6.1.1 日时钟定时器 219
6.2 定时系统应用 220
6.2.1 PC系列日时钟及应用 220
6.1.2 系统实时钟 220
6.2.2 PC系列实时钟及应用 225
6.2.3 随机数程序设计 226
6.3 发声系统应用 227
6.3.1 PC系统的发声原理 227
6.3.2 扬声器程序设计 228
习题六 231
第七章 显示器程序设计 233
7.1 显示器概述 233
7.2 显示器显示方式 233
7.3 显示器编程应用 234
7.4 字符显示方式应用 236
7.5 图形显示方式应用 240
习题七 242
第八章 键盘程序设计 243
8.1 概述 243
8.2 BIOS键盘缓冲区 244
8.3 键盘中断处理功能 245
8.4 键盘I/O处理功能 245
8.5 键盘中断与键盘I/O应用 246
习题八 247
9.1 文件概述 248
*第九章 磁盘文件管理 248
9.2 常用的扩充磁盘文件管理功能调用 249
9.2.1 DOS的INT21H中断调用 249
9.2.2 BIOS的磁盘信息读写方法 250
9.3 磁盘文件管理程序设计举例 251
9.3.1 DOS的INT21H操作磁盘文件 252
9.3.2 BIOS的INT13H操作磁盘文件 256
习题九 259
10.2.1 C语言调用规则 260
10.2 汇编语言与C语言的连接 260
10.1 模块化程序设计概述 260
*第十章 汇编语言与高级语言的连接 260
10.2.2 C语言调用汇编过程程序设计 261
10.3 汇编语言与PASCAL语言的连接 269
10.3.1 PASCAL语言调用规则 269
10.3.2 PASCAL语言调用汇编过程程序设计 269
习题十 272
实验 273
实验一 DEBUG的使用 273
实验二 宏汇编语言系列软件的使用 274
实验四 分支程序设计 275
实验三 简单程序设计 275
实验五 循环程序设计 276
实验六 多重循环程序设计 277
实验七 子程序设计 277
实验八 宏功能程序设计 278
实验九 中断程序设计 278
实验十 定时器中断调用程序设计 279
实验十一 显示器中断调用程序设计 279
实验十二 键盘中断调用程序设计 280
*实验十三 磁盘文件管理程序设计 280
*实验十四 汇编语言与高级语言的连接 281
附录 282
附录一 ASCII码字符表 282
附录二 80X86指令表 283
附录三 MASM伪指令表 298
附录四 DOS的软件中断与系统功能调用 303
附录五 常用BIOS子程序的功能及其调用参数 308
附录六 调试程序DEBUG 313
附录七 错误信息表 316
参考文献 321