64位汇编语言的编程艺术
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

推荐序

汇编语言程序员经常听到这样一个问题:“既然有那么多更容易编写和理解的程序设计语言,为什么我们还要费力地学习汇编语言呢?”答案只有一个:我们之所以编写汇编程序,是因为我们掌握了汇编语言。

在汇编程序设计语言中,不存在任何其他的假设,没有人为的结构化,也没有许多其他程序设计语言强加的限制,编程者使用汇编语言可以在操作系统和处理器硬件允许的情况下创建任何程序。程序员可以充分挖掘x86和更高版本x64硬件的全部潜力。在代码设计和布局的时候,只要是位于操作系统的范畴之内,程序员可以选择使用任何结构。

曾经存在许多优秀的汇编器,但使用微软宏汇编器(通常被称为MASM)具有更大的优势:MASM早在20世纪80年代初就已经存在,当其他汇编器出现了又被淘汰时,作为操作系统权威供应商的微软会根据需要对MASM进行及时更新,以适应实现技术和操作系统的不断变化。

MASM最初是一个实模式的16位汇编器,随着时间的推移和技术的变化,MASM已经更新为32位的版本。随着64位Windows的引入,64位版本的MASM可以编译生成64位的目标模块。32位版本和64位版本的MASM是Visual Studio套件工具中的组件,可以被C、C++以及纯汇编器可执行文件和动态链接库使用。

兰德尔·海德的The Art of Assembly Language是近20年来汇编语言程序设计方面的经典参考书,本书得益于作者对x86硬件架构和汇编语言程序设计的长期而深入的研究,是未来高性能x64编程知识库的有益补充。

Steve Hutchesson