A register-based RISC-style virtual machine written written in Rust.
This is the second last part of the assembly parser. It simply adds functionality to the HLT instruction and preliminary support for memory allocation has been added. ## Removal of MIPs While I will be keeping up with the tutorial, the MIPs ISA will no longer be the target goal after discovering that they shutdown their Open Initiative program. But it's just one of many derivatives RISC which is a open design and many famous RISC ISAs, such Power and SPARK, are themselves open. ## Fixes - The VM now executes the whole program until it's stopped. - An instruction that isn't the full 32bit width is now padded. |
||
---|---|---|
.github/workflows | ||
docs | ||
src | ||
.gitignore | ||
.travis.yml | ||
appveyor.yml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
Corten
Corten is a RISC virtual machine written in Rust as a hobby and based on Fletcher Haynes's So you want to build a language VM tutorial.
Build Status
Service | Status |
---|---|
Github | |
Travis CI | |
AppVeyor |
Specifications
See specifications page.
Requirements
Prerequisites
- Rust 1.41+
- Recommended IDEs
- Visual Studio Code
- Jetbrains IntelliJ
Supported Platforms
- Ubuntu 18.04+
- Windows 10 v1809+
- macOS 10.15+
Authors
- Anthony Foxclaw - Initial work - tonytins
- Fletcher Haynes - Tutorial - fletchercp
See also the list of contributors who participated in this project.
License
This project is licensed under the MPL 2.0 license - see the LICENSE file for details.