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.
dca51106a205a14380446705d68a12d810eeb20f
Though we deal with unsigned numbers internally, it should be possible to read and manipulate negative numbers through 2s complement. Later on we'll add support for signed operations via 2s complement, so this should be allowed.
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 need to link with the object files for
base.c, darr.c and
inst.c to be able to properly target the OVM. The
basic idea is to create instructions via inst_t then using the
inst(s)_write_* API to generate bytecode (and write to a file).
Then to execute the program, the virtual machine interpreter ovm.out
is used.
Description
Languages
C
70.2%
C++
26.5%
Makefile
3.3%