Hola Gabriel,
Te voy a echar una manita en eso que te dice Pocher: las equivalencias en cuanto a los nemónicos, registros, etc que utiliza uno u otro chip. Verás:
** "include P16F84.INC" en lugar de "include P12C509A.INC"
** Los fuses de configuración:
En el 16f84 puedes usar: PWRTE
Pero no puedes usar:MCLRE,
Si has usado el oscilador interno en el 12c, _IntRC_OSC, entonces tendrás que poner algo así _hs_osc para el 16f.
** Las direcciones de los registros EEADR, EEDATA, INTCON, PCLATH, EECON1 y EECON2 están reservadas en el 16f. No las puedes usar en tu código para el 12c.
** Los puertos:
Sustituye el PORTB por lo que tengas en el GPIO (dirección 0x06)
En el 16f no puedes usar la instrucción TRIS, sino debes utilizar las direcciones de los registros TRISA y TRISB
** En el registro OPTION, ten en cuenta que debes poner el bit T0CS a cero en caso de que tengas configurado el GP2 como salida.
Espero que te haya ayudado.

Un saludete!
Elena