At 19.26 08-03-1997 -0600, you wrote: >Good Evening, > I'm trying to incorporate some code from another program into some of my >own and I came across something that I don't understand. >.... > The snippet of code is: > > movlw Idle > movwf SState >< later > > movf SState,W > movwf pcl > > Idle is not defined as data or a register but is a label later in the program > My idea is that the memory address of the label is place in W and then >moved to " SState " then later SState is moved back into W and then loaded >into the program counter and then the program counter will skip to the >memory location of the label. Is this possible ?? Yes, I think you are right, it will work that way. The 2 instructions after would work like an indirect jump. If SState is not altered elsewhere in the program, then you could just as well use a simple goto Idle > Also.. what is " 2's compliment " ? I understand that " 1's compliment " >means that 0's are changed to 1's and vice-versa. > Any help is appreciated. 2's complement is a way of representing negative numbers. It is just 1's complement + 1, that is all bits changed to the opposite, then add 1. Regards Michael