Мне нужно при каждом нажатие на кнопку чтобы генерилось случайное 5-ти значное число? Как это реализовать
Дык команда командной строки выдаёт имена файлов подкаталога MASM32, где есть слово "random" Там точно есть готовый генератор, только сам пакет я давно не качал, поэтому хз в каком он подкаталоге щас.
BlackNeuromancer > Мне нужно при каждом нажатие на кнопку чтобы генерилось случайное 5-ти значное число? Для начала, хотя бы, написать диалог с кнопкой и Edit'ом
http://www.wasm.ru/forum/index.php?action=vthread&forum=17&topic=6023 http://forum.sources.ru/index.php?showtopic=81748
Вот код для fasm но должен работать: Код (Text): random_seed dd 0 ; начальная инициализация randomize: rdtsc xor eax, edx mov [random_seed], eax ret ; Park Miller random number algorithm. ; out: eax 0 ... 99999 random: mov eax, [random_seed] xor edx, edx mov ecx, 127773 div ecx mov ecx, eax mov eax, 16807 mul edx mov edx, ecx mov ecx, eax mov eax, 2836 mul edx sub ecx, eax xor edx, edx mov eax, ecx mov [random_seed], ecx mov ecx, 100000 div ecx mov eax, edx ret Asterix > А я FAR поэтому не знаю, какие кнопочки нужно нажимать в твоей проге, а командная строка вроде у всех есть ЗЫ: Какой-то код странный на sources.ru - зачем-то самомодификацию делает, наверное чтобы тормозил и вылетал если у секции кода нет доступа на запись =)
если к генерируемым случайным числам предъявляются серьезные требования (криптографические случайные числа), то это к CryptGenRandom из CryptoAPI. Если нужны просто случайные числа и период и распределение не сильно заботит -- см. исходники rand() или то что S_T_A_S_ запостил...
Пробовал и rdtsc и CryptGenRandom. Первый вариант естественно в разы быстрее, т.к. в цикле все дело происходит. Качество тоже не подвело.
Spectrum не знаю, не знаю... с RDTSC возможно могут быть некоторые неочевидные вещи... bogrus Виндовая функция: Код (Text): function RtlGenRandom(RandomBuffer: PBYTE; RandomBufferLength: ULONG): Boolean; stdcall; external advapi32 name 'SystemFunction036'; CryptGenRandom через нее реализована. Правда RtlGenRandom вроде нет в 9x...
Я недавно сделал вот это чудо на FASM: http://en.wikipedia.org/wiki/Mersenne_twister Обалденный генератор!
Имел в виду только то, что APIшную функцию в реальном проекте помещать в третий вложенный цикл, это слишком.