[PicForth] Re: Dumb question - 'code' words and register banks

Samuel Tardieu sam at rfc1149.net
Sun Nov 14 21:57:30 CET 2004


>>>>> "Sam" == Samuel Tardieu <sam at rfc1149.net> writes:

Sam> Maybe I should issue a warning when the right bank is not
Sam> selected and if the bank is not restored at return. What do you
Sam> think about it?

I have implemented it and will release it in a few minutes, as
PicForth 1.2. Incidentally, those new checks (warnings are fatal by
default, see the manual) did underline an error in piceeprom.fs:
interrupts were not properly suspended because the wrong bank was
selected at this time!

The changes since PicForth 1.1 are:

** Optimizations

  + "nip" now optimizes code such as "1 2 nip" by replacing it by "2".
    This situation can arise when a bit name is given and only the
    bit number is interesting.

** Enhancements

  + "picisr.fs" now include versions of "suspend-interrupts" and
    "restore-interrupts" that can be nested up to 256 levels. However
    this requires one more byte of memory (problem signaled by
    Alex Holden <alex at linuxhacker.org>).

  + PicForth will issue warnings (which by default are fatal) when a
    bank mismatch has been detected.

** Cleanups

  + Remove extra definition of "set-wrt". Reported by Jamie Lawson
    <jlawson at ces.uoguelph.ca>.

** Bug fixes

  + Interrupts were not properly suspended during an EEPROM write. This
    has been found by the new bank mismatch detection code.

 Sam
-- 
Samuel Tardieu -- sam at rfc1149.net -- http://www.rfc1149.net/sam



More information about the PicForth mailing list