Skip to content

zni/rMARIE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rMARIE

rMARIE is a simple computer based on the specification of MARIE in "The Essentials of Computer Organization and Architecture". The virtual machine has 4K words of main memory, with 16-bit data and instructions. It has several registers, but only one general purpose register.

This implementation features a new machine instruction, 'storei', with two more planned in future updates.

Besides the addition of machine instructions, the assembly language definition differs slightly. Addresses can now be given as labels, hexadecimal digits (ex: 0xCAFE), or decimal digits.

Features

  • Assembler (supports .rmas files)
  • Virtual Machine (supports .rmex files)

To Do

  • Actual documentation.
  • Create tests.
  • Add actual error handling to the parser.
  • Many, many things... sooo many things.

Usage

To assemble an rMARIE assembly file:

rmarie-asm <file>.rmas

This will produce file.rmex, which you can now give to the virtual machine:

rmarie-vm <file>.rmex

Examples

See the examples folder for assembly source examples.

Requirements

  • Ruby (>= 1.9.0)
  • Racc (>= 1.4.6)
  • Rexical (>= 1.0.5)

Install

  • Clone the rMARIE repository.
  • gem build rmarie.gemspec
  • sudo gem install rMARIE-version.gem

Author

Original author: Matthew Godshall

License

For the full license, see the LICENSE file.

(GPL v3 License)

Copyright (c) 2011 Matthew Godshall

rMARIE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

rMARIE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with rMARIE. If not, see http://www.gnu.org/licenses/.

About

A simple virtual machine and assembler.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages