在信息时代和大数据时代,掌握一门计算机程序设计语言已经成为不可或缺的技能。随着计算机程序设计语言的发展,高级语言(例如C++、C、Java和Python等)广泛应用于各种系统开发环境。然而,由于汇编语言可以最大限度地利用计算机硬件特性,并且能够通过汇编指令直接控制机器硬件,因此利用汇编语言可以充分挖掘计算机硬件的全部潜力,编写出在时间上和空间上最具效率的程序。利用汇编语言不仅可以编写与底层硬件相关的驱动程序,而且可以提升程序的关键性能部分,为大数据时代的计算密集型问题领域提供有效的解决方案。同时,汇编语言还有助于读者了解程序设计语言的基本原理。
本书是汇编语言程序设计方面的经典参考图书 The Art of Assembly Language 的升级版本,主要讲述x86-64 CPU上的64位汇编语言。讲述32位汇编语言的 The Art of Assembly Language 基于高级汇编程序(high-level assembler,HLA),本书则基于MASM。本书的作者兰德尔·海德(Randall Hyde)拥有40多年的汇编语言项目开发和教学经验,对x86硬件架构和汇编语言程序设计有长期而深入的研究。本书是x64汇编语言的扛鼎之作。
本书全面系统地阐述了现代x86-64 CPU上64位汇编语言编程技术的原理、方法和技巧,是系统学习和掌握汇编语言编程的首选教程。本书篇幅巨大,囊括了64位汇编语言的大量知识,是使用汇编语言进行程序设计不可或缺的参考书。另外,本书还包含了大量的x86-64汇编语言(以及C/C++)源代码,可以应用于实际的汇编语言程序项目。
本书由华东师范大学江红、余青松和余靖共同翻译。翻译也是一种再创造,同样需要艰辛的付出,感谢朋友、家人以及同事的理解和支持。在翻译本书的过程中,译者力求忠于原著,但由于时间和学识有限,故书中的不足之处在所难免,敬请诸位同行、专家和读者指正。
译者
2023年7月