MOVF DATO1_RX,W ; con distribución Francesa.
SUBLW 0X3C ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
MOVF DATO2_RX,W
SUBLW 0X3C ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
MOVF DATO3_RX,W
SUBLW 0X31 ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
MOVF DATO4_RX,W
SUBLW 0X30 ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
MOVF DATO5_RX,W
SUBLW 0X44 ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
MOVF DATO1_RX,W ; con distribución Francesa.
SUBLW 0X3C ;
BTFSS STATUS,Z ; Salto si Z=1
GOTO REINICIA ; Subrutina de clave incorrecta.
Hola, gracias es lo mejor que puedo hacer no se me había ocurrido en separarlos por prefijo,dato, ff , dato0, me simplifica la búsqueda. Lo voy a probar y les cuento.
Saludos
puedes cargar todas las cadenas en la ram, y luego en la comparacion haces un bucle aumentando la direccion de memoria hasta el final.