Wie ktos jak napisac prosty generatorek liczb pseudolosowych ??
wzorowalem sie na tym kodzie, ale niestety sypie sie gdy próbuje odczytac cos z komórek pamieci:
assume cs:code,ds:code
code segment
bajt db ?
cyfra1 db ?
cyfra2 db ?
start:
mov ax,cs;
mov ds,ax;
od_nowa:
mov ah,2Ch ;odczyt zegara za pomoca przerwania DOSa
int 21h;
add ch,cl; wyznaczenie adresu przypadkowego bajtu
add ch,dh;
add ch,dl;
mov es,dx
mov bx,cx
mov al,byte ptr es:[bx]; al = wylosowany bajt
mov byte ptr cs:[bajt],al ;zapis al w pamieci
cmp byte ptr cs:[bajt],99 ;sprawdzenie maksymalnej wartosci losowanej(zakresu)liczby(tu max 99)
jns od_nowa;-wypisanie wartosci wylosowanego bajtu(tylko 2 znakow)
mov al,byte ptr cs:[bajt]
mov ah,0
mov bh,10
div bh
mov byte ptr cs:[cyfra1],al
mov byte ptr cs:[cyfra2],ah
add byte ptr cs:[cyfra1],48
add byte ptr cs:[cyfra2],48
mov ah,02h
mov dl,byte ptr cs:[cyfra1]
int 21h
mov ah,02h
mov dl,byte ptr cs:[cyfra2]
int 21h
mov al,0
mov ah,4Ch
int 21h
code ends
end start
</ort>