Creo que con este codigo podria sacar la tablas de las verdades, que pensais????
movlw b'00001000'
movlw PORTA
movlw 0xff
movwf datosalida
salida1
movlw b'00001000'
movwf contador
salida
movf datosalida,0 ;cargamos lo que tenemos en dato salida en W
movwf PORTB ;encendemos los led con lo que temenos en datosalida
btfsc datosalida,0 ;miramos que tenemos en datosalida
bsf PORTA,1 ;dependiendo de como este, cargamos un 1
bcf PORTA,1 ;o un 0
bsf PORTA,2 ;subimos el clk
bcf PORTA,2 ;bajamos el clk
rrf datosalida,f ;rotamos datosalida.
decfsz contador,f ;descendemos el contador en una unidad
goto salida
bsf PORTA,3 ;subimos el controlador
bcf PORTA,3 ;bajamos el controlador
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA ;para darme 5 segundos para ver que leds se encienden.
decfsz contador,f ;decrementamos datos salida para ver la siguiente convinación
goto salida1
clrf PORTB
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA
clrf PORTA
recogida
movlw b'00001000'
movwf contador
recogida1
bsf PORTA,2
bcf PORTA,2
btfsc PORTA,0
bsf entradadato,0
bcf entradadato,0
rlf entradadato,f
decfsz contador,f
goto recogida1
bsf PORTA,3
bcf PORTA,3
movf entradadato,0
movwf PORTB
call DEMORA
call DEMORA
call DEMORA
call DEMORA
call DEMORA
goto recogida