asm is a learning resource that teaches assembly programming for Linux x86_64 through structured blog posts and code examples.
The resource addresses the challenge of learning low-level assembly language by providing a comprehensive introduction that progresses from foundational concepts through practical applications. It covers processor architecture fundamentals, program structure on Linux, memory management including stack and heap operations, system calls, floating-point representation, and techniques for calling assembly code from C programs. Each topic is accompanied by working code examples that readers can build and run locally using standard tools like NASM and binutils.
This resource suits anyone seeking to understand how programs interact with the operating system at the lowest level, whether they are experienced programmers or beginners. It is particularly valuable for those working on Linux x86_64 systems who need hands-on learning material with executable examples rather than reference documentation alone. The material is structured as a progressive series of posts that can be followed sequentially, with all content also available as a single downloadable PDF book for offline study.
The project maintains a stable collection of educational content with working examples in the examples directory. The material covers a defined scope focused on x86_64 and Linux, with plans noted for future ARM64 architecture content. Community contributions have resulted in translations into multiple languages, though these translations may diverge from the original material.