Dumbleq is a dumb Subleq VM/interpreter implementation created by me for absolutely no reason at all.
If you haven't heard about it before, basically it's the shortened version of SUBtract and branch if Less-than or EQual to zero
. Subleq is one of the prime examples of OISC
(or One Instruction Set Computer), which, by the name suggests, has only one instruction to do everything.
A Subleq instruction can look like this:
subleq A B C
or like this:
A B C
with A, B, C being numbers.
It works by subtracting the value from address B with the one from address A, if the result is less or equal than 0, we will move the memory pointer to address C.
If A is set to -1
, the console will start taking input, convert it into ASCII and store it into address B.
If B is set to -1
, the console will print out the value from memory address A as text.
In the ./src
directory, you should be able to find dumbleq.py
which is the VM.
To run a file consisting of Subleq instructions, type:
python dumbleq.py ./path/to/file
There is a Hello World
program written in Subleq in the ./examples
directory, check it out if you want.
Copyrights © 2022 Nguyen Phu Minh
This project is licensed under the MIT License