登入帳戶  | 訂單查詢  | 購物車/收銀台(0) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』汇编程序设计与计算机体系结构:软件工程师教程

書城自編碼: 3334719
分類:簡體書→大陸圖書→計算機/網絡软件工程/开发项目管理
作者: [美]布莱恩·R.,霍尔[Brian,R.Hall]凯文·J
國際書號(ISBN): 9787111615163
出版社: 机械工业出版社
出版日期: 2019-04-01


書度/開本: 16开 釘裝: 平装

售價:HK$ 106.7

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值)
《 算法经济 : 商业逻辑与人类生活的智能演进(生动呈现AI与算法的创新应用与商业价值) 》

售價:HK$ 79.4
家书中的百年史
《 家书中的百年史 》

售價:HK$ 79.4
偏爱月亮
《 偏爱月亮 》

售價:HK$ 45.8
生物安全与环境
《 生物安全与环境 》

售價:HK$ 56.4
泥土:文明的侵蚀(城市与生态文明丛书)
《 泥土:文明的侵蚀(城市与生态文明丛书) 》

售價:HK$ 84.0
医用化学(第三版)
《 医用化学(第三版) 》

售價:HK$ 57.3
别怕,试一试
《 别怕,试一试 》

售價:HK$ 67.9
人才基因(凝聚30年人才培育经验与智慧)
《 人才基因(凝聚30年人才培育经验与智慧) 》

售價:HK$ 103.4

 

