TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Good resources for learning x86 assembly?

4 点作者 Svetlitski超过 3 年前
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 条评论

JoeMayoBot超过 3 年前
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.
jamesfinlayson超过 3 年前
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.
toast0超过 3 年前
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)
elcapitan超过 3 年前
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>