home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols200 / vol246 / toru.lbr / LIFE.REC < prev    next >
Text File  |  1986-02-11  |  5KB  |  173 lines

  1.  
  2. [LIFE.REC]
  3. [Harold V. McIntosh, 20 May 1984]
  4. [[]]
  5.  
  6. {
  7. [options]
  8. {(''0 x););(0x( (
  9.         @;(Jj2573TL'a: 'TLZqtj()JZD;);
  10.         @;(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:;):
  11.         @;(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:;):
  12.         @;(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:;):
  13.         @;(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:;):
  14.         @;(Jj'end:'EzJZDz<@eZ>;);
  15.         @;(Jj(A)JZDz<@RZ>;):
  16.         @;(Jj26%EzJZD;);
  17.   ;)@;1x:;)} a
  18.  
  19. [loops]
  20. {(''0 1 x););(0x( 1x( (
  21.   @;(Jj2573TL'b: 'TLZqtj()JZD;);
  22.   @;(Jj@Z {[vbl] ('=0,1'Ez;) # ('=0'0x>;)}[vbl] JZDz<@LZ>z<z<@KZ> (Jj1x]JZDz<z<@AZ>@wZ>;;)Z>;);
  23.   @;(Jj@Z {[vbl] ('=0'Ez;) # ('=0'0x>;)}[vbl] JZDz<@LZ>z<z<@BZ>@wZ>;);
  24.   @;(Jj@Z {[vbl] ('=1'Ez;) # ('=1'0x>;)}[vbl] JZDz<@LZ>z<z<@CZ>@wZ>;);
  25.   ;)@;2x:;)} b
  26.  
  27. [cells]
  28. {(''0 1 2 x););(0x( 1x( 2x( (
  29.   @;(Jj2573TL'c: 'TLZqtj()JZD;);
  30.   @;(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:;);
  31.   ;)@;3x:;)} c
  32.  
  33. [count]
  34. {(''0 1 x););(0x( 1x( (
  35.   @;(Jj2573TL'd: 'TLZqtj()JZD;);
  36.   @;(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:;);
  37.   ;)@;2x:;)} d
  38.  
  39. [finish up]
  40. {(
  41.         (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:;);
  42.   ;)} e
  43.  
  44. [write in .ASM file]
  45. {(''0 x););(0x( (
  46.         @;(Jj0x]JZDz<9x['.ASM,'I0x[xWZ>;);
  47.   ;)@;1x:;)} w
  48.  
  49. [main]
  50. {
  51.         (([ITR] Z< [or] Z<(' 'Ez; J9%Ez;>)> [or] >:J>;)[ITR] ;) Z
  52.   
  53.   [0/1] (JZD'      mvi  a,0
  54.         sta  'I0x['
  55.         call x'I1x['
  56.         mvi  a,1
  57.         sta  'I0x['
  58. x'I1x[':'I;) A
  59.  
  60.   [0]  (JZD'      mvi  a,0
  61.         sta  'I0x['
  62. 'I;) B
  63.  
  64.   [1]  (JZD'      mvi  a,1
  65.         sta  'I0x['
  66. 'I;) C
  67.  
  68.   [xra]  (JZD'      xra  a
  69. 'I;) D
  70.  
  71.   [add]  (JZD'      lxi  h,'I3x['
  72.         add  m
  73. 'I;) E
  74.  
  75.   [val]  (JZD'      lxi  d,'I1x['
  76.         lxi  h,'I0x['
  77.         call valu
  78. 'I;) F
  79.  
  80.   [cnt]  (JZD'      lda  'I4x['
  81.         ora  a
  82.         jz   x'I2x['
  83.         lxi  d,'I3x['
  84.         dad  d
  85. x'I2x[':'I;) G
  86.  
  87.   [inc]  (JZD'      inr  m
  88.         rnz
  89.         inx  h
  90.         inr  m
  91.         rnz
  92.         inx  h
  93.         inr  m
  94.         rnz
  95.         inx  h
  96.         inr  m
  97.         ret
  98.  
  99. 'I;) H
  100.   [val]  (JZD'valu: mvi  m,0
  101.         mov  b,a
  102.         ldax d
  103.         ora  a
  104.         mov  a,b
  105.         jz   valv
  106.         cpi  2
  107.         jz   valw
  108. valv:   cpi  3
  109.         rnz
  110. valw:   inr  m
  111.         ret
  112.  
  113. tyst:    adi  30H
  114. cona:    push h
  115.     push d
  116.     push b
  117.     mvi  c,2
  118.     mov  e,a
  119.     call 0005
  120.     pop  b
  121.     pop  d
  122.     pop  h
  123.     ret
  124.  
  125. 'I;) I
  126.         (JZDz<'CTR:X'IxRZ>;) K
  127.         (JZDz<'MEM:CELL,'I0x[':'I9%I'db'I9%I'00'I13%I10%IxWZ>;) L
  128.         (JZDz<'MEM:CELL,'I0x[':'I9%I'ds'I9%I6x[13%I10%IxWZ>;) M
  129.         (JZD{(Jjx|;) ~ (z<9x['.LIF'IxRA;;)}x~Z>;) R
  130.   (''9 x););(9x( (
  131.         @;(Jj2573TLZqtj()JZD;);
  132.         @;(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>;);
  133.   ;)@;1x:;)} ~
  134. {((Jj':'UQD':'ED\64-%;0%;)
  135. ('.'U<(8a;xb;)Q|D>;Z'.'IJj:)
  136. '.'FJD(3a;xb;)Q|JZDI;) u
  137. (255='Not Found'I;) v
  138. (Zz(d' 'I:;)JZ;) b
  139. (w0%(f:;)w;) -
  140. (cmpx-n;) 0
  141. (128,26k;) 5
  142. (x+'compile a LIFE analysis'TL;) Q
  143. ((B13%ED;;)J(10%FD:;)Z;) ~
  144. (13%Fz;26%F((2b);J6666EA;zBj;)z;) |
  145. (|0|0|0|pLpGnpG6-mSpG8+n&S;) 3
  146. (x00x3;) `
  147. (mx0n&mx0nx3;) z
  148. (30$r128eqL26k20K0=L;DLL) y
  149. (('L/'FDZ<(' 'FjJ;;)QD>
  150. ((B;;)' 'ED;;);'';)mZ
  151. 188@0pG66-,127$Sx!
  152. 'uvb-05Q~|3`zy'I<z(BQD@s:;)>@i
  153. 33@0pG30$SnI
  154. <@u(A' 'EZD'CNVLIB  REC'I;;)JQD>&S
  155. @5,30$r15K(@vu\64+%':'|&11G|':'|TLqt_;LL;)
  156. '# #*m c R O OrOwE 'm'()'p''C32$SLLZz;) x
  157. (&pG8+0&SrSJZD>;) q
  158. (31$J(('TTY:'E;A)' ''05D'HS;;)Zz
  159. '05C'H12GI<A' 'Em4x`'TTY:'@q;
  160. BQmm130,33xzn@q;) i
  161. (pG$r&\pG+127$r+S;) s
  162. (Z>zZ<(J@|J><z@~J;@y:Z26%I:)26%ELnL0,30$S;
  163. J('['ED']'FDJ<Z((2b)>JZD;QDlyw&FwJZD>;w:):Z;)
  164. >J<'[!]'FDBQD\pG+127$r+mJq32$rC
  165. mpGlyG-'w'$r'x'$r-
  166. (NLnLq'x'$rC&'x'$SnS;32$SnnS;)D::) w
  167. (@x<<@w>JZD>J'Next: '32$r!|TLxQ
  168. (A;{(Jx|;) ~ (xR;;)}x~;);)} %
  169. (@%@~xTxE;) }
  170.  
  171.  
  172. [end]
  173.