內容簡介:
本书通过大量实例,循序渐进地讲解了汇编语言的各种应用方式,并直观地演示了怎样把汇编语言同高级语言结合,以制作出充分发挥硬件特性的程序。书中以x86与x86_64这两种主流架构为重点,兼顾AT&T及Intel语法,并适用于GAS、NASM及MASM这三种常见的汇编器,以及Linux、macOS及Windows这三种常用的操作系统,这使得身处各种开发环境中的软件工程师都能在书里找到可以直接运用的解决方案,并了解如何将其移植到其他环境。
關於作者:
布莱恩·R. 霍尔(Brian R.Hall)任教于查普兰学院。凯文·J.斯郎迦(Kevin J.Slonka)任教于宾夕法尼亚Highlands Community学院。
目錄
出版者的话
译者序
前言
第1章 编程语言及数据的
基础知识1
1.1 开篇语1
1.2 简介3
1.3 计算机编程语言3
1.3.1 语言之间的关系3
1.3.2 翻译流水线3
1.3.3 编程语言与相应文件及编程工具之间的关系6
1.3.4 为什么要学习汇编语言7
1.4 数据的表示8
1.4.1 计数系统8
1.4.2 怎样表示整数8
1.4.3 怎样表示无符号的整数9
1.4.4 怎样表示带符号的整数12
1.4.5 怎样保存字符14
1.5 布尔表达式16
1.6 3位计算机示例17
1.7 小结18
1.8 关键术语18
1.9 代码回顾19
1.10 习题20
1.11 作业21
第2章 处理器与计算机系统体系结构22
2.1 简介22
2.2 体系结构概述22
2.3 处理器26
2.3.1 缓存与寄存器27
2.3.2 64 位处理器31
2.3.3 指令的执行31
2.3.4 指令流水线32
2.4 输入与输出33
2.5 小结35
2.6 关键术语35
2.7 习题36
2.8 作业37
第1章与第2章补充材料 与体系结构有关的更多细节38
第3章 汇编语言及其语法的基础知识41
3.1 简介41
3.2 基本元素42
3.2.1 汇编代码的五大支柱42
3.2.2 字面量46
3.2.3 标签与注释48
3.3 定义数据49
3.4 写出能够正常运行的范例程序55
3.5 小结56
3.6 关键术语56
3.7 代码回顾57
3.8 习题57
3.9 作业58
第4章 基本指令60
4.1 简介60
4.2 数据的移动与算术运算61
4.2.1 移动数据61
4.2.2 加法与减法62
4.2.3 乘法与除法64
4.2.4 移位69
4.2.5 处理负值71
4.3 数据的寻址与传输72
4.3.1 数据对齐72
4.3.2 数据寻址73
4.3.3 数组75
4.3.4 改变数据的大小及类型78
4.4 小结79
4.5 关键术语80
4.6 代码回顾80
4.7 习题81
4.8 作业81
第 5 章 中级指令83
5.1 简介83
5.2 按位执行的布尔运算83
5.3 分支88
5.3.1 无条件跳转88
5.3.2 有条件跳转88
5.3.3 复合条件91
5.4 重复执行92
5.4.1 用 CXECXRCX 计数器实现循环92
5.4.2 用开发者自定义的计数器实现循环94
5.5 小结97
5.6 关键术语97
5.7 代码回顾97
5.8 习题98
5.9 作业99
第 6 章 函数100
6.1 简介100
6.2 栈内存入门100
6.3 x86 与 x86_64 的调用约定101
6.3.1 cdecl(32 位)102
6.3.2 stdcall(32 位)109
6.3.3 x86_64(64 位)110
6.3.4 有用的细节114
6.4 实现114
6.5 小结118
6.6 关键术语118
6.7 重要的寄存器(32 位和
64 位)118
6.8 代码回顾119
6.9 与平台有关的注意事项119
6.10 习题120
6.11 作业120
第6章补充材料 程序 6-3122
第7章 与字符串有关的指令及结构体123
7.1 简介123
7.2 辅助指令123
7.3 基本字符串指令125
7.3.1 MOVS125
7.3.2 CMPS126
7.3.3 SCAS129
7.3.4 STOS131
7.3.5 LODS132
7.4 结构体133
7.5 小结135
7.6 关键术语135
7.7 代码回顾135
7.8 习题136
7.9 作业137
第8章 浮点运算138
8.1 简介138
8.2 浮点数的表示方式139
8.2.1 IEEE表示法139
8.2.2 特殊值141
8.2.3 次正规数141
8.2.4 舍入142
8.3 浮点数的实现143
8.3.1 x87143
8.3.2 MMX——题外话152
8.3.3 SSE154
8.3.4 XOP、FMA34、F16C——分化159
8.3.5 AVX160
8.4 小结161
8.5 关键术语162
8.6 重要的寄存器(32位和64位)162
8.7 代码回顾162
8.8 习题164
8.9 作业165
第8章补充材料 第8章中的程序167
第9章 内联汇编与宏177
9.1 简介177
9.2 内联汇编177
9.2.1 与编译器有关的细节178
9.2.2 内联式的汇编语句178
9.2.3 为各种汇编方言提供支持184
9.2.4 注意事项185
9.3 宏186
9.3.1 对比宏与函数186
9.3.2 定义并调用宏186
9.4 小结188
9.5 关键术语188
9.6 习题188
9.7 作业189
第10章 与处理器及体系结构有关的高级话题191
10.1 简介191
10.2 处理器与系统的机能192
10.2.1 系统寄存器192
10.2.2 处理器模式193
10.2.3 内存模型193
10.2.4 代码范例197
10.3 中断与系统调用198
10.3.1 软件中断198
10.3.2 硬件中断204
10.3.3 通过INT进行系统调用(旧方法)204
10.3.4 通过SYSENTER、SYSCALL及程序库API进行系统调用(新方法)207
10.4 小结214
10.5 关键术语215
10.6 代码回顾216
10.7 习题216
10.8 作业217
第10章补充材料 第10章中的程序和资源218
第11章 其他架构223
11.1 简介223
11.2 CISC与RISC224
11.3 更多架构225
11.3.1 ARM225
11.3.2 AVR228
11.3.3 RISC-V231
11.3.4 System-zArchitecture233
11.4 量子架构234
11.5 小结236
11.6 关键术语236
11.7 习题
內容試閱
本书的目标
这是一本讲解汇编语言与计算机体系结构的教材。笔者从实用的角度出发讲解相关的原理与技术。首先介绍计算机编程语言和体系结构的基础知识,然后详细讨论汇编语言,并以此为手段,帮助读者更好地理解计算机的体系结构以及汇编语言在软件开发工作中的用途。
现有的计算机体系结构教程有这样几个缺点:(1)书里所讲的体系结构不是业界的主流;(2)书的写法更适合学习计算机与电气工程专业的人阅读,而不适合学习计算机科学专业的人及软件工程师阅读;(3)书里只讲与某个具体的操作系统有关的开发环境;(4) 定价过高;(5) 缺乏实用的内容。笔者想为大家提供一本更好的教材。
本书所面向的读者
本书主要面向计算机科学及软件工程专业的大学生。阅读本书之前,应该先学习计算机入门课程并打下良好的编程基础。你至少要掌握数据结构,而且最好是从 CC++ 语言的角度学习过数据结构。已经工作的人也能从这本书里发现很多有用的话题,你可以据此来自学,以提高编写底层代码与高级代码的水平。
本书的编写过程及学习方法
从事学术工作的过程中,笔者经常冒出写书的念头,其中很多想法都源自我们两个人所讲的课程,也就是计算机体系结构。几十年来,这门课一直是计算机科学与软件工程专业的重要内容。此外,我们也开设了一些更偏向于实用技术的课程。
读博士的时候,我们曾经随口说要合写一本书,但一直没动笔。现在,总算找到了可以写这样一本书的机会。写书要花很多工夫,而且需要相互协作。笔者教了多年的计算机体系结构课程,并且一直在与 Prospect出版社的合作伙伴 Beth Golub 讨论相关的想法,最后,大家形成了一套颇为独特的理念,并打算以此为基础,写一本面向教师、学生与 IT 从业者的计算机体系结构教程,同时克服前面所说的缺点。也就是说,我们要写的这本书应该基于主流的体系结构,面向学习计算机科学专业的人及软件工程师,适合多种开发环境,定价要合理,而且内容也要实用。
确定了这个理念之后,我们开始用大量的时间撰写本书,这其中有许多时间花在了程序代码上。用汇编语言写代码是相当曲折的,但正因为如此也总能吸引我们去挑战。你会在学习过程中慢慢地体会到这种乐趣。想要把汇编语言与计算机体系结构这样一个复杂的话题写得简洁而清晰是很难的,而且其中哪些方面应该涵盖、哪些方面应该舍弃也不太容易决定,此外还要考虑如何安排讲解的顺序。这些都是撰写计算机书籍时经常遇到的问题。
对于许多学习计算机的人来说,通过汇编语言切入计算机体系结构是个特别好的方法,而且在用这种方法学习体系结构的过程中,你还能掌握实用的编程技巧。所以说,按照这种学习方法写出来的书,很适合用作相关课程的教材,而且也颇受学校、教师及学生的欢迎。我们认为汇编语言与计算机体系结构这门课讲起来很有意思,想要通过本书把这些有趣的知识分享给大家,希望你也能和我们一样喜欢这些内容。
内容编排及各章目标
第 1 章与第 2 章,讲解计算机编程语言与计算机体系结构的基础知识。
第 3 章至第 5 章,介绍 x86 与 x86_64 的汇编语法以及各种指令。
第 6 章至第 8 章,讲解函数、结构体以及浮点数运算等更为复杂的话题。
第 9 章与第 10 章,讲解怎样把汇编与高级语言及系统软件结合起来使用,并讲解与计算机及体系结构有关的其他高级话题。
第 11 章讲解 x86 之外的其他架构。
第 12 章介绍硬件及其元件的基本原理。
各章目标
第 1 章:描述计算机语言的翻译流程
第 2 章:了解计算机与处理器的各个组成部分
第 3 章:知道各种汇编器在语法上的区别
第 4 章:执行基本的算术运算
第 5 章:控制程序的流程
第 6 章:按照约定来调用函数
第 7 章:使用字符串与结构体
第 8 章:执行浮点运算
第 9 章:整合底层代码与高级代码
第 10 章:发起系统调用
第 11 章:对比各种计算机架构
第 12 章:构建简单的电路与设备
补充材料
本书有 4 组补充材料,分别位于第 1 章与第 2 章之后,以及第 6 章、第 8 章、第 10 章之后,其中包含与对应章有关的程序及内容。
附录
本书共有 9 个附录。在附录的前面有一篇总的简介,用来描述这些附录的内容。这些附录分别提供了与下列 9 个方面有关的实用信息:汇编语言的语法、开发环境的配置、反汇编、调试、汇编代码与 C++ 代码的链接、调用函数时所需遵循的约定、CPUID 的用法、十进制与 ASCII 算术、内部函数。
学习资源
本书网站:http:www.prospectpressvt.comtitleshall-assembly-programming
本书源代码:https:github.combrianrhallAssembly
教师资源:http:prospectpressvt.comtitleshall-assembly-programminginstructor-resources
学生资源:http:prospectpressvt.comtitleshall-assembly-programmingstudent-resources
作者 Brian 的网站:http:www.brianrhall.net
作者 Kevin 的网站:http:www.kevinslonka.com
与某些具体内容有关的资源,请参阅各附录以及位于所有附录之前的简介。此外,每章开头的网络资源也包含相关的链接。
致谢
这本书能够问世得益于很多人的帮助,我们对此深表谢意。感谢诸位老师把我们带入这个领域。感谢 Beth Golub 给我们提供机会,令我们能够与 Prospect 出版社合作出版这本书,并感谢她在我们写书的过程中给予指导。感谢以下诸位审阅者抽出时间给我们提供宝贵的意见:
印第安纳大学东南分校的 John Doyle
阿肯色州立大学的 Hai Jiang
安大略理工大学的 Saad Khattak
威斯康星大学帕克塞德分校的 Susan Lincke
洛约拉马利蒙特大学的 Ray Toal
感谢诸位同事与学生在过去两年里为我们写作本书提供了很多便利。最后,尤其感谢我们的家人愿意拿出本来应该共处的时间让我们写书。Brian 要感谢 Narine 与 Aven,Kevin 要感谢未婚妻 Kelli,这本书能够写成,离不开你们的付出。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.