汇编程序设计与计算机体系结构,汇编程序设计与计算机体系结构:软件工程师教程...

汇编程序设计与计算机体系结构:软件工程师教程

语音

编辑

锁定

讨论

上传视频

《汇编程序设计与计算机体系结构:软件工程师教程》是2019年4月1日机械工业出版社出版的图书,作者是[美] 布莱恩·R.、霍尔(BrianR.Hall)、凯文·J.斯郎迦(Kevin J.Slonka)。[1]

书    名

汇编程序设计与计算机体系结构:软件工程师教程

作    者

[美] 布莱恩·R.、霍尔(BrianR.Hall)、凯文·J.斯郎迦( Kevin J.Slonka)出版社

机械工业出版社

ISBN

9787111615163

汇编程序设计与计算机体系结构:软件工程师教程内容简介

编辑

语音

本书通过大量实例,循序渐进地讲解了汇编语言的各种应用方式,并直观地演示了怎样把汇编语言同高级语言结合,以制作出充分发挥硬件特性的程序。书中以x86与x86_64这两种主流架构为重点,兼顾AT&T及Intel语法,并适用于GAS、NASM及MASM这三种常见的汇编器,以及Linux、macOS及Windows这三种常用的操作系统,这使得身处各种开发环境中的软件工程师都能在书里找到可以直接运用的解决方案,并了解如何将其移植到其他环境。

汇编程序设计与计算机体系结构:软件工程师教程图书目录

编辑

语音

出版者的话

译者序

前言

第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 用 CX/ECX/RCX 计数器实现循环 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-3 122

第7章 与字符串有关的指令及结构体 123

7.1 简介 123

7.2 辅助指令 123

7.3 基本字符串指令 125

7.3.1 MOVS 125

7.3.2 CMPS 126

7.3.3 SCAS 129

7.3.4 STOS 131

7.3.5 LODS 132

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 x87 143

8.3.2 MMX——题外话 152

8.3.3 SSE 154

8.3.4 XOP、FMA3/4、F16C——分化 159

8.3.5 AVX 160

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与RISC 224

11.3 更多架构 225

11.3.1 ARM 225

11.3.2 AVR 228

11.3.3 RISC-V 231

11.3.4 System-z/Architecture 233

11.4 量子架构 234

11.5 小结 236

11.6 关键术语 236

11.7 习题

词条图册

更多图册

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值