|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 23808 (0x5d00)
Types: TextFile
Names: »ramanx«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »ramanx«
clear temp raman
raman=set 14 disc5
scope temp raman
raman=algol list.no
\f
begin
integer i,j,res,num,ver,int,tmin,fmin,fmax,nr,n1,n2,m,df,dt,pl,del,
s,s1,s2,I,norm,N,b,nr1,nr2,ramme,t,type,sel,fint,key,savep,ram3;
real T,fak,max,umax,min,umin,skax,skay,ymax,format,x,y,g;
long array lis,com,navn,navn1,navn2(1:2);
long l;
integer array a(1:8),tail,hale(1:10);
array mic,prg(1:3),text(1:12);
boolean setup,pr,nl,sp;
zone z(128,1,stderror);
procedure ffil(nr,navn,type);
long array navn; integer nr,type;
begin
integer s,i; boolean p,r; long array exn(1:2);
navn(1):= navn(2):= 0;
D: repeatchar(in);
A: readchar(in,s); if s=32 then goto A;
repeatchar(in);
readchar(in,s);
if s=10 then write(out,<:navn= :>)
else repeatchar(in); outendcur(0);
readstring(in,navn,1);
if navn(1)=0 then goto D;
ramnc(nr,navn,type);
if type=6 or type=7 then goto slut;
if lookupentry(navn)=0 then goto slut;
if type=1 then
begin ramng(nr,exn,2);
if lookupentry(exn)<>0 then goto L;
ramng(nr,navn,2); type:=2; goto slut;
end;
if type=2 then
begin ramng(nr,exn,1);
if lookupentry(exn)=0 then goto slut;
ramng(nr,navn,1); goto L;
end;
if type=9 then
begin ramng(nr,navn,2);
if lookupentry(navn)=0 then
begin type:=2; goto slut; end;
ramng(nr,navn,1);
if lookupentry(navn)=0 then
begin type:=1; goto slut; end
else
goto L;
end;
L: write(out,navn,<: *findes ikke:>);
navn(1):=navn(2):=0;
repeatchar(in);
C: readchar(in,s); if s<>10 then goto C;
goto nextcom;
slut:
end ffil;
procedure gfil(navn,op);
long array navn; integer op;
begin integer s,t;
if op=0 then goto C;
navn(1):=navn(2):=0;
D: repeatchar(in);
A: readchar(in,s); if s=32 then goto A;
repeatchar(in);
readchar(in,s);
if s=10 then write(out,case op of(
<:navn= :>,<:mnavn= :>,<:snavn= :>,<:knavn= :>,
<:lnavn= :>,<:enavn= :>))
else repeatchar(in); setposition(out,0,0);
readstring(in,navn,1);
ramnc(nr,navn,t);
if t=7 then
begin ramnc(nr,navn1,t);
t:=case op of(0,3,4,0,0);
ramng(nr,navn,t);
end;
C: if lookupentry(navn)=0 then removeentry(navn);
reservesegm(navn,400); permentry(navn,15);
end gfil;
procedure indl(navn);
long array navn;
begin integer array t(1:10);
if type=1 or type=2 then
begin if type=1 then ramng(nr,navn,2);
if lookupentry(navn) <> 0 then ramind(nr);
end;
end indl;
boolean procedure fejl;
begin
if res<>1 or netiosw extract 7 <> 0 then
begin
fejl:=true;
fejlinet(out,mic,res,netiosw);
end
else
fejl:=false;
end fejl;
procedure status;
begin
integer array data(1:256);
integer pos,segm,state;
res:=netoperat(string inc(mic),opsense,0);
if fejl then goto sslut;
state:=netprogsw;
state:=
if state=0 then 1 else
if state=1 then 2 else
if state=2 then 3 else
if state=4 then 4 else
if state=8 then 5 else 6;
res:=netabsio(string inc(mic),opinput,data,0);
if fejl then goto sslut;
pos:=(data(35) shift (-8))-771;
segm:=pos//768;
pos:=pos/3-segm-1;
sp:=false add 32;
write(out,<:Status::>,sp,17,case state of (
<:ingen bruger process eller stoppet.:>,
<:aktiv.:>,
<:venter på meddelelse.:>,
<:venter på svar.:>,
<:venter på begivenhed (meddelelse eller svar).:>,
<:ukendt status.:>),nl,1,<< ddddd>,
<:Antal punkter opsamlet::>,pos,nl,1,
<:Antal cm-1 scannet::>,sp,4,pos/8.4);
sslut:
end status;
mic(1):=real (long <:miclo:> + (long <:c:> shift (-40)));
mic(2):=real <:al6:>;
prg(1):=real (long <:raman:> + (long <:p:> shift (-40)));
prg(2):=real <::>;
mic(3):=prg(3):=real <::>;
nl:=false add 10;
ram3:=0; pr:=true; sel:=0; savep:=0;
\f
nextcom:
setup:=false; com(1):=com(2):=0; write(out,nl,2,<:com=:>);
setposition(out,0,0); readstring(in,com,1); l:=com(1);
if l=long <:cdraw:> or l= long <:cdr:> then goto cdraw;
if l=long <:cdump:> or l= long <:cdu:> then goto cdump;
if l=long <:cd1:> or l= long <:cd2:> then goto cdump;
if l= long <:con:> then goto conv;
if l=long <:draw:> or l= long <:dra:> then goto draw;
if l=long <:dump:> or l= long <:dum:> then goto dump;
if l=long <:hent:> or l= long <:hen:> then goto hent;
if l=long <:load:> or l= long <:loa:> then goto load;
if l=long <:mikro:> or l= long <:mik:> then goto mikro;
if l=long <:progr:> or l= long <:pro:> then goto progr;
if l=long <:setup:> or l= long <:set:> then goto set;
if l=long <:start:> or l= long <:sta:> then goto start;
if l=long <:status:> or l=long <:sts:> then goto stat;
if l=long <:stop:> or l= long <:sto:> then goto stop;
if l=long <:clear:> or l= long <:cle:> then goto clear;
if l=long <:kat:> then goto kat;
if l=long <:katr:> or l= long <:ktr:> then goto katr;
if l=long <:kats:> or l= long <:kts:> then goto kats;
if l=long <:look:> or l= long <:loo:> then goto look;
if l=long <:nr:> or l= long <:rnr:> then goto ranr;
if l=long <:adder:> or l= long <:add:> then goto adder;
if l=long <:b:> or l= long <:bag:> then goto bagr;
if l=long <:z:> or l= long <:fsm:> then goto fsmo;
if l= long <:get:> then goto getl;
if l=long <:g:> or l= long <:gsn:> then goto gsnit;
if l=long <:i:> or l= long <:ind:> then goto ind;
if l=long <:kopi:> or l= long <:kop:> then goto kopi;
if l= long <:kvo:> then goto kvot;
if l=long <:log:> then goto log;
if l=long <:max:> then goto maks;
if l=long <:min:> then goto minl;
if l=long <:mul:> then goto mult;
if l=long <:n:> or l= long <:nor:> then goto nor;
if l=long <:jus:> or l= long <:npf:> then goto npf;
if l= long <:ny4:> then goto ny4;
if l=long <:opl:> then goto opl;
if l=long <:pli:> then goto pli;
if l=long <:p:> or l= long <:plo:> then goto plot;
if l=long <:plrny:> or l= long <:plr:> then goto plrny;
if l=long <:pot:> then goto pot;
if l= long <:put:> then goto putl;
if l=long <:r:> or l= long <:ret:> then goto putl;
if l=long <:m:> or l= long <:rn1:> then goto rn1;
if l=long <:rny:> or l= long <:rn2:> then goto rn2;
if l= long <:sap:> then goto sap;
if l= long <:smo:> then goto smo;
if l= long <:sms:> then goto sms;
if l=long <:c:> or l= long <:sub:> then goto sub;
if l=long <:u:> or l= long <:udl:> then goto getl;
if l=long <:sky:> or l= long <:ysk:> then goto yska;
if l=long <:skx:> or l= long <:xsk:> then goto xska;
if l=long <:list:> or l= long <:lis:> then goto list;
if l=long <:perm:> or l= long <:per:> then goto perm;
if l=long <:vent:> or l= long <:ven:> then goto vent;
if l= long <:tes:> then goto test;
if l=long <:slut:> or l= long <:end:> then goto slut
else
begin write(out,<:kommando :>,com,<: findes ikke:>,nl,1,
<:ved kommando list skrives kommandoliste:>);
repeatchar(in);
B: readchar(in,s); if s<>10 then goto B; goto nextcom;
end;
\f
load:
res:=netprogload(string inc(mic),string inc(prg));
fejl;
if setup then goto start;
goto nextcom;
start:
res:=netoperat(string inc(mic),opstart,0);
fejl;
if setup then
begin write(out,<:*START MICRO:>,nl,2); setposition(out,0,0);
wait(2);
write(out,<:*START RS100:>,nl,1); setposition(out,0,0);
wait(5);
goto cdump;
end;
goto nextcom;
stop:
if setup then
begin write(out,nl,1,<:*STOP RS100:>,nl,1);
setposition(out,0,0);
end;
res:=netoperat(string inc(mic),opstop,0);
fejl;
goto nextcom;
cdraw:
if -,htal(fmin) and -,htal(int) or htal(i) then
begin write(out,<:tmin int (cm-1)= :>); setposition(out,0,0);
read(in,tmin,int);
end;
ramcdr(mic,tmin,int);
goto nextcom;
cdump:
if -,htal(tmin) and -,htal(int) or htal(i) then
begin write(out,<:tmin int (cm-1)=:>);
setposition(out,0,0); read(in,tmin,int);
end;
if pr then
begin write(out,nl,1,<:n:>,nl,2); setposition(out,0,0);
ramcdu(mic,tmin,int);
end
else
begin write(out,nl,1,<:g:>,nl,2); setposition(out,0,0);
ramcdg(mic,tmin,int);
end;
if setup then goto stop;
goto nextcom;
conv:
if -,htal(s1) and -,htal(s2) or htal(i) then
begin write(out,<:nr1 nr2= :>); setposition(out,0,0);
read(in,s1,s2);
end;
ramcon(s1,s2,1);
goto nextcom;
draw:
if -,htal(tmin) and -,htal(int) or htal(i) then
begin write(out,<:tmin int (cm-1)= :>); setposition(out,0,0);
read(in,tmin,int);
end;
goto nextcom;
dump:
goto nextcom;
hent:
goto nextcom;
mikro:
write(out,<:mikro= :>,string inc(mic));
write(out,nl,1,<:mikro= :>); setposition(out,0,0);
readchar(in,res); if res<>10 then
begin mic(1):=mic(2):=mic(3):=long <::>;
repeatchar(in); readstring(in,mic,1);
end;
goto nextcom;
progr:
write(out,<:program= :>,string inc(prg)); setposition(out,0,0);
write(out,nl,1,<:program= :>); setposition(out,0,0);
readchar(in,res); if res<>10 then
begin prg(1):=prg(2):=prg(3):=real <::>;
repeatchar(in); readstring(in,prg,1);
pr:=-,pr;
end;
goto nextcom;
set:
setup:=true; goto load;
stat:
status;
goto nextcom;
\f
clear:
write(out,<:nr1 nr2 type=:>); setposition(out,0,0);
read(in,nr1,nr2,type);
ramcle(nr1,nr2,type);
goto nextcom;
look:
if -,htal(nr1) and -,htal(nr2)
and -,htal(type) or htal(i) then
begin write(out,<:nr1 nr2 type=:>); setposition(out,0,0);
read(in,nr1,nr2,type);
end;
ramloo(nr1,nr2,type);
goto nextcom;
kat:
if -,htal(nr1) and -,htal(nr2) or htal(i) then
begin write(out,<:nr1 nr2=:>); setposition(out,0,0);
read(in,nr1,nr2);
end;
lookuptail(<:ramkatn:>,hale);
hale(8):=1; hale(9):=nr1; hale(10):=nr2;
changetail(<:ramkatn:>,hale);
ramkat;
goto nextcom;
katr:
if -,htal(nr) or htal(i) then
begin write(out,<:nr=:>); setposition(out,0,0);
read(in,nr);
end;
ramkatr(nr);
goto nextcom;
kats:
if -,htal(nr1) and -,htal(nr2) or htal(i) then
begin write(out,<:nr1 nr2=:>); setposition(out,0,0);
read(in,nr1,nr2);
end;
lookuptail(<:ramkatn:>,hale);
hale(8):=0; hale(9):=nr1; hale(10):=nr2;
changetail(<:ramkatn:>,hale);
psubmit(<:ramks:>,0);
goto nextcom;
ranr:
ramrnr;
goto nextcom;
\f
adder:
ffil(nr,navn,type);
if -,htal(b) or htal(i) then
begin write(out,<:med konstant=:>); setposition(out,0,0);
read(in,b);
end;
indl(navn); rambag(navn,1,b,1.0);
goto nextcom;
bagr:
ffil(nr,navn,type);
if -,htal(b) or htal(i) then
begin write(out,<:med konstant=:>); setposition(out,0,0);
read(in,b);
end;
indl(navn); rambag(navn,1,-b,1.0);
goto nextcom;
getl:
ffil(nr,navn,type);
if -,htal(nr1) and -,htal(nr2) or htal(i) then
begin write(out,<:nr1 nr2= :>);
setposition(out,0,0); read(in,nr1,nr2);
end;
begin array S(1:nr2-nr1+1);
indl(navn); get(navn,nr1,nr2,S);
for i:=1 step 1 until nr2-nr1+1 do
write(out,nl,1,<<ddd>,i+nr1-1,<< ddddd>,S(i));
setposition(out,0,0);
end;
goto nextcom;
gsnit:
ffil(nr,navn,type); if -,htal(ver) or htal(i) then
begin write(out,<:ver=:>); setposition(out,0,0);
read(in,ver);
end;
indl(navn); ramgsn(navn,ver,g);
goto nextcom;
ind:
if -,htal(nr) or htal(i) then
begin write(out,<:nr= :>); setposition(out,0,0);
read(in,nr);
end;
ramind(nr);
goto nextcom;
kopi:
ffil(nr,navn1,type); gfil(navn2,4);
indl(navn1); rammul(navn1,navn2,2,1.0,1,max);
goto nextcom;
kvot:
ramsub(2);
goto nextcom;
log:
ffil(nr,navn1,type); gfil(navn2,5);
indl(navn1); rammul(navn1,navn2,3,1.0,1,max);
goto nextcom;
maks:
ffil(nr,navn,type);
if -,htal(s1) and -,htal(s2) or htal(i) then
begin write(out,<:s1 s2 (cm-1)= :>);
setposition(out,0,0); read(in,s1,s2);
end;
indl(navn); rammax(navn,s1,s2,max,umax);
goto nextcom;
minl:
ffil(nr,navn,type);
if -,htal(s1) and -,htal(s2) or htal(i) then
begin write(out,<:s1 s2 (cm-1)= :>);
setposition(out,0,0); read(in,s1,s2);
end;
indl(navn); rammin(navn,s1,s2,min,umin);
goto nextcom;
mult:
ffil(nr,navn,type);
if -,retal(fak) or htal(i) then
begin write(out,<:med faktor=:>); setposition(out,0,0);
read(in,fak);
end;
indl(navn); rambag(navn,2,1,fak);
goto nextcom;
nor:
ffil(nr,navn,type);
if -,htal(s1) and -,htal(s2) or htal(i) then
begin write(out,<:s1 s2 (cm-)= :>);
setposition(out,0,0); read(in,s1,s2);
end;
indl(navn); rammax(navn,s1,s2,max,umax);
rambag(navn,5,1,max);
goto nextcom;
npf:
begin integer array t(1:10);
lookuptail(<:ramnpf:>,t);
write(out,nl,1,<:alfa= :>,<< d.ddd>,t(9)/1000);
setposition(out,0,0);
write(out,nl,1,<:alfa= :>); setposition(out,0,0);
readchar(in,i); if i<>10 then
begin repeatchar(in); read(in,t(9));
t(9):=t(9)*1000;
end;
write(out,nl,1,<:npf = :>,<< d.ddd>,t(10)/10);
setposition(out,0,0);
write(out,nl,1,<:npf = :>); setposition(out,0,0);
readchar(in,i); if i<>10 then
begin repeatchar(in); read(in,t(10));
t(10):=t(10)*10;
end;
end;
goto nextcom;
ny4:
ffil(nr,navn,type);
indl(navn); rambag(navn,6,1,1.0); rammax(navn,0,0,max,umax);
goto nextcom;
opl:
ffil(nr,navn,type); indl(navn);
open(z,4,navn,0); inrec(z,128);
for i:=1 step 1 until 12 do text(i):=z(99+i);
write(out,nl,2,string inc(text),nl,1);
write(out,
nl,1,<:antal segmenter=:>,<< ddd ddd ddd>,z(1),
nl,1,<:antal punkter =:>,<< ddd ddd ddd>,z(2),<: (:>,
<< ddd ddd>,z(3),<:):>,
nl,1,<:minimum =:>,<< ddd ddd ddd>,z(4),
nl,1,<:minimum freq. =:>,<< ddd ddd ddd>,z(5)/10+z(11),<: cm-1:>,
nl,1,<:maximum =:>,<< ddd ddd ddd>,z(6),
nl,1,<:maximum freq. =:>,<< ddd ddd ddd>,z(7)/10+z(11),<: cm-1:>,
nl,1,<:min. tælletal =:>,<< ddd ddd ddd>,z(8),
nl,1,<:max. tælletal =:>,<< ddd ddd ddd>,z(9),
nl,1,<:minimal freq. =:>,<< ddd ddd ddd>,z(11),<: cm-1:>,
nl,1,<:maximal freq. =:>,<< ddd ddd ddd>,z(12),<: cm-1:>,nl,1);
setposition(out,0,0); close(z,true);
goto nextcom;
rn1:
ffil(nr,navn1,type); gfil(navn2,2);
if -,htal(norm) and -,retal(T) or htal(i) then
begin write(out,<:norm T(K)=:>); setposition(out,0,0);
read(in,norm,T);
end;
indl(navn1); rammul(navn1,navn2,1,T,1,max);
if norm>0 then rambag(navn2,5,1,max);
goto nextcom;
rn2:
ffil(nr,navn,type); indl(navn);
ramng(nr,navn1,3); ramng(nr,navn2,4);
gfil(navn1,0); gfil(navn2,0);
ramgsn(navn,3,g);
rammul(navn,navn1,1,298.0,1,max);
rambag(navn1,5,1,max);
ramfsm(navn1,navn2,10,1000);
rammax(navn2,20,220,max,umax);
rambag(navn2,5,1,max);
goto nextcom;
fsmo:
ffil(nr,navn1,type); gfil(navn2,3);
if -,htal(I) or htal(i) then
begin write(out,<:I (cm-1)=:>);
setposition(out,0,0); read(in,I);
end;
indl(navn1); ramfsm(navn1,navn2,I,500);
rammax(navn2,0,0,max,umax);
goto nextcom;
pli:
ffil(nr,navn,type);
write(out,<:plotter=:>); setposition(out,0,0);
Y: if readchar(in,m) <> 6 then goto Y;
m:=m-96;
open(z,4,navn,0); inrec(z,128);
write(out,nl,1,<:fre. int.= :>,<< dddd>,z(11),z(12),nl,1);
close(z,true);
write(out,<:fmin fmax df dt (cm-1) del= :>);
setposition(out,0,0); read(in,fmin,fmax,df,dt,del);
pl:=m*10+3;
indl(navn); rampli(navn,pl,fmin,fmax,df,dt,del);
goto nextcom;
plot:
ffil(nr,navn,type);
if -,htal(ramme) or htal(i) then
begin write(out,<:ramme=:>); setposition(out,0,0);
read(in,ramme);
end;
if ramme=0 then
begin if sel=0 then ramme:=1;
end;
if ramme > 0 then
begin if sel<>0 then plotclose;
write(out,<:plotter= :>); setposition(out,0,0);
X: if readchar(in,sel)<>6 then goto X; sel:=sel-96;
setplotname(case sel of(
<:tek4006a:>,<:houstona:>,<:tek4006c:>,<:tek4006d:>),
if sel=4 then 3 else 0);
if savep=1 then
begin ramng(nr,navn1,5);
if lookupentry(navn1)=0 then removeentry(navn1);
cleararray(tail); tail(1):=50;
reservesegm(navn1,50); permentry(navn1,15);
j:=1; saveplot(0,string navn1(increase(j)),0);
end;
indl(navn);
if type<6 then
begin open(z,4,navn,0); inrec(z,128); ymax:=z(6);
close(z,true);
end
else
ymax:=100;
write(out,nl,1);
write(out,<:ord: ymax= :>,<< ddd ddd ddd>,ymax,nl,1);
write(out,<: ymax= :>); setposition(out,0,0);
readchar(in,i); readchar(in,i);
setposition(out,0,0);
if i<>10 then
begin repeatchar(in); read(in,ymax);
end;
end;
ramplo(navn,ramme,fmin,fmax,format,ymax);
plotend;
goto nextcom;
plrny:
ffil(nr,navn,type); indl(navn);
ramng(nr,navn1,3); ramng(nr,navn2,4);
gfil(navn1,0); gfil(navn2,0);
ramgsn(navn,3,g);
rammul(navn,navn1,1,298.0,1,max);
rambag(navn1,5,1,max);
ramfsm(navn1,navn2,10,1000);
rammax(navn2,20,220,max,umax);
rambag(navn2,5,1,max);
rampli(navn2,43,0,400,10,100,5);
goto nextcom;
pot:
ffil(nr,navn1,type); gfil(navn2,6);
if -,htal(norm) and -,htal(m) or htal(i) then
begin write(out,<:exponent= :>); setposition(out,0,0);
read(in,m);
end;
indl(navn1); rammul(navn1,navn2,5,1.0,m,max);
if norm>0 then rambag(navn2,5,1,max);
goto nextcom;
putl:
ffil(nr,navn,type);
if -,htal(nr1) and -,htal(nr2) or htal(i) then
begin write(out,<:nr1 nr2= :>);
setposition(out,0,0); read(in,nr1,nr2);
end;
begin array S(1:nr2-nr1+1);
indl(navn); get(navn,nr1,nr2,S);
for i:=1 step 1 until nr2-nr1+1 do
begin write(out,<<ddd>,i+nr1-1,<:=:>,<< ddd ddd>,S(i));
write(out,nl,1,<<ddd>,i+nr1-1,<:=:>);
setposition(out,0,0); read(in,S(i));
end;
put(navn,nr1,nr2,S);
end;
goto nextcom;
sap:
savep:=1;
goto nextcom;
smo:
goto nextcom;
sms:
ffil(nr,navn1,type); gfil(navn2,3);
if -,htal(I) and -,htal(N) or htal(i) then
begin write(out,<:I (cm-1) N (antal) = :>); setposition(out,0,0);
read(in,I,N);
end;
indl(navn1); ramfsm(navn1,navn2,I,N);
rammax(navn2,0,0,max,umax);
goto nextcom;
sub:
ramsub(1);
goto nextcom;
xska:
write(out,<:fmin fmax=:>,<< dddd>,fmin,fmax,<: cm-1:>);
setposition(out,0,0);
goto nextcom;
yska:
write(out,<:ymax: :>,<< ddd ddd ddd>,ymax);
write(out,nl,1,<:ymax: :>); setposition(out,0,0);
readchar(in,i); if i<>10 then
begin repeatchar(in); read(in,ymax);
end;
setposition(out,0,0);
goto nextcom;
list:
lis(1):=lis(2):=0;
repeatchar(in); A:readchar(in,i); if i=32 then goto A;
repeatchar(in);
readchar(in,i);
if i=10 then
L:begin write(out,nl,1,<:
list ana lister analyse kommandoer
list div lister diverse kommandoer
list kat lister katalog kommandoer
list mik lister mikro kommandoer:>);
goto nextcom;
end
else repeatchar(in); setposition(out,0,0);
readstring(in,lis,1); l:=lis(1);
if l=long <:ana:> then goto L1;
if l=long <:div:> then goto L2;
if l=long <:kat:> then goto L3;
if l=long <:mik:> then goto L4
else
goto L;
L1:
write(out,<:
RAMAN ANALYSE
com parametre betydning
add navn addend navn+addend
bag navn konstant navn-konstant
div navn divisor navn:divisor
fsm navn1 navn2 I navn2=glat navn1; I: glatteint i cm-1
get navn nr1 nr2 udlæser navn i tælletal int. nr1 til nr2
gsn navn ver gennemsnitsbregning
ind nr konverterer ra<nr> til p<nr>
kvo navn=navn1/navn2
kop navn1 navn2 navn2=navn1
log navn1 navn2 navn2=log(navn1)
max navn s1 s2 finder maximum mellem s1 og s2 cm-1
min navn s1 s2 finder minimum mellem s1 og s2 cm-1
mul navn fak navn*fak
nor navn s1 s2 normerer navn fra s1 til s2 (cm-1)
npf udlæser (ændre) npf og alfa
ny4 navn korrigerer for v**4
opl navn udskriver oplysninger om navn
pli navn plotter navn
plo navn ramme plotter navn med rammespecifikation
plr navn plotter smo rny(navn)
pot navn1 navn2 norm n navn1=(navn2)**n
put navn nr1 nr2 ændre navn i tælletalint. nr1 til nr2
rn1 navn1 navn2 n T navn2=rny(navn1) n=norm T=grad K
rny navn=p<nr> s<nr>=smo rny(navn)
sub navn=navn1-fak*navn2
xks udskriver frekvensint. på sidste plot
ysk udskriver (ændre) y-skala på sidste plot
:>);
goto nextcom;
L2:
write(out,<:
RAMAN DIVERSE kommandoliste
com betydning
end (slut) afslutter raman-programmet
list udskriver kommandoliste
loo nr1 nr2 type finder x<nr1> til x<nr2>
perm nr1 nr2 type permanenter fra x<nr1> til x<nr2>
vent venter på att:>,nl,1);
goto nextcom;
L3:
write(out,<:
RAMAN KATALOG
com parametre betydning
cle sletter indgange
kat nr1 nr2 udskriver liste over kataloget
katr nr retter i kataloget
kats nr1 nr2 udskriver liste over kataloget på printer
loo nr1 nr2 type finder indgange x<nr1> til x<nr2>
rnr udskriver og retter ramnr og snr
:>);
goto nextcom;
L4:
write(out,<:
RAMAN MIKRO
com parametre betydning
cdraw
cdump fmin int dumper under optagelsen
draw
dump
hent
load overfører program til mikro
mikro udskriver (evt. ændre) navnet på mikro
progr udskriver (evt. ændre) navnet på mikroprg.
:>);
goto nextcom;
perm:
if -,htal(n1) and -,htal(n2) and
-,htal(type) and -,htal(key) or htal(i) then
begin write(out,<:nr1 nr2 type key= :>); setposition(out,0,0);
read(in,n1,n2,type,key);
end;
for j:=n1 step 1 until n2 do
begin ramng(j,navn,type);
if permentry(navn,key)=0 then
write(out,nl,1,navn,<: perm.:>,<<dd>,key);
end;
goto nextcom;
test:
ffil(nr,navn1,type);
write(out,nl,1,<:navn1 nr type=:>,navn1,<< ddd>,nr,type,nl,1);
setposition(out,0,0);
gfil(navn2,2);
write(out,nl,1,<:navn2 nr type=:>,navn2,<< ddd>,nr,type);
setposition(out,0,0);
ramnc(nr,navn1,type);
write(out,nl,1,<:navn1 nr type=:>,navn1,nr,type);
indl(navn1);
goto nextcom;
vent:
waitanswer(att,a);
goto nextcom;
slut: if sel<>0 then plotclose; end
▶EOF◀