Hola aljon,
Te copio parte de un programa de mi proyecto. El código en cuestión testea el estado de dos pulsadores, uno de ellos sirve para incrementar y el otro para decrementar un valor que se irá mostrando por la pantalla LCD, dicho valor es la variable reftermo (en mi proyecto este código sirve para programar la referencia de un termostato). Una vez se ha detectado que se quiere incrementar o decrementar se suma o se resta 1 a la variable reftermo, se passa a BCD y se envía al LCD.
Espero que te sirva de ayuda (ya sé que algunos diréis que he hecho su trabajo, pero no me costo nada... Ctrl+C Ctrl+V...
).
repetir
BANKSEL PORTB
BTFSS PORTB,3
GOTO incrementar
BTFSS PORTB,4
GOTO decrementar
GOTO fija
decrementar
DECF reftermo
GOTO ficanvi
incrementar
INCF reftermo
ficanvi
BANKSEL reftermo
MOVFW reftermo
CALL aBCD8bits
MOVFW RESULBCD
CALL EnviaByte
CALL Retard_150ms ;Esperamos 150ms antes de volver a testear los pulsadores para evitar un incremento/decremento muy rápido.
Aquí mi código continua, pero en tu caso podrías hacer un goto repetir