资源名称:深入理解程序设计使用Linux汇编语言

内容简介:

是否真正理解汇编语言,常常是普通程序员和优秀程序员的分水岭。《深入理解程序设计:使用Linux汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。

很多人都认为汇编语言晦涩难懂,但New Medio技术总监Jonathan Bartlett的这本书将改变人们的看法。本书首先介绍计算机的体系结构,然后从编写简单程序开始,一步一步扩充函数、文件、读写处理等知识,并平滑过渡到程序共享、存储与优化,由浅入深地介绍了Linux汇编语言编程。作者不仅会带你了解向计算机传递信息的方式方法,还让你学会向修改和使用程序的人传递信息,并最终用自己的规则构建“世界”,按自己对问题的理解和解决方案创造“世界”。

主要内容:

计算机体系结构(详解内存及寻址方式);

编程初体验;

函数使用及复杂度处理;

文件处理及缓冲区分析;

记录读写及修改;

通过测试及错误处理打造健壮程序;

程序共享;

内存布局及处理;

计算机的计数原理;

程序优化(时机、位置及方式)。

资源目录:

第1章 引言  1

1.1  欢迎加入编程大军  1

1.2  工具  2

第2章 计算机体系结构  5

2.1  内存结构  5

2.2  CPU构造  6

2.3  几个术语  7

2.4  内存详解  9

2.5  寻址方式  10

2.6  温故知新  11

2.6.1  理解概念  11

2.6.2  应用概念  11

2.6.3  深入学习  12

第3章 编写第一个程序  13

3.1  编程初体验  13

3.2  汇编语言程序概要  15

3.3  为程序做规划  19

3.4  查找最大值  21

3.5  寻址方式  27

3.6  温故知新  30

3.6.1  理解概念  30

3.6.2  应用概念  30

3.6.3  深入学习  31

第4章 关于函数  32

4.1  处理复杂度  32

4.2  函数的工作原理  33

4.3  使用C调用约定的汇编语言函数  34

4.4  函数示例  38

4.5  递归函数  41

4.6  温故知新  46

4.6.1  理解概念  46

4.6.2  应用概念  47

4.6.3  深入学习  47

第5章 文件处理  48

5.1  UNIX文件的概念  48

5.2  缓冲区和.bss  49

5.3  标准文件和特殊文件  50

5.4  在程序中使用文件  51

5.5  温故知新  60

5.5.1  理解概念  60

5.5.2  应用概念  61

5.5.3  深入学习  61

第6章 读写简单记录  62

6.1  写入记录  65

6.2  读取记录  69

6.3  修改记录  73

6.4  温故知新  76

6.4.1  理解概念  76

6.4.2  应用概念  76

6.4.3  深入学习  76

第7章 开发健壮的程序  77

7.1  将时间用在何处  77

7.2  开发健壮程序的技巧  78

7.2.1  用户测试  78

7.2.2  数据测试  78

7.2.3  模块测试  79

7.3  有效处理错误  80

7.3.1  万能的错误处理代码  80

7.3.2  恢复点  80

7.4  让程序更健壮  81

7.5  温故知新  83

7.5.1  理解概念  83

7.5.2  应用概念  83

7.5.3  深入学习  83

第8章 与代码库共享程序  84

8.1  使用共享库  85

8.2  共享库的工作原理  86

8.3  查找关于库的信息  87

8.4  一些有用的函数  91

8.5  构建一个共享库  92

8.6  温故知新  93

8.6.1  理解概念  93

8.6.2  应用概念  94

8.6.3  深入学习  94

第9章 关于中间存储器  95

9.1  计算机如何看待内存  95

9.2  Linux程序的内存布局  96

9.3  每个内存地址都是虚拟的  98

9.4  获取更多的内存  100

9.5  一个简单的内存管理器  101

9.5.1  变量和常量  106

9.5.2  性能问题及其他  111

9.6  使用我们的分配器  112

9.7  更多信息  114

9.8  温故知新  114

9.8.1  理解概念  114

9.8.2  应用概念  114

9.8.3  深入学习  115

第10章 像计算机一样计数  116

10.1  计数  116

10.1.1  像人类一样计数  116

10.1.2  像计算机一样计数  117

10.1.3  二进制和十进制之间的转换  118

10.2  真假和二进制数  120

10.3  程序状态寄存器  126

10.4  其他计数系统  127

10.4.1  浮点数  127

10.4.2  负数  128

10.5  八进制和十六进制数字  129

10.6  一个字中的字节顺序  130

10.7  将数字转换成字符显示  131

10.8  温故知新  135

10.8.1  理解概念  135

10.8.2  应用概念  136

10.8.3  深入学习  136

第11章 高级语言  137

11.1  编译语言和解释语言  137

11.2  第一个C程序  138

11.3  Perl  140

11.4  Python  141

11.5  温故知新  141

11.5.1  理解概念  141

11.5.2  应用概念  141

11.5.3  深入学习  142

第12章 优化  143

12.1  何时优化  143

12.2  优化何处  144

12.3  局部优化  145

12.4  全局优化  146

12.5  温故知新  147

12.5.1  理解概念  147

12.5.2  应用概念  148

12.5.3  深入学习  148

第13章 学无止境  149

13.1  自下而上  150

13.2  自顶向下  150

13.3  从中间开始  150

13.4  专题  151

13.5  汇编语言的更多资源  152

附录A  GUI编程  153

附录B  通用x86指令  165

附录C  重要的系统调用  172

附录D  ASCII码  174

附录E  汇编语言中的常用C语句  175

附录F  使用GDB调试器  183

附录G  文档历史  189

附录H  GNU自由文档许可协议  190

附录I  致谢  196

索引  197

资源截图:

深入理解程序设计使用Linux汇编语言