當前位置:商標查詢大全網 - 彩票查詢 - 如何實現匯編隨機數?

如何實現匯編隨機數?

; 本程序通過編譯,運行正確

Code Segment

Assume CS:Code,DS:Code,ES:Code

; -----------------------------------------

; 功能:輸出壹個字符

; 入口:dl=要顯示的字符

Output_Chr proc Near

push ax

mov ah,02h

int 21h

pop ax

ret

Output_Chr endp

; -----------------------------------------

; 功能:把AX中的二進制無符號數轉換成顯式的十進制ASCII碼,並送顯示屏顯示

; 入口:AX=二進制數

; 出口:在當前光標位置顯示轉換後的ASCII碼數字

Dec_ASCII Proc Near

push dx

push bx

push di

mov bx,10

lea di,@@Temp_Save[6]

mov byte ptr [di],'$'

dec di

cld

@@Divide: xor dx,dx

div bx

or dl,30h

mov [di],dl

dec di

test ax,0ffffh

jnz @@Divide

inc di

push di

pop dx

mov ah,9

int 21h

pop di

pop bx

pop dx

ret

@@Temp_Save db 7 dup(?)

Dec_ASCII EndP

; -----------------------------------------

Press_Key db 13,10,13,10,'Press any key to exit...$'

Start: push cs

pop ds

push es

pop es

mov cx,36 ;隨機產生36個1~36的隨機數

@@L1: xor al,al

out 43h,al

in al,40h

cmp al,36

ja @@L1

xor ah,ah

call Dec_ASCII ;顯示輸出這個數

mov dl,20h

call Output_Chr

loop @@L1

lea dx,Press_Key

mov ah,9

int 21h

mov ah,1

int 21h

Exit_Proc: mov ah,4ch ;結束程序

int 21h

Code ENDS

END Start ;編譯到此結束