A register-based RISC-style virtual machine written written in Rust.
This repository has been archived on 2025-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
Anthony Foxclaw 1cc7b2ec6c
Merge pull request #2 from tonytins/features/paser
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.
2020-02-09 20:12:15 -05:00
.github/workflows Tweaked Github CI 2020-02-08 17:00:18 -05:00
docs We're just a RISC virtual machine 2020-02-09 19:33:00 -05:00
src Fixed a few old bugs 2020-02-09 18:43:23 -05:00
.gitignore Initial source commit 2020-02-06 16:37:23 -05:00
.travis.yml Initial source commit 2020-02-06 16:37:23 -05:00
appveyor.yml Initial source commit 2020-02-06 16:37:23 -05:00
Cargo.lock Initial start on assembly parser 2020-02-07 21:10:16 -05:00
Cargo.toml Initial start on assembly parser 2020-02-07 21:10:16 -05:00
LICENSE Initial source commit 2020-02-06 16:37:23 -05:00
README.md We're just a RISC virtual machine 2020-02-09 19:33:00 -05:00

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 Rust
Travis CI Build Status
AppVeyor Build status

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

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.