62 lines
1.1 KiB
Text
62 lines
1.1 KiB
Text
%newline { [ LIT2 0a -Console/write ] DEO }
|
|
%tab { [ LIT2 09 -Console/write ] DEO }
|
|
%MOD ( a b -- a%b ) { DIVk MUL SUB }
|
|
|
|
|18 @Console/write
|
|
|c0 @DateTime/year $2 &month $1 &day $1 &hour $1 &minute $1 &second $1
|
|
|
|
|100
|
|
|
|
rand/init
|
|
|
|
&loop
|
|
rand/0:13 DUP print/dec tab
|
|
#0a NEQ ?{
|
|
newline !&break }
|
|
rand/0:13 print/dec newline
|
|
!&loop
|
|
|
|
&break
|
|
|
|
BRK
|
|
|
|
@print/dec ( dec -- )
|
|
DUP #64 DIV /num
|
|
DUP #0a DIV /num
|
|
( >> )
|
|
|
|
@print/num_ ( num -- )
|
|
#0a DIVk MUL SUB [ LIT "0 ] ADD .Console/write DEO
|
|
JMP2r
|
|
|
|
@print/num ( num -- )
|
|
DUP ?&num_
|
|
POP
|
|
JMP2r
|
|
|
|
@rand/init ( -- )
|
|
[ LIT2 00 -DateTime/second ] DEI
|
|
[ LIT2 00 -DateTime/minute ] DEI #60 SFT2 EOR2
|
|
[ LIT2 00 -DateTime/hour ] DEI #c0 SFT2 EOR2 ,&x STR2
|
|
[ LIT2 00 -DateTime/hour ] DEI #04 SFT2
|
|
[ LIT2 00 -DateTime/day ] DEI #10 SFT2 EOR2
|
|
[ LIT2 00 -DateTime/month ] DEI #60 SFT2 EOR2
|
|
.DateTime/year DEI2 #a0 SFT2 EOR2 ,&y STR2
|
|
JMP2r
|
|
|
|
@rand/short ( -- number* )
|
|
[ LIT2 &x $2 ]
|
|
DUP2 #50 SFT2 EOR2
|
|
DUP2 #03 SFT2 EOR2
|
|
[ LIT2 &y $2 ] DUP2 ,&x STR2
|
|
DUP2 #01 SFT2 EOR2 EOR2
|
|
,&y STR2k POP
|
|
JMP2r
|
|
|
|
@rand/byte ( -- number )
|
|
/short AND
|
|
JMP2r
|
|
|
|
@rand/0:13 ( -- U[0,13] )
|
|
/byte #14 MOD
|
|
JMP2r
|