Releases: kspalaiologos/asmbf
Milestone release #2
A release straight before BFVM is pushed.
Milestone release
Nothing much coming in this release in comparasion to v1.2.9b, but we're ready to bump up the minor number, because new preprocessor's on the board, and after extensive testing it's been proven to be stable.
v1.2.9b: Label preprocessor in C!
This release features a brand new label preprocessor written in C.
v1.2.9: Important register bugfix, seg bugfix
- seg bugfixes.
- r5 and r6 temporairly removed.
v1.2.8a: Data labels are on the board!
Breaking changes:
- separate preprocessor for data labels. Not merged to the mainline.
- alpha release: bugs may occur at certain places.
seg
now clears previousorg
value, setting it to 0.
Two new registers
v1.2.7 Update README
New bfi, hotfix release.
New bfi is shipped with this release.
Bugfix: register uppercase names (e.g. R2) now work.
Uppercase mnemonics
This release adds uppercase mnemonics.
Roadmap for v1.2.6;
- make the floors (as in
jz_
) optional. - extend the maximum instruction length somehow, because we run out of free instruction names quickly, and there is no possibility of expressing complex constructs in 3 bytes in range of 0x41-0x5A that actually express content to the reader.
- separate the register usage groups (might be a bold move).
- Add a new finishing register for faster memory peek/poke.
New register, `r5`, `nav`, better stripper, immediate optimalization.
Giant changes to asm2bf.
-> A new register! This gives a total of 5 registers for your use!
-> nav
instruction navigating the pointer to given register. Now you can combine it with inline brainfuck to create more performant and smaller programs!
-> No more naive immediate pushes (partly)! To demonstrate importance of this feature, bfasm self compiler has shrunk nearly 80% while keeping functionality and being even faster! If DISABLE_OPT is defined, the optimalization is disabled (if your program breaks, for some reason)
Postfix RLE, digits allowed in label names, newlines allowed inside macros.
This release adds:
- postfix RLE. You can enable it by specifying -DPOSTFIX_RLE in options environment variable.
- Using
__NEWLINE__
macro, you can embed newlines into the macros. - Another macro,
__ICOUNTER__
serves as a simple counter. - RLE decompressor now allows to specify postfix or prefix parameters affecting decompression.
- Strip no longer trashes breakpoints.
- rcl is now more performant.
- amp and smp implemented and added.