2010-12-07 4 views

ответ

3

Самый распространенный способ - использовать метку времени. В 32-битном режиме это может быть выполнено командой rdtsc в 16-битном режиме: с помощью функции 0 прерывания BIOS 1A.

Поскольку это временная метка, не используйте ее часто (из-за отсутствия надлежащей дисперсии) и используйте ее как семя для генератора псевдослучайных чисел. Когда вам нужно только одно случайное значение, вы можете использовать метку времени непосредственно.

Обычно простой генератор псевдослучайных чисел достаточно:

static int seed = now(); 
seed = (seed * LARGE_PRIME1) % LARGE_PRIME2; 

И есть также wiki

+0

ОК, пожалуйста, пришлите мне URL-адрес для генератора псевдослучайных чисел, который вы имеете в виду. –

+0

спасибо моему другу. ты так полезен –

1

Существует хороший ответ на этот точный вопрос на Yahoo! Ответы:

Я подозреваю, что здесь нужно изучить , чтобы написать язык ассемблера. Вот установить инструкции (http://www.emu8086.com/assembler_tutorial/8086_instruction_set.html) У вас есть все необходимые инструкции для выполнения уравнения вам нужно генерировать псевдослучайные числа, за исключением в «мода» инструкции, которые вы должны написать подпрограмму для , Оплатить особое внимание к ограничениям на MUL и DIV . «хранить в отдельном файле » не подразумевается в наборе команд . Вам нужно будет лучше понять, что здесь нужно. «Файл» и «Печать» - это понятия, относящиеся к операционной системе ; они являются формами вывода в этом случае.

из http://answers.yahoo.com/question/index?qid=20081030112909AAmjEsp

0

Вы могли бы быть заинтересованы в псевдо количество генераторов Agner противотуманными в случайных (некоторые из которых написаны на ассемблере) here.

Смежные вопросы