-
Data: 2017-12-01 07:04:40
Temat: Re: Prosty generator pseudolosowy 8bit z limitem
Od: Adam Klobukowski <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu czwartek, 30 listopada 2017 07:32:20 UTC+1 użytkownik Radoslaw Szwed napisał:
> 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)
Dzięki :)
AdamK
Następne wpisy z tego wątku
- 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
- 07.12.17 03:54 M.M.
- 07.12.17 05:15 M.M.
- 08.12.17 17:53 M.M.
- 09.12.17 16:27 M.M.
Najnowsze wątki z tej grupy
- 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?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-11 Warszawa => Administrator IT (Linux) <=
- 2024-05-11 Gdańsk => Inżynier DevOps Conexa First (Kontraktor) <=
- 2024-05-10 nowe programy wolniej rysują okna
- 2024-05-10 Chess
- 2024-05-10 IZERA CD.
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Gdańsk => AI Specialist <=
- 2024-05-10 Zabrze => Junior HelpDesk <=
- 2024-05-10 Chess
- 2024-05-10 chatGPT prawem się zasłania
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Chess
- 2024-05-10 Poznań => Specjalista ds. Sprzedaży <=
- 2024-05-10 Vitruvian Man - parts 7-11a