DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦87b392884⟧ TextFile

    Length: 32256 (0x7e00)
    Types: TextFile
    Names: »ud«

Derivation

└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
    └─⟦b2ec5d50f⟧ 
        └─⟦this⟧ »ud« 

TextFile

***clear temp raman unknown

c
     1 \f

     1 
     1 
     1 begin
     2   integer i,j,res,num,ver,int,tmin,fmin,fmax,nr,n1,n2,m,df,dt,pl,del,
     3   s,s1,s2,I,norm,N,b,nr1,nr2,ramme,t,type,sel,fint,key,savep,ram3;
     4   real T,fak,max,umax,min,umin,skax,skay,ymax,format,x,y,g;
     5   long array lis,com,navn,navn1,navn2(1:2);
     6   long l;
     7   integer array a(1:8),tail,hale(1:10);
     8   array mic,prg(1:3),text(1:12);
     9   boolean setup,pr,nl;
    10   zone z(128,1,stderror);
    11 
    11   procedure ffil(nr,navn,type);
    12   long array navn; integer nr,type;
    13   begin
    14     integer s,i; boolean p,r; long array exn(1:2);
    15 
    15     navn(1):= navn(2):= 0;
    16 D:  repeatchar(in);
    17 A:  readchar(in,s); if s=32 then goto A;
    18     repeatchar(in);
    19     readchar(in,s);
    20     if s=10 then write(out,<:navn=  :>)
    21     else repeatchar(in); outendcur(0);
    22     readstring(in,navn,1);
    23     if navn(1)=0 then goto D;
    24     ramnc(nr,navn,type);
    25     if type=6 or type=7 then goto slut;
    26     if lookupentry(navn)=0 then goto slut;
    27     if type=1 then
    28     begin ramng(nr,exn,2);
    29           if lookupentry(exn)<>0 then goto L;
    30           ramng(nr,navn,2); type:=2; goto slut;
    31     end;
    32     if type=2 then
    33     begin ramng(nr,exn,1);
    34           if lookupentry(exn)=0 then goto slut;
    35           ramng(nr,navn,1); goto L;
    36     end;
    37     if type=9 then
    38     begin ramng(nr,navn,2);
    39           if lookupentry(navn)=0 then
    40           begin type:=2; goto slut; end;
    41           ramng(nr,navn,1);
    42           if lookupentry(navn)=0 then
    43           begin type:=1; goto slut; end
    44           else
    45           goto L;
    46     end;
    47 L:  write(out,navn,<: *findes ikke:>);
    48     navn(1):=navn(2):=0;
    49     repeatchar(in);
    50 C:  readchar(in,s); if s<>10 then goto C;
    51     goto nextcom;
    52 slut:
    53 end ffil;
    54 
    54   procedure gfil(navn,op);
    55   long array navn; integer op;
    56   begin integer s,t;
    57         if op=0 then goto C;
    58         navn(1):=navn(2):=0;
    59 D:      repeatchar(in);
    60 A:      readchar(in,s); if s=32 then goto A;
    61         repeatchar(in);
    62         readchar(in,s);
    63         if s=10 then write(out,case op of(
    64         <:navn=  :>,<:mnavn= :>,<:snavn= :>,<:knavn= :>,
    65         <:lnavn= :>,<:enavn= :>))
    66         else repeatchar(in); setposition(out,0,0);
    67         readstring(in,navn,1);
    68         ramnc(nr,navn,t);
    69         if t=7 then
    70         begin ramnc(nr,navn1,t);
    71               t:=case op of(0,3,4,0,0);
    72               ramng(nr,navn,t);
    73         end;
    74 C:      if lookupentry(navn)=0 then removeentry(navn);
    75         reservesegm(navn,400); permentry(navn,15);
    76   end gfil;
    77 
    77   procedure indl(navn);
    78   long array navn;
    79   begin integer array t(1:10);
    80         if type=1 or type=2 then
    81         begin if type=1 then ramng(nr,navn,2);
    82               if lookupentry(navn) <> 0 then ramind(nr);
    83         end;
    84   end indl;
    85 
    85 
    85 
    85   boolean procedure fejl;
    86   begin
    87     if res<>1 or netiosw extract 7 <> 0 then
    88     begin
    89       fejl:=true;
    90       fejlinet(out,mic,res,netiosw);
    91     end
    92     else
    93     fejl:=false;
    94   end fejl;
    95 
    95   procedure status;
    96   begin
    97     integer array data(1:256);
    98     integer pos,segm,state;
    99     res:=netoperat(string inc(mic),opsense,0);
   100     if fejl then goto sslut;
   101     state:=netprogsw;
   102     state:=
   103     if state=0 then 1 else
   104     if state=1 then 2 else
   105     if state=2 then 3 else
   106     if state=4 then 4 else
   107     if state=8 then 5 else 6;
   108 
   108     res:=netabsio(string inc(mic),opinput,data,0);
   109     if fejl then goto sslut;
   110     pos:=(data(35) shift (-8))-771;
   111     segm:=pos//768;
   112     pos:=pos/3-segm-1;
   113 
   113     write(out,<:Status::>,sp,17,case state of (
   114     <:ingen bruger process eller stoppet.:>,
   115     <:aktiv.:>,
   116     <:venter på meddelelse.:>,
   117     <:venter på svar.:>,
   118     <:venter på begivenhed (meddelelse eller svar).:>,
   119     <:ukendt status.:>),nl,1,<< ddddd>,
   120     <:Antal punkter opsamlet::>,pos,nl,1,
   121     <:Antal cm-1 scannet::>,sp,4,pos/8.4);
   122 sslut:
   123   end status;
   124 
   124 
   124 
   124   mic(1):=real (long <:miclo:> + (long <:c:> shift (-40)));
   125   mic(2):=real <:al6:>;
   126   prg(1):=real (long <:raman:> + (long <:p:> shift (-40)));
   127   prg(2):=real <::>;
   128   mic(3):=prg(3):=real <::>;
   129   nl:=false add 10;
   130   ram3:=0; pr:=true; sel:=0; savep:=0;
   131 \f

   131 nextcom:
   132   setup:=false; com(1):=com(2):=0; write(out,nl,2,<:com=:>);
   133   setposition(out,0,0); readstring(in,com,1); l:=com(1);
   134   if l=long <:cdraw:> or l= long <:cdr:> then goto cdraw;
   135   if l=long <:cdump:> or l= long <:cdu:> then goto cdump;
   136   if l=long <:cd1:>   or l= long <:cd2:> then goto cdump;
   137   if                     l= long <:con:> then goto conv;
   138   if l=long <:draw:>  or l= long <:dra:> then goto draw;
   139   if l=long <:dump:>  or l= long <:dum:> then goto dump;
   140   if l=long <:hent:>  or l= long <:hen:> then goto hent;
   141   if l=long <:load:>  or l= long <:loa:> then goto load;
   142   if l=long <:mikro:> or l= long <:mik:> then goto mikro;
   143   if l=long <:progr:> or l= long <:pro:> then goto progr;
   144   if l=long <:setup:> or l= long <:set:> then goto set;
   145   if l=long <:start:> or l= long <:sta:> then goto start;
   146   if l=long <:status:> or l=long <:sts:> then goto stat;
   147   if l=long <:stop:>  or l= long <:sto:> then goto stop;
   148   if l=long <:clear:> or l= long <:cle:> then goto clear;
   149   if l=long <:kat:>                      then goto kat;
   150   if l=long <:katr:>  or l= long <:ktr:> then goto katr;
   151   if l=long <:kats:>  or l= long <:kts:> then goto kats;
   152   if l=long <:look:>  or l= long <:loo:> then goto look;
   153   if l=long <:nr:>    or l= long <:rnr:> then goto ranr;
   154   if l=long <:adder:> or l= long <:add:> then goto adder;
   155   if l=long <:b:>     or l= long <:bag:> then goto bagr;
   156   if l=long <:z:>     or l= long <:fsm:> then goto fsmo;
   157   if                     l= long <:get:> then goto getl;
   158   if l=long <:g:>     or l= long <:gsn:> then goto gsnit;
   159   if l=long <:i:>     or l= long <:ind:> then goto ind;
   160   if l=long <:kopi:>  or l= long <:kop:> then goto kopi;
   161   if                     l= long <:kvo:> then goto kvot;
   162   if l=long <:log:>                      then goto log;
   163   if l=long <:max:>                      then goto maks;
   164   if l=long <:min:>                      then goto minl;
   165   if l=long <:mul:>                      then goto mult;
   166   if l=long <:n:>     or l= long <:nor:> then goto nor;
   167   if l=long <:jus:>   or l= long <:npf:> then goto npf;
   168   if                     l= long <:ny4:> then goto ny4;
   169   if l=long <:opl:>                      then goto opl;
   170   if l=long <:pli:>                      then goto pli;
   171   if l=long <:p:>     or l= long <:plo:> then goto plot;
   172   if l=long <:plrny:> or l= long <:plr:> then goto plrny;
   173   if l=long <:pot:>                      then goto pot;
   174   if                     l= long <:put:> then goto putl;
   175   if l=long <:r:>     or l= long <:ret:> then goto putl;
   176   if l=long <:m:>     or l= long <:rn1:> then goto rn1;
   177   if l=long <:rny:>   or l= long <:rn2:> then goto rn2;
   178   if                     l= long <:sap:> then goto sap;
   179   if                     l= long <:smo:> then goto smo;
   180   if                     l= long <:sms:> then goto sms;
   181   if l=long <:c:>     or l= long <:sub:> then goto sub;
   182   if l=long <:u:>     or l= long <:udl:> then goto getl;
   183   if l=long <:sky:>   or l= long <:ysk:> then goto yska;
   184   if l=long <:skx:>   or l= long <:xsk:> then goto xska;
   185   if l=long <:list:>  or l= long <:lis:> then goto list;
   186   if l=long <:perm:>  or l= long <:per:> then goto perm;
   187   if l=long <:vent:>  or l= long <:ven:> then goto vent;
   188   if                     l= long <:tes:> then goto test;
   189   if l=long <:slut:>  or l= long <:end:> then goto slut
   190   else
   191   begin write(out,<:kommando :>,com,<: findes ikke:>,nl,1,
   192         <:ved kommando list skrives kommandoliste:>);
   193         repeatchar(in);
   194 B:      readchar(in,s); if s<>10 then goto B; goto nextcom;
   195   end;
   196 \f

   196 
   196 
   196 
   196 load:
   197   res:=netprogload(string inc(mic),string inc(prg));
   198   fejl;
   199   if setup then goto start;
   200   goto nextcom;
   201 
   201 
   201 start:
   202   res:=netoperat(string inc(mic),opstart,0);
   203   fejl;
   204   if setup then
   205   begin write(out,<:*START MICRO:>,nl,2); setposition(out,0,0);
   206         wait(2);
   207         write(out,<:*START RS100:>,nl,1); setposition(out,0,0);
   208         wait(5);
   209         goto cdump;
   210   end;
   211   goto nextcom;
   212 
   212 
   212 stop:
   213   if setup then
   214   begin write(out,nl,1,<:*STOP RS100:>,nl,1);
   215         setposition(out,0,0);
   216   end;
   217   res:=netoperat(string inc(mic),opstop,0);
   218   fejl;
   219   goto nextcom;
   220 
   220 
   220 cdraw:
   221   if -,htal(fmin) and -,htal(int) or htal(i) then
   222   begin write(out,<:tmin int (cm-1)= :>); setp;
   223         read(in,tmin,int);
   224   end;
   225   ramcdr(mic,tmin,int);
   226   goto nextcom;
   227 
   227 
   227 cdump:
   228   if -,htal(tmin) and -,htal(int) or htal(i) then
   229   begin write(out,<:tmin int (cm-1)=:>);
   230         setposition(out,0,0); read(in,tmin,int);
   231   end;
   232   if pr then
   233   begin write(out,nl,1,<:n:>,nl,2); setposition(out,0,0);
   234         ramcdu(mic,tmin,int);
   235   end
   236   else
   237   begin write(out,nl,1,<:g:>,nl,2); setposition(out,0,0);
   238         ramcdg(mic,tmin,int);
   239   end;
   240   if setup then goto stop;
   241   goto nextcom;
   242 
   242 
   242 conv:
   243   if -,htal(s1) and -,htal(s2) or htal(i) then
   244   begin write(out,<:nr1 nr2= :>); setposition(out,0,0);
   245         read(in,s1,s2);
   246   end;
   247   ramcon(s1,s2,1);
   248   goto nextcom;
   249 
   249 
   249 draw:
   250   if -,htal(tmin) and -,htal(int) or htal(i) then
   251   begin write(out,<:tmin int (cm-1)= :>); setp;
   252         read(in,tmin,int);
   253   end;
   254   goto nextcom;
   255 
   255 
   255 dump:
   256   goto nextcom;
   257 
   257 
   257 hent:
   258   goto nextcom;
   259 
   259 
   259 mikro:
   260   write(out,<:mikro= :>,string inc(mic)); 
   261   write(out,nl,1,<:mikro= :>); setposition(out,0,0);
   262   readchar(in,res); if res<>10 then
   263   begin mic(1):=mic(2):=mic(3):=long <::>;
   264         repeatchar(in); readstring(in,mic,1);
   265   end;
   266   goto nextcom;
   267 
   267 
   267 progr:
   268   write(out,<:program= :>,string inc(prg)); setposition(out,0,0);
   269   write(out,nl,1,<:program= :>); setposition(out,0,0);
   270   readchar(in,res); if res<>10 then
   271   begin prg(1):=prg(2):=prg(3):=real <::>;
   272         repeatchar(in); readstring(in,prg,1);
   273         pr:=-,pr;
   274   end;
   275   goto nextcom;
   276 
   276 
   276 set:
   277   setup:=true; goto load;
   278 
   278 
   278 stat:
   279   status;
   280   goto nextcom;
   281 \f

   281 
   281 
   281 
   281 clear:
   282   write(out,<:nr1 nr2 type=:>); setposition(out,0,0);
   283   read(in,nr1,nr2,type);
   284   ramcle(nr1,nr2,type);
   285   goto nextcom;
   286 
   286 
   286 look:
   287   if -,htal(nr1) and -,htal(nr2) 
   288   and -,htal(type) or htal(i) then
   289   begin write(out,<:nr1 nr2 type=:>); setposition(out,0,0);
   290         read(in,nr1,nr2,type);
   291   end;
   292   ramloo(nr1,nr2,type);
   293   goto nextcom;
   294 
   294 
   294 kat:
   295   if -,htal(nr1) and -,htal(nr2) or htal(i) then
   296   begin write(out,<:nr1 nr2=:>); setposition(out,0,0);
   297         read(in,nr1,nr2);
   298   end;
   299 
   299   lookuptail(<:ramkatn:>,hale);
   300   hale(8):=1; hale(9):=nr1; hale(10):=nr2;
   301   changetail(<:ramkatn:>,hale);
   302   ramkat;
   303   goto nextcom;
   304 
   304 
   304 katr:
   305   if -,htal(nr) or htal(i) then
   306   begin write(out,<:nr=:>); setposition(out,0,0);
   307         read(in,nr);
   308   end;
   309   ramkatr(nr);
   310   goto nextcom;
   311 
   311 
   311 kats:
   312   if -,htal(nr1) and -,htal(nr2) or htal(i) then
   313   begin write(out,<:nr1 nr2=:>); setposition(out,0,0);
   314         read(in,nr1,nr2);
   315   end;
   316   lookuptail(<:ramkatn:>,hale);
   317   hale(8):=0; hale(9):=nr1; hale(10):=nr2;
   318   changetail(<:ramkatn:>,hale);
   319   psubmit(<:ramks:>,0);
   320   goto nextcom;
   321 
   321 
   321 ranr:
   322   ramrnr;
   323   goto nextcom;
   324 \f

   324 
   324 
   324 
   324 adder:
   325   ffil(nr,navn,type);
   326   if -,htal(b) or htal(i) then
   327   begin write(out,<:med konstant=:>); setposition(out,0,0);
   328         read(in,b);
   329   end;
   330   indl(navn); rambag(navn,1,b,1.0);
   331   goto nextcom;
   332 
   332 
   332 bagr:
   333   ffil(nr,navn,type);
   334   if -,htal(b) or htal(i) then
   335   begin write(out,<:med konstant=:>); setposition(out,0,0);
   336         read(in,b);
   337   end;
   338   indl(navn); rambag(navn,1,-b,1.0);
   339   goto nextcom;
   340 
   340 
   340 getl:
   341   ffil(nr,navn,type);
   342   if -,htal(nr1) and -,htal(nr2) or htal(i) then
   343   begin write(out,<:nr1 nr2= :>);
   344         setposition(out,0,0); read(in,nr1,nr2);
   345   end;
   346   begin array S(1:nr2-nr1+1);
   347         indl(navn); get(navn,nr1,nr2,S);
   348         for i:=1 step 1 until nr2-nr1+1 do
   349         write(out,nl,1,<<ddd>,i+nr1-1,<< ddddd>,S(i));
   350         setposition(out,0,0);
   351   end;
   352   goto nextcom;
   353 
   353 
   353 gsnit:
   354   ffil(nr,navn,type); if -,htal(ver) or htal(i) then
   355   begin write(out,<:ver=:>); setposition(out,0,0);
   356         read(in,ver);
   357   end;
   358   indl(navn); ramgsn(navn,ver,g);
   359   goto nextcom;
   360 
   360 
   360 ind:
   361   if -,htal(nr) or htal(i) then
   362   begin write(out,<:nr= :>); setposition(out,0,0);
   363         read(in,nr);
   364   end;
   365   ramind(nr);
   366   goto nextcom;
   367 
   367 
   367 kopi:
   368   ffil(nr,navn1,type); gfil(navn2,4);
   369   indl(navn1); rammul(navn1,navn2,2,1.0,1,max);
   370   goto nextcom;
   371 
   371 
   371 kvot:
   372   ramsub(2);
   373   goto nextcom;
   374 
   374 
   374 log:
   375   ffil(nr,navn1,type); gfil(navn2,5);
   376   indl(navn1); rammul(navn1,navn2,3,1.0,1,max);
   377   goto nextcom;
   378 
   378 
   378 maks:
   379   ffil(nr,navn,type);
   380   if -,htal(s1) and -,htal(s2) or htal(i) then
   381   begin write(out,<:s1 s2 (cm-1)= :>); 
   382         setposition(out,0,0); read(in,s1,s2);
   383   end;
   384   indl(navn); rammax(navn,s1,s2,max,umax);
   385   goto nextcom;
   386 
   386 
   386 minl:
   387   ffil(nr,navn,type);
   388   if -,htal(s1) and -,htal(s2) or htal(i) then
   389   begin write(out,<:s1 s2 (cm-1)= :>);
   390         setposition(out,0,0); read(in,s1,s2);
   391   end;
   392   indl(navn); rammin(navn,s1,s2,min,umin);
   393   goto nextcom;
   394 
   394 
   394 mult:
   395   ffil(nr,navn,type);
   396   if -,retal(fak) or htal(i) then
   397   begin write(out,<:med faktor=:>); setposition(out,0,0);
   398         read(in,fak);
   399   end;
   400   indl(navn); rambag(navn,2,1,fak);
   401   goto nextcom;
   402 
   402 
   402 nor:
   403   ffil(nr,navn,type);
   404   if -,htal(s1) and -,htal(s2) or htal(i) then
   405   begin write(out,<:s1 s2 (cm-)= :>);
   406         setposition(out,0,0); read(in,s1,s2);
   407   end;
   408   indl(navn); rammax(navn,s1,s2,max,umax);
   409   rambag(navn,5,1,max);
   410   goto nextcom;
   411 
   411 
   411 npf:
   412   begin integer array t(1:10);
   413         lookuptail(<:ramnpf:>,t);
   414         write(out,nl,1,<:alfa= :>,<< d.ddd>,t(9)/1000);
   415         setposition(out,0,0);
   416         write(out,nl,1,<:alfa= :>); setposition(out,0,0);
   417         readchar(in,i); if i<>10 then
   418         begin repeatchar(in); read(in,t(9));
   419               t(9):=t(9)*1000;
   420         end;
   421         write(out,nl,1,<:npf = :>,<< d.ddd>,t(10)/10);
   422         setposition(out,0,0);
   423         write(out,nl,1,<:npf = :>); setposition(out,0,0);
   424         readchar(in,i); if i<>10 then
   425         begin repeatchar(in); read(in,t(10));
   426               t(10):=t(10)*10;
   427         end;
   428   end;
   429   goto nextcom;
   430 
   430 
   430 ny4:
   431   ffil(nr,navn,type);
   432   indl(navn); rambag(navn,6,1,1.0); rammax(navn,0,0,max,umax);
   433   goto nextcom;
   434 
   434 
   434 opl:
   435   ffil(nr,navn,type); indl(navn);
   436   open(z,4,navn,0); inrec(z,128);
   437   for i:=1 step 1 until 12 do text(i):=z(99+i);
   438   write(out,nl,2,string inc(text),nl,1);
   439   write(out,
   440   nl,1,<:antal segmenter=:>,<< ddd ddd ddd>,z(1),
   441   nl,1,<:antal punkter  =:>,<< ddd ddd ddd>,z(2),<: (:>,
   442                             << ddd ddd>,z(3),<:):>,
   443   nl,1,<:minimum        =:>,<< ddd ddd ddd>,z(4),
   444   nl,1,<:minimum freq.  =:>,<< ddd ddd ddd>,z(5)/10+z(11),<: cm-1:>,
   445   nl,1,<:maximum        =:>,<< ddd ddd ddd>,z(6),
   446   nl,1,<:maximum freq.  =:>,<< ddd ddd ddd>,z(7)/10+z(11),<: cm-1:>,
   447   nl,1,<:min. tælletal  =:>,<< ddd ddd ddd>,z(8),
   448   nl,1,<:max. tælletal  =:>,<< ddd ddd ddd>,z(9),
   449   nl,1,<:minimal freq.  =:>,<< ddd ddd ddd>,z(11),<: cm-1:>,
   450   nl,1,<:maximal freq.  =:>,<< ddd ddd ddd>,z(12),<: cm-1:>,nl,1);
   451   setposition(out,0,0); close(z,true);
   452   goto nextcom;
   453 
   453 
   453 rn1:
   454   ffil(nr,navn1,type); gfil(navn2,2);
   455   if -,htal(norm) and -,retal(T) or htal(i) then
   456   begin write(out,<:norm T(K)=:>); setposition(out,0,0);
   457         read(in,norm,T);
   458   end;
   459   indl(navn1); rammul(navn1,navn2,1,T,1,max);
   460   if norm>0 then rambag(navn2,5,1,max);
   461   goto nextcom;
   462 
   462 
   462 rn2:
   463   ffil(nr,navn,type); indl(navn);
   464   ramng(nr,navn1,3); ramng(nr,navn2,4);
   465   gfil(navn1,0); gfil(navn2,0);
   466   ramgsn(navn,3,g);
   467   rammul(navn,navn1,1,298.0,1,max);
   468   rambag(navn1,5,1,max);
   469   ramfsm(navn1,navn2,10,1000);
   470   rammax(navn2,20,220,max,umax);
   471   rambag(navn2,5,1,max);
   472   goto nextcom;
   473 
   473 
   473 fsmo:
   474   ffil(nr,navn1,type); gfil(navn2,3);
   475   if -,htal(I) or htal(i) then
   476   begin write(out,<:I (cm-1)=:>);
   477   setposition(out,0,0); read(in,I);
   478   end;
   479   indl(navn1); ramfsm(navn1,navn2,I,500);
   480   rammax(navn2,0,0,max,umax);
   481   goto nextcom;
   482 
   482 
   482 pli:
   483   ffil(nr,navn,type);
   484   write(out,<:plotter=:>); setposition(out,0,0);
   485   Y: if readchar(in,m) <> 6 then goto Y;
   486   m:=m-96;
   487   open(z,4,navn,0); inrec(z,128);
   488   write(out,nl,1,<:fre. int.= :>,<< dddd>,z(11),z(12),nl,1);
   489   close(z,true);
   490   write(out,<:fmin fmax df dt (cm-1) del= :>); 
   491   setposition(out,0,0); read(in,fmin,fmax,df,dt,del);
   492   pl:=m*10+3;
   493   indl(navn); rampli(navn,pl,fmin,fmax,df,dt,del);
   494 goto nextcom;
   495 
   495 
   495 plot:
   496   ffil(nr,navn,type);
   497   if -,htal(ramme) or htal(i) then
   498   begin write(out,<:ramme=:>); setposition(out,0,0);
   499         read(in,ramme);
   500   end;
   501 
   501   if ramme=0 then
   502   begin if sel=0 then ramme:=1;
   503   end;
   504 
   504   if ramme > 0 then
   505   begin if sel<>0 then plotclose;
   506         write(out,<:plotter= :>); setposition(out,0,0);
   507         X: if readchar(in,sel)<>6 then goto X; sel:=sel-96;
   508         setplotname(case sel of(
   509         <:tek4006a:>,<:houstona:>,<:tek4006c:>,<:tek4006d:>),
   510         if sel=4 then 3 else 0);
   511         if savep=1 then
   512         begin ramng(nr,navn1,5);
   513               if lookupentry(navn1)=0 then removeentry(navn1);
   514               cleararray(tail); tail(1):=50;
   515               reservesegm(navn1,50); permentry(navn1,15);
   516               j:=1; saveplot(0,string navn1(increase(j)),0);
   517         end;
   518               
   518         indl(navn);
   519 
   519         if type<6 then
   520         begin open(z,4,navn,0); inrec(z,128); ymax:=z(6);
   521               close(z,true);
   522         end
   523         else
   524         ymax:=100;
   525 
   525         write(out,nl,1);
   526         write(out,<:ord: ymax= :>,<< ddd ddd ddd>,ymax,nl,1);
   527         write(out,<:     ymax= :>); setposition(out,0,0);
   528         readchar(in,i); readchar(in,i);
   529         setposition(out,0,0);
   530         if i<>10 then
   531         begin repeatchar(in); read(in,ymax);
   532         end;
   533   end;
   534   ramplo(navn,ramme,fmin,fmax,format,ymax);
   535   plotend;
   536   goto nextcom;
   537 
   537 
   537 plrny:
   538   ffil(nr,navn,type); indl(navn);
   539   ramng(nr,navn1,3); ramng(nr,navn2,4);
   540   gfil(navn1,0); gfil(navn2,0);
   541   ramgsn(navn,3,g);
   542   rammul(navn,navn1,1,298.0,1,max);
   543   rambag(navn1,5,1,max);
   544   ramfsm(navn1,navn2,10,1000);
   545   rammax(navn2,20,220,max,umax);
   546   rambag(navn2,5,1,max);
   547   rampli(navn2,43,0,400,10,100,5);
   548   goto nextcom;
   549 
   549 
   549 pot:
   550   ffil(nr,navn1,type); gfil(navn2,6);
   551   if -,htal(norm) and -,htal(m) or htal(i) then
   552   begin write(out,<:exponent= :>); setposition(out,0,0);
   553         read(in,m);
   554   end;
   555   indl(navn1); rammul(navn1,navn2,5,1.0,m,max);
   556   if norm>0 then rambag(navn2,5,1,max);
   557   goto nextcom;
   558 
   558 
   558 putl:
   559   ffil(nr,navn,type);
   560   if -,htal(nr1) and -,htal(nr2) or htal(i) then
   561   begin write(out,<:nr1 nr2= :>);
   562         setposition(out,0,0); read(in,nr1,nr2);
   563   end;
   564   begin array S(1:nr2-nr1+1);
   565         indl(navn); get(navn,nr1,nr2,S);
   566         for i:=1 step 1 until nr2-nr1+1 do 
   567         begin write(out,<<ddd>,i+nr1-1,<:=:>,<< ddd ddd>,S(i));
   568               write(out,nl,1,<<ddd>,i+nr1-1,<:=:>);
   569               setposition(out,0,0); read(in,S(i));
   570         end;
   571         put(navn,nr1,nr2,S);
   572   end;
   573   goto nextcom;
   574 
   574 
   574 sap:
   575   savep:=1;
   576   goto nextcom;
   577 
   577 
   577 smo:
   578   goto nextcom;
   579 
   579 
   579 sms:
   580   ffil(nr,navn1,type); gfil(navn2,3);
   581   if -,htal(I) and -,htal(N) or htal(i) then
   582   begin write(out,<:I (cm-1) N (antal) = :>); setp;
   583         read(in,I,N);
   584   end;
   585   indl(navn1); ramfsm(navn1,navn2,I,N);
   586   rammax(navn2,0,0,max,umax);
   587   goto nextcom;
   588 
   588 
   588 sub:
   589   ramsub(1);
   590   goto nextcom;
   591 
   591 
   591 xska:
   592   write(out,<:fmin fmax=:>,<< dddd>,fmin,fmax,<: cm-1:>);
   593   setposition(out,0,0);
   594   goto nextcom;
   595 
   595 
   595 yska:
   596   write(out,<:ymax: :>,<< ddd ddd ddd>,ymax);
   597   write(out,nl,1,<:ymax: :>); setposition(out,0,0);
   598   readchar(in,i); if i<>10 then
   599   begin repeatchar(in); read(in,ymax);
   600   end;
   601   setposition(out,0,0);
   602   goto nextcom;
   603 
   603 
   603 list:
   604   lis(1):=lis(2):=0;
   605   repeatchar(in); A:readchar(in,i); if i=32 then goto A;
   606   repeatchar(in);
   607   readchar(in,i);
   608   if i=10 then
   609 L:begin write(out,nl,1,<:
   610 list ana    lister analyse kommandoer
   611 list div    lister diverse kommandoer
   612 list kat    lister katalog kommandoer
   613 list mik    lister mikro   kommandoer:>);
   614         goto nextcom;
   615   end
   616   else repeatchar(in); setposition(out,0,0);
   617   readstring(in,lis,1); l:=lis(1);
   618   if l=long <:ana:> then goto L1;
   619   if l=long <:div:> then goto L2;
   620   if l=long <:kat:> then goto L3;
   621   if l=long <:mik:> then goto L4
   622   else
   623   goto L;
   624 L1:
   625   write(out,<:
   626 RAMAN ANALYSE
   627 com  parametre              betydning
   628 
   628 add  navn addend            navn+addend
   629 bag  navn konstant          navn-konstant
   630 div  navn divisor           navn:divisor
   631 fsm  navn1 navn2 I          navn2=glat navn1; I: glatteint i cm-1
   632 get  navn nr1 nr2           udlæser navn i tælletal int. nr1 til nr2
   633 gsn  navn ver               gennemsnitsbregning
   634 ind  nr                     konverterer ra<nr> til p<nr>
   635 kvo                         navn=navn1/navn2
   636 kop  navn1 navn2            navn2=navn1
   637 log  navn1 navn2            navn2=log(navn1)
   638 max  navn s1 s2             finder maximum mellem s1 og s2 cm-1
   639 min  navn s1 s2             finder minimum mellem s1 og s2 cm-1
   640 mul  navn fak               navn*fak
   641 nor  navn s1 s2             normerer navn fra s1 til s2 (cm-1)
   642 npf                         udlæser (ændre) npf og alfa
   643 ny4  navn                   korrigerer for v**4
   644 opl  navn                   udskriver oplysninger om navn
   645 pli  navn                   plotter navn
   646 plo  navn ramme             plotter navn med rammespecifikation
   647 plr  navn                   plotter smo rny(navn)
   648 pot  navn1 navn2 norm n     navn1=(navn2)**n
   649 put  navn nr1 nr2           ændre navn i tælletalint. nr1 til nr2
   650 rn1  navn1 navn2 n T        navn2=rny(navn1) n=norm T=grad K
   651 rny  navn=p<nr>             s<nr>=smo rny(navn)
   652 sub                         navn=navn1-fak*navn2
   653 xks                         udskriver frekvensint. på sidste plot
   654 ysk                         udskriver (ændre) y-skala på sidste plot
   655 :>);
   656   goto nextcom;
   657 L2:
   658   write(out,<:
   659 
   659 RAMAN DIVERSE   kommandoliste
   660 
   660 com                         betydning
   661 
   661 end (slut)                  afslutter raman-programmet
   662 list                        udskriver kommandoliste
   663 loo nr1 nr2 type            finder x<nr1> til x<nr2>
   664 perm nr1 nr2 type           permanenter fra x<nr1> til x<nr2>
   665 vent                        venter på att:>,nl,1);
   666   goto nextcom;
   667 L3:
   668 write(out,<:
   669 
   669 RAMAN KATALOG
   670 com  parametre              betydning
   671 cle                         sletter indgange
   672 kat  nr1 nr2                udskriver liste over kataloget
   673 katr nr                     retter i kataloget
   674 kats nr1 nr2                udskriver liste over kataloget på printer
   675 loo  nr1 nr2 type           finder indgange x<nr1> til x<nr2>
   676 rnr                         udskriver og retter ramnr og snr
   677 :>);
   678   goto nextcom;
   679 L4:
   680   write(out,<:
   681 RAMAN MIKRO
   682 com   parametre             betydning
   683 
   683 cdraw
   684 cdump fmin int              dumper under optagelsen
   685 draw
   686 dump
   687 hent
   688 load                        overfører program til mikro
   689 mikro                       udskriver (evt. ændre) navnet på mikro
   690 progr                       udskriver (evt. ændre) navnet på mikroprg.
   691 :>);
   692   goto nextcom;
   693 
   693 
   693 perm:
   694   if -,htal(n1) and -,htal(n2) and
   695      -,htal(type) and -,htal(key) or htal(i) then
   696   begin write(out,<:nr1 nr2 type key= :>); setp;
   697         read(in,n1,n2,type,key);
   698   end;
   699   for j:=n1 step 1 until n2 do
   700   begin ramng(j,navn,type);
   701         if permentry(navn,key)=0 then
   702         write(out,nl,1,navn,<: perm.:>,<<dd>,key);
   703   end;
   704   goto nextcom;
   705 
   705 
   705 test:
   706   ffil(nr,navn1,type);
   707   write(out,nl,1,<:navn1 nr type=:>,navn1,<< ddd>,nr,type,nl,1);
   708   setp;
   709   gfil(navn2,2);
   710   write(out,nl,1,<:navn2 nr type=:>,navn2,<< ddd>,nr,type);
   711   setp;
   712   ramnc(nr,navn1,type);
   713   write(out,nl,1,<:navn1 nr type=:>,navn1,nr,type);
   714   indl(navn1);
   715   goto nextcom;
   716 
   716 
   716 vent:
   717   waitanswer(att,a);
   718   goto nextcom;
   719 
   719 slut: if sel<>0 then plotclose; end

 6. line    82  .  4  undeclared
    line    87  .  3  undeclared
    line    90  .  1  undeclared
    line    99  .  2  undeclared
    line    99  .  5  undeclared
    line   101  .  2  undeclared
    line   108  .  2  undeclared
    line   108  .  5  undeclared
    line   113  .  4  undeclared
    line   197  .  2  undeclared
    line   202  .  2  undeclared
    line   202  .  5  undeclared
    line   217  .  5  undeclared
    line   222  .  4  undeclared
    line   225  .  1  undeclared
    line   234  .  1  undeclared
    line   238  .  1  undeclared
    line   247  .  1  undeclared
    line   284  .  1  undeclared
    line   292  .  1  undeclared
    line   309  .  1  undeclared
    line   319  .  1  undeclared
    line   322  .  1  undeclared
    line   330  .  3  undeclared
    line   358  .  3  undeclared
    line   365  .  1  undeclared
    line   384  .  3  undeclared
    line   392  .  3  undeclared
    line   396  .  1  undeclared
    line   469  .  1  undeclared
    line   717  .  2  undeclared
 9. pi catalog 8388626
***algol sorry 212

ud           transport 312
end         43  
▶EOF◀