第1章 Intel8086/8088的基本结构 1
1.1 8086/8088的功能结构 1
目录 1
1.2 8086/8088的寄存器结构 2
1.3 堆栈与存储器结构 4
1.3.1 堆栈 5
1.3.2 存储器结构 5
习题一 8
2.1 寻址方式 10
第2章 8086/8088的寻址方式和指令系统 10
2.2 指令系统 15
2.2.1 数据传送指令 15
2.2.2 算术运算指令 20
2.2.3 逻辑运算和移位指令 27
2.2.4 .串操作指令 32
2.2.5 标志位设置指令与处理机控制指令 36
习题二 38
3.1.1 汇编程序功能 40
3.1.2 上机过程 40
3.1 汇编程序功能及上机过程 40
第3章 汇编语言与汇编程序 40
3.2 汇编语言源程序的结构与书写格式 42
3.3 汇编语言语句格式与分类 44
3.4 常量、变量、标号、运算符和表达式 44
3.4.1 常量 44
3.4.2 变量 45
3.4.3 标号 45
3.4.4 运算符和表达式 46
3.4.5 运算符的优先级 47
3.5.1 符号定义伪指令 48
3.5 伪指令 48
3.5.2 数据定义伪指令 49
3.5.3 段定义伪指定 55
3.6 条件汇编 61
3.7 宏指令 62
3.7.1 宏定义与宏调用 63
3.7.2 重复汇编 67
3.8 结构与记录 69
3.8.1 结构 69
3.8.2 记录 71
习题三 74
4.1.3 循环结构 76
4.1.2 分支结构 76
第4章 汇编语言程序设计的基本方法 76
4.1.1 顺序结构 76
4.1 程序的几种基本结构 76
4.2 顺序程序设计 77
4.3 分支程序设计 77
4.3.1 转移指令 78
4.3.2 分支程序设计方法 82
4.4 循环程序设计 88
4.4.1 循环控制指令 89
4.4.2 循环程序设计方法 90
4.4.3 多重循环程序设计 93
4.5 子程序设计 96
4.5.1 调用与返回指令 96
4.5.2 子程序的编写方法 99
4.5.3 子程序的嵌套调用与递归调用 108
4.6 DOS系统功能调用 113
4.6.1 系统功能调用概述 113
4.6.2 系统功能调用方法 113
4.7 EXE文件与COM文件 115
4.7.1 EXE文件 116
4.7.2 COM文件 117
4.8 多模块程序设计 121
4.9 程序举例 124
习题四 131
第5章 输入/输出与中断系统 133
5.1 输入/出基础 133
5.1.1 I/O接口信息 133
5.1.2 I/O寻址及端口地址分配 133
5.1.3 数据传送方式 134
5.2 直接控制的I/O程序设计 135
5.2.2 I/O程序设计 136
5.2.1 输入/输出指令 136
5.3 中断程序设计 142
5.3.1 80×86中断方式 142
5.3.2 可屏蔽中断 144
5.3.3 中断向量表 146
5.3.4 中断程序设计 147
5.4 键盘I/O 155
5.4.1 扫描码和ASCⅡ码 155
5.4.2 BIOS和DOS键盘中断功能 157
5.5.1 文本显示模式I/O 161
5.5 显示器I/O 161
5.5.2 图形显示模式I/O 165
5.6 打印机I/O 172
5.6.1 打印中断调用 172
5.6.2 打印机控制符与状态字节 173
5.7 串行通信口I/O 175
5.7.1 串行通信传输格式及参数 176
5.7.2 BIOS和DOS的串行通信功能调用 176
5.8 磁盘文件I/O 179
5.8.1 文件控制块(FCB)磁盘存取方式 180
5.8.2 文件代号磁盘文件存取方式 184
习题五 191
第6章 32位汇编程序设计 192
6.1 32位处理器结构 192
6.1.1 32位处理器功能结构 192
6.1.2 32位处理器寄存器结构 195
6.2 32位处理器指令系统 199
6.2.1 8086扩展指令 199
6.2.2 32位保护控制指令 200
6.2.3 32位扩展指令的应用 206
6.3.1 32位处理器的实地址模式 210
6.3 32位处理器工作方式 210
6.3.2 32位处理器保护虚地址模式 211
6.3.3 中断系统 222
6.3.4 虚拟8086模式 224
6.4 保护模式的汇编程序设计 226
6.4.1 实地址模式到保护模式的切换 227
6.4.2 保护模式到实地址模式的切换 229
习题六 237
7.1 Win32汇编语言程序设计基础 238
7.1.1 源程序结构 238
第7章 Win32汇编语言程序设计 238
7.1.2 源程序的模式与段定义 239
7.1.3 API函数的使用 241
7.2 Win32汇编语言的基本语法 243
7.2.1 标号和变量 243
7.2.2 子程序设计 245
7.2.3 高级语法 249
7.2.4 建立Win32汇编的编程环境 253
7.3 Win32窗口程序设计简介 255
7.3.1 Win32窗口程序示例 255
7.3.2 窗口程序的运行过程 259
7.3.3 窗口程序的主要代码分析 260
7.4.1 嵌入式汇编语言指令及编程方法 264
7.4 汇编语言与VC++的混合编程 264
7.4.2 VC++调用汇编语言子程序的方法 267
习题七 269
第8章 高级汇编程序设计 271
8.1 MMX指令程序设计 271
8.1.1 MMX指令 271
8.1.2 MMX指令格式 272
8.1.3 MMX程序设计 276
8.2.1 SIMD浮点指令寄存器 279
8.2 SSE指令程序设计 279
8.2.2 SIMD浮点指令 280
8.2.3 SIMD整数指令 285
8.2.4 高速缓存优化处理指令 287
8.2.5 SSE指令程序设计 288
8.3 SSE2指令系统 290
习题八 291
第9章 80×87协处理器及程序设计 292
9.1 80×87概述 292
9.2 80×87的结构 293
9.2.1 8087的功能结构 294
9.2.2 80287和80387的功能结构 295
9.2.3 寄存器栈与特征字 295
9.2.4 状态字 296
9.2.5 控制字和事故指示器 300
9.3 80×87的数字系统及数据格式 303
9.3.1 80×87的数字系统 303
9.3.2 80×87的数据格式 303
9.4 80×87指令系统 305
9.4.2 算术运算指令 306
9.4.1 数据传送指令 306
9.4.3 比较指令 308
9.4.4 超越函数指令 309
9.4.5 常数装入指令 309
9.4.6 协处理器控制指令 309
9.5 程序举例 310
习题九 315
附录一 ASCII码字符集 316
附录二 DEBUG命令及使用方法 317
附录三 部分INT21H系统功能调用 325
参考文献 330