# MicSim

Hi! Welcome to MicSim project repo. MicSim is a Mic-1 architecture simulator written in python. It is specially design for studying purpose. 

### How it works ?
It is simple, you have to:
 1. Clone the repo
 2. Execute micsim.py
 3. Enjoy !

### I want to know more about it....
Source code is located in _MicSim_ folder. All the components used for the Mic-1 architecture are 
located in _MicSim/components_ folder:
 - **ijvm.py** Contains standard IJVM constant
 - **microprogram.py** Contains IJVM implementation that use Mic-1 architecture
 - **caretaker.py** Hold all the Mic-1 architecture components (registers, ram etc..)
 - **ram.py** Contains a simple RAM implementation

### How to load code in memory ?
Simply by editing **ram.txt**. Each line corresponding to a byte entry starting from address 0x0 to whatever to $+\infty$ . Each line can be an IJVM _opcode_ or a random byte. Here is an example of how to add two number:

> BIPUSH<br />
> 12<br />
> BIPUSH<br />
> 5<br />
> IADD<br />