How do i get a random number?
Printable View
How do i get a random number?
heres a routine
.data
RndInit dd 1110111011100111101110011001b
.code
Random proc
; Entry: al = size of random number
; Return: eax = random number, cl bits in size
mov cl,al
xor eax,eax
mov bl,byte ptr RndInit
and bl,1
EVEN
Gen_bit: ; make n bit numbers
shl eax,1
mov edx,RndInit ; Copy seed
shr edx,9
xor bl,dl
shr edx,5
xor bl,dl
bt ebx,1 ; Copy bit 1 to carry flag
rcr RndInit,1 ; Rotate seed right 1 bit
setc bl ; Set bl TRUE if carry is set
or al,bl
dec cl
jnz Gen_bit
ret
Random endp
http://www.agner.org/random/
Has an assembler random number generator.