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. I've looked in the '84 data sheet, the Easy PIC'n book and the MPASM user's manual but can't find any examples that explain what is going on. 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 pr ogram 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 ?? 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. James and Iliana Holbrook Austin Texas