Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Notifications You must be signed in to change notification settings

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

Readme

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors