在汇编中生成随机32位数

时间:2015-02-06 18:35:34

标签: assembly x86 masm

我正在寻找一个从1到n生成随机数的汇编函数。 n值可能是60000左右。我不知道该怎么做。我已经搜索了这个,但我找不到任何满足我的期望的东西。

1 个答案:

答案 0 :(得分:3)

线性全等发生器:

r[n+1] = (a * r[n] + c) % m

m = 65537(2 16 +1)

a = 65538(a - 1必须是m的任何素数除数的倍数,单个除数本身为m,即65537)

c =任何偶数(cm必须是相对素数)

[Knuth,II vol。,3.2.1.1--3.2.1.2]