Yo hice esto en mi programa , es bastante sencillo cuando arranca muestra un msj , cuando se oprime la tecla SW1 muestra en pantalla el msj ENTRANDO AL MENU, para luego seguir
; Subrutina "ServicioInterrupcion" -----------------------------------------------------
;
;
; Subrutina de servicio a la interrupción. Una vez apretado Menu muestra en pantalla ENTRADA A MENU
;
ServicioInterrupcion
call Retardo_20ms ; Espera a que se estabilice el nivel de tensión.
btfss SW1 ; Comprueba si es un rebote.
goto FinInterrupcion ; Era un rebote y por tanto sale.
CALL MENSAJE_MENU ; voy a ver el msj MENU
FinInterrupcion
bcf INTCON,INTF ; Limpia flag de reconocimiento (INTF).
retfie ; Retorna y rehabilita las interrupciones (GIE=1).