Hola Juan4kd, un gusto leerte. Lo primero que te comento es que no se si estoy en lo correcto, entiendo que en la comparación de un evento has dado salida si es verdad a una parte del codigo, y si es falso al mismo punto del programa, si es así carecede toda lógica, analisado como un salto condicional, voy a xxx si es verdad y a yyy si es falso, no tiene función si salta a xxx en ambos casos. Si lo eliminas y conectas la salida del anterior con la entrada del posterior dará el mismo resultado, cualquiera sea el resultado será lo mismo a ejecutar. Una condición "Si, si no" es eso, si verdad hago esto (.....), si no hago esto otro (.....), de ese modo está pensado siempre que se implemente en cualquier lenguaje.
Lo que tu llamas rebusque es parte de la programación, puede ser más o menos vistoso, pero si funciona el código es valido. El algoritmo de una solución varía según quien lo implemente, todos pensamos similar pero resolvemos de distinto modo, y todos son validos si llegan a buen puerto.
Cuando hablas de un registro de 16 bits imagino que son dos registros de 8 cada uno, enviados por el trasmisor como tal, tendía que ver el codigo, de todos modos si usaste deco HT12 el mismo comprueba en 3 oportunidades si es correcto el codigo por igualdad, recien entonces valida, las 3 veces debes ser iguales según entiendo, con lo que hace lo que te propones. Podrías probar con un pote y variar la R determinante de la velocidad, o probar filtrar la entrada cuidando este aspecto, un pote y un capacitor y variar hasta encontrar la mejor relación señal - constante tiempo.
Espero algo de todo esto te sirva para solucionar y definir el programa. Un abrazo
Nota: No te encierres en como fue pensado Niple, es un programa exelente pero está basado en otro lenguaje, te permite realizar rapida y confiadamente, pero si lees de C o C++, o cualquier otro, encontraras que la sintaxis difiere en los distintos lenguajes, pero cuando lo llevas al ansambler un salto condicional es lo mismo para todos, la condición dentro del mismo cambia pero se ejecuta del mismo modo, a una dirección a otra. Todo sirve para entender más a Niple.