Amigos, les paso el programa : lo que quiero lograr, con un pulsador, supongamos, cuando está activado RB0, salte a selec1, cuando se active RB1 salte a selec2, y así, cuando lo pruebo en el entrenador, con el pulsador RA0 van ensendiendo los led conectados de RB0 a RB5, ahora lo que no logro, producir un salto cuando está rb0 en 1
;PRINCIPAL
principal
movlw b'00000000'
movwf portb
movlw b'11111'
movwf porta
ini
estado1 btfsc portb,0
goto estado2
goto selec1
estado2 btfsc portb,1
goto estado3
goto selec2
estado3 btfsc portb,0
goto estado4
goto selec3
estado4 btfsc portb,0
goto estado5
goto selec4
estado5 btfsc portb,0
goto estado6
goto selec5
estado6 btfsc portb,0
goto estado7
goto selec6
estado7 goto bucle
bucle call retardo
call retardo
btfsc porta,0
goto bucle
incf contador,1
movlw d'7' ; tenía "6"
subwf contador,w ; si es 6 reseteo y vuelvo al bucle, sino voy a etiqueta programas
btfss STATUS,Z
goto programas ;voy a programas
clrf portb
clrf contador
goto ini
programas movf contador,w
addwf PCL,f
goto enciende
goto selec1
goto enciende2
goto enciende3
goto enciende4
goto enciende5
goto enciende6
enciende clrf portb
goto ini
enciende1 clrf portb
bsf portb,0
call retardo
goto ini
enciende2 clrf portb
bsf portb,1
call retardo
goto ini
enciende3 clrf portb
bsf portb,2
call retardo
goto ini
enciende4 clrf portb
bsf portb,3
call retardo
goto ini
enciende5 clrf portb
bsf portb,4
call retardo
goto ini
enciende6 clrf portb
bsf portb,5
call retardo
goto ini