Problema con la programacion de un PIC16F84A

hola a todos soy nuevo en el foro quisiera saber si me pueden ayudar con la programacion de un pic16f84a mi programa es el siguiente... :

LIST P=16F84A
INCLUDE <P16F84A.INC>
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


ORG 0
Inicio
clrf PORTB
bsf STATUS,RP0
clrf TRISB
movlw b'00011111'
movwf TRISA
bcf STATUS,RP0
Principal
movf PORTA,W
andlw b'00000111'
addwf PCL,F
goto Configuracion0
goto Configuracion1
goto Configuracion2
goto Configuracion3
goto Configuracion4
goto Configuracion5
goto Configuracion6
goto Configuracion7
Configuracion0
movlw b'01100001'
goto ActivaSalida
Configuracion1
movlw b'01100010'
goto ActivaSalida
Configuracion2
movlw b'00010000'
goto ActivaSalida
Configuracion3

goto ActivaSalida

Configuracion4
movlw b'00010000'
goto ActivaSalida
Configuracion5
movlw b'00010000'
goto ActivaSalida
Configuracion6
movlw b'00010000'
goto ActivaSalida
Configuracion7
movlw b'00001000'
ActivaSalida
movwf PORTB
goto Principal

END

el problema es que quiero que la configuracion 3 lea la ultima salida en el PORTB para mantener el ultimo estado que salio por el PORTB..

ojala que me puedan ayudar en verdad lo necesito antes que nada GRACIAS..! ^^
 
guarda siempre el estado actual en una localidad adicional , a excepcion de esa configuaracion
 
un ejemplo sería

Código:
Configuracion0
movlw b'01100001' 
movwf auxiliar_memory
goto ActivaSalida 
...
...
...
Configuracion3
movf auxiliar_memory,W
goto ActivaSalida 
...
...
...
 
Atrás
Arriba