Si mis calculos no fallan (y lo poco que aprendi hasta ahora esta bien aprendido) este programa deveria contar los pulsos que entran por RB0 y almacena la cuenta en el registro CUENTA.
list p=16f84
#include <p16f84.inc>
__CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC
#DEFINE BANK0 BCF STATUS,RP0
#DEFINE BANK1 BSF STATUS,RP0
TRUE EQU 1
FALSE EQU 0
#DEFINE RX PORTB,0
cuenta EQU 0x0C
;*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
ORG 0
GOTO INICIO
ORG 4
INTERRUPCION
CALL PULSO
BCF INTCON,INTF
RETFIE
PULSO
BTFSC RX
call RXPULSO
incf cuenta,1
RETLW FALSE
RXPULSO
BTFSC RX
goto RXPULSO
RETLW FALSE
INICIO
BANK1
BCF OPTION_REG,INTEDG
BANK0
BSF INTCON,INTE
BSF INTCON,GIE
GOTO $
END