Most assemblers I have used would let you use SET in this way. I don't use= =20 microchip's assembler though so I couldn't say for sure that it behaves=20 like the majority of others. HOWEVER - from my experience, I would suggest that you look around your=20 code to see if "link" is SET anywhere else. What could be happening is=20 that "link" is actually being left with some other value in it AFTER it=20 has been SET to "$". Try changing the symbol name from "link" to "link314156" and see if your problem goes away. Also are you sure that "SET" is a directive for this assembler and not a=20 macro? Regards Sergio Masci On Wed, 22 Jun 2011, Isaac Marino Bavaresco wrote: > You must explain in more details what you want and what you are doing, > so we can understand it better. > > What follows the definition of the symbol 'link'? > Where do you redefine the symbol again? And Where do you use the new > value? Can't you simply use a different symbol for each instance? > > Is this code fragment defined inside a macro? If so you could use the > 'local' directive to define a local symbol. > > > Best regards, > > Isaac > > > > Em 21/6/2011 17:17, Thomas Sefranek escreveu: >> I need the ability to redefine the label, it is the link in the dictiona= ry. >> >> On Jun 21, 2011, at 3:57 PM, Isaac Marino Bavaresco wrote: >> >>> Em 21/6/2011 16:25, Thomas Sefranek escreveu: >>>>> This works in absolute mode! >>>> I see in the listing the address, but the assembler doesn't. >>>> >>>> 00078E 0000 00334 DW link ; Form the= dictionary link address for "skip". >>>> Error[151] : Operand contains unresolvable labels or is too complex >>>> 00000000 00335 link SET $ ; Define th= e dictionary link address for "skip" here. >>>> >>>> Tom >>> >>> I think you should not use 'SET', but rather define a normal label: >>> >>> link: >>> >>> 'SET' doesn't create a symbol in the OBJ's symbol table. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .