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
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.