图书介绍

汇编程序设计与计算机体系结构 软件工程师教程PDF|Epub|txt|kindle电子书版本网盘下载

汇编程序设计与计算机体系结构 软件工程师教程
  • (美)布莱恩·R.霍尔(Brian R.Hall),(美)凯文·J.斯隆卡(Kevin J.Slonka)著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111615163
  • 出版时间:2019
  • 标注页数:300页
  • 文件大小:101MB
  • 文件页数:313页
  • 主题词:汇编语言-程序设计;计算机体系结构

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

汇编程序设计与计算机体系结构 软件工程师教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第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-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、FMA3/4、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-z/Architecture233

11.4 量子架构234

11.5 小结236

11.6 关键术语236

11.7 习题236

11.8 作业237

第12章 硬件与电子元件239

12.1 简介239

12.2 电学基础239

12.2.1 基本的物理量239

12.2.2 交流与直流241

12.3 电子元件242

12.3.1 供电设备242

12.3.2 电阻器244

12.3.3 二极管245

12.3.4 电容器245

12.3.5 晶体管245

12.4 集成电路246

12.5 常见的实现产品247

12.5.1 计算机处理器247

12.5.2 Raspberry Pi247

12.5.3 Apple iPhone与Apple Watch248

12.6 小结248

12.7 关键术语248

12.8 习题249

12.9 作业250

附录简介251

附录A 各种汇编语法之间的对应关系253

附录B 为汇编语言配置开发环境256

附录C 反汇编261

附录D 用GDB工具调试汇编程序268

附录E 链接汇编代码及C++代码273

附录F 函数与栈278

附录G CPUID指令的用法282

附录H ASCII和十进制算术运算289

附录I 编译器内部函数293

热门推荐