一本还没出版的书,先把自己的定位划得很死:只讲Windows,只讲MASM,不装懂别的平台。

No Starch Press把《The Art of 64-Bit Assembly, Volume 2》的出版日期定在2026年6月,792页,作者Randall Hyde写过导弹级、医疗设备级的汇编代码。目前只放出了第一章样章和目录,书还没上市。出版方给它的开场白拿AI科普打比方:问AI vtable怎么工作,能得到一个说得过去的答案,但拿不到Windows实际要求的字节布局。这话是营销文案,不是独立测评——但它点出的问题是真的:高级语言的运行时约定,大部分程序员这辈子都不会去验证。

这本书讲什么,新在哪

它是《The Art of 64-Bit Assembly》系列第二卷。前一卷讲的是x86-64机器组织和编程基础,偏入门。这一卷不再讲入门,直接跳到运行时机制:C++写虚函数、写try/catch、写闭包,编译器和运行时替你把细节全藏起来了,这本书要把这层"信任"拆开验证。

全书11章,覆盖的机制看目录已经很扎实:

章节主题对应的高级语言概念
高级过程调用、Unicode字符串函数调用约定、字符串编码
MASM下的面向对象编程C++/Java的vtable和方法分派
结构化异常处理(SEH)try/catch的栈展开机制
thunk与闭包JS/Python里的闭包捕获
迭代器、协程/生成器/纤程C#/Python的yield、async/await
并发编程线程同步原语

这些主题平时你只能靠猜,或者问AI拿个大概齐的解释。这本书把每一步摆到台面上,能不能验证到"逐字节对得上"的程度,现在只能看目录判断,深度还得等书出才知道。

谁该等,谁该绕道

价值和边界都很清楚:它拆的是Microsoft ABI下的vtable布局和SEH机制,跟Linux/GCC/Clang用的Itanium C++ ABI不是一回事,也不代表ARM AAPCS的调用约定,更不能类推到CPython字节码解释器或Rust的panic展开。学到的是"Windows这一套怎么做",不是"所有平台都这么做"。

读者类型这本书能给什么现在该做什么
已会汇编、想搞清C++/Rust运行时怎么落地的系统程序员逐字节可验证的vtable、SEH实现可以预购蹲书
只想学入门汇编内容跳过基础,直接讲高级机制先补第一卷或其他入门教材
做Linux/ARM底层开发、关心跨平台ABI零覆盖,全书基于Windows/MASM不用现在凑热闹,等社区有没有类似的Linux对照材料

书还没出,接下来值得盯的是三件事:样章章节的实际深度能不能对得上目录里"协程""闭包"这种大词,有没有配套代码仓库方便边读边跑,以及跟第一卷的衔接是否需要读者先补基础。这些答案,书正式上市前都拿不到。

庄子讲庖丁解牛,"目无全牛",好厨子看到的是骨骼和筋肉的结构,不是一整头牛。这本书能给的,是Windows这头牛的骨架——看清楚了很有用,但别把它当成天下牛通用的骨架。