现代X86汇编语言程序设计

现代X86汇编语言程序设计
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] ,
2016-10
版次: 1
ISBN: 9787111542780
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 477页
字数: 450千字
56人买过
  •   本书从应用编程的角度解释x86处理器的内部架构和执行环境,全面介绍如何用x86汇编语言编写可被高级语言调用的函数。主要内容包括:x86-32核心架构(第1章和第2章),x87浮点单元(第3章和第4章),MMX技术(第5章和第6章),流式SIMD扩展(第7章至第11章),高级向量扩展(第12章至第16章),x86-64核心架构(第17章和第18章),x86-64SSE和AVX(第19章和第20章),高级主题(第21章和第22章)。书中包含了大量的示例代码,以帮助读者快速理解x86汇编语言编程和x86平台的计算资源。本书可作为高等院校计算机及相关专业学生的教材,也可供想要学习x86汇编语言编程的软件开发者使用。 出版者的话 
    译者序 
    前言 
    关于技术审校者 
    第1章x86-32核心架构 1 
    1.1 简史 1 
    1.2 数据类型 3 
    1.2.1 基本数据类型 3 
    1.2.2 数值数据类型 4 
    1.2.3 组合数据类型 5 
    1.2.4 其他数据类型 6 
    1.3 内部架构 6 
    1.3.1 段寄存器 7 
    1.3.2 通用寄存器 7 
    1.3.3 EFLAGS寄存器 8 
    1.3.4 指令指针 9 
    1.3.5 指令操作数 9 
    1.3.6 内存寻址模式 10 
    1.4 指令集浏览 11 
    1.4.1 数据传输 13 
    1.4.2 二进制算术 13 
    1.4.3 数据比较 14 
    1.4.4 数据转换 14 
    1.4.5 逻辑运算 14 
    1.4.6 旋转和移位 15 
    1.4.7 字节设置和二进制位串 15 
    1.4.8 串 16 
    1.4.9 标志操纵 16 
    1.4.10 控制转移 17 
    1.4.11 其他指令 17 
    1.5 总结 17 
    第2章x86-32核心编程 18 
    2.1 开始 18 
    2.1.1 第一个汇编语言函数 19 
    2.1.2 整数乘法和除法 22 
    2.2 x86-32编程基础 24 
    2.2.1 调用约定 25 
    2.2.2 内存寻址模式 28 
    2.2.3 整数加法 31 
    2.2.4 条件码 34 
    2.3 数组 38 
    2.3.1 一维数组 39 
    2.3.2 二维数组 42 
    2.4 结构体 47 
    2.4.1 简单结构体 47 
    2.4.2 动态结构体创建 50 
    2.5 字符串 52 
    2.5.1 字符计数 52 
    2.5.2 字符串拼接 54 
    2.5.3 比较数组 57 
    2.5.4 反转数组 60 
    2.6 总结 62 
    第3章x87浮点单元 63 
    3.1 x87 FPU核心架构 63 
    3.1.1 数据寄存器 63 
    3.1.2 x87 FPU专用寄存器 64 
    3.1.3 x87 FPU操作数和编码 65 
    3.2 x87 FPU指令集 68 
    3.2.1 数据传输 68 
    3.2.2 基本运算 69 
    3.2.3 数据比较 70 
    3.2.4 超越函数 71 
    3.2.5 常量 71 
    3.2.6 控制 72 
    3.3 总结 72 
    第4章x87 FPU编程 73 
    4.1 x87 FPU编程基础 73 
    4.1.1 简单计算 73 
    4.1.2 浮点比较 76 
    4.2 x87 FPU高级编程 79 
    4.2.1 浮点数组 79 
    4.2.2 超越指令(超越函数指令) 84 
    4.2.3 栈的高级应用 87 
    4.3 总结 92 
    第5章MMX技术 93 
    5.1 SIMD处理概念 93 
    5.2 回绕和饱和运算 94 
    5.3 MMX执行环境 95 
    5.4 MMX指令集 96 
    5.4.1 数据传输 97 
    5.4.2 算术运算 97 
    5.4.3 比较 98 
    5.4.4 转换 99 
    5.4.5 逻辑和位移 99 
    5.4.6 解组和重排 99 
    5.4.7 插入和提取 100 
    5.4.8 状态和缓存控制 100 
    5.5 总结 100 
    第6章MMX技术编程 101 
    6.1 MMX编程基础 101 
    6.1.1 组合整型加法 102 
    6.1.2 组合整型移位 108 
    6.1.3 组合整型乘法 111 
    6.2 MMX高级编程 113 
    6.2.1 整数数组处理 114 
    6.2.2 使用MMX和x87 FPU 120 
    6.3 总结 125 
    第7章流式SIMD扩展 126 
    7.1 x86-SSE概览 126 
    7.2 x86-SSE执行环境 127 
    7.2.1 x86-SSE寄存器组 127 
    7.2.2 x86-SSE数据类型 128 
    7.2.3 x86-SSE的控制-状态寄存器 128 
    7.3 x86-SSE处理技术 129 
    7.4 x86-SSE指令集概览 132 
    7.4.1 标量浮点数据传输 133 
    7.4.2 标量浮点算术运算 133 
    7.4.3 标量浮点比较 134 
    7.4.4 标量浮点转换 134 
    7.4.5 组合浮点数据传输 135 
    7.4.6 组合浮点算术运算 135 
    7.4.7 组合浮点比较 136 
    7.4.8 组合浮点转换 136 
    7.4.9 组合浮点重排和解组 137 
    7.4.10 组合浮点插入和提取 137 
    7.4.11 组合浮点混合 137 
    7.4.12 组合浮点逻辑 138 
    7.4.13 组合整数扩展 138 
    7.4.14 组合整数数据传输 138 
    7.4.15 组合整数算术运算 139 
    7.4.16 组合整数比较 139 
    7.4.17 组合整数转换 139 
    7.4.18 组合整数重排和解组 140 
    7.4.19 组合整数插入和提取 140 
    7.4.20 组合整数混合 141 
    7.4.21 组合整数移位 141 
    7.4.22 文本字符串处理 141 
    7.4.23 非临时数据传输和缓存控制 142 
    7.4.24 其他 142 
    7.5 总结 143 
    第8章x86-SSE编程——标量浮点 144 
    8.1 标量浮点运算基础 144 
    8.1.1 标量浮点算术运算 144 
    8.1.2 标量浮点数的比较 148 
    8.1.3 标量浮点数的类型转换 151 
    8.2 高级标量浮点编程 157 
    8.2.1 用标量浮点指令计算球体表面积和体积 157 
    8.2.2 用标量浮点指令计算平行四边形面积和对角线长度 159 
    8.3 总结 165 
    第9章x86-SSE编程——组合浮点 166 
    9.1 组合浮点运算基础 166 
    9.1.1 组合浮点算术运算 167 
    9.1.2 组合浮点数的比较 171 
    9.1.3 组合浮点数的类型转换 175 
    9.2 高级组合浮点编程 178 
    9.2.1 组合浮点数最小二乘法 178 
    9.2.2 用组合浮点数进行4×4矩阵的计算 183 
    9.3 总结 192 
    第10章 x86-SSE编程——组合整数 193 
    10.1 组合整数基础 193 
    10.2 高级组合整数编程 197 
    10.2.1 组合整数直方图 197 
    10.2.2 组合整数阈值分割 203 
    10.3 总结 214 
    第11章 x86-SSE编程——字符串 215 
    11.1 字符串基础知识 215 
    11.2 字符串编程 221 
    11.2.1 计算字符串长度 221 
    11.2.2 字符替换 224 
    11.3 总结 231 
    第12章 AVX——高级向量扩展 232 
    12.1 x86-AVX概述 232 
    12.2 x86-AVX执行环境 233 
    12.2.1 x86-AVX寄存器组 233 
    12.2.2 x86-AVX数据类型 233 
    12.2.3 x86-AVX指令语法 234 
    12.3 x86-AVX功能扩展 235 
    12.4 x86-AVX指令集概述 236 
    12.4.1 升级版的x86-SSE指令 236 
    12.4.2 新指令 239 
    12.4.3 功能扩展指令 242 
    12.5
  • 内容简介:
      本书从应用编程的角度解释x86处理器的内部架构和执行环境,全面介绍如何用x86汇编语言编写可被高级语言调用的函数。主要内容包括:x86-32核心架构(第1章和第2章),x87浮点单元(第3章和第4章),MMX技术(第5章和第6章),流式SIMD扩展(第7章至第11章),高级向量扩展(第12章至第16章),x86-64核心架构(第17章和第18章),x86-64SSE和AVX(第19章和第20章),高级主题(第21章和第22章)。书中包含了大量的示例代码,以帮助读者快速理解x86汇编语言编程和x86平台的计算资源。本书可作为高等院校计算机及相关专业学生的教材,也可供想要学习x86汇编语言编程的软件开发者使用。
  • 目录:
    出版者的话 
    译者序 
    前言 
    关于技术审校者 
    第1章x86-32核心架构 1 
    1.1 简史 1 
    1.2 数据类型 3 
    1.2.1 基本数据类型 3 
    1.2.2 数值数据类型 4 
    1.2.3 组合数据类型 5 
    1.2.4 其他数据类型 6 
    1.3 内部架构 6 
    1.3.1 段寄存器 7 
    1.3.2 通用寄存器 7 
    1.3.3 EFLAGS寄存器 8 
    1.3.4 指令指针 9 
    1.3.5 指令操作数 9 
    1.3.6 内存寻址模式 10 
    1.4 指令集浏览 11 
    1.4.1 数据传输 13 
    1.4.2 二进制算术 13 
    1.4.3 数据比较 14 
    1.4.4 数据转换 14 
    1.4.5 逻辑运算 14 
    1.4.6 旋转和移位 15 
    1.4.7 字节设置和二进制位串 15 
    1.4.8 串 16 
    1.4.9 标志操纵 16 
    1.4.10 控制转移 17 
    1.4.11 其他指令 17 
    1.5 总结 17 
    第2章x86-32核心编程 18 
    2.1 开始 18 
    2.1.1 第一个汇编语言函数 19 
    2.1.2 整数乘法和除法 22 
    2.2 x86-32编程基础 24 
    2.2.1 调用约定 25 
    2.2.2 内存寻址模式 28 
    2.2.3 整数加法 31 
    2.2.4 条件码 34 
    2.3 数组 38 
    2.3.1 一维数组 39 
    2.3.2 二维数组 42 
    2.4 结构体 47 
    2.4.1 简单结构体 47 
    2.4.2 动态结构体创建 50 
    2.5 字符串 52 
    2.5.1 字符计数 52 
    2.5.2 字符串拼接 54 
    2.5.3 比较数组 57 
    2.5.4 反转数组 60 
    2.6 总结 62 
    第3章x87浮点单元 63 
    3.1 x87 FPU核心架构 63 
    3.1.1 数据寄存器 63 
    3.1.2 x87 FPU专用寄存器 64 
    3.1.3 x87 FPU操作数和编码 65 
    3.2 x87 FPU指令集 68 
    3.2.1 数据传输 68 
    3.2.2 基本运算 69 
    3.2.3 数据比较 70 
    3.2.4 超越函数 71 
    3.2.5 常量 71 
    3.2.6 控制 72 
    3.3 总结 72 
    第4章x87 FPU编程 73 
    4.1 x87 FPU编程基础 73 
    4.1.1 简单计算 73 
    4.1.2 浮点比较 76 
    4.2 x87 FPU高级编程 79 
    4.2.1 浮点数组 79 
    4.2.2 超越指令(超越函数指令) 84 
    4.2.3 栈的高级应用 87 
    4.3 总结 92 
    第5章MMX技术 93 
    5.1 SIMD处理概念 93 
    5.2 回绕和饱和运算 94 
    5.3 MMX执行环境 95 
    5.4 MMX指令集 96 
    5.4.1 数据传输 97 
    5.4.2 算术运算 97 
    5.4.3 比较 98 
    5.4.4 转换 99 
    5.4.5 逻辑和位移 99 
    5.4.6 解组和重排 99 
    5.4.7 插入和提取 100 
    5.4.8 状态和缓存控制 100 
    5.5 总结 100 
    第6章MMX技术编程 101 
    6.1 MMX编程基础 101 
    6.1.1 组合整型加法 102 
    6.1.2 组合整型移位 108 
    6.1.3 组合整型乘法 111 
    6.2 MMX高级编程 113 
    6.2.1 整数数组处理 114 
    6.2.2 使用MMX和x87 FPU 120 
    6.3 总结 125 
    第7章流式SIMD扩展 126 
    7.1 x86-SSE概览 126 
    7.2 x86-SSE执行环境 127 
    7.2.1 x86-SSE寄存器组 127 
    7.2.2 x86-SSE数据类型 128 
    7.2.3 x86-SSE的控制-状态寄存器 128 
    7.3 x86-SSE处理技术 129 
    7.4 x86-SSE指令集概览 132 
    7.4.1 标量浮点数据传输 133 
    7.4.2 标量浮点算术运算 133 
    7.4.3 标量浮点比较 134 
    7.4.4 标量浮点转换 134 
    7.4.5 组合浮点数据传输 135 
    7.4.6 组合浮点算术运算 135 
    7.4.7 组合浮点比较 136 
    7.4.8 组合浮点转换 136 
    7.4.9 组合浮点重排和解组 137 
    7.4.10 组合浮点插入和提取 137 
    7.4.11 组合浮点混合 137 
    7.4.12 组合浮点逻辑 138 
    7.4.13 组合整数扩展 138 
    7.4.14 组合整数数据传输 138 
    7.4.15 组合整数算术运算 139 
    7.4.16 组合整数比较 139 
    7.4.17 组合整数转换 139 
    7.4.18 组合整数重排和解组 140 
    7.4.19 组合整数插入和提取 140 
    7.4.20 组合整数混合 141 
    7.4.21 组合整数移位 141 
    7.4.22 文本字符串处理 141 
    7.4.23 非临时数据传输和缓存控制 142 
    7.4.24 其他 142 
    7.5 总结 143 
    第8章x86-SSE编程——标量浮点 144 
    8.1 标量浮点运算基础 144 
    8.1.1 标量浮点算术运算 144 
    8.1.2 标量浮点数的比较 148 
    8.1.3 标量浮点数的类型转换 151 
    8.2 高级标量浮点编程 157 
    8.2.1 用标量浮点指令计算球体表面积和体积 157 
    8.2.2 用标量浮点指令计算平行四边形面积和对角线长度 159 
    8.3 总结 165 
    第9章x86-SSE编程——组合浮点 166 
    9.1 组合浮点运算基础 166 
    9.1.1 组合浮点算术运算 167 
    9.1.2 组合浮点数的比较 171 
    9.1.3 组合浮点数的类型转换 175 
    9.2 高级组合浮点编程 178 
    9.2.1 组合浮点数最小二乘法 178 
    9.2.2 用组合浮点数进行4×4矩阵的计算 183 
    9.3 总结 192 
    第10章 x86-SSE编程——组合整数 193 
    10.1 组合整数基础 193 
    10.2 高级组合整数编程 197 
    10.2.1 组合整数直方图 197 
    10.2.2 组合整数阈值分割 203 
    10.3 总结 214 
    第11章 x86-SSE编程——字符串 215 
    11.1 字符串基础知识 215 
    11.2 字符串编程 221 
    11.2.1 计算字符串长度 221 
    11.2.2 字符替换 224 
    11.3 总结 231 
    第12章 AVX——高级向量扩展 232 
    12.1 x86-AVX概述 232 
    12.2 x86-AVX执行环境 233 
    12.2.1 x86-AVX寄存器组 233 
    12.2.2 x86-AVX数据类型 233 
    12.2.3 x86-AVX指令语法 234 
    12.3 x86-AVX功能扩展 235 
    12.4 x86-AVX指令集概述 236 
    12.4.1 升级版的x86-SSE指令 236 
    12.4.2 新指令 239 
    12.4.3 功能扩展指令 242 
    12.5
