Olin Lathrop wrote: > And by the way, one CBLOCK statement does not prevent other CBLOCK > statements from assigning the same values to different symbols. > Each CBLOCK merely assigns sequential values to a list of symbols. > It has absolutely nothing to do with RAM allocation. > .... > It is not possible to RES the same memory location twice. Sure it is, if you use the UDATA_OVR directive... But you wouldn't do that accidentally, any more than you'd accidentally enumerate two CBLOCKs at the same value. I didn't claim that CBLOCK was always preferable to RES, or that CBLOCK "allocates" RAM, or that CBLOCK always prevents reassignment of registers. My only point was that the protection from reassignment provided by RES is NO BETTER than what CBLOCK offers: a) EQUs trump both RES and CBLOCK equally, b) both CBLOCK and RES will allow registers to be reassigned if the right parameters are used, and c) if you don't use those parameters or EQUs, both CBLOCK and RES will keep registers from being reassigned. -Andy P.S. If I stipulate that there's nothing wrong with using relocatable mode assembly, will you stop characterizing all register-naming with EQU or CBLOCK as "boneheaded" and a "misuse"? I hope so, because I'm tired and I REALLY don't want to spend an hour writing up examples to rebut that characterization. === Andrew Warren -- aiw@cypress.com === Principal Design Engineer === Cypress Semiconductor Corporation === (but open to offers) === === Opinions expressed above do not === necessarily represent those of === Cypress Semiconductor Corporation -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist