vasm Documentation

vasm is an educational ARM-like virtual machine designed for learning assembly language programming. Build and run simple assembly programs to understand how computers execute code at the lowest level.

mov r0, #42
mov r7, #1
swi

What is vasm?

vasm provides a minimal ARM-like instruction set that:

  • Uses 32-bit little-endian instructions

  • Has 16 registers (r0-r15, plus sp, lr, pc aliases)

  • Supports basic arithmetic, memory, and branching

  • Includes a simple syscall interface for I/O

Perfect for students, educators, and anyone wanting to learn assembly without the complexity of real hardware or full-featured architectures.

Requirements

  • C compiler (GCC, Clang, or MSVC)

  • Python 3.9+

  • Meson & Ninja build system

  • Git (optional)

See Installation for setup instructions.

Note

vasm is experimental. APIs and instruction sets may change.