|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 19, 2003 21:41:09 · Поправил: Безпощадный даос Мне нужен такой гениратор в катором я мог бы генирировать числа от 0 до переменной X. Я себе голову словал не знаю как это коректно сделать!!! |
|
|
Дата: Сен 19, 2003 21:43:20 · Поправил: Aquila Читерский способ: использовать библиотеку mscvrt.dll - там, вроде, должны быть соответствующие функции. Жульничество, конечно, но может быть подойдёт ;). |
|
|
Дата: Сен 19, 2003 21:54:26 Если Х не очень большое, то можно генерировать число до 2^32 а затем взять остаток от деления на X. |
|
|
Дата: Сен 19, 2003 22:01:26 Songoku Посмотри на сайте в разделе исходников, там это кажется было. Если лень, то вот исходник (рипнут, кажется, из сишной библиотеки). _1053163556__random.inc |
|
|
Дата: Сен 19, 2003 22:12:40 rand()%n, где n - то число, которое тебе надо. Black_mirror это и сказал. |
|
|
Дата: Сен 20, 2003 05:07:37 ntdll экспортирует RtlRandom - принимает один параметр, наверное модуль. Под NT ntdll все равно в любой процесс мапится можно ее заюзать или дизасмнуть. Интересно, что ntoskrnl даже две экспортирует - RtlRandom и rand. _srand proc near arg_0:dword
mov eax, [esp+arg_0]
mov dword_474910, eax
retn
_srand endp
_rand proc near
mov eax, dword_474910
imul eax, 343FDh
add eax, 269EC3h
mov dword_474910, eax
sar eax, 10h
and eax, 7FFFh
retn
_rand endp
_srand, видимо, устанавливает начальный seed и пихает его в dword_474910, а _rand уже генерит случайное число. После этого используешь свой X в качестве модуля как предыдущие ораторы советовали. На борде http://board.win32asmcommunity.net/ эта тема хренову тучу раз поднималась. Поищи там. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.044 |