abcout
| Paradigm(s) | imperative |
|---|---|
| Designed by | User:sporeball |
| Appeared in | 2020 |
| Computational class | unknown |
| Major implementations | ABCO-1, ABCO-2 |
| File extension(s) | N/A |
- Note that abcout is typically lowercased, even at the start of a sentence.
abcout (add and branch if carry out) is an OISC created by User:sporeball in 2020.
Overview
This OISC was first posed over Discord on February 26, 2020:
sporeball 02/26/2020
trying to conceptualize how to design an OISC
however i feel like the standardsubleq a, b, cwould be hard to build a circuit for (at least for me)
how computationally powerful would, say, an "add and branch if carry out" instruction be?
Each instruction takes the form A, B, C, and does what the above description would suggest: memory address A will have the value of memory address B added to it, and execution will branch to the instruction beginning at memory address C if the result is greater than 255, or to the next instruction in sequence otherwise. It is assumed that memory addresses A and B both contain an unsigned 8-bit integer.
abcout does not memory-map its instructions, in contrast to other OISCs, and instead keeps instructions and user space in separate blocks of memory.
Implementations
In March 2020, roughly one month after abcout's conception, the author produced a "very quick and dirty" implementation of the language, and uploaded it to a GitHub repository titled ABCO-1; it was expanded upon in 2021, in line with attempts to implement abcout in transistor-transistor logic. In March 2023, an ABCO-2 repository was published; this second implementation, while largely undocumented, allows programs to self-modify and to access a simulated 1-bit, 256-by-192-pixel display.
As of 2026, while both implementations remain accessible and functional, neither of them is maintained.[1]
Computational class
If an implementation of abcout can only access finite amount of 8-bit cells, the implementation is a Finite-state automaton. However, abcout might still be Turing-complete if given an infinite amount of memory to work with.
References
- ↑ sporeball – software. Retrieved May 2026. "[W]e are working to move away from GitHub as much as possible, and all of the projects previously published there should be considered end-of-life."