https://www.plantation-productions.com/Webster/www.writegreatcode.com/index.html
《汇编语言的编程艺术》(第2版) 一书作者Randall Hyde写的6卷书,讲从汇编角度去看如何产生优质代码,
其中卷1、2在06年左右就被翻译成中文,中文版名字叫 《编程卓越之道:卷1:深入理解计算机》 ,《编程卓越之道:卷2:运用底层语言思想编写高级语言代码》
程序员软件工程的坚实基础
在过去的二十年中,高性能个人电脑的生产使得一些令人惊叹的软件产品得以诞生。然而,用户对现代软件的一个常见抱怨是“尽管机器变得越来越快,软件似乎变得越来越慢”。这个问题的很大一部分是程序员不再面临产生高质量应用程序的挑战。高性能的计算机系统允许程序员编写草率的代码,但仍能达到可接受的性能水平。这种方法有两个问题:
- 程序员,而不是用户(和计算机系统的购买者),是计算机体系结构改进的受益者。更快的CPU允许程序员编写更流畅的代码,同时仍然保持上一代CPU所能接受的性能水平。
- 不需要编写优秀代码的程序员,永远不会学习如何编写伟大的代码(或者,如果他们最初知道,他们的技能就会因为废弃而萎缩)。
今天的一个大问题是,许多程序员从小就拥有高性能的机器,而且从一开始就没有学会如何编写像样的代码。不幸的是,计算机体系结构的进步不再像过去那样每隔几年就将CPU性能提高一倍。因此,今天的程序员再也无法逃避编写缓慢的代码,并期望计算机架构的进步能够在几年后拯救他们。
这个编程卓越之道系列的目的是帮助纠正这个问题,教被遗忘的艺术,精心设计,高效的软件。
相关信息:
《汇编语言的编程艺术》(第2版),(美)海德 著,清华大学出版社,2011-12-1
基于INTEL x86处理器,使用了作者自制的高级语言汇编器(High Level Assembler,HLA)作为教学工具,以部分地获得高级语言的优势和功能。https://my.oschina.net/u/4267179/blog/3620410
Art of Assembly Book 的官网 https://www.plantation-productions.com/Webster/
The Art of Assembly Language Programming
https://www.plantation-productions.com/Webster/www.artofasm.com/index.html
此书作者Randall Hyde的个人网站 https://www.randallhyde.com/#Main
其他有价值的链接 :
Linux Assembly Language Programming
https://www.plantation-productions.com/Webster/LinuxAsm/index.htmlHLA汇编器下载(win,linux,freebsd,macos)及指导手册,例子源码,用HLA进行win32编程,RadASM,OllyDbg
https://www.plantation-productions.com/Webster/HighLevelAsm/index.html
HLA for Windows
https://www.plantation-productions.com/Webster/HighLevelAsm/WinDownload.html
High Level Assembler v1.x
https://sourceforge.net/p/hlav1/code/HEAD/tree/