+ -
当前位置:首页 → 问答吧 → 汇编语言,如何生成一个随机数

汇编语言,如何生成一个随机数

时间:2011-10-23

来源:互联网

用win32 汇编,如何生成一个随机数?

说一格原理性的东西也行,
直接告诉我一个方法也行,

急用,
谢谢


作者: korekara88730   发布时间: 2011-10-23

GetTickCount,以前有人问过了呀。方法也是很多的。
Assembly code
    random32    proc    random_seed:DWORD,max_val:DWORD 
                push    ecx
                push    edx
                
                call    GetTickCount
                mov        ecx,random_seed
                add        eax,ecx 
                rol        ecx,1
                add        ecx,666h 
                mov        random_seed,ecx 

                push    32 
                pop        ecx 

    crc_bit:    shr        eax,1
                jnc        loop_crc_bit 
                xor        eax,0edb88320h

    loop_crc_bit:    loop    crc_bit
                mov        ecx,max_val
                xor        edx,edx
                div        ecx
                xchg    edx,eax
                or        eax,eax
                pop        edx
                pop        ecx
                ret        0008H
    random32    Endp 

作者: jha334201553   发布时间: 2011-10-23