The Art of Assembly Language (2010)

(plantation-productions.com)

128 points | by ibobev 1 day ago

8 comments

  • pan69 1 day ago
    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 1 day 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 1 day 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 1 day ago
      Agree 100%, the HLA ruined all the fun, it's just not what people "The Art of Assembly" want to learn.
      • pjmlp 1 day 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 1 day 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 1 day 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 1 day ago
      You can resign the executable after making a change.
  • discardable_dan 1 day 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 1 day 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 1 day 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 1 day ago
      Telling on yourself on main
    • kimixa 1 day ago
      ..That's a dick joke?

      I assumed it was as it's now available in hardcopy.

      • saagarjha 1 day ago
        That’s the straightforward reading. If that’s what they intended, without the innuendo, then they’d say that.
  • anta40 1 day 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.

  • billmcneale 1 day 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 1 day 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.
  • 0xSKOOMA 1 day 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.
  • revskill 1 day ago
    Can i have a docker environment with asm to run the code in this book ?