我最近开始学习汇编语言。对于我正在研究的项目,我必须使用线性一致性来生成随机数生成器。我想拿三个数字。上限,下限和我想要的随机数的数量。如式为获得一个随机数,我想出了....汇编语言随机数发生器
randomNumber =(种子%(上下)+低级)
我然后试图把这种成代码。 我想出了这个
.data
upper BYTE 100 ;setting upper limit 100
lower BYTE 0 ;setting lower limit 0
number BYTE 5 ;number of random numbers
.code
call main
exit
main proc
cls
mov bx,upper ;moving upper bound into bx
mov dx,lower ;moving lower bound into dx
mov ax,2914017 ;taking a random number for this trial
mov ecx,number ;setting the loop counter
L1:
sub bx,dx ;(upper-lower)
div bx
add ah,dx ;(randomNumber mod (bx) + lower
main endp
我很好奇,我怎么会在每个循环周期结束时打印出随机数。如果上述代码有意义。
在此先感谢!
欢迎来到计算器! – menjaraz 2012-04-11 07:16:00
如果这是在Windows上,那么一些建议在这里:http://stackoverflow.com/questions/1922134/printing-out-a-number-in-assembly-language – 2012-04-11 07:35:52
打印是高度平台特定的。你在哪里试图组装和执行这个? MS-DOS?视窗? Linux呢?此外,该指令不会飞行:“mov ax,2914017” - ax是一个16位寄存器,其最大值为65535.然而,eax为32位。 – 2012-04-11 16:57:24