章节目录
第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汇编语言》介绍了Linux平台下的汇编语言编程,教你从计算机的角度看问题,从而了解汇编语言及计算机的工作方式,为成就自己的优秀程序员之梦夯实基础。 很多人都认为汇编语言晦涩难懂,但New Medio技术总监Jonathan Bartlett的这本书将改变人们的看法。本书首先介绍计算机的体系结构,然后从编写简单程序开始,一步一步扩充函数、文件、读写处理等知识,并平滑过渡到程序共享、存储与优化,由浅入深地介绍了Linux汇编语言编程。作者不仅会带你了解向计算机传递信息的方式方法,还让你学会向修改和使用程序的人传递信息,并最终用自己的规则构建“世界”,按自己对问题的理解和解决方案创造“世界”。 主要内容: 计算机体系结构(详解内存及寻址方式); 编程初体验; 函数使用及复杂度处理; 文件处理及缓冲区分析; 记录读写及修改; 通过测试及错误处理打造健壮程序; 程序共享; 内存布局及处理; 计算机的计数原理; 程序优化(时机、位置及方式)。
下载说明
1、深入理解程序设计是作者[美] Jonathan Bartlet创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
zhoujx新新新的评论我在 @知乎 回答了【读《C++程序设计语言》,会不会有种像读《深入理解计算机系统》那种拍案叫绝的感觉?】:你更应该看《C++语言的设计与演化》,可能会有你想要的感觉,反正我当年看完真的有种被感动的想哭的感觉。 网页链接
-
jyun_zhang的评论【如何深入理解语言的各种特性?】@prettykernel:编程语言实现模式 程序设计语言――实践之路(第3版) Parsing Techniques 领域特定语言 编程语言:原理与范型(第2版) 汗牛充栋,慢慢看,多看几本你就知道,就那些东西。 你… 网页链接(分享自 @知乎)
-
桑伽蜜多的评论想办个教,核心教义是上帝是程序员,图灵是圣子,冯·诺依曼是先知。教中有几部经典:编译原理,算法导论,C程序设计语言,深入理解计算机系统。肥肠健康向上,符合社会主义精神文明。不过可能最后会因为什么是最好的语言而分裂为几宗。
-
lightning1141的评论@图灵教育 绝对的真爱~ 亚马逊订单号: C01-9507297-4548059 包括 图灵新知:信息简史, 浪潮之巅(第2版)(套装共2册), 编程珠玑(第2版), MacTalk·人生元编程 当当网订单号: 8607937167 包括 深入理解程序设计:使用Linux汇编语言。 以上几本书都是六月份买的,求中奖~~
-
ibuick的评论深入理解程序设计 (Programming from the Ground Up) 是一本经典编程入门书。它以CPU的视角,带你认识程序开发的各个方面。什么是变量、函数,CPU 如何进行计算,压、弹栈的操作究竟是如何完成的?这本书会告诉你答案。中文版由 @图灵教育 出版,转发此微博将由机会获得赠书,限额5名,我会随机抽取
-
图灵教育的评论感谢这位读者指出,这本书是讲Linux汇编语言的经典图书,中文版由图灵2013年12月出版。//@北虎爷爷: //@图灵教育:这本已经有中文版啦,《深入理解程序设计:使用Linux汇编语言》[好喜欢] 网页链接
-
Linux中国的评论#[图灵赠书]《深入理解程序设计:使用Linux汇编语言》点评赠书# 世界最优秀的计算机科学专业学生都在用的编程教材一朝掌握汇编语言,终生理解计算机的思考与行为方式。语言轻松,例子实用,轻松学会用Linux汇编语言编程。 外文书名:P…网页链接
-
Linux中国的评论#[图灵赠书]《深入理解程序设计:使用Linux汇编语言》点评赠书# 世界最优秀的计算机科学专业学生都在用的编程教材一朝掌握汇编语言,终生理解计算机的思考与行为方式。语言轻松,例子实用,轻松学会用Linux汇编语言编程。http://im… 网页链接
-
网路冷眼的评论【新时代应用程序设计及MongoDB的十个深入理解】区别于从小做起,Serendip从服务发布起就需要处理大量数据,因此他们不得不放弃传统的软件设计方式,转向Scala、Akka、Play、MongoDB、Elasticsearch等新时代技术堆栈。 网页链接
-
2gua的评论新时代应用程序设计及MongoDB的十个深入理解 @我的印象笔记 网页链接
-
低调黑客的评论我在CSDN上看到一篇文章,不错,分享给大家 新时代应用程序设计及MongoDB的十个深入理解 网页链接
-
黄亮童鞋V的评论分享网易新闻:新时代应用程序设计及MongoDB的十个深入理解 跟贴:网页链接 @网易新闻客户端
-
evan201402的评论程序设计实践【The Practice of Programming】计算机程序的构造和解释【SICP】 代码大全【Code Complete】深入理解计算机系统【CSAPP】Unix 编程艺术【TAOUP】计算机程序设计艺术【TAOCP】Unix 环境高级编程【APUE】现代操作系统【Modern Operating Systems】编译原理【龙书】TCP/IP 详解算法导论算法
-
老赵的评论歪曲地不止一点两点,《深入理解程序设计》其实跟程序设计基本一点关系都没有。 //@ibuick:回复@图灵教育:说白了,这本书并不是讲汇编语言的。汇编语言可以清晰的展现操作系统对于程序 变量,数据,以及运行时支持的细节,所以它才基于汇编语言给出展示。这本书真正的目的,是让读者从 CPU 的视角了解