This repository has been archived on 2025-11-10 . You can view files and clone it. You cannot open issues or pull requests or push a commit.
f9b2c8ed777148739eae4ef050eb66b02cddbd51
Instead of having 3 differing macros for each typed version of each opcode, just supply the type as a symbol to the macro, which will concatenated the type to all the places necessary. Relies on D(BYTE|HWORD|WORD) and OP_*_(BYTE|HWORD|WORD) being a consistent naming style.
Oreo's Virtual Machine (OVM)
A stack based virtual machine in C11. Deals primarily in bytes, doesn't make assertions about typing and is very simple to target.
Instructions to target
You'll need inst.h for the instruction API. You
must convert user programs to instructions via inst_t, then emit
bytecode via insts_write_bytecode*.
This is all that is necessary to create a language which targets this virtual machine. To execute that bytecode, a user must use my virtual machine program.
Description
Languages
C++
93.8%
Makefile
6.2%