Die Lösung für Faule ist die random() Funktion aus libc.

Eine andere Lösung ist das nachprogrammieren eines Schieberegisters mit Rückkopplungen via XOR. Mit nur 8 Bit wird das aber nicht besonders gut, weil man da halt nur maximal 255 verschiedenen Zustände bekommt. Das ist eine noch sehr überschaubare Zufallsfolge.

Bei der Programmierung kann man aber auch längere Schieberegister (z.B. 32 Bits) machen, wie angedeutet über das Carry flag und dann den Befehlen die beim Verschieben das Carry-Flag mit nutzen (z.B. ROL beim AVR ).


edit:
Noch ein Link dazu:
http://de.wikipedia.org/wiki/Linear_...chieberegister