alternative_20pseudo-random_20numbers
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
alternative_20pseudo-random_20numbers [2018/03/31 13:19] – external edit 127.0.0.1 | alternative_20pseudo-random_20numbers [2024/01/05 00:22] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 5: | Line 5: | ||
\\ The following routine generates a 32-bit pseudo-random number when called, the pseudo-random number is returned in the **eax** register:\\ \\ | \\ The following routine generates a 32-bit pseudo-random number when called, the pseudo-random number is returned in the **eax** register:\\ \\ | ||
.seed dd 1 :dd 0 | .seed dd 1 :dd 0 | ||
+ | | ||
.Rand | .Rand | ||
mov eax, & | mov eax, & | ||
Line 75: | Line 75: | ||
===== Calling the pseudo-random number generator from BASIC ===== | ===== Calling the pseudo-random number generator from BASIC ===== | ||
\\ These routines may be called from BASIC, instead of using the **RND** function, if you //really// want to:\\ \\ | \\ These routines may be called from BASIC, instead of using the **RND** function, if you //really// want to:\\ \\ | ||
+ | <code bb4w> | ||
result% = USR Rand :REM Return a pseudo-random number in result% | result% = USR Rand :REM Return a pseudo-random number in result% | ||
SYS RandFloat, ^N# :REM Return a pseudo-random float in N# | SYS RandFloat, ^N# :REM Return a pseudo-random float in N# | ||
SYS RandRange, N TO result% :REM Return a range limited pseudo-random number in result% | SYS RandRange, N TO result% :REM Return a range limited pseudo-random number in result% | ||
SYS RandSeed, TIME, TIME :REM Seed the pseudo-random generator using TIME | SYS RandSeed, TIME, TIME :REM Seed the pseudo-random generator using TIME | ||
+ | </ | ||
\\ | \\ | ||
===== References ===== | ===== References ===== | ||
\\ The multiplier [[http:// | \\ The multiplier [[http:// |
alternative_20pseudo-random_20numbers.1522502345.txt.gz · Last modified: 2024/01/05 00:18 (external edit)