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.
47c7d6baf7d39da5e2683edc3674494fcd3874ba
Instead of making routines to handle data in the `ret` register, just store the result of POP into the last word register. This means we are no longer using vm_pop_* or POP_ROUTINES for the vm_execute script on OP_POP: instead we'll just use vm_mov_* which automatically pops the datum for us, while moving the datum to the last register.
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
70.2%
C++
26.5%
Makefile
3.3%