计算机
类型
可以朗读
语音朗读
465千字
字数
2023-12-01
发行日期
展开全部
主编推荐语
深入介绍×86-64处理器的指令集(使用MASM)。
内容简介
本书源于作者的经典书籍The Art of Assembly Language,从32位汇编语言升级为64位汇编语言,基于Microsoft宏汇编程序(MASM)讲解x86-64 CPU上汇编语言的编程艺术。
本书从计算机的组成结构开始介绍,包括计算机数据表示和运算,以及内存的访问和组织等。之后详细讲解汇编语言程序设计,涉及过程和算术运算的相关知识,再通过低级控制结构过渡到高级主题,如表查找和位操作。
此外,还探索了x87浮点单元、SIMD指令,以及MASM的宏工具。书中的程序清单均可免费下载,供读者即学即用。本书适合计算机专业的学生、相关领域的从业人员以及对汇编语言感兴趣的技术人员阅读。
目录
- 版权信息
- 内容提要
- 译者序
- 推荐序
- 前言
- 致谢
- 第一部分 计算机的组成结构
- 第1章 汇编语言的第一个程序
- 1.1 先决条件
- 1.2 在计算机上安装MASM
- 1.3 在计算机上安装文本编辑器
- 1.4 MASM程序的结构剖析
- 1.5 运行第一个MASM程序
- 1.6 运行第一个MASM和C++的混合程序
- 1.7 英特尔x86-64 CPU系列简介
- 1.8 内存子系统
- 1.9 在MASM中声明内存变量
- 1.10 在MASM中声明(命名)常量
- 1.11 基本的机器指令
- 1.12 调用C/C++过程
- 1.13 “Hello,world!”程序
- 1.14 在汇编语言中返回函数结果
- 1.15 自动化构建过程
- 1.16 微软ABI注释
- 1.17 拓展阅读资料
- 1.18 自测题
- 第2章 计算机数据表示和运算
- 2.1 数制系统
- 2.2 十六进制数制系统
- 2.3 关于数字与表示的注释
- 2.4 数据组织
- 2.5 位的逻辑运算
- 2.6 二进制数和位串的逻辑运算
- 2.7 有符号数和无符号数
- 2.8 符号扩展和零扩展
- 2.9 符号缩减和饱和法
- 2.10 简要回顾:控制转移指令概述
- 2.11 移位和循环移位
- 2.12 位字段和打包数据
- 2.13 IEEE浮点数格式
- 2.14 BCD表示法
- 2.15 字符
- 2.16 Unicode字符集
- 2.17 MASM对Unicode的支持
- 2.18 拓展阅读资料
- 2.19 自测题
- 第3章 内存的访问和组织
- 3.1 运行时的内存组织
- 3.2 MASM如何为变量分配内存
- 3.3 标签声明
- 3.4 小端模式和大端模式的数据组织方式
- 3.5 内存访问
- 3.6 MASM对数据对齐的支持
- 3.7 x86-64的寻址模式
- 3.8 地址表达式
- 3.9 栈段以及push和pop指令
- 3.10 栈
- 3.11 其他push和pop指令
- 3.12 不通过弹出栈从栈中移除数据
- 3.13 不通过弹出栈访问压入栈的数据
- 3.14 微软ABI注释
- 3.15 拓展阅读资料
- 3.16 自测题
- 第4章 常量、变量和数据类型
- 4.1 imul指令
- 4.2 inc和dec指令
- 4.3 MASM常量声明
- 4.4 MASM typedef语句
- 4.5 类型强制
- 4.6 指针数据类型
- 4.7 复合数据类型
- 4.8 字符串
- 4.9 数组
- 4.10 多维数组
- 4.11 记录/结构
- 4.12 联合
- 4.13 微软ABI注释
- 4.14 拓展阅读资料
- 4.15 自测题
- 第二部分 汇编语言程序设计
- 第5章 过程
- 5.1 实现过程
- 5.2 保存机器的状态(一)
- 5.3 过程和栈
- 5.4 局部(自动)变量
- 5.5 参数
- 5.6 调用约定和微软ABI
- 5.7 微软ABI和微软调用约定
- 5.8 函数和函数的返回结果
- 5.9 递归
- 5.10 过程指针
- 5.11 过程参数
- 5.12 保存机器的状态(二)
- 5.13 微软ABI注释
- 5.14 拓展阅读资料
- 5.15 自测题
- 第6章 算术运算
- 6.1 x86-64整数算术指令
- 6.2 算术表达式
- 6.3 逻辑(布尔)表达式
- 6.4 机器和算术运算的习惯用法
- 6.5 浮点算术运算
- 6.6 将浮点数表达式转换为汇编语言
- 6.7 SSE浮点数算术运算
- 6.8 拓展阅读资料
- 6.9 自测题
- 第7章 低级控制结构
- 7.1 语句标签
- 7.2 无条件控制转移
- 7.3 条件跳转指令
- 7.4 “蹦床”
- 7.5 条件移动指令
- 7.6 使用汇编语言实现通用控制结构
- 7.7 状态机和间接跳转
- 7.8 循环结构
- 7.9 循环结构的性能改进
- 7.10 拓展阅读资料
- 7.11 自测题
- 第8章 高级算术运算
- 8.1 扩展精度运算
- 8.2 对不同大小的操作数进行运算
- 8.3 十进制算术运算
- 8.4 拓展阅读资料
- 8.5 自测题
- 第9章 数值转换
- 9.1 将数值转换为字符串
- 9.2 字符串到数值的转换例程
- 9.3 拓展阅读资料
- 9.4 自测题
- 第10章 表查找
- 10.1 表
- 10.2 拓展阅读资料
- 10.3 自测题
- 第11章 SIMD指令
- 11.1 SSE/AVX体系结构
- 11.2 流数据类型
- 11.3 使用cpuid区分指令集
- 11.4 完整的段语法和段对齐
- 11.5 SSE、AVX和AVX2内存操作数对齐
- 11.6 SIMD数据移动指令
- 11.7 混排和解包指令
- 11.8 SIMD算术和逻辑运算
- 11.9 SIMD逻辑(按位操作)指令
- 11.10 SIMD整数算术指令
- 11.11 SIMD浮点算术运算
- 11.12 SIMD浮点比较指令
- 11.13 浮点转换指令
- 11.14 对齐SIMD内存访问
- 11.15 对齐字、双字和四字对象的地址
- 11.16 使用相同值的几个副本填充XMM寄存器
- 11.17 将一些常用常量加载到XMM和YMM寄存器中
- 11.18 设置、清除、反转和测试SSE寄存器中的单个位
- 11.19 使用单个递增索引来处理两个向量
- 11.20 将两个地址对齐到同一个内存边界
- 11.21 处理长度不是SSE/AVX寄存器大小倍数的数据块
- 11.22 CPU功能的动态测试
- 11.23 MASM include伪指令
- 11.24 其他SIMD指令
- 11.25 拓展阅读资料
- 11.26 自测题
- 第12章 位操作
- 12.1 什么是位数据
- 12.2 操作位的指令
- 12.3 作为位累加器的进位标志位
- 12.4 位串的打包和解包
- 12.5 提取位和创建位掩码的BMI1指令
- 12.6 合并位集和分配位串
- 12.7 使用BMI2指令合并和分配位串
- 12.8 打包的位串数组
- 12.9 查找位
- 12.10 统计位的个数
- 12.11 反转位串
- 12.12 合并位串
- 12.13 提取位串
- 12.14 搜索位模式
- 12.15 拓展阅读资料
- 12.16 自测题
- 第13章 宏和MASM编译时语言
- 13.1 编译时语言的概述
- 13.2 echo和“.err”伪指令
- 13.3 编译时常量和变量
- 13.4 编译时表达式和运算符
- 13.5 条件汇编(编译时决策)
- 13.6 重复汇编(编译时循环)
- 13.7 宏(编译时过程)
- 13.8 标准宏
- 13.9 宏参数
- 13.10 宏中的局部符号
- 13.11 exitm伪指令
- 13.12 MASM宏函数语法
- 13.13 宏作为编译时过程和函数
- 13.14 编写编译时“程序”
- 13.15 模拟高级语言的过程调用
- 13.16 调用宏
- 13.17 高级宏参数解析
- 13.18 使用宏编写宏
- 13.19 编译时程序的性能
- 13.20 拓展阅读资料
- 13.21 自测题
- 第14章 串指令
- 14.1 x86-64串指令
- 14.2 x86-64串指令的性能
- 14.3 SIMD串指令
- 14.4 对齐和MMU页
- 14.5 拓展阅读资料
- 14.6 自测题
- 第15章 管理复杂的项目
- 15.1 include伪指令
- 15.2 忽略重复包含的操作
- 15.3 汇编单元和外部伪指令
- 15.4 MASM中的头文件
- 15.5 externdef伪指令
- 15.6 分离式编译
- 15.7 makefile简介
- 15.8 微软链接器和库代码
- 15.9 对象文件和库文件对程序大小的影响
- 15.10 拓展阅读资料
- 15.11 自测题
- 第16章 独立的汇编语言程序
- 16.1 独立的“Hello,world!”程序
- 16.2 头文件和Windows接口
- 16.3 Win32 API和Windows ABI
- 16.4 构建独立的控制台应用程序
- 16.5 构建独立的GUI应用程序
- 16.6 Windows API的MessageBox函数概述
- 16.7 Windows文件I/O
- 16.8 Windows应用程序
- 16.9 拓展阅读资料
- 16.10 自测题
- 附录A 安装和使用Visual Studio
- 附录B 自测题参考答案
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。