ivagor, ага, спасибо. поторопился.![]()
ivagor, ага, спасибо. поторопился.![]()
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
nzeemin, ага. Так и проверяю.![]()
Кстати, нашёл, вот тут я тестировал два рандомайзера:
https://zx-pk.ru/threads/32499-porti...=1#post1091958
покумекав для себя вывел вот такой псевдо рандом для байтоых значений
рандомайзит вполне пригодно для меня. ну и побыстрее чем то что нашел.Код:Random: @mainCodeAddr: lxi h, $100 @rnd: sbi 1 rrc xra m cma inr l sbb m shld @mainCodeAddr+1 sta @rnd+1 ; 84 ret
- - - Добавлено - - -
lxi h, адресс кода основной программы используется как сид. используются только 256 байт
- - - Добавлено - - -
nzeemin, проверь если сможешь в своих проектах насколько универсальная или не универсальная штука получилась.![]()
Последний раз редактировалось parallelno; 09.08.2022 в 20:38.
Вспомнил что ещё недавно разбирал код на Z80 имеющий 16-битный рандом.
Это из Scuba Dive для ZX Spectrum:
Код:NextRandom LD HL,(RANDOM) ; get current Random LD D,H LD E,L ADD HL,HL ; x2 ADD HL,HL ; x4 ADD HL,HL ; x8 ADD HL,HL ; x16 PUSH HL ADD HL,HL ; x32 EX (SP),HL OR A SBC HL,DE ; HL = x15 POP BC ; BC = x32 ADD HL,BC ; x47 ADD HL,HL ; x94 ADD HL,HL ; x188 ADD HL,HL ; x376 ADD HL,DE ; x377 ADD HL,HL ; x754 ADD HL,HL ; x1508 ADD HL,DE ; x1509 LD DE,$0029 ADD HL,DE LD (RANDOM),HL ; (RANDOM) := (RANDOM) * 1509 + 41 RET
Oleg N. Cher(09.08.2022), parallelno(09.08.2022)
___
Последний раз редактировалось parallelno; 09.08.2022 в 20:21.
И ещё один вариант рандомайзера, на этот раз 8-битный, из Highway Encounter, с виду довольно быстрый:
Код:; Псевдослучайное 8-битное число с периодом 256 по отношению: X[1] = X[0] * 5 + 7 ; I: - ; O: A=RND ; M: HL, AF Rand: lxi h,RndVal mov a,m add a add a add m adi 7 mov m,a ret
Oleg N. Cher(09.08.2022), parallelno(09.08.2022), svofski(06.09.2022)
nzeemin, Хороший результат.
![]()
Последний раз редактировалось parallelno; 09.08.2022 в 20:20.
Частично сдам назад. Для 8-битных обеспечивается заявленный период и в таком варианте, как пишет автор, генератор почти прошел статистические тесты. Но если обеспечение заявленных характеристик не обязательно и надо просто сгенерировать "что-то псевдослучайное 16-битное", то можно взять HL, только для этого нужно вызывать rnd8 по два раза для получения нового значения HL! На мой взгляд все же лучше брать генератор нужной разрядности с предсказуемыми характеристиками.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)