Jon, CBLOCK is an assembler directive that defines named constants. In your snippet, CBLOCK is used to assign RAM locations to variable names. ENDC is used to mark t he end of the definitions. There is information about CBLOCK in the MPASM.HLP file. Microchip has not indexed their help files very well, so use the 'find' tab in t he 'search' dialog to locate help for a particular subject. In your example, the constant CHANNELA is assigned the value of 12, CHANNELB is assigned the value of 13, etc. It is not necessary to add ':1' to each of the constant names as shown in your example. The assembler automatically increments by 1 when assigning values in a CBLOCK section. Use the ':' to override auto-increment. For example - CBLOCK 0x10 ; define some RAM locations TEMP1 ; 0x10 TEMPWORD:0 ; 0x11 TEMPWORDH ; 0x11 (TEMPWORD = TEMPWORDL) TEMPWORDL ; 0x12 TEMPBUFF:4 ; 0x13 (reserves 4 RAM locations) TEMP2 ; 0x17 ENDC Hope this helps. I am glad you asked the question - I didn't know about the ':' option until I looked at MPASM.HLP this morning. Thanks! Dave PHXSYS wrote: > Here is a code snip. I have limited programming experience and don't know what > the "CHANNELA:1..." means. Does the :1 have something to do with pages? I have > never used this before. I have not used and ENDC command either? Can someone > provide a simple explanation? > > Thanks > > Jon > > CBLOCK 12 ; Start of user registers > ; initially selected dummy channel > CHANNELA:1 ; contents of Channel A, 0..255 > CHANNELB:1 > CHANNELC:1 > CHANNELD:1 > CHANNELE:1 > CHANNELF:1 > CHANNELG:1 > CHANNELH:1 > > SSHIFT :1 ; serial receiver shift register > STIME :1 ; serial bit timer > SCOUNT :1 ; serial bit counter > SSTATE :1 ; serial receive state > SINDEX :1 ; which channel is addressed by serial port (0..7) > SDATA :1 ; accumulate decimal digits > INDEX :1 ; function dispatch index > DELAY :1 ; delay being generated > PULSE :1 ; width of pulse to be generated > SERVOLN :1 ; Servo line to be activated > PHASE :1 ; PWM phase > GUARDTMR:1 ; signal loss guard timer > FLAGS :1 ; Program flags > > ENDC > PAGE