汇编中的K&R
2010-11-04
如果说学c的话,一定要看K&R, 那么汇编就非这本书莫属了。
在我开始看linux内核时,发现自己的汇编基本上已经忘的差不多了。所以急需一本汇编的书,来给自己补一下。书海茫茫,找一本好书又谈何容易。网上又多拿此书和csapp相比。诚然csapp的经典,但它并不是一本专门的汇编书。后来在图书馆中,发现有此书,翻阅后真有一番众里寻她千百度的感觉。
汇编对于很多程序员来说似乎用处不大,但如果你打算研究操作系统或是看linux内核的源码,不懂汇编是会很痛苦的。到了底层的实现就会出现一对汇编代码,跳过去的话,对你后面的理解会有很大的不利。
推荐这本书主要是,本书基于AT&T格式,和内核一样。而且它是写给linux下c和c++程序员的,可以说它是c的高级应用。如何在c中加入汇编代码等。这些在c中讲的不多。
书中讲解很清楚明白,基本上没有看不懂的地方。而且示例代码也很丰富。看完此书的感觉是汇编代码也可以这样写,结构清晰,可以调用c函数和系统函数。这不和写c差不多了嘛。
国内也有汇编的书。比如王爽那本。相比其他国内教材有很大进步,但感觉是只见树木,不见森林。虽然逻辑上很顺,但没有整体的感觉。
还有一本杨季文的80x86汇编语言程序设计教程可以作为补充。那本书好像一般称为“黑皮书“,讲到了一些保护模式下编程的知识。