我最近開始學習彙編語言。對於我正在研究的項目,我必須使用線性一致性來生成隨機數生成器。我想拿三個數字。上限,下限和我想要的隨機數的數量。如式爲獲得一個隨機數,我想出了....彙編語言隨機數發生器
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