Нашёл в букваре пример: Код (Text): imul dx, 4E35h inc dx это выражение я понимаю следующим образом imul умножает число 20021 на содержащееся в регистре dx, причём в самом коде проги dx не используется до этого момента, а следовательно мы умножаем 20021 на 0, и потом результат помещаем в dx... ну и след команда увеличивает dx на 1.... Результатом всего этого на мой взгляд будет след: 0*20021+1=1 Вот а книге написано, что это простейший генератор случайных чисел... Разъясните, где я не прав...
Это код, выдранный из контекста. На самом деле в dx должно содержаться предыдущее значение генератора случайных чисел - так называемого "Seed". То есть, если начинать с нуля, последовательность Seed-ов будет такой: 0->1->20022->42287->33980->...
А инициировать лучше не константой, а каким-нибудь временем с момента включением. Ну или просто текущим временем, либо другой псевдослучайной величиной.
простите, а в чем состоит "магическое действие" этого dx? почему именно он здесь юзается? с тем же успехом можно было бы юзать: Код (Text): mov cx, [SEED] ;закинули начальную константу imul cx, 4E35h inc cx или нет? мы просто берем одно число и умножаем его на 4e35h, а затем увеличиваем на 1, и прям уж это и будет сабжем? проясните этот момент. с тем же успехом можно взять число 12345d как SEED, поделить его на 123d, и вычесть 3. а затем это значение юзать как новый SEED, и опять по новой. или это бред уже?
infern0, раз вы обладаете этими сокровенными знаниями о том, что этот dx используется здесь неспроста, а также о том, что и само число 4E35h тоже не с потолка взялось, то лучше бы пояснили что к чему. а соотв. раздел Кнута не у каждого есть. знаете - скажите, люди вам спасибо скажут. это похоже на "я знаю ответ на ваш вопрос, но не скажу ответа, т.к. сами думайте, а я вот вам лишь подсказку дам". ps: без обид.
varnie Это действительно похоже, но... "Но" в том, что у Кнута этому ответу посвящено пол-тома... darkness Генератор - да, но вот насколько это будут случайные числа - это уже большой вопрос.
Sergey_R, теперь понятно. да, раз такой объем инфы посвящен этому вопросу, то пересказывать его здесь нету смысла. спасибо что разъяснили.
В книге у Юрова "Asse,bler. Практикум" есть несколько глав посвещенных как раз таки генераторам случайных чисел, там есть как теория так и код. Читаем и радуемся (: