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
Quick Links¶
Install - Build from source in 2 minutes: Installation
Start - Your first program: Quick Start
Learn - Assembly concepts: Tutorial
Reference - Instructions & syscalls: Reference
Practice - Exercises: Exercises
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.