03-30-2009, 06:46 AM
Changes from Version 1.1.2 to 1.1.4
====
TODO:
- + The peephole optimizer has been enabled and seems to be working
reasonabily well (use -O3 for higher optimization).
- ! When a DIV BY ZERO error occurs with floating point numbers the program
crashes and resets the computer. This behaviour has been fixed
and now returns 0 value and sets the error code 6 (Numbert Too big)
in the ERR_NR system variable.
- * Refactorization of the assembler and compiler so they now
shared the OPTIONS in a better way (still to be finished). This
makes easier to program future compiler options. Now also --debug
flag is additive, showing more verbosity the more it is used.
- + Memory optimization: The PRINT routine (which is about 1K) is not
included if not USED.
- ! Fixed a bug in negative constant integer typecasting (Thanks to LCD
at WOS for reporting it! ;-)). It was causing decremental FOR..NEXT
to fail.
- ! Scientific notation numbers (e.g. 2e10) were not correctly parsed.
Fixed. Thanks again to LCD. ;-)
- + Added TAB compatibility for the PRINT command (both as a command
and as a CHR$ control character).
- * PRINT code optimized for size, maintaining speed.
====
TODO:
- Some little more peephole optimizations.
- Implementation of SAVE/LOAD/VERIFY with DATA/CODE/SCREENS (And maybe even the BASIC zone)
- 8 bits AND/OR/NOT/XOR instructions
- READ/DATA/RESTORE (mostly for compatibility)
- CLEAR for filling memory zones.
- USR n and USR n$ function (mostly for compatibilty)