asmlings
Learn x86-64 assembly by fixing small programs. Inspired by rustlings .
Prerequisites
Linux with gcc, as, ld (pre-installed on most systems).
Usage
make # Build
./asmlings # Start learning (watch mode)
./asmlings list # Show all exercises
./asmlings hint # Get hint for current exercise
./asmlings hint 05 # Get hint for exercise 05
./asmlings run 05 # Run exercise 05 directly
How It Works
- Run
./asmlings- it watches for file changes - Open
exercises/01_intro.sin your editor - Read the instructions, fix the code
- Remove
# I AM NOT DONEwhen ready - Save - asmlings checks your solution automatically
Compiling Assembly Manually
gcc -nostdlib -o program program.s # Compile
./program # Run
echo $? # Check exit code
Resources
- ASM-101 (English) - Comprehensive x86-64 assembly guide
- ASM-101 (Français) - Guide complet d’assembleur x86-64
- Syscall Table
- x86-64 Registers
Development
make test # Run test suite (requires bats)
AI Usage
Claude Code (Opus 4.5) assisted with:
- Dynamic exercise validation (parsing
Expected exit code:andExpected output:from comments) - Stdout capture via pipes for output verification
- Code cleanup and refactoring for modularity
- Test suite (BATS)
- Documentation
The core watcher, exercises, and hints were written mostly manually and polished by Claude.
