如何使用FASM编译器在汇编语言中生成随机数?

3 random assembly numbers fasm

嘿伙计们,我对组装很新,我正在尝试创建一个简单的程序.为此,我需要生成一个随机数.

有人知道如何用FASM编译器做到这一点吗?

谢谢,山姆

Ton*_*son 5

您可以使用线性同余算法.它是最常见的伪随机数算法.

基本上,你有种子价值.然后,一旦开始生成随机数,每个数字就成为新请求的种子.

数字由...生成

x =(a*s + b)MOD m

其中m,a和b被选择用于算法.使用了一些流行的这些值集.如果你的ma功率为2,特别是32位机器的2 ^ 32,它会容易得多.然后mod步骤由机器自动完成.

查看维基百科,他们有流行的a,b和M组以及更多信息.

种子也可以做更复杂的事情(例如根据当前时间设置种子)