-
Data: 2017-11-30 07:31:39
Temat: Re: Prosty generator pseudolosowy 8bit z limitem
Od: "Radoslaw Szwed" <r...@p...fm> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Użytkownik "Adam Klobukowski" <a...@g...com> napisał w wiadomości
news:aef027f7-2063-41a0-9f50-2136a3fd1032@googlegrou
ps.com...
Poszukuję prostego (szybkiego) generatora pseudolosowego liczb 8bitowych z górnym
limitem, tj. jak bym chciał sobie wylosować liczbę
z zakresu 0-44. Możecie coś polecić?
Mały (16 bajtów na x86) szybki generator liczb pseudolosowych generujący wartości
losowe od 0-255.
Wprowadzenie limitu chyba nie będzie problemem dlatego go nie uwzględniłem.
Generowane liczby zależą od wartości początkowej rnd i wartości używanej przy
rozkazie xor. Dla poniższych ustawień kod generuje 254 różne wartości.
Żadna z wartości się nie powtórzy dopóki wszystkie nie zostaną wygenerowane.
Można zamiast $e7 użyć $71, $7f, $e9 dają równie dobre rezultaty.
Przeniesienie poniższego kodu na Motorolę (Amiga/Atari ST),
MOS 6502 (Atari 8bit/C64) czy "ARMa" nie powinno stanowić kłopotu.
W przypadku problemów dołączyłem komentarze.
rnd db 20 ; wartość początkowa
mov al, rnd ; załadowanie zmiennej do akumulatora
sal al, 1 ; przesuniecie bitów w akumulatorze o 1 w lewo najstarszy bit
wpada do c
jc pomin ; jeżeli c=1 skocz do pomin
xor al, $e7 ; suma symetryczna
pomin:
mov rnd, al ; akumulator do rnd (wartość pseudolosowa)
Następne wpisy z tego wątku
- 30.11.17 13:57 M.M.
- 01.12.17 01:05 AK
- 01.12.17 07:01 Adam Klobukowski
- 01.12.17 07:04 Adam Klobukowski
- 01.12.17 07:04 Adam Klobukowski
- 02.12.17 02:46 slawek
- 04.12.17 17:34 Adam Klobukowski
- 06.12.17 09:58 slawek
- 06.12.17 10:40 fir
- 06.12.17 18:22 fir
- 06.12.17 20:07 AK
- 06.12.17 20:14 Roman Tyczka
- 06.12.17 21:27 slawek
- 06.12.17 21:30 slawek
- 07.12.17 01:09 AK
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-03-31 Kraków => IT Expert (Network Systems area) <=
- 2025-03-31 Białystok => NMS System Administrator <=
- 2025-03-31 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-03-31 Sąd/Sędzia odrzuca wniosek o 30d aresztu Ziobry i jedzie po PO-Komisji Sroki [i Ziobrze w GW wersji]
- 2025-03-31 Warszawa => Sales Executive / KAM <=
- 2025-03-31 Warszawa => International Freight Forwarder <=
- 2025-03-31 Re: Państewko prawka Rumunia czyli pokaz UE leworządności - lider unieważnionych wyborów niedopuszczony do powtórki
- 2025-03-31 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Re: Kompensacja mocy biernej przy 230VAC
- 2025-03-31 Wrocław => Senior Backend Developer <=
- 2025-03-31 Białystok => Generative AI Engineer <=
- 2025-03-31 China-Kraków => Key Account Manager IT <=
- 2025-03-31 Prawne ciekawostki: Ksiądz KRK wygrał ze swoim biskupem sprawę o "naruszenie dóbr osobistych" [SN oddalił kasacje]
- 2025-03-31 Podatek od "konta wspólnego"