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.
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.