Disculpa mi amigo, me da verguenza pero complete el codigo con lo que le faltaba y no logro detectar cual es el error que me marca el compilador, disculpa la ignorancia pero aun soy novato en esto del asm.
;======================================
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=16F84A
INCLUDE <P16F84A.INC>
CBLOCK 0x0C
Contador
ENDC
ORG 0x00
GOTO CONFIGURACION
ORG 0x04
GOTO PRINCIPAL
CONFIGURACION
;Aca configuras los TRIS,etc etc
bsf STATUS,RP0 ; Acceso al Banco 1.
movlw b'00111000' ; TMR0 como contador por flanco descendente de
movwf OPTION_REG ; RA4/T0CKI. Prescaler asignado al Watchdog.
bcf STATUS,RP0 ; Acceso al Banco 0.
; Rutina principal leyendo
PRINCIPAL
BTFSS PORTB,0 ;Supongo entrada de boton A
CALL BOTONA
BTFSS PORTB,1 ;Supongo boton B
CALL BOTONB
GOTO PRINCIPAL
BOTONA
CALL Retardo_20ms ; Un pequeño delay de 20ms por ejemplo, asi no usas antirebote
BTFSS PORTB,0
RETURN ; En caso que no siga estando en 1 en esos 20ms vuelve
L_BTNA
BTFSC PORTB,0 ; Ahora me aseguro que lo solto, de esa forma cuenta cuando suelto unicamente, si no le pongo la condicion esta el programa puede hacerlo muchas veces
GOTO L_BTNA
INCF CONTADOR,F ; Por fin mi programa del boton, incremento un registro, imagino que no va a superar los 255 pulsos por eso me mantengo en 8 bits
RETURN
BOTONB
BSF PORTB,3 ; Reseteamos el 4017
BCF PORTB,3
L_BTNB
MOVF CONTADOR,W ; El MOVF actualiza la bandera Z
BTFSC STATUS,Z ;Me aseguro que no sea 0 o que llego a 0
RETURN
DECF CONTADOR,F ;Decremento CONTADOR
; Seccion manejo de CLK
BCF PORTB,2 ;Salida de clock
BSF PORTB,2 ; Flanco ascendente suma
; Seccion manejo del motor
;Aca el codigo de tu motor
GOTO L_BTNB
INCLUDE <RETARDOS.INC>
END