;
;X(i+1)= ( A*X(i) + B) mod 65536
;
;A= 77 (A mod 4= 1)
;B= 1 нечетное
;
;

random:
	MOV	R30,rnd_l	;N=X
	MOV	R31,rnd_h

	LSL	rnd_l		;*2
	ROL	rnd_h
	LSL	rnd_l		;*4
	ROL	rnd_h

	ADD	R30,rnd_l	;N=N+X*4
	ADC	R31,rnd_h

	LSL	rnd_l		;*8
	ROL	rnd_h
	
	ADD	R30,rnd_l	;N=N+X*8
	ADC	R31,rnd_h

	LSL	rnd_l		;*16
	ROL	rnd_h
	LSL	rnd_l		;*32
	ROL	rnd_h
	LSL	rnd_l		;*64
	ROL	rnd_h

	ADD	R30,rnd_l	;N=N+X*64  итого N= X*77
	ADC	R31,rnd_h

	ADIW	R30,1	;N=N + 1

	MOV	rnd_l,R30	;X=N
	MOV	rnd_h,R31


	RET
