Quoting Bob Ammerman : > Olin said: >> Yes they can, since CBLOCK is for defining enumerated constants and has >> nothing to do with RAM addresses. > > > Actually, although CBLOCK is certainly very useful for defining enumerated > constants, I believe it was likely originally introduced as a convenient way > to assign addresses to variables. > > Remember, that in most early (absolute) assemblers, there is no 'typing' of > expressions, and thus it is not possible to distinguish a memory address > from any other constant. This was certainly true in the early 8080/Z80 > assemblers I used. > > -- Bob Ammerman > RAm Systems The help file makes it clear what CBLOCK is intended for, like it or not. "cblock is useful for defining constants in program and data memory for absolute code generation". Absolute addresses of variables in data memory (and constants in program memory) *are* constants. Best regards, Spehro Pefhany -- "it's the network..." "The Journey is the reward" s...@interlog.com Info for manufacturers: http://www.trexon.com Embedded software/hardware/analog Info for designers: http://www.speff.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist