abcout

From Esolang
Jump to navigation Jump to search
abcout
Paradigm(s) imperative
Designed by sporeball
Appeared in 2020
Computational class unknown
Reference implementation Unimplemented
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 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 standard subleq a, b, c would 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

Unlike with her previous language, naz, the author did not immediately opt to complete a software implementation of abcout; instead, as of April 2021, she is attempting to implement it in hardware, in the form of a machine christened as the ABCO-1. Because this has not been completed, the language is as of yet unimplemented.

External resources