>>MOVLW VAR1 ;puts 5 back in the W Register

I am not sure if it is important to you, but this line puts 16 into W (not 5).

MOVF VAR1, W

would put 5 back into W