Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sporeball/abco-1
a hardware implementation of the OISC abcout, with additional tools
https://github.com/sporeball/abco-1
assembler oisc simulator
Last synced: 3 months ago
JSON representation
a hardware implementation of the OISC abcout, with additional tools
- Host: GitHub
- URL: https://github.com/sporeball/abco-1
- Owner: sporeball
- License: mit
- Created: 2020-03-18T19:22:12.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-02-09T01:14:15.000Z (almost 2 years ago)
- Last Synced: 2024-04-24T11:29:06.547Z (8 months ago)
- Topics: assembler, oisc, simulator
- Language: JavaScript
- Homepage:
- Size: 158 KB
- Stars: 9
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ABCO-1
[![js-semistandard-style](https://img.shields.io/badge/code%20style-semistandard-brightgreen.svg?style=flat-square)](https://github.com/standard/semistandard)
the **ABCO-1** is a hardware implementation of the OISC [abcout](https://esolangs.org/wiki/Abcout).
each `abcout` instruction takes the form `A, B, C` and adds the value at memory address `B` to the value at memory address `A`; execution will then branch to memory address `C` if the result is greater than 255, or to the next instruction in sequence otherwise. it is assumed that addresses `A` and `B` both contain an unsigned 8-bit integer.
this is equivalent to the following C-like syntax:
```c
*a += *b; if (*a > 255) { *a %= 256; ip = c; }
```instructions are not memory-mapped, and instead instructions and user space are kept in separate blocks of memory.
it is important to keep in mind that abcout and its implementation in the form of the ABCO-1 are *different things*. i welcome implementations which don't adhere to all of the finer details that this one does.
### folder structure
- [assembler/](https://github.com/sporeball/ABCO-1/tree/master/assembler) - contains an assembler for ABCO-1 ROM files. you'll probably want to start here.- [simulator/](https://github.com/sporeball/ABCO-1/tree/master/simulator) - contains a software simulation of the ABCO-1.
- [prog/](https://github.com/sporeball/ABCO-1/tree/master/prog) - contains example programs and useful imports.
- hardware/ - coming soon.
### donate
you can support the development of this project and others via Patreon:[![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dsporeball%26type%3Dpledges%26suffix%3D%252Fmonth&style=for-the-badge)](https://patreon.com/sporeball)