1 个不稳定版本

0.2.1 2018年11月3日

#118#模拟器

MIT 许可证

22KB
597

RGM

一个简单的寄存器机器模拟器

安装

cargo +beta install rgm

用法

rgm 0.2.0
XBagon <[email protected]>
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 文件由指令组成,指令之间由换行符分隔。

指令

名称 参数 操作 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
名称 参数 用法
CONDGOTO t[=,≤,≥,<,>], l, j IF r(0) t l GOTO j
名称 参数 操作 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

依赖

~6MB
~113K SLoC