Skip to content
GUI Preview

๐Ÿงฌ VIREX โ€” The VIRtual EXecuter

VIREX is a portable, lightweight virtual machine that runs programs written in a custom intermediate language called SASM โ€” Simulated Assembly. Think of it as the JVM for your own language, but with transparency, control, and a fully editable instruction set.

Designed to be educational and extensible, VIREX opens the door to systems-level thinking without forcing you to dive into raw x86 or ARM.


๐Ÿงญ What Is SASM?

SASM is a human-readable assembly-like language designed to serve as the intermediate representation (IR) for any compiler targeting the VIREX runtime. Unlike conventional bytecode formats:

  • ๐ŸŸข It's text-based, not binary โ€” easy to inspect, diff, and version.
  • โœ๏ธ It's editable by hand โ€” write or tweak your programs directly in SASM.
  • ๐Ÿงฉ It's tooling-friendly โ€” build compilers, assemblers, visualizers, and analyzers around it.

If LLVM IR is too complex and raw bytecode is too opaque, SASM is your sweet spot.


๐Ÿง  Why SASM + VIREX?

Whether you're a language designer, systems programmer, or just curious how virtual machines and compilers work, SASM and VIREX provide the perfect sandbox.

Hereโ€™s what makes it special:

Feature Benefit
Open Instruction Set Customize or extend the VM with new opcodes and semantics
Portable Execution Write once, run anywhere VIREX runs
Clean Syntax Designed for learning, debugging, and experimentation
Tooling Ecosystem Includes assembler, AST visualizer, VS Code syntax theme, and more
Compiler-Ready Ideal IR target for custom languages like ORIN

๐Ÿ› ๏ธ What's Included?

VIREX isn't just a VM; it's a whole ecosystem for low-level development:

  • ๐Ÿงพ SASM Assembler: Translates .sasm files into VM-executable binaries.
  • ๐ŸŒ AST Visualizer: Graphical output of the instruction flow and scope tree.
  • ๐ŸŽจ VS Code Theme: Rich syntax highlighting for SASM to improve readability.
  • โš™๏ธ Extensible Runtime: Easily add new registers, memory models, or system calls.
  • ๐Ÿงช ORIN Language (WIP): A high-level language that compiles directly to SASM.

๐Ÿ”ฎ The Vision

Our mission is to make systems programming approachable!

VIREX is designed for education, experimentation, and language development. By abstracting away the messiness of real hardware and binary formats, it lets you focus on:

  • Designing instruction sets
  • Writing your own compiler backends
  • Learning how registers, stacks, and memory behave under the hood
  • Debugging complex logic through visual ASTs

๐Ÿค Get Involved

Whether youโ€™re:

  • a student learning compilers or virtual machines,
  • an educator looking for hands-on systems material,
  • a hacker building your own language,

VIREX welcomes contributions and collaboration. Visit our GitHub repo, try out SASM, or contribute to ORIN โ€” our experimental high-level language.

Ready to run your first virtual assembly program? Get started โ†’