Here is a bit shorter version: ;Rnew = Rold * 221 + 53 ;221 = 256 - 32 - 4 + 1 ;256 can be eliminated ;so we need to calculate Rnew = Rold * (1 - 32 - 4) + 53 using ;truncating arithmetic ;or Rnew = Rold * (-32 - 3) + 53 clrc rlf RANDOM, f swapf RANDOM, w andlw 0xE0 rrf RANDOM, f addwf RANDOM, w addwf RANDOM, w addwf RANDOM, w sublw 0x35 movwf RANDOM Does anybody know how to estimate randomness of a pseudo-random generator? Or what other methods are out there? Nikolai http://techref.massmind.org/member/NG--944