I'm no assembler pro but, shouldn't this line :MOVF b'00001111',W ;MOVING 15('F') TO W REGISTER be something like this: MOVLW b'00001111',W ;MOVING 15('F') TO W REGISTER?