hola Islagrande.
esta es una plantilla que yo sigo cuando escribo en asm (en el caso del 16f877A):
;***************************************************************************
;
; aqui van los comentarios
;***************************************************************************
#DEFINE Q1 PORTD,0 ; nombramientos de pines
;*************************************************************************
list p=16f877A ;
#Include "P16F877A.INC" ; archivo de cabecera del uC PIC
;**************************************************************************
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _LVP_OFF & _CPD_OFF & _DEBUG_OFF
; declaracion de los bits de configuración (opcional)
;**************************************************************************
CBLOCK 0X20 ; asignacion de variables
;aqui van los registros de la ram (GPR)
ENDC
;**************************************************************************
org 0x0 ; vector 0 de programación
goto inicio ; salta el vector de interrupcion
org 0x4
;acá va el código del servicio de interrupción (ISR)
retfie ; sale del ISR
inicio:
; acá comienza la programación principal
end ; indica fin de la compilación asm
según las recomendaciones de microchip, lo primero que se hace es limpiar los puertos, luego configurarlos y activar/desactivar los modulos involucrados.