Re: RND Contest (3)
- From: "¬a\\/b" <al@xxx>
- Date: Sun, 26 Feb 2006 23:04:13 +0100
On Sun, 26 Feb 2006 20:06:25 +0100, "¬a\\/b" <al@xxx> wrote:
/* eax:uint RND_Multiineare(void);
/* risultato in eax numero pseudocasuale tra 0 e 0x7FFFFFFF
_RND_Multilinear_m:
< b, c, r, i
a=*index1
b= &[base+ 4*a]; c= &[seed+ 4*a]; r= &[seed0+ 4*a];
++D[conta+4*a]; /* ogli xxx volte cambia il seed
i=[conta+4*a]; i&=0FFFh; i==0FFFh!#.b0;
{ pushad
*GetTickCount();
a&=0FFFFh; D[ora]=a;
popad
a=*c; a&=0FFFF0000h; a|=D[ora];
it seems i forget *c=a; here
}
.b0: RND_MultiL(b, c, r);
b=a; cl=ah; b>>=1; c&=0Fh; b&=0Fh;
b==[index1]!#.c0;
{++b; b&=0Fh;}
.c0: bswap a; /* 0..7<->24..31, 8..15<->16..23
a & 0x80000000 | jz .cil
{ax|=0x80; a&=0x7FFFFFFF;}
.cil: a^=[seed + 4*b]; *index1=c;
.c1: a&=0x7FFFFFFF;
b, c, r, iret
.
- References:
- RND Contest (3)
- From: Betov
- Re: RND Contest (3)
- From: \\\~\o/~///annabee
- Re: RND Contest (3)
- From: \\\~\o/~///annabee
- Re: RND Contest (3)
- From: ¬a\\/b
- RND Contest (3)
- Prev by Date: Re: RND Contest (3)
- Next by Date: Re: RND Contest (3)
- Previous by thread: Re: RND Contest (3)
- Next by thread: Re: RND Contest (3)
- Index(es):