Our take
- Activity
- 50
- Community
- 45
- Issues
- 53
- Pull requests
- 62
+12 stars in the last 30 days
Project history
Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.
Stars
3,659Forks
394Change since Nov 8, 2026: +1 stars·+1 forks
Overview
0xAX/asm is a learning resource that teaches assembly programming for x86_64 processors on GNU/Linux. It addresses the gap between higher-level programming and machine-level execution through explanations paired with code examples.
The material is organized as a seven-part series, from processor concepts and stack use to floating-point arithmetic and calling assembly from C. It is a fit for readers who want a guided introduction rather than a reference covering multiple architectures or operating systems.
Key Features
- Seven chapters progress from introductory concepts to assembly and high-level language interaction.
- Explains x86_64 processor concepts and the structure of Linux programs.
- Covers memory allocation, stack and heap, and system calls.
- Introduces floating-point representation and arithmetic.
- Includes code examples in the
examplesdirectory. - Offers the posts as a downloadable PDF book.
- Lists volunteer translations in Chinese, Turkish, Korean, and Russian.
Use Cases
- A programmer starting with assembly can follow the chapters and build a foundation in x86_64.
- A Linux learner can use the examples to explore how programs interact with the operating system through system calls.
- A C programmer can consult the later material when learning how to call assembly code from C.
- An instructor or independent learner can use the chapter sequence and examples as supplementary course material.
Getting Started
Read the repository README and begin with Part 1: Introduction. To run the examples, use a 64-bit Linux distribution with make, NASM, and binutils installed. See the README for the full chapter list and PDF download.
Alternatives
- asm-lessons: This teaches assembly through FFmpeg code and contribution-oriented lessons, while asm focuses on runnable NASM examples for Linux x86_64 and OS interaction.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| asm | Shell | Other | 3.6k | Not checked yet |
| asm-lessons | – | – | 12.2k | Quiet |
Considerations
- The lessons and examples focus on x86_64 and GNU/Linux, not other architectures or operating systems. ARM64 material is described as a future plan.
- Running the examples requires a 64-bit Linux distribution,
make, NASM, and binutils. - The Markdown content is licensed CC BY-NC-SA 4.0, which requires attribution, prohibits commercial use, and requires adaptations to use the same license. The repository metadata reports the license as
NOASSERTION. - The README notes that translations may diverge from the original content.
Found this useful?
Share it with someone who would like asm.