Back to projects

asmlings

A Rustlings-inspired x86-64 assembly learning tool with interactive exercises

Dec 25, 2025


Built with

Bash
Linux

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

  1. Run ./asmlings - it watches for file changes
  2. Open exercises/01_intro.s in your editor
  3. Read the instructions, fix the code
  4. Remove # I AM NOT DONE when ready
  5. Save - asmlings checks your solution automatically

Compiling Assembly Manually

gcc -nostdlib -o program program.s   # Compile
./program                            # Run
echo $?                              # Check exit code

Resources

Development

make test            # Run test suite (requires bats)

AI Usage

Claude Code (Opus 4.5) assisted with:

  • Dynamic exercise validation (parsing Expected exit code: and Expected 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.