《新版汇编语言程序设计》是电子工业出版社出版的图书,作者是钱晓捷。
本书以Intel 80x86指令系统和MASM 6.x为主体,全面而系统地介绍16/32位整数、浮点、多媒体指令的汇编语言程序设计方法。全书可分为基础和提高两部分。前5章作为基础部分,以当前“汇编语言程序设计”课程的教学为目标,为读者讲解16位基本整数指令及其汇编语言程序设计的知识。基础部分的主要内容是:汇编语言程序设计的基础知识,8086指令详解,MASM伪指令和操作符,程序格式,程序结构及其设计方法。后4章为提高部分,从不同的方面介绍汇编语言程序设计的深入内容和实际应用知识。提高部分各章的内容相对独立,主要有:32位80x86 CPU的整数指令系统及其编程,汇编语言与C/C++的混合编程,80x87 FPU的浮点指令系统及其编程,多媒体扩展指令系统及其编程,64位指令简介。
本书可作为高等院校《汇编语言程序设计》课程的教材或参考书,主要读者为计算机及相关学科的本科和高职、高专学生。本书内容广博、语言浅显、结构清晰、实例丰富,也适合于电子、自动控制等专业的高校学生和成教学生,计算机应用开发人员,深入学习微机应用技术的普通读者等
目录
- 第1章 汇编语言基础知识?
- 1.1 计算机系统概述?
- 1.1.1 计算机的硬件?
- 1.1.2 计算机的软件?
- 1.1.3 计算机的程序设计语言?
- 1.2 数据表示?
- 1.2.1 数制?
- 1.2.2 编码?
- 1.2.3 有符号数的表示法?
- 1.2.4 二进制运算?
- 1.3 Intel 80x86系列微处理器?
- 1.4 微型计算机(PC)系统?
- 1.5 8086微处理器?
- 1.5.1 8086的功能结构?
- 1.5.2 8086的寄存器?
- 1.5.3 存储器组织与段寄存器?
- 1.6 8086的寻址方式?
- 1.6.1 8086的机器代码格式?
- 1.6.2 立即数寻址方式?
- 1.6.3 寄存器寻址方式?
- 1.6.4 存储器寻址方式?
- 习题1?
- 第2章 8086的指令系统
- 2.1 数据传送类指令?
- 2.1.1 通用数据传送指令?
- 2.1.2 堆栈操作指令?
- 2.1.3 标志传送指令?
- 2.1.4 地址传送指令?
- 2.1.5 输入输出指令?
- 2.2 算术运算类指令?
- 2.2.1 加法指令?
- 2.2.2 减法指令?
- 2.2.3 乘法指令?
- 2.2.4 除法指令?
- 2.2.5 符号扩展指令?
- 2.2.6 十进制调整指令?
- 2.3 位操作类指令?
- 2.3.1 逻辑运算指令?
- 2.3.2 移位指令?
- 2.3.3 循环移位指令?
- 2.4 控制转移类指令?
- 2.4.1 无条件转移指令?
- 2.4.2 条件转移指令?
- 2.4.3 循环指令?
- 2.4.4 子程序指令?
- 2.4.5 中断指令?
- 2.4.6 系统功能调用?
- 2.5 串操作类指令?
- 2.6 处理机控制类指令?
- 习题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.3 程序段的定义和属性?
- 3.3.1 DOS的程序结构?
- 3.3.2 简化段定义的格式?
- 3.3.3 完整段定义的格式?
- 3.4 复杂数据结构?
- 3.4.1 结构?
- 3.4.2 记录?
- 习题3?
- 第4章 基本汇编语言程序设计
- 4.1 顺序程序设计?
- 4.2 分支程序设计?
- 4.3 循环程序设计?
- 4.4 子程序设计?
- 4.4.1 过程定义伪指令?
- 4.4.2 子程序的参数传递?
- 4.4.3 子程序的嵌套、递归与重入?
- 4.4.4 子程序的应用?
- 习题4?
- 第5章 高级汇编语言程序设计
- 5.1 高级语言特性?
- 5.1.1 条件控制伪指令?
- 5.1.2 循环控制伪指令?
- 5.1.3 过程声明和过程调用伪指令?
- 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章 32位指令及其编程
- 6.1 32位指令运行环境?
- 6.1.1 寄存器?
- 6.1.2 寻址方式?
- 6.1.3 机器代码格式?
- 6.2 32位扩展指令?
- 6.2.1 数据传送类指令?
- 6.2.2 算术运算类指令?
- 6.2.3 位操作类指令?
- 6.2.4 串操作类指令?
- 6.2.5 控制转移类指令?
- 6.3 32位指令的程序设计?
- 6.4 32位新增指令?
- 6.4.1 80386新增指令?
- 6.4.2 80486新增指令?
- 6.4.3 Pentium新增指令?
- 6.4.4 Pentium Pro新增指令?
- 6.5 用汇编语言编写32位Windows应用程序?
- 6.5.1 32位Windows应用程序的特点?
- 6.5.2 32位Windows控制台程序?
- 6.5.3 MASM32开发环境?
- 6.5.4 创建消息窗口?
- 6.5.5 创建窗口应用程序?
- 习题6?
- 第7章 汇编语言与C/C++的混合编程
- 7.1 Turbo C嵌入汇编方式?
- 7.1.1 嵌入汇编语句的格式?
- 7.1.2 汇编语句访问C语言的数据?
- 7.1.3 嵌入汇编的编译过程?
- 7.2 Turbo C模块连接方式?
- 7.2.1 混合编程的约定规则?
- 7.2.2 汇编模块的编译和连接?
- 7.2.3 混合编程的参数传递?
- 7.2.4 汇编语言程序对C语言程序的调用?
- 7.3 汇编语言在Visual C++中的应用?
- 7.3.1 嵌入汇编语言指令?
- 7.3.2 调用汇编语言过程?
- 7.3.3 使用汇编语言优化C++代码?
- 7.3.4 使用Visual C++开发汇编语言程序?
- 习题7?
- 第8章 80x87浮点指令及其编程
- 8.1 浮点数据格式?
- 8.1.1 实数和浮点格式?
- 8.1.2 80x87的数据格式?
- 8.2 浮点寄存器?
- 8.3 浮点指令的程序设计?
- 8.3.1 浮点传送类指令?
- 8.3.2 算术运算类指令?
- 8.3.3 超越函数类指令?
- 8.3.4 浮点比较类指令?
- 8.3.5 FPU控制类指令?
- 习题8?
- 第9章 多媒体指令及其编程
- 9.1 MMX指令系统?
- 9.1.1 MMX的数据结构?
- 9.1.2 MMX指令?
- 9.1.3 MMX指令的程序设计?
- 9.2 SSE指令系统?
- 9.2.1 SIMD浮点指令?
- 9.2.2 SIMD整数指令?
- 9.2.3 高速缓存优化处理指令?
- 9.2.4 SSE指令的程序设计?
- 9.3 SSE2指令系统?
- 9.3.1 SSE2的数据类型?
- 9.3.2 SSE2浮点指令?
- 9.3.3 SSE2扩展指令?
- 9.3.4 SSE2指令的程序设计?
- 9.4 SSE3指令系统?
- 9.4.1 SSE3指令?
- 9.4.2 SSE3指令的程序设计?
- 习题9?
- 第10章 64位指令简介
- 10.1 64位方式的运行环境?
- 10.2 64位方式的指令?
- 附录A 调试程序CodeView
- 附录B 汇编程序MASM的伪指令和操作符
- 附录C 80x86整数指令系统
- 附录D 输入输出子程序库IO.LIB
- 参考文献