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 36bcd90c81 When VEROBSE flag is set greater than 0, print traces in vm_execute_all
For each cycle, print the cycle and any changes.  We track changes on
the stack by remembering the previous stack pointer.  For registers, I
remember the previous array of registers and do a byte level compare
of the current registers and the remembered ones.

Produces pretty log messages and an easy way to track execution.
2023-10-22 18:07:41 +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%