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: If you wanted to learn assembly how would you?

1 pointsby 0x01030307almost 7 years ago
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 comments

cylinder714almost 7 years ago
• 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.
RNeffalmost 7 years ago
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.
zealshamalmost 7 years ago
I learned assembly by reading two books, the first was &quot;hacking , the art of exploitation &quot; and the second is the Z80 book