Náhodné volání podprogramu v ASM

HackForum

Náhodné volání podprogramu v ASM#
Programuju mikroprocery pic v assembleru.
Mam 27 podprogramu a potrebuju je nahodne volat. Nevi nekdo jak na to? Díky
(odpovědět)
Honzaa | 213.195.224.2/10.115.126.*27.12.2006 11:07
re: Náhodné volání podprogramu v ASM#
Generátory náhodných čísel, založené na oblíbené rovnici x[i + 1] = (5 * x + 1) mod 256.
Jednoduchý generátor (8bitové číslo, za náhodnou lze považovat vyšší část bitů) ASM Z80 (přepiš si do assembleru svého procesoru:
¨
Rand8ld a,Seed ; obvykle 0
ld b,a
adda,a
adda,a
adda,b
inc a ;nebo ADD A,7
ld (Rand8+1),a
ret

Šestnáctibitově:

Rand16 ldde,Seed ; obvykle 0
ld a,d
ld h,e
ld l,253
or a
sbc hl,de
sbca,0
sbc hl,de
ld d,0
sbca,d
ld e,a
sbc hl,de
jr nc,Rand
inc hl
Rand ld (Rand16+1),hl
ret

V prvním případě je v A (pseudo)náhodné číslo 0-255, v případě druhém je v HL číslo 0-65535.

Citováno: [link] , strana 4.
(odpovědět)
dex/THS27.12.2006 14:12
re: Náhodné volání podprogramu v ASM#
Pokazdy kdyz to spustim tak to vygeneruje ty sama cisla ne?
(odpovědět)
Honzaa | 213.195.224.2/10.115.126.*27.12.2006 15:28
re: Náhodné volání podprogramu v ASM#
Tak si změň seed, ne? Proxoruj třeba čas od zapnutí počítače s nějakou jinou hodně proměnlivou hodnotou...
(odpovědět)
guma2 | 195.113.79.10/10.0.10.*27.12.2006 18:44

Zpět
Svou ideální brigádu na léto najdete na webu Ideální brigáda
 
 
 

 
BBCode