TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Good resources for learning x86 assembly?

4 pointsby Svetlitskiover 3 years ago
I&#x27;m looking for something along the lines of &quot;A Tour of Go&quot; [1] or &quot;The Rust Programming Language&quot; [2], but for learning x86 assembly. Searching the Internet for x86 resources turns up a large number of web pages (often for a university&#x27;s operating systems or security course) introducing only the simplest basics. On the other hand, I&#x27;m aware of reference materials such as Agner Fog&#x27;s instruction tables [3], but these are intended for reference, not for acquiring proficiency. One more point to clarify is that I&#x27;m comfortable with assembly in general, but I&#x27;m not well-versed with <i>x86</i> assembly in particular and am thus looking specifically for resources on x86. I would greatly appreciate any pointers!<p>[1] https:&#x2F;&#x2F;go.dev&#x2F;tour&#x2F;<p>[2] https:&#x2F;&#x2F;doc.rust-lang.org&#x2F;book&#x2F;<p>[3] https:&#x2F;&#x2F;www.agner.org&#x2F;optimize&#x2F;instruction_tables.pdf

4 comments

JoeMayoBotover 3 years ago
Here&#x27;s a free ebook - though it&#x27;s x64: <a href="https:&#x2F;&#x2F;www.syncfusion.com&#x2F;succinctly-free-ebooks&#x2F;assemblylanguage" rel="nofollow">https:&#x2F;&#x2F;www.syncfusion.com&#x2F;succinctly-free-ebooks&#x2F;assemblyla...</a><p>I thought Peter Norton&#x27;s Assembly Language was a good book and you might still be able to find a copy to order for a decent price.
jamesfinlaysonover 3 years ago
I&#x27;m no x86 assembly expert but what I learned, I learned by reverse engineering. I don&#x27;t know if that will teach you what you want to learn but I thought it was useful - I&#x27;d learned Atmel AVR assembly years ago so I knew the concepts. I looked at some short functions of Visual C++&#x2F;gcc-generated assembly then I looked up the instructions and before too long I was familiar enough with the 20 to 30 instructions that most modern compilers use.
toast0over 3 years ago
The Art of Assembly Language is IBM PC based. Alternatively, if you learn any Assembly language, you&#x27;ll probably be ok to start from the reference materials for x86, depending on how into the weeds of early boot you&#x27;re going to go. (Personally, I say, make your kernel multiboot compatible, and let someone else worry about loading your kernel; plenty of stuff to do without writing a bootloader)
elcapitanover 3 years ago
I would read some intro on x86 instructions, and then use Compiler Explorer [1] to create assembler instructions for code from a language I know (e.g. C, Pascal, etc) to learn how their primitives (method calls, loops, branching, etc) translate into actual assembler.<p>[1] <a href="https:&#x2F;&#x2F;godbolt.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;godbolt.org&#x2F;</a>