+ -
当前位置:首页 → 问答吧 → 如何用汇编语言产生随机数?

如何用汇编语言产生随机数?

时间:2011-04-19

来源:互联网

求原理和代码

作者: wling597074509   发布时间: 2011-04-19

参考一下srand()和rand()的源码:
Assembly code

msvcrt!srand:
mov     edi,edi
push    ebp
mov     ebp,esp
call    msvcrt!_getptd (75afa5ce)
mov     ecx,dword ptr [ebp+8]
mov     dword ptr [eax+14h],ecx
pop     ebp
ret

msvcrt!rand:
call    msvcrt!_getptd (75afa5ce)
mov     ecx,dword ptr [eax+14h]
imul    ecx,ecx,343FDh
add     ecx,269EC3h
mov     dword ptr [eax+14h],ecx
mov     eax,ecx
shr     eax,10h
and     eax,7FFFh
ret

作者: aiwnx   发布时间: 2011-04-19

msvcrt!_getptd (75afa5ce)
这个子过程的代码有没有?

作者: wling597074509   发布时间: 2011-04-19

。。。
_getptd(), srand(), rand()都是msvcrt.dll的导出函数,不需要源代码的。。

作者: aiwnx   发布时间: 2011-04-19

这个不懂,有没有8086基础上的程序啊

作者: wling597074509   发布时间: 2011-04-19