Hola tengo otro problema, tengo que conparar cadenas de datos y enviar según el dato un numero, les muestro la tabla a comparar:
1 2 3 4 5 6 7 8 9 10 11 12
3C 3C 31 30 44 30 30 46 46 44 43 3E 0
3C 3C 31 30 44 30 31 46 46 36 36 3E 1
3C 3C 31 30 44 30 32 46 46 32 38 3E 2
3C 3C 31 30 44 30 33 46 46 39 32 3E 3
3C 3C 31 30 44 30 34 46 46 33 35 3E 4
3C 3C 31 30 44 30 35 46 46 38 46 3E 5
3C 3C 31 30 44 30 36 46 46 43 31 3E 6
3C 3C 31 30 44 30 37 46 46 37 42 3E 7
3C 3C 31 30 44 30 38 46 46 38 45 3E 8
3C 3C 31 30 44 30 39 46 46 33 34 3E 9
3C 3C 31 30 44 30 41 46 46 39 38 3E 10
3C 3C 31 30 44 30 42 46 46 44 36 3E 11
3C 3C 31 30 44 30 43 46 46 36 43 3E 12
3C 3C 31 30 44 30 44 46 46 43 42 3E 13
3C 3C 31 30 44 30 45 46 46 37 31 3E 14
3C 3C 31 30 44 30 46 46 46 33 46 3E 15
3C 3C 31 30 44 31 30 46 46 32 34 3E 16
3C 3C 31 30 44 31 31 46 46 39 45 3E 17
3C 3C 31 30 44 31 32 46 46 44 30 3E 18
3C 3C 31 30 44 31 33 46 46 36 41 3E 19
3C 3C 31 30 44 31 34 46 46 43 44 3E 20
3C 3C 31 30 44 31 35 46 46 37 37 3E 21
3C 3C 31 30 44 31 36 46 46 33 39 3E 22
3C 3C 31 30 44 31 37 46 46 38 33 3E 23
3C 3C 31 30 44 31 38 46 46 37 36 3E 24
3C 3C 31 30 44 31 39 46 46 43 43 3E 25
3C 3C 31 30 44 31 41 46 46 36 30 3E 26
3C 3C 31 30 44 31 42 46 46 32 45 3E 27
3C 3C 31 30 44 31 43 46 46 39 34 3E 28
3C 3C 31 30 44 31 44 46 46 33 33 3E 29
3C 3C 31 30 44 31 45 46 46 38 39 3E 30
3C 3C 31 30 44 31 46 46 46 43 37 3E 31
3C 3C 31 30 44 32 30 46 46 41 43 3E 32
3C 3C 31 30 44 32 31 46 46 31 36 3E 33
3C 3C 31 30 44 32 32 46 46 35 38 3E 34
3C 3C 31 30 44 32 33 46 46 45 32 3E 35
3C 3C 31 30 44 32 34 46 46 34 35 3E 36
3C 3C 31 30 44 32 35 46 46 46 46 3E 00
Como veran son casi iguales salvo por los algunos bits, la columna final es el dato a mostrar, mi pregunta es hay alguna forma de cargar todo el dato y compararlo con el resto ? yo lo estoy haciendo bite por bite asi:
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.
Y es muy largo comparar los 37 datos uno por uno, si hay alguna forma mas rápida me la pueden enseñar.
Gracias