Rebuilding High-Level Programming Concepts from Scratch in 64-Bit Assembly
The Art of 64-bit Assembly

I strip away the runtime layers of C++, Python, and Rust to rebuild objects, exceptions, and concurrency directly in MASM. This book dissects vtables, closures, and coroutines at the instruction level, revealing exactly how Windows expects these constructs to behave. You will learn to manage Unicode strings, implement structured exception handling, and create domain-specific macro languages without relying on high-level code.
You can ask an AI to explain how vtables work in x86, but it will never tell you what Windows actually expects the vtable to look like or what breaks when you deviate from convention.
- skippyfish
I know that we're discouraged from meta-comments, but what is going on in this thread? It's a nearly 800-page book about the art of programming. A huge amount of work on a topic that should be dear to our hearts. News for hackers, right?
But somehow, the discussion has three themes. It's 50+ comments of "I don't like the first sentence of the marketing copy", "I don't like the tool the author is using", and "what would happen if we train an LLM on this book?". Has anyone read the sample chapter? Did you like it? Anyone here owns volume 1 and has opinions about that?
- MaskRay
Interesting to see that people are still spending much time on assembly languages :)
I've had a lot of fun with it in recent years as well. (Shameless plug: I've written a few on LLVM integrated assembler regarding better fragments and improving expressions and relocations).
When comparing GNU Assembler and MASM, GAS is missing many features: while loop, string processing (.e.g strlen)
> page 3: "It’s important to understand that MASM converts macro invocation arguments to text values before doing the macro expansion"
Like MASM, GAS uses call-by-name evaluation by default. While GAS's altmacro mode does allow for expression evaluation using syntax like `%(1+2)`, it has strict limitations: it only supports absolute expressions and is restricted to argument positions.
In contrast, MASM's % operator (page 8) looks far more general.
- tensegrist
i'm sorry, starting with "you can ask AI to … [but it'll do an incomplete and bad job]" and then launching forth into a hundred words of AI-produced text is not very appetizing
i hope this is the publisher's fault and the author replaces it with something decent of their own. contrary to the opinions i've heard around (including elsewhere on this thread) learning asm is still meaningful today and it's something i'd like to get better at so i will consider getting this book or one like it once $work is a bit less hectic
- iamcreasy
I built compiler that compiles to 16bit x86 via MASM. This books feel like a natural next step, but I was wondering if there is a linux equivalent book I can choose instead?
- toplinesoftsys
We need books like that now more than ever. AI makes us lazy, forgetting how it works "under the hood". We should be curious and keep asking questions, or we will not be able to understand all this geneated AI code slope.
- Someone
Weird title for a book on assembly
- for x64
- on Windows
- using MASM
There are other 64-bit OSes, CPUs and assemblers for them, and people do use them.
- woadwarrior01
Wow, I can't believe that the author is still updating the book! I'd learnt protected mode assembly from an older version of this book, decades ago. And IIRC, there was an even older 16-bit version of the book back then.
- yotsubaNishiki
I'm just gonna be the weirdo in this comment thread and say: yay! Assembly!
The most god forsaken language i ever had to learn.
But still very very useful