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.

What a weird, low-effort comment.

Randell’s got another (large) book on ARM assembly. He’s also got a handful of other great books on software engineering in general - he’s more than aware that “there are other 64-bit OSes, CPUs and assemblers for them, and people do use them.”

This particular title, “the art of assembly” has been around for a while. This x64 version is the latest iteration - it’s a great book compared to the previous version which introduced and focused on “high-level-assembly”, basically a collection of masm macros that effectively constituted a small language.

It’s fair to say that anyone even remotely interested on x86/64 assembly is aware of AoA.

You mean this:

https://www.amazon.com/Art-ARM-Assembly-Randall-Hyde/dp/1718... ?

Mmm nice. Will give it a try since ARM-based Mac is my main working environment nowadays.

Not exactly weird... I mean x64 Windows is still pretty popular. And pretty much any Windows dev will have Visual Studio installed (to get MASM).

Unless, you want to use open source MASM-compatible assemblers like JWASM or UASM.

Yes I understand, other folks may prefer Linux/BSD, NASM/FASM, ARM etc etc.

It's the result of seeking to maintain consistency with the titles of the previous books in the series. And while the platform coverage this time is very narrow, any book on assembly in general is going to have to pick some specific platforms and hope that the reader will be able to transfer the skills acquired to others as necessary.

If you're actually writing software in assembly (as opposed to merely optimizing hot functions in an otherwise high-level codebase), in my experience MASM is the most pleasant tool for the job.

The most pleasant is the one you're most familiar with. I still use gas with at&t syntax.

MASM's niceties go far beyond just syntax, though

I last used MASM back in about 1989 (with MS C on OS/2 1.0). Do you have any hints on how it has changed since then? What is nice about it, and why does the debugger not match up to CodeView?

[deleted]