rgm

Crates.iorgm
lib.rsrgm
version0.2.1
sourcesrc
created_at2018-11-03 16:37:20.329709
updated_at2018-11-03 16:37:20.329709
descriptionA simple register machine simulator
homepage
repositoryhttps://gitlab.com/XBagon/rgm
max_upload_size
id94522
size30,380
XBagon (XBagon)

documentation

README

RGM

A simple register machine simulator

Installation

cargo +beta install rgm

Usage

rgm 0.2.0
XBagon <xbagon@outlook.de>
A Register Machine Simulator

USAGE:
    rgm.exe [FLAGS] [OPTIONS] <input>

FLAGS:
    -d, --debug      Prints debug information for each step
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config <config>...    Allows to set initial configuration of registers
                                USAGE: index:value index:value index:value ...

ARGS:
    <input>    Input rgm file

rgm files are made of instructions seperated by newlines.

Instructions

Name Params Action PC
LOAD i r(0)=r(i) +=1
STORE i r(i)=r(0) +=1
ADD i r(0)=r(0)+r(i) +=1
SUB i r(0)=r(0)-r(i) +=1
MULT i r(0)=r(0)*r(i) +=1
DIV i r(0)=r(0)/r(i) +=1
GOTO j = j
Name Params Usage
CONDGOTO t[=,≤,≥,<,>], l, j IF r(0) t l GOTO j
Name Params Action PC
CLOAD l r(0)=l +=1
CADD l r(0)=r(0)+l +=1
CSUB l r(0)=r(0)-l +=1
CMULT l r(0)=r(0)*l +=1
CDIV l r(0)=r(0)/l +=1
INDLOAD i r(0)=r(r(i)) +=1
INDSTORE i r(r(i))=r(0) +=1
INDADD i r(0)=r(0)+r(r(i)) +=1
INDSUB i r(0)=r(0)-r(r(i)) +=1
INDMULT i r(0)=r(0)*r(r(i)) +=1
INDDIV i r(0)=r(0)/r(r(i)) +=1
Commit count: 15

cargo fmt