Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > pl.comp.programming > #30976

Re: Prosty generator pseudolosowy 8bit z limitem

From "Radoslaw Szwed" <radekszwed@pochta.fm>
Newsgroups pl.comp.programming
Subject Re: Prosty generator pseudolosowy 8bit z limitem
Date 2017-11-30 07:31 +0100
Organization Aioe.org NNTP Server
Message-ID <ovo8li$1sp$1@gioia.aioe.org> (permalink)
References <aef027f7-2063-41a0-9f50-2136a3fd1032@googlegroups.com>

Show all headers | View raw


Użytkownik "Adam Klobukowski" <adamklobukowski@gmail.com> napisał w wiadomości 
news:aef027f7-2063-41a0-9f50-2136a3fd1032@googlegroups.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)


Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 00:48 -0800
  Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-28 05:13 -0800
    Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-28 05:17 -0800
    Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 01:20 +0100
      Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 09:41 +0100
        Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:12 +0100
      Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 00:48 -0800
        Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 10:19 +0100
          Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 02:23 -0800
            Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 14:01 +0100
              Re: Prosty generator pseudolosowy 8bit z limitem Stregor <stregor@wytnij.to.gmail.com> - 2017-11-29 14:28 +0100
              Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:01 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-02 02:46 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-12-04 08:34 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 09:58 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem Roman Tyczka <noemail@because.no> - 2017-12-06 20:14 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem fir <profesor.fir@gmail.com> - 2017-12-06 01:40 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem fir <profesor.fir@gmail.com> - 2017-12-06 09:22 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-06 20:07 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 21:27 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-12-06 21:30 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-07 01:09 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-06 18:54 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-06 20:15 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-08 08:53 -0800
                Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-12-09 07:27 -0800
            Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 14:04 +0100
            Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:38 +0100
          Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:34 +0100
        Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 19:29 +0100
  Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 05:50 -0800
    Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 06:09 -0800
    Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 08:39 -0800
      Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-28 20:13 +0100
        Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 21:59 -0800
          Re: Prosty generator pseudolosowy 8bit z limitem "Radoslaw Szwed" <radekszwed@pochta.fm> - 2017-11-29 07:55 +0100
          Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 18:48 +0100
            Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 20:29 +0100
              Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 20:38 +0100
                Re: Prosty generator pseudolosowy 8bit z limitem bartekltg <bartekltg@gmail.com> - 2017-11-29 20:43 -0800
      Re: Prosty generator pseudolosowy 8bit z limitem szykcech@gmail.com - 2017-11-28 19:53 -0800
        Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-28 22:00 -0800
        Re: Prosty generator pseudolosowy 8bit z limitem slawek <fake@fakeemail.com> - 2017-11-29 09:44 +0100
      Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-11-29 20:34 +0100
        Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-30 04:57 -0800
          Re: Prosty generator pseudolosowy 8bit z limitem "AK" <nobody@nowhere.net> - 2017-12-01 01:05 +0100
    Re: Prosty generator pseudolosowy 8bit z limitem "M.M." <mmarszik@gmail.com> - 2017-11-29 00:41 -0800
  Re: Prosty generator pseudolosowy 8bit z limitem bartekltg <bartekltg@gmail.com> - 2017-11-29 20:42 -0800
    Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:04 -0800
  Re: Prosty generator pseudolosowy 8bit z limitem "Radoslaw Szwed" <radekszwed@pochta.fm> - 2017-11-30 07:31 +0100
    Re: Prosty generator pseudolosowy 8bit z limitem Adam Klobukowski <adamklobukowski@gmail.com> - 2017-11-30 22:04 -0800

csiph-web