Skip to main content

Suite of Intel 8080 Assembly tools

Project description

Suite8080

Suite8080 is a suite of Intel 8080 Assembly cross-development tools written in Python.

Disassembler output

The suite comprises the following command-line programs and more will come:

  • asm80: assembler
  • dis80: 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

suite8080-0.5.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

suite8080-0.5.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file suite8080-0.5.0.tar.gz.

File metadata

  • Download URL: suite8080-0.5.0.tar.gz
  • Upload date:
  • Size: 15.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for suite8080-0.5.0.tar.gz
Algorithm Hash digest
SHA256 8cc2098d3d7141fee4aa3f1924e2a25d0f059cb01794c7e680d21e0758c0f4a8
MD5 4f9550b707df021c8e7cf88100467af7
BLAKE2b-256 d89bf5a31a6ff8d256e381f996e895813cfb24b194d0de67fb5aef66e4757d41

See more details on using hashes here.

File details

Details for the file suite8080-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: suite8080-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for suite8080-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8d241666854667925c90fb3d3236a3c7f5d636e5c0b8c0c251886b6c92de435a
MD5 8643fa147f789b1bd67236d67ec238e2
BLAKE2b-256 bbadddcdc1c10b11c87051066280db0a1db16c91c43a4d77f5c9181a886394ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page