I have (had? Looking at my bookshelf I can't find, maybe I tossed it?) a hardcopy of this book. The information in it is well written, however... The use of "HLA" (High Level Assembly) is a real turn off, at least for me. Really wish this book was targeting standard vendor compilers instead.
I read the first edition at the time and was excited for the new one when it was released but the HLA stuff killed it for me. It was like spending time learning a worse C that would never be used anywhere and wasn't improving my knowledge of Assembly itself.
I loved to do little assembly patches to modify any exe/app to my desire (e.g. disable certain notifications/popups , add lifes, change values etc). Unfortunately with code signing this joy is no longer part of my pastime.
I'm not interested in optimizing the last microsecond of my programs so for normal development it has exactly 0 relevance.
I was thinking about this very thing recently, because I like to be able to tell my computer to do exactly what I want. Little annoying things, usually Microsoft products. Maybe the next 20 years will bring more improvement in software than the past 20. Hardware has gotten faster, software more complex... but at the root of it, technology exists for us to exercise our will over reality. If we could accomplish the same thing without technology, that would obviously be better. I guess I'm trying to say the interface matters.
This sort of manual has since been gamified by Zachtronics, and I think it is genuinely a better alternative. If you are trying to pick up the basics of programming assembly and are already committed to use a "fake" language, why not enjoy the experience as a video game?
And it does not help that this page starts with a dick joke.
Because Zachtronics games are constrained in ways that real ISAs aren't for the sake of good puzzle gameplay. It's about as meaningful as trying to learn to be an infantryman by playing Doom.
Yes, the book is well written and up to No Starch Press's standards, but I don't think it deserved the blanket title "The Art of Assembly."
I'm not interested in optimizing the last microsecond of my programs so for normal development it has exactly 0 relevance.
And it does not help that this page starts with a dick joke.
I assumed it was as it's now available in hardcopy.
If you're going this route, you might as well learn LLVM.