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 ;編譯到此結束