; *************************************************** ; Generátor pseudonáhodných čísel (16-bitový registr) ; zpětnovazební polynom: X[16]+X[15]+X[13]+X[4]+1 ; maska výpočtu polynomu: 1101 0000 0000 1000 (D008h) ; *************************************************** rnd16: lhld rndnum ; z předchozího čísla mov a,h ; z vyššího bajtu ani 0d0h ; vypočtu hodnotu dílčího mov b,a ; polynomu a uložím ji do B mov a,l ; rovněž z nižšího bajtu ani 008h ; vypočtu dílčí polynom xra b ; a sloučím z mezivýsledkem z B dad h ; předchozí číslo v HL posouvám vlevo jpo rnd16c ; a hodnotu celého generujícího polynomu inx h ; nasunu do registru HL zprava rnd16c: shld rndnum ; uložím novou hodnotu čísla ret