Hi Roland, =20 I checked MPASM's help file and it says: "The value assigned by the equ directive may not be reassigned later." It also says you have to use the "set" directive when you want to do that= , here's an example from the help file: =20 perimeter set 0 ;The label 'perimeter' is The value assigned by the set directive may be reassigned later.=20 lngth equ 50H ;The label 'lngth' is assigned the value 50H. wdt= h equ 25H ;The label 'wdth' is assigned the value 25H. =20 The value assigned by the equ directive may not be reassigned later.=20 perimeter set 2*(lngth+wdth) ;Both 'perimeter' andarea set lngth*= wdth ;'area' values are reassigned. So you can't use perimeter equ 5 or something and then use a=20 formula like the one above, since then you will change the constant,=20 which is impossible. =20 (You can find this in the MPASM help file when you search for set,=20 there's also a link to it in the equ explanation.) =20 Anthony Roland wrote: > the code snippets; >=20 > Org 0x20 > Cblock > myCounter > myCounter2 > endc >=20 > and=20 >=20 > myCounter EQU 0x20 > mycounter2 EQU 0x21 >=20 > are exactly the same, perform the same function and there is no real re= ason to use=20 > either. It's the location of the variable that is constant, not it's co= ntents. The 'c' in=20 > cblock stands for 'constant' anyway. >=20 > Sometimes specifying the location of a variable makes it easier to find= when looking > at the File registers in Mplab while debugging. But it's = usually not necessary, and is > a mission, to define the exact location o= f say 50, variables. >=20 > Ultimately then, cblock is used for convenience when allocating lots of= variables. >=20 > Regards > Roland Jollivet Website: http://members.lycos.nl/anthonyvh =09 --------------------------------- Do you Yahoo!? The all-new My Yahoo! =96 What will yours do? --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist