aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2023-10-21 23:27:33 +0100
committerAryadev Chavali <aryadev@aryadevchavali.com>2023-10-21 23:27:33 +0100
commit1c2de9a926924a5eaf5000b695fdb33ad5664da1 (patch)
treebe4e6a39bfbaa46364d37e57136e249c43d566a1
parentf3a5981fa2e6aff6b6cbae3f4117b9dec0666ccb (diff)
downloadovm-1c2de9a926924a5eaf5000b695fdb33ad5664da1.tar.gz
ovm-1c2de9a926924a5eaf5000b695fdb33ad5664da1.tar.bz2
ovm-1c2de9a926924a5eaf5000b695fdb33ad5664da1.zip
Wrote a quick tutorial on targeting the virtual machine
-rw-r--r--README.org8
1 files changed, 8 insertions, 0 deletions
diff --git a/README.org b/README.org
index 8c3f306..562ad67 100644
--- a/README.org
+++ b/README.org
@@ -4,3 +4,11 @@
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 [[file:src/inst.h][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.