Suite8080 0.5.0

Version 0.5.0 of Suite8080 is out, and the package is available on PyPI. Suite8080 is a suite of Intel 8080 Assembly cross-development tools I’m writing in Python.

Assembly source of the Suite8080 hello world demo
The Assembly source of the Suite8080 hello world demo with uppercase constants.

The new release is all about expressiveness. I extended the assembler to accept uppercase identifiers for instruction mnemonics, labels, and constants. The change allows an Assembly coding style in which constants are in all uppercase and stand out. For example, here’s the Suite8080 hello world demo greet.asm with constants such as TPA and BDOS:

; Hello world for CP/M


TPA         equ     100h
BDOS        equ     0005h           ; BDOS entry point
WSTRF       equ     09h             ; BDOS function: write string

            org     TPA

            mvi     c, WSTRF
            lxi     d, message
            call    BDOS
            ret

message:    db      'Greetings from Suite8080$'

            end

I reformatted in this style also the other Assembly demos.

Named constants improve expressiveness by helping clarify the intent of code. So the ds and org directives may now take identifiers as operands, possibly in uppercase, which must be defined before use.

Although implementing these features required some thought, the changes to the Python code were relatively simple and short. I’m happy because these limited changes have a major impact on the way I can use Suite8080 to develop Intel 8080 code.

Documentation is a dimension of expressivity and I’m writing a lot for Suite8080. In this new version, I published the Suite8080 documentation as a separate website. It’s an opportunity to experiment with publishing Python documentation to Read The Docs with Jupyter Book.

Popular posts from this blog

How to Add Code Syntax Highlighting to Blogger

Using a Bluetooth Keyboard on Android

How to Get the RSS Feed of a Revue Newsletter