查看详情
系列丛书 / 更多
现代X86汇编语言程序设计
Java编程思想(第4版)
[美]Bruce Eckel 著;陈昊鹏 译
现代X86汇编语言程序设计
数据挖掘:概念与技术(原书第3版)
[美]Jiawei、[美]Micheling、[美]Jian Pei 著;范明、孟小峰 译
现代X86汇编语言程序设计
算法导论(原书第3版)
[美]Thomas、[美]Charles、[美]Ronald、[美]Clifford Stein 著;殷建平、徐云、王刚 译
现代X86汇编语言程序设计
数据结构与算法分析:Java语言描述
[美]马克·艾伦·维斯 著;陈越 译
现代X86汇编语言程序设计
C程序设计语言(第二版)
[美]Brian(布莱恩·克尼汉)、[美]Dennis M.Ritchie(丹尼斯·里奇) 著;徐宝文、李志 译
现代X86汇编语言程序设计
C程序设计语言(第2版·新版) 习题解答
吉米拜尔 著;杨涛 译;[美]汤朵
现代X86汇编语言程序设计
计算机科学丛书·云计算:概念、技术与架构
[美]Thomas、[英]Zaigham、[巴西]Ricardo Puttini 著;龚奕利、贺莲、胡创 译
现代X86汇编语言程序设计
数据库系统概念:(原书第6版)
[美]Abraham、Henry、S.Sudarshan 著;杨冬青、李红燕、唐世渭 译
现代X86汇编语言程序设计
深入理解计算机系统(原书第3版)
[美]兰德尔 E.布莱恩特(Randal E.·Bryant) 著;龚奕利、贺莲 译
现代X86汇编语言程序设计
编译原理:原理、技术与工具
[美]阿霍 著;赵建华 译
现代X86汇编语言程序设计
计算机科学导论:原书第3版
[美]Behrouz Forouzan 著;刘艺 译
现代X86汇编语言程序设计
软件工程:实践者的研究方法(原书第8版 本科教学版)
[美]罗杰 S. 普莱斯曼 著;郑人杰、马素霞 译
相关图书 / 更多
现代X86汇编语言程序设计
现代管理(第三辑)
上海市现代管理研究中心 主编著
现代X86汇编语言程序设计
现代移动通信技术研究 通讯
王建 编;贾雪松;王海玲
现代X86汇编语言程序设计
现代墨学巨子谢湘
杜汉雄丶
现代X86汇编语言程序设计
现代多元统计分析
田茂再
现代X86汇编语言程序设计
现代农业概论
常运涛 编者;责编:彭振雪
现代X86汇编语言程序设计
现代交换技术(第4版)
张中荃
现代X86汇编语言程序设计
现代临床护理理论和实践
王金玉 编者;刘艳;李敏;李衍秦;蒋艳
现代X86汇编语言程序设计
现代人工智能技术
作者
现代X86汇编语言程序设计
现代 美容 化妆大全B【精装】
庞玉玲
现代X86汇编语言程序设计
现代市场营销学(第二版)
徐磊江林
现代X86汇编语言程序设计
现代餐厅规范化管理手册 上
王建伟
现代X86汇编语言程序设计
现代医院综合管理实践
黄俊谦 编者;喻允奎;高杰;杨菲;李岩;责编:李欣育
您可能感兴趣 / 更多
现代X86汇编语言程序设计
数学旅行家 文教科普读物 (美)卡尔文・c.克劳森
[美]卡尔文・c.克劳森
现代X86汇编语言程序设计
向世界好的医院力
[美]理查德·温特斯(RichardWinters)
现代X86汇编语言程序设计
像作家一样阅读:提升读写能力的10堂课
[美]艾琳·M.普希曼
现代X86汇编语言程序设计
黑的眼睛不看光明 心理学
[美]玛利亚娜·亚历山德里
现代X86汇编语言程序设计
觉醒 外国现当代文学
[美]凯特·肖邦
现代X86汇编语言程序设计
从众陷阱 成功学 (美)托德·罗斯(todd rose)
[美]托德·罗斯(toddrose)
现代X86汇编语言程序设计
海洋全书:国家地理新探索
[美]西尔维娅·A.厄尔
现代X86汇编语言程序设计
吃的勇气:365天告别饮食内耗,与食物和解
[美]伊芙琳·特里波尔(EvelynTribole)