三九宝宝网宝宝教育教学论文

如何实现汇编随机数

01月07日 编辑 39baobao.com

; 本程序通过编译,运行正确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 21hExit_Proc: mov ah,4ch ;结束程序 int 21hCode ENDS END Start ;编译到此结束

推荐阅读
图文推荐