;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; Random Number Generator # 01 Tylisha C. Andersen ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; General-purpose random number generator. ; Uses a 'Linear feedback shift register'. ; Note: won't work if the seed is zero. ; Assumes ds = cs ; Returns eax = result Proc rand push cx mov eax, [seed] mov cx, 33 rloop: add eax, eax jnc $+4 xor al, 197 loop rloop mov [seed], eax pop cx ret seed dd 1 EndP rand ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ; Random Number Generator # 02 Mikko Hyvarinen ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! random proc imul eax,[seed],1107030247 add eax,97177 mov [seed],eax shr eax,15 ret seed dd 0 random endp