MARIE Sim

A MARIE Simulator and Assembly Language

in C++

MARIE Sim is a simulation of and assembler for the MARIE architecture

MARIE stands for Machine Architecture that is Really Intuitive and Easy

It's a theoretical CPU architecture designed for educational environments

MARIE Sim was coded in C++ and consists of two parts:

the SIMULATOR that runs MARIE Programs

the ASSEMBLER that allows the user to program for MARIE in a language similar to IBM Assembler

YouTube Demonstration Video

Reflection

Repo available: Click Here

As part of my Computer Systems and Architecture class at Northern Illinois University, I explored the MARIE CPU architecture. To deepen my understanding (and to hopefully assist with my homework!) I decided to create a simulator for it. What started as a simple project quickly evolved into a full simulator and assembler with its own assembly language. Due to my experience with IBM Assembler the assembly language is inspired by heavily by it, but features stricter syntax to enhance clarity and usability for the unique architecture. This project provided me with valuable insights into how computers operate at the most fundamental level.

One challenge I tackled with my newly developed assembly language was implementing multiplication and integer division. Though tedious to achieve, this showed the power and capabilities of the very limited instruction set MARIE architecture.