asm vs asm-lessons
Linux x86_64 assembly learning compared
asm teaches Linux x86_64 assembly through a seven-part series with runnable NASM examples. asm-lessons introduces assembly in the context of FFmpeg, with a path aimed at programmers preparing to contribute.

asm: Learn Linux x86_64 Assembly Programming
A chapter-based introduction to assembly programming for Linux x86_64, with explanations and runnable NASM examples. It suits readers learning how low-level programs work and how assembly interacts with C and the operating system.

asm-lessons: Learn Assembly for FFmpeg
A lesson-based introduction to the assembly language used in FFmpeg, aimed at programmers who want to understand low-level code and prepare to contribute. It assumes familiarity with C pointers and high-school mathematics.
| asm | asm-lessons | |
|---|---|---|
| Language | Shell | — |
| License | NOASSERTION | — |
| Stars | 3.6k | 12.2k |
| Forks | 391 | 409 |
| Last analyzed | Oct 3, 2026 | Oct 3, 2026 |
Key differences
- asm covers x86_64 on GNU/Linux, including system calls, memory, floating-point arithmetic, and calling assembly from C; asm-lessons focuses on assembly as used in FFmpeg.
- asm presents seven chapters from processor concepts to higher-level language interaction; asm-lessons uses lessons oriented toward understanding and contributing to FFmpeg.
- asm is aimed at learners seeking a guided foundation in Linux assembly; asm-lessons assumes familiarity with C pointers and high-school mathematics.
- asm lists example prerequisites including 64-bit Linux, make, NASM, and binutils; asm-lessons is learning material rather than a toolchain or contribution workflow.
- asm offers a downloadable PDF and lists volunteer translations in Chinese, Turkish, Korean, and Russian; asm-lessons lists README versions in English, French, Spanish, Turkish, and Chinese, plus a Discord server.
- asm reports its license as NOASSERTION, while its Markdown content is described as CC BY-NC-SA 4.0; asm-lessons notes that assignments are planned but not yet uploaded.
Choose asm if you…
- want a chapter-based introduction to x86_64 assembly on GNU/Linux.
- need examples covering system calls, memory, floating-point arithmetic, or calling assembly from C.
- prefer a downloadable PDF and runnable NASM examples to support learning.
Choose asm-lessons if you…
- already know C pointers and want to learn assembly in the context of FFmpeg.
- are preparing to read or modify assembly code in FFmpeg.
- want a project-focused path toward contributing to FFmpeg.
Compare the numbers side by side, or add more projects
This comparison is generated with AI from the OSRepos analyses of both projects. Always check each project's repository and documentation before choosing.