On 2/7/06, Scott Dattalo wrote: > Actually, the assertions are a gpsim thing. Both MPASM and gpasm can > issue an assert directive (which is really just a macro for a .direct > directive). The assertion gets placed into the .coff/.cod file. > > gpsim deciphers these directives and turns them into breakpoint > assertions. A breakpoint assertion is a special gpsim execution > breakpoint that has an expression associated with it. Normal execution > breakpoints halt the simulation whenever they're encountered. Assertion > breakpoints only halt the simulation when they're encountered AND they > evaluate to false. You can think of them as conditional breakpoints. > > As you can imagine, these are useful for regression tests and code > validation. That's pretty cool! I had no idea that was possible. What I'd really like is to be able to make a variant of a breakpoint for when I'm using my ICD2. If I want the values in my watch window to update, I can either set a breakpoint (which halts everything completely), press the pause button, or enter "Jog" mode which updates the watch after each step, leading to slow execution. What I'd really like is to set a position in my program where every time execution passes that point, the watch window is updated. That would allow me to do tests on my large switch matrix and watch which registers change. Is that even feasible? Josh -- A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. -Douglas Adams -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist