El fallo esta cuando chekeas el pulsador. Mezclas puerto c,0 con puerto b,0 por esta razón la cuenta llega a 100 y se detiene y además la cuenta aumentará independientemente del pulsador.
Aqui tienes la modificación:
Codigo:
empe btfsc ptoe, 0 ;chequea si el pulsador se ha soltado
goto empe
call retar ; retardo antirrebotes
empe2 btfss ptoe, 0 ; chequea si el pulsador se ha pulsado
goto empe2
call retar ; retardo antirrebotes
call subir ;llama la rutina de incremento
disp movf dig4, w
call tabla
movwf ptoc
movf dig3, w
call tabla
movwf ptod
movf dig2, w
call tabla
movwf ptob
movf dig1, w
movwf ptoa
goto empe
Si necesitas ayuda dilo.