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.
ivanmontillam · 10d ago
Yes, it was for me, too. I should have read the sample version first, and I asked for a refund then.
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."
gtirloni · 10d ago
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.
Galanwe · 10d ago
Agree 100%, the HLA ruined all the fun, it's just not what people "The Art of Assembly" want to learn.
pjmlp · 10d ago
I was luckly unaware of this, when I clicked the link I was expecting HLA to be some description of how good macro Assemblers used to be for writing Assembly, where it can almost feel like using an high level language, with proper use of macros and Assembler directives.
Exactly, HLA is not what people expect to be learning when mentioning Assembly.
singularity2001 · 10d ago
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.
hermitShell · 10d ago
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.
charcircuit · 10d ago
You can resign the executable after making a change.
discardable_dan · 10d ago
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.
ThrowawayR2 · 10d ago
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.
cturner · 10d ago
I came to hacker news to take a break from a TIS-100 session, and read this comment. It frustrates me that the TIS-100 machine does not use real bytes. I have been working on puzzles that require division, and am sore that there is no right-shift.
steele · 10d ago
Telling on yourself on main
kimixa · 10d ago
..That's a dick joke?
I assumed it was as it's now available in hardcopy.
saagarjha · 10d ago
That’s the straightforward reading. If that’s what they intended, without the innuendo, then they’d say that.
0xSKOOMA · 10d ago
Just go read "Learn to Program with Assembly: Foundational Learning for New Programmers", it's modern (x64), beginner friendly, and well written in my opinion.
billmcneale · 10d ago
That's not assembly language, that's a less powerful version of C.
If you're going this route, you might as well learn LLVM.
pjmlp · 10d ago
Indeed, not only it is interesting, it allows having some overview of how all modern compilers use IR in one form or the other.
anta40 · 10d ago
Perhaps it's safe to say HLA is practically abandoned.
I bought the book many years ago, and yes I think it's better suited for compiler devs (HLA compiler still need assemblers like MASM, FASM etc to build the executables), and not for someone learning assembly programming basics.
fithisux · 3d ago
Unfortunately, he did not move to x64.
revskill · 10d ago
Can i have a docker environment with asm to run the code in this book ?
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."
Exactly, HLA is not what people expect to be learning when mentioning 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.
I bought the book many years ago, and yes I think it's better suited for compiler devs (HLA compiler still need assemblers like MASM, FASM etc to build the executables), and not for someone learning assembly programming basics.