wlvm

Virtual machine with associated language written in Rust

Build & Test

Installation

cargo install wlvm (https://crates.io/crates/wlvm)

Build

git clone https://github.com/wafelack/wlvm cd wlvm/ cargo build cargo test

Usage

Run repl

wlvm

Run program

wlvm run $program

Dump program's memory and registers

wlvm dump $program

Details

Virtual Machine datasheet

Registers

There are 6 multi purposes registers, marked from a to f.

There are 4 special registers : - sp : The stack pointer - ip : The instruction pointer - st : The stack top value - eq : The result of the last test performed

Instruction Set

Stack instructions

Arithmetic operations

Memory operations

Boole algebra operations

Other