Prueba de secuencia pseudoaleatoria

Como usuarios finales del canal de comunicación, tuvimos que participar en las pruebas del sistema de comunicación modificado. De hecho, nuestra participación fue simple: traer una computadora portátil y una unidad de interfaz, conectarla al sistema y generar continuamente cualquier trama de información desde la computadora como una especie de "carga útil".





Los desarrolladores tuvieron que ejecutar el sistema en diferentes modos, y luego los telemetristas tuvieron que darnos la matriz de datos recibidos. Después de eso, tuvimos que verificar las sumas de verificación (perdón, código de redundancia cíclica) de cada cuadro y, si encontramos errores, ingresar su número en el informe de prueba.





Por lo tanto, fue necesario preparar un programa simple (en términos de software) para la prueba. Y surgió la pregunta, ¿qué dar como "información"? Después de todo, no resolvimos la trivial "celosía" AA55, sino una secuencia pseudoaleatoria utilizando un polinomio de Galois primitivo.





El algoritmo es realmente muy simple allí:





;----    ----

:  MOV       EBX,   ;  
      MOV       CX,_   ;   

;----      ----

M1:   MOV       EAX,1
      XCHG      CH,CL
      SHL       EAX,CL
      XCHG      CH,CL

;----    ----

      ROR       EBX,1
      JNB       M2

;----   -  ----

      AND       EAX,EBX 	;   
      MOV       EAX,1
      JNZ       @
      SHL       EAX,CL
      OR        EBX,EAX 	;  =0,  1
      JMPS      M4
@:    SHL       EAX,CL
      NOT       EAX
      AND       EBX,EAX 	;  =1,  0
      JMPS      M4

;----   -  ----

M2:   AND       EAX,EBX 	;   
      MOV       EAX,1
      JZ        @
      SHL       EAX,CL
      OR        EBX,EAX 	;  =1,  1
      JMPS      M3
@:    SHL       EAX,CL
      NOT       EAX
      AND       EBX,EAX 	;  =0,  0

;----   ----

M3:  CLC
     RCR       ,1
     JMPS      @

;----   ----

M4:  STC
     RCR       ,1

;----     ----

@:   DEC           	;    ?
     JNZ       M1

     MOV       ,8  	; 8 
     MOV       ,EBX ;  
     MOV       AL, 	;   
     RET
      
      







( ) . 32 . .





, 2 . , . , .





. , : « » !





? . . : . , - , .





: , «» ( ? «»!), . : ! , .





-, -. !





.





, . , « »? – . , , : , .





, . « » , , . – , «» ( ). , « » : , .





, , , , .





, (, , ) . . 20 4 , , , .





, . , , . , , , , , . , , , FPU .





- . , , - . : . , , « », : « , , » - , , ! ( ) .





Si Galois no hubiera muerto a una edad temprana, cuántos descubrimientos más podría haber hecho. Y si se reuniera con Charles Babbage, bueno, o con Ada Lovelace, quizás ahora viviríamos en un mundo informático completamente diferente ...








All Articles