генератор случайных чисел ассемблер



Ассемблер генератор случайных чисел

Автор Ѐома Скор задал вопрос в разделе Другие языки и технологии

Генератор случайных чисел на ассемблере и получил лучший ответ

Ответ от Shockware@mail.ru[гуру]
proc WRandom
push edx ecx
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
pop ecx edx
ret
endp
;--
; Получить случайное число в нужном интервале
; Требуется процедура WRandom
; stdcall WIRandom,min,max
; на выходе EAX - случайное число
;--
proc WIRandom rmin:dword,rmax:dword
push edx ecx
mov ecx,[rmax]
sub ecx,[rmin]
inc ecx
stdcall WRandom
xor edx,edx
div ecx
mov eax,edx
add eax,[rmin]
pop ecx edx
ret
endp
;--
; Инициализация генератора случайных чисел
; stdcall WRandomInit
;--
proc WRandomInit
push eax edx
rdtsc
xor eax,edx
mov [random_seed],eax
pop edx eax
ret
endp
пользуйтесь !
сразу писать надо, че требуется

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Генератор случайных чисел на ассемблере
спросили в Dirt 4 Randomness
Assembler
Вопрос 1
Вот макрос, генерирующий случайные числа от 0 до n-1. Алгоритм взят из модуля System
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*