第1章 汇编语言基础 1
1.1 Intel 80x86系列处理器 1
1.1.1 16位80x86处理器 1
1.1.2 IA-32处理器 2
1.1.3 Intel 64处理器 3
1.2个人计算机系统 4
1.2.1硬件组成 4
1.2.2寄存器 6
1.2.3存储器组织 9
1.2.4程序设计语言 13
1.2.5软件系统 15
1.3汇编语言程序格式 18
1.3.1指令代码格式 18
1.3.2语句格式 20
1.3.3源程序框架 21
1.3.4开发过程 25
第1章习题 29
第2章 数据表示和寻址 32
2.1数据表示 32
2.1.1数制 32
2.1.2数值的编码 35
2.1.3字符的编码 37
2.2常量表达 39
2.3变量应用 41
2.3.1变量定义 41
2.3.2变量属性 46
2.4数据寻址方式 49
2.4.1立即数寻址方式 49
2.4.2寄存器寻址方式 50
2.4.3存储器寻址方式 51
2.4.4各种数据寻址方式的组合 55
第2章习题 56
第3章 通用数据处理指令 59
3.1数据传送类指令 59
3.1.1通用数据传送指令 59
3.1.2堆栈操作指令 61
3.1.3其他传送指令 63
3.2算术运算类指令 66
3.2.1状态标志 66
3.2.2加法指令 68
3.2.3减法指令 69
3.2.4乘法和除法指令 71
3.2.5其他运算指令 72
3.3位操作类指令 74
3.3.1逻辑运算指令 74
3.3.2移位指令 77
第3章习题 80
第4章 程序结构 86
4.1顺序程序结构 86
4.2分支程序结构 87
4.2.1无条件转移指令 87
4.2.2条件转移指令 90
4.2.3单分支程序结构 94
4.2.4双分支程序结构 95
4.2.5多分支程序结构 97
4.3循环程序结构 99
4.3.1循环指令 99
4.3.2计数控制循环 100
4.3.3条件控制循环 102
4.3.4多重循环 103
第4章习题 104
第5章 模块化程序设计 109
5.1子程序结构 109
5.1.1子程序指令 109
5.1.2子程序设计 112
5.2参数传递 113
5.2.1寄存器传递参数 113
5.2.2共享变量传递参数 116
5.2.3堆栈传递参数 119
5.3多模块程序结构 121
5.3.1源文件包含 122
5.3.2模块连接 124
5.3.3子程序库 125
5.4宏结构 126
5.4.1宏汇编 126
5.4.2重复汇编 132
5.4.3条件汇编 133
第5章习题 136
第6章 Windows编程 140
6.1操作系统函数调用 140
6.1.1动态连接库 140
6.1.2 MASM的过程声明和调用 141
6.1.3程序退出函数 142
6.2控制台应用程序 143
6.2.1控制台输出 143
6.2.2控制台输入 145
6.2.3单字符输入 148
6.3图形窗口应用程序 149
6.3.1消息窗口 149
6.3.2结构变量 150
6.3.3 MASM的高级语言特性 152
6.3.4简单窗口程序 159
第6章习题 166
第7章与Visual C++混合编程 169
7.1嵌入汇编 169
7.2模块连接 172
7.2.1约定规则 172
7.2.2堆栈帧 174
7.3调用高级语言函数 181
7.3.1嵌入汇编中调用高级语言函数 181
7.3.2汇编语言中调用C库函数 181
7.4使用Visual C++开发环境 183
7.4.1汇编语言程序的开发过程 183
7.4.2汇编语言程序的调试过程 184
第7章习题 187
第8章 DOS环境程序设计 191
8.1 DOS编程 191
8.1.1实地址存储模型 191
8.1.2 DOS应用程序框架 193
8.1.3 DOS功能调用 195
8.2串操作类指令 198
8.2.1串传送指令 198
8.2.2串检测指令 200
8.3输入输出程序设计 203
8.3.1输入输出指令 203
8.3.2定时器初始化编程 205
8.3.3扬声器控制编程 207
8.4中断控制编程 208
8.4.1中断控制系统 208
8.4.2内部中断服务程序 211
8.4.3驻留中断服务程序 212
第8章习题 214
第9章 浮点、多媒体及64位指令 217
9.1浮点指令 218
9.1.1实数编码 218
9.1.2浮点寄存器 221
9.1.3浮点指令及其编程 224
9.2多媒体指令 226
9.2.1 MMX技术 227
9.2.2 SSE技术 229
9.2.3 SSE2技术 230
9.2.4 SSE3技术 231
9.3 64位指令 232
9.3.1 64位方式的运行环境 233
9.3.2 64位方式的指令 234
第9章习题 235
附录A 调试程序WinDbg 238
附录B 输入输出子程序库 252
附录C 32位通用指令列表 254
附录D MASM伪指令和操作符列表 258
附录E 列表文件符号说明 260
附录F 常见汇编错误信息 261
参考文献 264