Tvůrce webu je i pro tebe! Postav třeba web. Bez grafika. Bez kodéra. Hned.
wz

<< Zpět

česky: , English:

RANDOM

Generátor náhody

Základem generátoru náhody v systému Litos8 je generování pseudonáhodné posloupnosti čísel výpočtem new_seed = old_seed*17405 + 10395331. Na rozdíl od klasických algoritmů je výpočet prováděn 64bitově se záměnou dvojslov operandu, čímž je zajištěna dostatečná pestrost náhodných čísel, s velkým intervalem opakování. Navíc může být generátor čísel rozmítán nepředvídatelnými událostmi, jako např. stiskem kláves.


RandInit - initialize random generator

INPUT:
DX:AX = new random generator seed
BL = flag, 0 = use pseudorandom sequence, 1 = enable events


RandShift - shift random generator with an event

INPUT:
AX,BX,CX = shift random value


RandByte - get random byte

OUTPUT:
AL = random byte (0 to 0ffh)


RandWord - get random word

OUTPUT:
AX = random word (0 to 0ffffh)


RandDWord - get random dword

OUTPUT:
DX:AX = random double word (0 to 0ffffffffh)


RandByteMax - get random byte with max value

INPUT:
AL = maximal unsigned value (0 to 0ffh)

OUTPUT:
AL = random byte (0 to maximal value)


RandWordMax - get random word with max value

INPUT:
AX = maximal unsigned value (0 to 0ffffh)

OUTPUT:
AX = random word (0 to maximal value)


RandDWordMax - get random dword with max value

INPUT:
DX:AX = maximal unsigned value (0 to 0ffffffffh)

OUTPUT:
DX:AX = random double word (0 to maximal value)


RandSByteMax - get random signed byte with max value

INPUT:
AL = maximal signed value (-128 to +127)

OUTPUT:
AL = random byte (0 to maximal value)


RandSWordMax - get random signed word with max value

INPUT:
AX = maximal signed value (-32768 to +32767)

OUTPUT:
AX = random word (0 to maximal value)


RandSDWordMax - get random signed dword with max value

INPUT:
DX:AX = maximal signed value (-80000000h to +7fffffffh)

OUTPUT:
DX:AX = random double word (0 to maximal value)


RandByteInt - get random byte in interval

INPUT:
AL = maximal value (unsigned)
AH = minimal value (unsigned)

OUTPUT:
AL = random byte (min to max)


RandWordInt - get random word in interval

INPUT:
AX = maximal value (unsigned)
DX = minimal value (unsigned)

OUTPUT:
AX = random word (min to max)


RandDWordInt - get random dword in interval

INPUT:
DX:AX = maximal value (unsigned)
BX:CX = minimal value (unsigned)

OUTPUT:
DX:AX = random double word (min to max)


RandSByteInt - get random signed byte in interval

INPUT:
AL = maximal value (signed)
AH = minimal value (signed)

OUTPUT:
AL = random byte (min to max)


RandSWordInt - get random signed word in interval

INPUT:
AX = maximal value (signed)
DX = minimal value (signed)

OUTPUT:
AX = random word (min to max)


RandSDWordInt - get random signed dword in interval

INPUT:
DX:AX = maximal value (signed)
BX:CX = minimal value (signed)

OUTPUT:
DX:AX = random double word (min to max)


Zdrojový kód RANDOM.ASM

<< Zpět