MLV8 (Mini Low-level Von Neumann 8 bit) is the C improvment and continuation of my MBOA8 CPU Emulator. MLV8 improves on MBOA8 by using C instead of Python for preformance, a more minimal and neuanced instruction set.
Based on the Von Neumann architechture, where instructions and data are stored in the same memory unit. In-tern making the CPU very minimal and simple. Written in C for preformance and low-level memory managment. improving the speed of execution compared to MBOA8 which was written in Python.
Make sure you have a C compiler like clang or GCC to compile the files.
First clone the repo:
git clone https://github.com/MOHAPY24/MLV8
cd MLV8Then compile the main.c file:
gcc main.c -o mainor with clang:
clang main.c -o mainthen finally:
./main To use diffrent instructions/opcodes, go to the main.c file and change the opcodes inside add_opcode() functions to the opcodes you would like to use.
According to the instruction set. You may add more add_opcode() functions but be ware the instructions that take locations need another add_opcode()
after them to prevent any issues and let the next instruction work well.
Any error raised in the CPU will have a number at the end of the message, those are the error id's, see what they mean at error classification sheet.
Feel free to open issues or make pull requests to improve MLV8.
- Thanks to all open source contributors for making C compilers and tools available.
- Inspired by the original MBOA8 project.
Licensed under the BSD-3 Clause, see more in LICENSE © 2024 MOHAPY24