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.
Aryadev Chavali 47c7d6baf7 Store the result of OP_POP in the last register as a word
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.
2023-10-22 17:34:30 +01:00
2023-10-15 01:25:24 +01:00
2023-10-15 01:25:24 +01:00
2023-10-15 01:25:24 +01:00

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
No description provided
Readme 27 KiB
Languages
C 70.2%
C++ 26.5%
Makefile 3.3%