;**********************************
Init_Random: ;first time
ldi TEMP,$AA ;Init the random number generator
mov RAND1,TEMP ;since a 00,00,00 state will not
mov RAND2,TEMP ;progress.
mov RAND3,TEMP ;you can get a timer to pre load first time
ret
1 | ;**********************************************************
|
2 | ; simple 24bit random generator
|
3 | ;**********************************************************
|
4 | random:
|
5 | push temp
|
6 | rol RAND1 ;Shift the bits ->Carry
|
7 | rol RAND2 ;RAND are register or Ram
|
8 | rol RAND3
|
9 | BRCC rr2
|
10 | ldi TEMP,0x87
|
11 | eor RAND1,TEMP
|
12 | rr2:
|
13 | pop temp
|
14 | ret
|