assume cs:code,ds:codecode segment bajt db ? cyfra1 db ?cyfra2 db ?start:mov ax,cs mov ds,ax ; dane i kod są w jednym segmencieod_nowa:mov ah,2Ch ;odczyt zegara za pomoca funkcji DOSaint 21h; przerwanie DOSa add ch,cl; wyznaczenie adresu przypadkowego bajtuadd ch,dh;add ch,dl;mov es,dxmov bx,cxmov al,byte ptr es:[bx]; al = wylosowany bajtmov byte ptr cs:[bajt],al ;zapis al w pamiecicmp byte ptr cs:[bajt],99 ;sprawdzenie maksymalnej wartoscilosowanej(zakresu)liczby(tu max 99)jns od_nowa;-wypisanie wartosci wylosowanego bajtu(tylko 2 znakow)mov al,byte ptr cs:[bajt]mov ah,0mov bh,10div bhmov byte ptr cs:[cyfra1],almov byte ptr cs:[cyfra2],ahadd byte ptr cs:[cyfra1],48add byte ptr cs:[cyfra2],48mov ah,02hmov dl,byte ptr cs:[cyfra1]int 21hmov ah,02hmov dl,byte ptr cs:[cyfra2]int 21hmov al,0mov ah,4Chint 21hcode endsend start