Suite8080
Suite8080 is a suite of Intel 8080 Assembly cross-development tools written in Python.
The suite comprises the following command-line programs and more will come:
asm80: assemblerdis80: disassembler
This project is inspired by a series of blog posts by Brian Robert Callahan on demystifying programs that create programs. In an ongoing series of posts on my own blog I'm telling about my work on and experience with developing Suite8080.
The executable files generated and processed by the tools are supposed to run on any Intel 8080 system such as CP/M computers, both actual devices and emulated ones.
Suite8080, which is developed with Replit, requires Python 3.6 or later and depends on Pytest for unit tests.
Installation
Install Suite8080 from PyPI with the command:
$ pip install suite8080
Usage examples
Linux
To run the assembler on Linux execute:
$ asm80 file.asm
where file.asm is an Intel 8080 Assembly source file. You can disassemble the resulting program with:
$ dis80 file.com
where file.com is an executable Intel 8080 program.
Replit
To run the programs online on Replit visit the Suite8080 REPL with a browser. You first have to set up the environment by forking the REPL, opening the Shell pane, and editing ~/.bashrc to add export PYTHONPATH=.:$PYTHONPATH. Next, click Run. Finally, change to the suite8080/suite8080 directory of the source tree.
To run the assembler execute:
$ python3 -m asm80 file.asm
where file.asm is an Intel 8080 Assembly source file.
You can disassemble a program with the command:
$ python3 -m dis80 file.com
where file.com is an executable Intel 8080 program.
Documentation and sample programs
For information on how to use Suite8080 and its design see the documentation.
The asm directory of the source tree contains sample Assembly programs, some of which run on CP/M and others on a bare Intel 8080 system with no host environment. You can use the Suite8080 tools to process these programs, for example assemble the sources with asm80 and disassemble the executables with dis80.
Status
Suite8080 is in early development and some of the planned tools and features are not available yet.
Release history
See the list of releases for notes on the changes in each version.
Author
Paolo Amoroso developed Suite8080. Email: info@paoloamoroso.com
License
This code is distributed under the MIT license, see the LICENSE file.
Release files for suite8080 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| suite8080-0.5.0.tar.gz | 15.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| suite8080-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 29.6 kB
Release files / suite8080-0.5.0.tar.gz
| Download URL | suite8080-0.5.0.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8cc2098d3d7141fee4aa3f1924e2a25d0f059cb01794c7e680d21e0758c0f4a8
|
|
BLAKE2b-256 checksum How to use checksums |
d89bf5a31a6ff8d256e381f996e895813cfb24b194d0de67fb5aef66e4757d41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.2 importlib-metadata/3.10.1 keyring/21.8.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
|
Release files / suite8080-0.5.0-py3-none-any.whl
| Download URL | suite8080-0.5.0-py3-none-any.whl |
|---|---|
| Size | 14.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d241666854667925c90fb3d3236a3c7f5d636e5c0b8c0c251886b6c92de435a
|
|
BLAKE2b-256 checksum How to use checksums |
bbadddcdc1c10b11c87051066280db0a1db16c91c43a4d77f5c9181a886394ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.6 tqdm/4.62.2 importlib-metadata/3.10.1 keyring/21.8.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.12
|