home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols200
/
vol246
/
toru.lbr
/
LIFE.REC
< prev
next >
Wrap
Text File
|
1986-02-11
|
5KB
|
173 lines
[LIFE.REC]
[Harold V. McIntosh, 20 May 1984]
[[]]
{
[options]
{(''0 x););(0x( (
@;(Jj2573TL'a: 'TLZqtj()JZD;);
@;(Jj'head:'Ez0x]JZDz<0x[1x( {(''1 x););((@;Jj [and] Z<(1x] jJ><[not] (Z< 'for:'EzJ>)J>[not] Zz;>)> [and] JZDz<';'I1x[13%I10%I@wZ>Z>z<z<@RZ>:;)Z>@;;)}1x:;):
@;(Jj'for:'Ez0x]JZDz<0x[1x( {(''1 x););((@;Jj [and] Z<(1x] jJ><[not] (Z< 'cells:'EzJ>)J>[not] Zz;>)> [and] JZDz<1x[@bZ>Z>z<z<@RZ>:;)Z>@;;)}1x:;):
@;(Jj'cells:'Ez0x]JZDz<0x[1x( {(''1 x););((@;Jj [and] Z<(1x] jJ><[not] (Z< 'count:'EzJ>)J>[not] Zz;>)> [and] JZDz<1x[@cZ>Z>z<z<@RZ>:;)Z>@;;)}1x:;):
@;(Jj'count:'Ez0x]JZDz<0x[1x( {(''1 x););((@;Jj [and] Z<(1x] jJ><[not] (Z< 'end:'EzJ>)J>[not] Zz;>)> [and] JZDz<1x[@dZ>Z>z<z<@RZ>:;)Z>@;;)}1x:;):
@;(Jj'end:'EzJZDz<@eZ>;);
@;(Jj(A)JZDz<@RZ>;):
@;(Jj26%EzJZD;);
;)@;1x:;)} a
[loops]
{(''0 1 x););(0x( 1x( (
@;(Jj2573TL'b: 'TLZqtj()JZD;);
@;(Jj@Z {[vbl] ('=0,1'Ez;) # ('=0'0x>;)}[vbl] JZDz<@LZ>z<z<@KZ> (Jj1x]JZDz<z<@AZ>@wZ>;;)Z>;);
@;(Jj@Z {[vbl] ('=0'Ez;) # ('=0'0x>;)}[vbl] JZDz<@LZ>z<z<@BZ>@wZ>;);
@;(Jj@Z {[vbl] ('=1'Ez;) # ('=1'0x>;)}[vbl] JZDz<@LZ>z<z<@CZ>@wZ>;);
;)@;2x:;)} b
[cells]
{(''0 1 2 x););(0x( 1x( 2x( (
@;(Jj2573TL'c: 'TLZqtj()JZD;);
@;(Jj@Z {[vbl] ('='Ez {[vbl] ('('Ez {[vbl] (')'Ez;) # (2x<;)}[vbl] ;) # (1x<;)}[vbl] ;) # ('='0x>;)}[vbl] JZDz<@LZ>z<z<@DZ>@wZ>z<2x[','I3x( 4x( {(''3 4 x););((@;Jj2573TL'...'TLZqtj {[vbl] (','Ez4x];) # (3x<;)}[vbl] JZDz<z<@EZ>@wZ>Z>z<4x[:JZDz<z<@FZ>@wZ>;)Z>@;;)}2x:;);
;)@;3x:;)} c
[count]
{(''0 1 x););(0x( 1x( (
@;(Jj2573TL'd: 'TLZqtj()JZD;);
@;(Jj@Z {[vbl] ('('Ez {[vbl] (')'Ez;) # (1x<;)}[vbl] ;) # (0x<;)}[vbl] JZDz<9%I'lxi'I9%I'h,'I0x[13%I10%I@wZ>z<z<'4:'I1x[','I3x( 4x( 5x( {(''3 4 5 x););((@;Jj2573TL'---'TLZqtj {[vbl] (':'Ez {[vbl] (','Ez5x];) # (4x<;)}[vbl] ;) # (':'3x>;)}[vbl] JZDz<z<@KZ>2x( {(''2 x););((@;Jj2x]JZDz<z<@GZ>@wZ>;;)Z>@;;)}1x:Z>z<z<3x['*2'I'&''*'x#Z>':'I5x[:;)Z>@;;)}3x:':'I6x( {(''6 x););((@;Jj {[vbl] (':'Ez;) # (':'6x>;)}[vbl] JZDz<@MZ>z<z<@HZ>@wZ>;;)Z>@;;)}1x:;);
;)@;2x:;)} d
[finish up]
{(
(JjJZDz<z<@IZ>@wZ>z<{(Jjx|;) ~ (z<'MEM:CELL'IxRA;;)}x~Z>0x( {(''0 x););((@;Jj [and] Z<([not] (Z< 26%EzJ>)J>[not] Zz jJ><0x](A);>)> [and] JZDz<0x[13%I10%I@wZ>Z>z<{(Jjx|;) ~ (z<'MEM:CELL'IxRA;;)}x~Z>:JZDz<13%I10%I9%I'end'I13%I10%I@wZ>;)Z>@;;)}1x:;);
;)} e
[write in .ASM file]
{(''0 x););(0x( (
@;(Jj0x]JZDz<9x['.ASM,'I0x[xWZ>;);
;)@;1x:;)} w
[main]
{
(([ITR] Z< [or] Z<(' 'Ez; J9%Ez;>)> [or] >:J>;)[ITR] ;) Z
[0/1] (JZD' mvi a,0
sta 'I0x['
call x'I1x['
mvi a,1
sta 'I0x['
x'I1x[':'I;) A
[0] (JZD' mvi a,0
sta 'I0x['
'I;) B
[1] (JZD' mvi a,1
sta 'I0x['
'I;) C
[xra] (JZD' xra a
'I;) D
[add] (JZD' lxi h,'I3x['
add m
'I;) E
[val] (JZD' lxi d,'I1x['
lxi h,'I0x['
call valu
'I;) F
[cnt] (JZD' lda 'I4x['
ora a
jz x'I2x['
lxi d,'I3x['
dad d
x'I2x[':'I;) G
[inc] (JZD' inr m
rnz
inx h
inr m
rnz
inx h
inr m
rnz
inx h
inr m
ret
'I;) H
[val] (JZD'valu: mvi m,0
mov b,a
ldax d
ora a
mov a,b
jz valv
cpi 2
jz valw
valv: cpi 3
rnz
valw: inr m
ret
tyst: adi 30H
cona: push h
push d
push b
mvi c,2
mov e,a
call 0005
pop b
pop d
pop h
ret
'I;) I
(JZDz<'CTR:X'IxRZ>;) K
(JZDz<'MEM:CELL,'I0x[':'I9%I'db'I9%I'00'I13%I10%IxWZ>;) L
(JZDz<'MEM:CELL,'I0x[':'I9%I'ds'I9%I6x[13%I10%IxWZ>;) M
(JZD{(Jjx|;) ~ (z<9x['.LIF'IxRA;;)}x~Z>;) R
(''9 x););(9x( (
@;(Jj2573TLZqtj()JZD;);
@;(Jj {[vbl] ( [or] Z<(' 'Ez; J'.'Ez; J(A);>)> [or] ;) # (9x<;)}[vbl] JZDz<'CTR:X'I'r'xOZ>z<'MEM:CELL,5000'I'w'xOZ>z<9x['.LIF'I'r'xOZ>z<9x['.ASM'I'w'xOZ>z<13%I10%I9%I'org'I9%I'0100H'I13%I10%I13%I10%I@wZ>z<9%I'call'I9%I'life'I13%I10%I@wZ>z<9%I'jmp'I9%I'0000'I13%I10%I13%I10%I@wZ>z<'life:'I@wZ>z<z<@RZ>@aZ>z<xEZ>;);
;)@;1x:;)} ~
{((Jj':'UQD':'ED\64-%;0%;)
('.'U<(8a;xb;)Q|D>;Z'.'IJj:)
'.'FJD(3a;xb;)Q|JZDI;) u
(255='Not Found'I;) v
(Zz(d' 'I:;)JZ;) b
(w0%(f:;)w;) -
(cmpx-n;) 0
(128,26k;) 5
(x+'compile a LIFE analysis'TL;) Q
((B13%ED;;)J(10%FD:;)Z;) ~
(13%Fz;26%F((2b);J6666EA;zBj;)z;) |
(|0|0|0|pLpGnpG6-mSpG8+n&S;) 3
(x00x3;) `
(mx0n&mx0nx3;) z
(30$r128eqL26k20K0=L;DLL) y
(('L/'FDZ<(' 'FjJ;;)QD>
((B;;)' 'ED;;);'';)mZ
188@0pG66-,127$Sx!
'uvb-05Q~|3`zy'I<z(BQD@s:;)>@i
33@0pG30$SnI
<@u(A' 'EZD'CNVLIB REC'I;;)JQD>&S
@5,30$r15K(@vu\64+%':'|&11G|':'|TLqt_;LL;)
'# #*m c R O OrOwE 'm'()'p''C32$SLLZz;) x
(&pG8+0&SrSJZD>;) q
(31$J(('TTY:'E;A)' ''05D'HS;;)Zz
'05C'H12GI<A' 'Em4x`'TTY:'@q;
BQmm130,33xzn@q;) i
(pG$r&\pG+127$r+S;) s
(Z>zZ<(J@|J><z@~J;@y:Z26%I:)26%ELnL0,30$S;
J('['ED']'FDJ<Z((2b)>JZD;QDlyw&FwJZD>;w:):Z;)
>J<'[!]'FDBQD\pG+127$r+mJq32$rC
mpGlyG-'w'$r'x'$r-
(NLnLq'x'$rC&'x'$SnS;32$SnnS;)D::) w
(@x<<@w>JZD>J'Next: '32$r!|TLxQ
(A;{(Jx|;) ~ (xR;;)}x~;);)} %
(@%@~xTxE;) }
[end]