1.1 新一代微机系统简介 1
1.1.1 计算机系统概述 1
第一章 新一代汇编语言程序设计概述 1
1.1.2 Pentium处理器特性 3
1.1.3 Pentium工作方式 5
1.1.4 Pentium扩展技术 8
1.2 数据库表示与类型 9
1.2.1 数值数据表示 9
1.2.2 BCD码数据表示 11
1.2.3 非数值数据表示 11
1.2.4 基本数据类型 13
1.3.1 汇编语言相关特征 14
1.3 汇编语言基本概念 14
1.3.2 汇编语句行基本知识 17
1.3.3 汇编语言源程序示例 18
习题一 21
第二章 32位PC汇编程序设计环境 22
2.1 32位可编程序寄存器体系 22
2.1.1 通用寄存器 22
2.1.2 基本控制寄存器 24
2.1.3 32位的相关寄存器 26
2.2 实方式存储器寻址机制 27
2.2.1 存储单元的地址和内容 27
2.2.2 存储器分段寻址 29
2.2.3 段的分配方式 30
2.3.1 堆栈概念 32
2.3.2 堆栈操作原则 32
2.3 堆栈存储技术 32
2.3.3 堆栈操作示例 33
2.4 程序汇编连接与调试方法 34
2.4.1 程序编辑 34
2.4.2 汇编与连接执行 36
2.4.3 程序跟踪调试方法 41
习题二 45
3.1 指令的基本寻址方式 47
3.1.1 指令的基本格式 47
第三章 实方式指令寻址与指令系统 47
3.1.2 数据寻址方式 48
3.1.3 数据寻址与数据结构的关系 53
3.1.4 程序转移寻址 54
3.2 实方式32位指令寻址 57
3.2.1 数据与地址类型 57
3.2.2 32位的指令寻址方式 57
3.2.3 实地址32位指令寻址 58
3.3 实方式指令系统 60
3.3.1 常用指令类型集 60
3.3.2 数据传送类指令 61
3.3.3 逻辑和移位指令 65
3.4.1 DOS子程序调用方式 69
3.4 字符设备I/O功能调用 69
3.4.2 单字符输入/输出调用 70
3.4.3 多字符输入显示输出 71
习题三 72
第四章 高级汇编语言的语法 74
4.1 汇编语句的表达式 74
4.1.1 汇编语言语句格式 74
4.1.2 数值表达式 75
4.1.3 标号变量与地址表达式 77
4.1.4 特殊运算符 78
4.2 汇编伪指令语句 82
4.2.1 方式伪指令 82
4.2.2 数据与符号定义伪指令 83
4.2.3 段定义与段管理伪指令 87
4.3 宏功能语句 90
4.3.1 宏指令和宏库 90
4.3.2 重复块语句 96
4.3.3 条件汇编与列表控制 98
4.4 模块连接及记录结构 100
4.4.1 程序模块间的符号通信 100
4.4.2 多模块程序文件的连接操作 102
4.4.3 子程序库的利用及管理 103
4.4.4 记录与结构 104
习题四 107
5.1 程序设计的基本步骤 110
第五章 程序设计的基本方法 110
5.2 顺序程序设计 111
5.2.1 算术运算指令 111
5.2.2 处理机控制指令 120
5.2.3 顺序程序设计方法 122
5.3 分支程序设计 126
5.3.1 转移指令 126
5.3.2 分支程序的结构形式 129
5.3.3 分支程序设计方法 130
5.4 循环程序设计 139
5.4.1 循环程序的结构 139
5.4.2 循环控制方法 139
5.4.3 单重循环程序设计 142
5.4.4 多重循环程序设计 150
5.5 算术运算与代码转换程序设计 152
5.5.1 算术运算程序设计 152
5.5.2 代码转换程序设计 155
习题五 160
第六章 子程序设计技术 162
6.1 子程序的概念 162
6.2 子程序的一般设计方法 163
6.2.1 子程序的调用和返回指令 163
6.2.2 过程定义 166
6.2.3 现场保护和恢复 168
6.2.4 子程序参数传递方法 169
6.3 嵌套与递归子程序 183
6.3.1 子程序的嵌套 183
6.3.2 递归子程序 187
6.4 COM文件的编制 191
习题六 193
第七章 实用程序设计 196
7.1 线性表的检索程序 196
7.1.1 线性表检索方法 196
7.1.2 顺序检索程序 197
7.1.3 二分查找程序 200
7.2.1 排序方法 203
7.2 排序程序 203
7.2.2 冒泡排序 204
7.3 串操作指令与加密解密程序 207
7.3.1 串操作指令的共性 207
7.3.2 串操作指令与查表转换指令 207
7.3.3 加密解密程序 210
习题七 214
第八章 DOS高级调用程序设计 215
8.1 磁盘文件管理1程序 215
8.1.1 扩展磁盘文件管理有关概念 215
8.1.2 常用扩展磁盘文件管理系统功能调用 216
8.1.3 扩展文件管理程序示例 219
8.2.1 取/置日期与时间功能调用 222
8.2 时钟程序 222
8.2.2 时钟程序 223
8.3 驻留程序 224
8.3.1 程序驻留的功能调用 224
8.3.2 驻留程序的编制 225
习题八 227
第九章 BIOS中断调用程序设计 229
9.1 中断 229
9.1.1 中断和中断源 229
9.1.2 中断类型码和中断向量表 229
9.2 BIOS中断调用 230
9.2.1 显示器I/O中断调用 230
9.2.3 打印机I/O中断调用 234
9.2.2 键盘I/O中断调用 234
9.3 显示控制程序 235
9.3.1 写彩色字符程序 235
9.3.2 写彩色图形程序 242
习题九 244
第十章 输入/输出程序设计 245
10.1 I/O指令寻址与数据传送 245
10.1.1 I/O指令端口寻址 246
10.1.2 直接程序控制输入/输出方式 247
10.1.3 程序查询输入/输出方式 249
10.1.4 中断输入/输出方式 253
10.1.5 数据通道输入/输出方式 259
10.2.1 键盘接口程序设计 262
10.2 I/O接口程序设计 262
10.2.2 打印机接口程序设计 264
10.3 发声与异步通信程序设计 266
10.3.1 发声系统程序设计 266
10.3.2 异步通信程序设计 269
10.4 汇编语言与高级语言的混合编程 279
10.4.1 嵌入汇编的方法 280
10.4.2 调用汇编的方法 281
习题十 284
第十一章 保护虚拟机制及其程序设计 285
11.1 保护程序环境 285
11.1.1 保护方式 285
11.1.2 分段管理机制 287
11.1.3 分页管理机制 290
11.1.4 多任务保护机制 292
11.2 特殊指令集 294
11.2.1 实方式可执行的指令 294
11.2.2 保护方式可执行的指令 297
11.2.3 特权指令 300
11.3 实方式与保护方式切换示例 301
11.3.1 实方式与保护方式切换示例 301
11.3.2 32位与16位代码切换示例 306
11.4 虚拟86程序 312
11.4.1 V86方式与敏感指令 312
11.4.2 V86方式的使用 314
习题十一 318
第十二章 多媒体汇编指令及其编程 319
12.1 MMX指令 319
12.1.1 MMX指令需求与数据结构 319
12.1.2 MMX指令格式与分类传送 321
12.1.3 算术运算、比较与类型转算指令 324
12.1.4 逻辑运算、移位与状态清除指令 327
12.2 MMX程序设计 328
12.2.1 使用MMX指令的注意事项 328
12.2.2 MMX程序示例 329
12.3 SSE指令介绍 331
12.3.1 SIMD浮点指令寄存器 332
12.3.2 SIMD浮点指令 333
12.3.3 SIMD整数指令 341
12.3.4 高速缓存优化处理指令 343
习题十二 345
附录 346
附录一 指令表 346
附录二 伪指令表 351
附录三 MSDOS与BIOS调用表 354
附录四 DEBUG命令表 365
附录五 汇编期间错误信息表 366
附录六 中断类型码分配表 370
参考文献 372