1002 B
1002 B
bird, a vm
bird-vm is a mostly stack based vm. It uses 8-bit ops and 8-bit stacks, but has 16-bit addressing and the ability to do 16 bit math and work with the stacks in "long mode" (pop a high and low byte to work with 16-bit numbers).
This is a learning project. Many mistakes are being made, but lots of fun is being had. It is inspired by varvara/uxn, but without looking at their implementation details and mostly just taking my memory of their project as a point of inspiration. I do not expect it to be generally useful, or a particularly good design (it is my first time dipping a toe into writing a bytecode interpreter/vm).
Coming soon:
- An assembler that produces bird bytecode (see: bird-asm )
- A few string handling ops that will make working with null terminated strings more functional
- A higher level language that compiles down to either the assembler or to bytecode
- I am thinking about something vaguely Pascal-like