最近アセンブリ言語を勉強し始めました。私が取り組んでいるプロジェクトでは、線形合同を使用して乱数ジェネレーターを作成する必要があります。3 つの数字を入力するとします。上限、下限、および必要な乱数の数。私が思いついた乱数を取得するための式については....
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
各ループサイクルの最後に乱数を出力する方法に興味があります。そして、上記のコードが意味をなす場合。
前もって感謝します!