私はアセンブリが初めてで、乱数の生成に問題があります。
私のコードは単純です。0-25
範囲内の 100 個の数値を生成し、それらを配列に格納します。
私が経験している問題は、emu8086
アセンブラーで con を実行すると、正常に実行され、配列に格納される 100 個の乱数が生成されることです。しかし、上で実行すると、masm611
4 サイクルごとに新しい乱数が生成されます。つまり、配列内の値は 4 つの値に対して連続した同じ数値であり、次のランダムな値が格納されます。
これが私のコードです:
.model small
.stack 100h
.data
range db 25
i db 0 ;iterator
arr db 15 dup(0) ; an array
.code
mov ax,@data
mov ds,ax
mov bx,offset arr ;getting the adress of the arr in bx
L1:
mov ah,2ch
int 21h
mov ah,0
mov al,dl ;using dl by seeing 2ch details
div range ; so the number is in range
mov [bx],ah ;ah has remainder as using 8 bits div and
inc bx ;moving to the next index
inc i
cmp i,100
jbe L1
mov ah,4ch ;returning control
int 21h
end
私のコードに問題がありますか? 何か追加する必要がありますか?ありがとう。