So, those interested, please, download from: http://www.boriel.com/files/zxb
This version finally implements bitwise operations (bAND, bOR, bXOR, bNOT) on any interger types (8, 16 and 32 bits).
Thanks to Britlion, apenao, LCD, LTee, programandala & carloscomputer again (and maybe others, please priv. msg. me). They've detected many bugs again, but now I've started to use TDD (Unit Testing) to avoid already-fixed bugs to be reintroduced. Like the previous version, this one fixes so many that some parts has been completely rewritten. If you use any older version, do please upgrade to this one immediately. This version could be considered as another "Service Pack Update".
Changes since v.1.2.5
- + The assembler now supports ALIGN <integer> directive
- + Added support for checking out of memory in runtime.
- + Added support for checking BREAK in runtime (--enable-break)
- + Added support for Subscript Out of Range in runtime (--debug-memory)
- + Added support for --strict-boolean (0 or 1) values (--debug-array)
- + Added suport for 8 bit bitwise bAND, bOR, bXOR, bNOT operations.
- + Added print64 by Britlion library routine, and Mojon Twins FourSpriter version (more to come).
- + Added support for logical XOR (if A XOR B then...)
- + Bitwise bAND, bOR, bXOR, bNOT finally added for 8, 16 and 32 bits
- ! Fixed a bug in RANDOMIZE which wasn't updating the seed correctly.
- ! Fixed a pragma typo in POS.bas library wich lead to errors.
- ! Fixed a bug in STR$, VAL, CHR$ and CODE which could crash the program.
- ! Fixed a bug in string comparison
- ! Fixed 2 more bugs in the peephole optimizer (-O3) which could crash the program.
- ! Fixed some syntax bugs. PI() and RND() are now allowed.
Calling functions with no parenthesis is either.
- ! Fixed a parser bug in which empty WHILE / DO .. LOOP loops crashed the compiler. Fixed.
- ! Array access has been optimized for speed. Now faster.
- ! For loops have been slightly optimized.
- ! MEM_FREE heap routine has been slightly optimized.
- * The print* intermediate code instructions have been removed and converted to routines.
- * Lot of code refactoring, and moved to the standard trunk/tag/branches SVN repository scheme.
- * String expresions now are standarized (like any other data type).
- * TDD: Begin to create unitary tests cases for the compiler.