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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Ask HN: If you wanted to learn assembly how would you?

1 点作者 0x01030307将近 7 年前
I have a strong background in higher level languages (Java, Php, Python, etc). A little background in C.<p>The way I self-taught programming was to just build shit.<p>What is the best way to learn assembly?<p>Thanks

3 条评论

cylinder714将近 7 年前
• Jeff Duntemann wrote a book some years ago, <i>Assembly Language Step By Step</i>, that covers Linux assembly language programming: <a href="http:&#x2F;&#x2F;www.duntemann.com&#x2F;assembly.html" rel="nofollow">http:&#x2F;&#x2F;www.duntemann.com&#x2F;assembly.html</a><p>• Just typing &quot;gnu assembly language&quot; in a search engine will bring up lots of tutorials, mostly produced by colleges.<p>• Stack Overflow on your exact question: <a href="https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;721583&#x2F;what-is-the-best-way-to-learn-x86-assembly-on-a-linux-platform" rel="nofollow">https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;721583&#x2F;what-is-the-best-...</a><p>• The Linux Assembly HOWTO <a href="http:&#x2F;&#x2F;www.tldp.org&#x2F;HOWTO&#x2F;html_single&#x2F;Assembly-HOWTO&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.tldp.org&#x2F;HOWTO&#x2F;html_single&#x2F;Assembly-HOWTO&#x2F;</a> referenced by the Linux Assembly site at <a href="http:&#x2F;&#x2F;asm.sourceforge.net&#x2F;" rel="nofollow">http:&#x2F;&#x2F;asm.sourceforge.net&#x2F;</a><p>• <a href="http:&#x2F;&#x2F;www.int80h.org&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.int80h.org&#x2F;</a> covers the differences between Linux and UNIX&#x2F;BSD programming and how to write portable code; definitely worth studying.
RNeff将近 7 年前
Assembly language is mostly mnemonics for the individual instructions available in the hardware of a microprocessor. So you need to pick a microprocessor family, study the hardware (registers, different memories), and what each instruction does. The popular microprocessor architectures are: ARM, X86 (Intel, AMD), and the new open source RISC-V. Start with &quot;Computer Architecture&quot; by Hennessy and Patterson. Modern architectures overlap many instructions, this is part of the cause for Specter and Meltdown. Add a number to a register, the result won&#x27;t be there immediately. A branch tests true, the branch will not complete for a couple of cycles.
zealsham将近 7 年前
I learned assembly by reading two books, the first was &quot;hacking , the art of exploitation &quot; and the second is the Z80 book