32位汇编语言程序设计的目录
前言
教学建议
第1章 汇编语言基础
1.1 Intel 80x86系列处理器
1.1.1 16位80x86处理器
1.1.2 IA-32处理器
1.1.3 Intel 64处理器
1.2 个人计算机系统
1.2.1 硬件组成
1.2.2 寄存器
1.2.3 存储器组织
1.2.4 程序设计语言
1.2.5 软件系统
1.3 汇编语言程序格式
1.3.1 指令代码格式
1.3.2 语句格式
1.3.3 源程序框架
1.3.4 开发过程
第1章习题
第2章 数据表示和寻址
2.1 数据表示
2.1.1 数制
2.1.2 数值的编码
2.1.3 字符的编码
2.2 常量表达
2.3 变量应用
2.3.1 变量定义
2.3.2 变量属性
2.4 数据寻址方式
2.4.1 立即数寻址方式
2.4.2 寄存器寻址方式
2.4.3 存储器寻址方式
2.4.4 各种数据寻址方式的组合
第2章习题
第3章 通用数据处理指令
3.1 数据传送类指令
3.1.1 通用数据传送指令
3.1.2 堆栈操作指令
3.1.3 其他传送指令
3.2 算术运算类指令
3.2.1 状态标志
3.2.2 加法指令
3.2.3 减法指令
3.2.4 乘法和除法指令
3.2.5 其他运算指令
3.3 位操作类指令
3.3.1 逻辑运算指令
3.3.2 移位指令
第3章习题
第4章 程序结构
4.1 顺序程序结构
4.2 分支程序结构
4.2.1 无条件转移指令
4.2.2 条件转移指令
4.2.3 单分支程序结构
4.2.4 双分支程序结构
4.2.5 多分支程序结构
4.3 循环程序结构
4.3.1 循环指令
4.3.2 计数控制循环
4.3.3 条件控制循环
4.3.4 多重循环
第4章习题
第5章 模块化程序设计
5.1 子程序结构
5.1.1 子程序指令
5.1.2 子程序设计
5.2 参数传递
5.2.1 寄存器传递参数
5.2.2 共享变量传递参数
5.2.3 堆栈传递参数
5.3 多模块程序结构
5.3.1 源文件包含
5.3.2 模块连接
5.3.3 子程序库
5.4 宏结构
5.4.1 宏汇编
5.4.2 重复汇编
5.4.3 条件汇编
第5章习题
第6章 Windows编程
6.1 操作系统函数调用
6.1.1 动态连接库
6.1.2 MASM的过程声明和调用
6.1.3 程序退出函数
6.2 控制台应用程序
6.2.1 控制台输出
6.2.2 控制台输入
6.2.3 单字符输入
6.3 图形窗口应用程序
6.3.1 消息窗口
6.3.2 结构变量
6.3.3 MASM的高级语言特性
6.3.4 简单窗口程序
第6章习题
第7章 与Visual C++混合编程
7.1 嵌入汇编
7.2 模块连接
7.2.1 约定规则
7.2.2 堆栈帧
7.3 调用高级语言函数
7.3.1 嵌入汇编中调用高级语言函数
7.3.2 汇编语言中调用C库函数
7.4 使用Visual C++开发环境
7.4.1 汇编语言程序的开发过程
7.4.2 汇编语言程序的调试过程
第7章习题
第8章 DOS环境程序设计
8.1 DOS编程
8.1.1 实地址存储模型
8.1.2 DOS应用程序框架
8.1.3 DOS功能调用
8.2 串操作类指令
8.2.1 串传送指令
8.2.2 串检测指令
8.3 输入输出程序设计
8.3.1 输入输出指令
8.3.2 定时器初始化编程
8.3.3 扬声器控制编程
8.4 扣断控制编程
8.4.1 中断控制系统
8.4.2 内部中断服务程序
8.4.3 驻留中断服务程序
第8章习题
第9章 浮点、多媒体及64位指令
9.1 浮点指令
9.1.1 实数编码
9.1.2 浮点寄存器
9.1.3 浮点指令及其编程
9.2 多媒体指令
9.2.1 MMX技术
9.2.2 SSE技术
9.2.3 SSE2技术
9.2.4 ssE3技术
9.3 64位指令
9.3.1 64位方式的运行环境
9.3.2 64位方式的指令
第9章习题
附录A 调试程序WinDbg
附录B 输入输出子程序库
附录C 32位通用指令列表
附录D MASM伪指令和操作符列表
附录E 列表文件符号说明
附录F 常见汇编错误信息
参考文献