jakekgrog / EduVM

I've always wondered how VMs worked and I also wanted to learn C so I decided to implement my own VM in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

EduVM - An educational virtual machine

Why a VM?

Virtual Machines are everywhere nowadays and I've always wondered how they work. I also wanted to learn C so I thought the best way to learn about both was to make my own simple VM in C :)

I hope that this project can be used to educate others on not just how virtual machines work, but also computers. It's also a good project to demonstrate the C language.

I recommend reading the ByteCodeExplanation file to rid any confusion of some of the logic in the vm_instruct_exec function.

If you have any questions please email me at jake.kgrogan@gmail.com

How to build

Clone this repo git clone https://github.com/r-dog/EduVm

Cd into the cloned repo cd eduvm

run make make

Now the programs have been compiled and can be found in the programs/bin directory

To Implement:

  1. More opcodes
  2. Load from file

About

I've always wondered how VMs worked and I also wanted to learn C so I decided to implement my own VM in C


Languages

Language:C 84.2%Language:Objective-C 12.2%Language:Makefile 3.5%