|
|
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: 32256 (0x7e00)
Types: TextFile
Names: »ud«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦this⟧ »ud«
***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◀