很好的Linux汇编入门书
2015-09-02
用了四天来回上下班坐地铁的时间把本书看完了,因为已经工作了几年,汇编也有用到,所以看起来稍微会快一点。说说大体的感受吧。
先说翻译,国内对外文技术图书的翻译可以说一直都不怎么样,国内技术类图书的翻译人员无外乎两类,一种是专门的翻译人员,精通外语,但是技术方面薄弱,因此翻译出来的东西技术人员是完全看不懂的,专业用词全给翻译成普通用法。第二类就是专业的技术人员,对技术很了解,知道书里说的是什么,但是对翻译却不是很擅长,结果出来的成果就是技术人员都能看,但是总觉得说话很别扭。
本书大体上有点基础的人还是能看懂的,能知道作者说的是什么,但是中文读起来确实不流畅,所以这里给的经验就是,可以读读中译本,如果实在读不懂,还有比较重要的地方,去看英文原版吧,电驴上有。
再说书本身。目前我见过写的比较好的汇编书籍一共有三本,王爽的《汇编语言》,罗云彬《win32汇编编程》和这本了。王爽的汇编语言讲的是8086体系,专注于语言本身,讲解思路很清晰。但是8086毕竟是存在于教科书上的东西,真正使用意义已经不大了。《win32》那本书专注于系统编程,对汇编要求高一些,如果没有很强的汇编基础,建议这本书还是放一放。
本书是讲解x86体系结构和汇编语言很好的入门书籍,同时又是基于linux操作系统的,补充了市面上缺少GNU方式汇编的空缺,而且使用了大量的图片来讲解概念,同时又将很多东西与实际生活联系了起来,让读者很容易能理解设计的理念。如果你是个有基础的人,可能会觉得这样的写法很罗嗦,但是对于初学者,还是很有帮助的。
本书的前半部分偏重于x86体系结构和linux环境的,而个人觉得本书的 后半部分,也就是8至12章可以说是本书的精华,通过一个个有意义的代码程序来解释各种汇编语言的原理,而非跟很多编程书中只是写一下简单的毫无实际使用意义的用例。
最后说说自己的想法。目前汇编语言已经是一个不太出现在媒体中的编程语言了,在这个被各种高级语言所包围的计算机世界中,汇编语言很低调的进行着自己的工作,默默的看着各种语言的发展。汇编语言目前所应用的领域都是比较专的,例如计算机安全,还有就是嵌入式中,嵌入式中各种芯片的启动都是由汇编完成的。这也就是说,目前对汇编的学习,我觉得只要能读懂,能过通过它能了解程序或硬件背后的机制和原理,就很不错了。除非你的领域非得用其不可,再用汇编去写程序,有点得不偿失了。即使现在用汇编比较多的嵌入式行业,汇编也只是芯片厂商会使用。应用生产的厂商拿到的一般是芯片厂家已经封装好的API,使用汇编对其更改的几率也不大。