bird-vm/README.md

16 lines
1002 B
Markdown

# 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:
- [X] An assembler that produces bird bytecode (see: [bird-asm](https://tildegit.org/sloum/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