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 2ef104f235 Fixed bug in vm_mov(byte|hword) where registers aren't set properly
This is because we just OR the bits into the specific byte of the
word.  This means the previous state may leave artefacts as the OR
doesn't clear the bits away.

To do so, we apply a bit mask to clear the specified byte(s) of the
word, then perform the OR.
2023-10-23 01:43:24 +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
2023-10-23 00:45:23 +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%