Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I like this book, it's just as good as The Art of Assembly Language, but much cheaper: https://rayseyfarth.com/asm/index.html

If you are interested in ARM or RISC-V assembly, the concepts are pretty similar but the instructions are different. For any architecture, you're going to have to read the architecture manuals to get a good working knowledge of the instructions and how to use them. An easy way to get started is to write a program in C, then replace the functions with assembly code one by one until your C code is just main() and a header.

ARMv7: https://developer.arm.com/documentation/100076/0200/a32-t32-...

ARMv8: https://developer.arm.com/documentation/ddi0602/2024-03/Base...

alternative: https://www.scs.stanford.edu/~zyedidia/arm64/

RISC-V: https://riscv.org/technical/specifications/

x86: https://www.intel.com/content/www/us/en/developer/articles/t...

web format: http://x86.dapsen.com/

If you like to learn by example (most of these are not great, but good enough to get started):

https://rosettacode.org/wiki/Assembly

https://github.com/TheAlgorithms/AArch64_Assembly



I’d like to mention that The Art of Assembly Language didn’t feel like a good resource to me, as it spoke largely about “High Level Assembly” which is an awful lot like C and didn’t really focus on CPU architecture in a particularly technical way.

I was expecting a bit more of a technical approach and was disappointed. If you’re in the same boat reference manuals and compiling to .s files may be the way to go.


Ah, I guess I never actually read The Art of Assembly Language - I read the newer version The Art of 64-bit Assembly, which deals with 64-bit x86 assembly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: