Jan-Erik Soderholm wrote: > By *exclusively* using the RES directive for RAM, you should > be safe against that kind of misstakes. RES is already the *only* means of specifying RAM variables. The assembler can't be blamed if some people use EQU to define constants that happen to have the values overlapping with RAM addresses, then use these constants to access RAM, because it has no way to know you are misusing the constants in that way. Hmm. That brings up an interesting point. While the assembler can't tell the intention of an EQU statement, it can tell how the symbol is used. It could and should issue a warning if a symbol defined with EQU or CBLOCK is used in a context where it's obviously a memory address. For example: myvar equ 32 ;boneheaded variable definition attempt movf myvar, w ;this could generate a warning ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist