Skip to content

jakekgrog/EduVM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published