eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingProsty generator pseudolosowy 8bit z limitemRe: Prosty generator pseudolosowy 8bit z limitem
  • X-Received: by 10.31.2.148 with SMTP id 142mr302966vkc.1.1512108280467; Thu, 30 Nov
    2017 22:04:40 -0800 (PST)
    X-Received: by 10.31.2.148 with SMTP id 142mr302966vkc.1.1512108280467; Thu, 30 Nov
    2017 22:04:40 -0800 (PST)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
    !2.eu.feeder.erje.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.co
    m!border1.nntp.dca1.giganews.com!nntp.giganews.com!m31no12385qtf.0!news-out.goo
    gle.com!t48ni55qtc.1!nntp.google.com!g35no12212qtk.1!postnews.google.com!glegro
    upsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Thu, 30 Nov 2017 22:04:40 -0800 (PST)
    In-Reply-To: <ovo8li$1sp$1@gioia.aioe.org>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.77.34.118;
    posting-account=mvBzhgoAAADiziO82aLj4VEpjexQv3Cn
    NNTP-Posting-Host: 89.77.34.118
    References: <a...@g...com>
    <ovo8li$1sp$1@gioia.aioe.org>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <b...@g...com>
    Subject: Re: Prosty generator pseudolosowy 8bit z limitem
    From: Adam Klobukowski <a...@g...com>
    Injection-Date: Fri, 01 Dec 2017 06:04:40 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 41
    Xref: news-archive.icm.edu.pl pl.comp.programming:211809
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: