Releases: michaelkamprath/bespokeasm
v0.5.1: Configurable String Packing
On top of the v0.5.0 release of enabling adjustable data word sizes, this release makes configurable the methodology for packing string bytes into larger words.
v0.5.0: Arbitrary Data Word Size
This release adds support for different data word sizes in the assembler, expanding beyond the traditional 8-bit words to support variable word sizes including 4-bit, 16-bit, 32-bit, and other configurations. The changes introduce flexible endianness handling at both the intra-word and multi-word levels, enabling more sophisticated processor architectures.
Key changes include:
- Introduction of addressing at differing data word sizes (4-bit, 8-bit, 126-bit, etc).
- Enhanced endianness support with separate intra-word and multi-word configurations
- Made the 'compile' command optional when using
bespokeasm
to compile code. - Added a command line subcommand that helps user update ISA configuration files if the format BespokeASM expects changes.
- Many bug fixes and improved unit test coverage.
- Python v3.11 now required
v0.4.2
This is a rather large change that enables several assembly syntax features to support the Minimal 64x4 Home Computer. The major changes are:
- address operand type that support bit slicing when needed for things like local jumps and zero page addressing.
- .align directive to adjust current address to next configurable page boundary
- Support for embedded strings, which which are essentially .cstr data types without the .cstr directive.
- #mute and #unmute preprocessor directive to control the emission of byte code.
- Complete list of changes is in the CHANGELOG.
Also created the ISA configuration and sample code for the Minimal 64x4 Home Computer.
v0.4.1 - Preprocessor Improvements and Bug Fixes
This version improves on the preprocessor feature set by addressing various bugs and adding support for negative integers in both preprocessor and compile time labels. A number of bugs in compile error message improvements were addressed too. Finally, added an example for The Minimal 64 Home Computer.
Preprocessor Macros and Compilation Control
This is a major feature upgrade that enables preprocessor macro definitions using the #define <symbol> <value>
syntax and compilation control using preprocessor #if
/ #elif
/ #else
/ #endif
directives. See documentation for more information.
Also added several minor features documented in the CHANGELOG.
v0.3.3
What's Changed
- Listing Pretty Print Format by @michaelkamprath in #21
Full Changelog: v0.3.2...v0.3.3