Hi I am fairly new to programming PICs and I have some code I am trying to understand. It uses a MOVLW where the literal is a label for a routine. Can you help me understand? movlw Ckstrt ; then make sure start bit persists Is this a method of addressing? Is the code run for that label and the final value stored in W? I've never used this before. Hre's an example of a serial routine. Idle btfss SERIN ; skip if serial input is space goto idl15 movlw BITTIME/2 ; delay 1/2 bit time movwf STime movlw Ckstrt ; then make sure start bit persists**** LOOK HER E movwf SState goto w10 ; Ckstrt decfsz STime,F ; verify start bit by sampling at center **** LOOK HERE goto w15 btfss SERIN ; skip if start bit was valid goto idl13 movlw BITTIME ; delay 1 bit time movwf STime movlw Getbit ; then receive data movwf SState movlw 8 movwf SCount ; for 8 bits goto w6