Article View: pl.comp.lang.asm
Article #2076Re: random w makrach MASMa
From: Bogdan (bogdro)
Date: Wed, 20 Jan 2010 17:57
Date: Wed, 20 Jan 2010 17:57
54 lines
2548 bytes
2548 bytes
W dniu 20.01.2010 13:22, Bartosz Wójcik pisze: > Witam, > > Mam taki maly dylemat, chce w poziomu makra miec dostep do jakichs > pseudolosowych wartosci: > > test MACRO arg:req > > rand = ??? ; <-- jak tu wrzucic jakas losowa wartosc > > IF rand EQ 0 > > ELSEIF rand EQ 1 > > ENDIF > > ENDM > > Nie wiem czy to jest mozliwe w ogole pod MASMem, bo ta wartosc ma byc > generowana statycznie (a nie przez wywolanie do funkcji losowej), > probowalem bawic sie offsetami, ale MASM nie pozwala na manipulacje > relokowalnych elementow w wartosciach lokalnych makra, wiec proby > wykorzystania biezacego polozenia w kodzie $ legly w gruzach, ogladalem > zestaw makr z pakietu MASM32, ale nic mi sie nie rzucilo w oczy, co mogloby > byc wykorzystane jako zrodlo losowej liczby. > > 1. Makro > 2. ??? > 3. Profit > > Jakies pomysly? Możesz wpisywać tam numer bieżącej linii, jeśli MASM takie coś obsługuje (w NASMie jest bodajże makro __LINE__). Jeśli MASM obsługuje redefinicję symboli stałych, można zdefiniować sobie jakąś stałą - "seed" dla generatora, po czym w każdym wywołaniu makra ją zmieniać - coś w stylu takiego pseudokodu: seed equ 0x12345678 test macro arg:req rand equ seed seed equ seed * 17 + 13131313 ... endm Podobnie (ale oczywiście z lepszymi liczbami) robi to funkcja rand() z C. -- Pozdrawiam/Regards - Bogdan (GNU/Linux & FreeDOS) Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro Grupy dyskusyjne o asm: pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32 www.JabberPL.org www.torproject.org Soft (EN): miniurl.pl/bogdro-soft
Technical Details
Message-ID:
<hj7g71$cfc$1@inews.gazeta.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<1nrbb6qlshmd8.40lfaf97n21k.dlg@40tude.net>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl> Newsgroups: pl.comp.lang.asm Subject: Re: random w makrach MASMa Date: Wed, 20 Jan 2010 18:57:52 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 54 Message-ID: <hj7g71$cfc$1@inews.gazeta.pl> References: <1nrbb6qlshmd8.40lfaf97n21k.dlg@40tude.net> NNTP-Posting-Host: rudy.mif.pg.gda.pl Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1264010274 12780 153.19.42.16 (20 Jan 2010 17:57:54 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Wed, 20 Jan 2010 17:57:54 +0000 (UTC) X-User: bog.d In-Reply-To: <1nrbb6qlshmd8.40lfaf97n21k.dlg@40tude.net> User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit