gpasm the following code assembles fine for me: ----------------------------------------------------------------------- processor 16C71 ifdef __16C71 include "p16c71.inc" __config _XT_OSC & _WDT_OFF & _CP_OFF & _PWRTE_ON ramtop set 0x0C endif ; data storage needed for delays and general purpose cblock ramtop endc end ----------------------------------------------------------------------- 1. The conditionals in gpasm are if, ifdef, etc., not #if, #ifdef, etc., and they must be indented, since they are pseudo operations of the assembler, not a pre-processor thing. 2. The thing that gets reliably defined by processor selection is in the form above, i.e.; __16C71, not PIC16C71. 3. In the set operation, ramtop functions as a label, and must be at the left margin (no indentation). 4. With the above fixed, the ramtop is suitably defined for the cblock. Bill -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist