|
|
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: 54528 (0xd500)
Types: TextFile
Names: »retuti3job «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »retuti3job «
job fgs 1 274001 temp disc 1000 100 time 20 0 stat 2
mode list.yes
; editering af fp utility texter
;
; magtapes :
;
; mt543026 : - 11.01 *** frigjort ved release 3.00, vers 2 ***
;
; mt543020 : - 13.00
; mt543053 : - 1.01, vers 2
; mt543331 : - 2.00, vers 2
; mt543285 : - 3.00, vers 2
;
; magtape :
;
; mt295276 : release 2.00, vers 2
;
; slettes og bliver kopi af :
;
; mt543285 : release 3.00, vers 2
;
head 1
message ret fp utility texter
message rettelse fra mt543331 til mt543285 1987.05.01
;
n=set nrz mt543285
g=set mto mt543331
opmess ring on mt543285
mount n
opmess no ring mt543331
mount g
message subpackage ident fil 1
nextfile n g
n=copy list.yes 7
tape identification
contents : source code
package number : sw8010/2
package name : system utility
release : 3.00, 1987.05.01
subpackage name : utility
release : 3.00, 1987.05.01
\f
message translate job fil 2
nextfile n g
n=edit
m e
i#
; job til oversættelse og binout af fp og utilities
char ff
c=message start oversætjob
term =set tw terminal d.0
tro =set tro reader d.0
tre =set tre reader d.0
trn =set trn reader d.0
trf =set trf reader d.0
trz =set trz reader d.0
tpo =set tpo punch d.0
tpe =set tpe punch d.0
tpn =set tpn punch d.0
tpf =set tpf punch d.0
tpt =set tpt punch d.0
lp =set lp printer d.0
crb =set crb cardreader d.0
crd =set crd cardreader d.0
crc =set crc cardreader d.0
pl =set pl plotter d.0
ptre=set tre reader d.0
ptrf=set trf reader d.0
ptro=set tro reader d.0
ptrn=set trn reader d.0
ptrz=set trz reader d.0
utilities=edit
i/
xp,
utility,
account,
assign,
backfile,
binin,
binout,
bossjob,
catsort,
cat,
change,
changeentry,
char,
claim,
claimtest,
clear,
clearmt,
compresslib,
convert,
copy,
corelock,
coreopen,
correct,
crb,
crc,
crd,
edit,
enable,
end,
entry,
finis,
fpnames,
head,
headpunch,
i,
if,
incload,
incsave,
init,
job,
kit,
label,
load,
load13,
lookup,
lp,
message,
mode,
mount,
mountspec,
move,
newjob,
nextfile,
o,
online,
opcomm,
opmess,
permanent,
pl,
print,
ptre,
ptrf,
ptro,
ptrn,
ptrz,
procsurvey,
release,
rename,
repeat,
replace,
ring,
rubout,
save,
save13,
scope,
search,
set,
setmt,
skip,
suspend,
term,
timer,
tpe,
tpf,
tpn,
tpo,
tpt,
translated,
tre,
trf,
trn,
tro,
trz
/,f
utiareas=edit utilities
l./utility/,d,
l./assign/,d,
l./bossjob/,d,
l./cat,/, d
l./change/,d2,
l./clear/,d1,
l./convert/,d,
l./corelock/,d1,
l./crb/,d2,
l./enable/,d4,
l./head/,d,
l./if/,d,
l./incload/, d
l./incsave/, d
l./init/, d
l./kit/,d,
l./lp/,d,
l./mount/,d1,
l./newjob/,d2,
l./opcomm/,d3,
l./ptre/,d4,
l./release/,d4,
l./scope/,d3,
l./skip/,d8,
l./tre/,d b,i/
set,
/,
f
compressuti=edit utiareas
i/
utility=set 1
utility=compress,
fpnames,
/,
l./xp/,d,
l./catsort/,d,
l./claimtest/,d,
l./load/,d,
l./load13/, d
l./save/,d,
l./save13/, d
l./set,/,r/,//,
f
scopeuti=edit utilities
i/
scope user,
/,
f
lookuputi=edit utilities
i/
head 1
lookup,
/,f
clearuti=edit utilities
i/
clear user,
/, f
binoututi=edit utilities
l./xp/,d,
i/
init=changeentry init fp init init init init init
sys2=binout headfp.ne.b xp.ne.s.12,
/,
l./utility/,r/y/y.p/,
l b,l-4,l./trz/,r/trz/trz,
endfp.ne.b
/,f
headfp=slang
s.w.
<:newcat:>
<:create:>
<:fp:>,0,0,0
18
0, r.4
s2 ; shortclock
0
0
3<12+2
3584
<:perman:>
<:fp:>,0,0,0
3
<:load:>
<:fp:>,0,0,0
12
e.
endfp=slang
s.w.
<:end:>
e.
c=message oversæt slang del af utility
c=copy uti1 message.no ; dato
fpnames=copy uti3 ; new fpnames
insertproc=copy uti4
slangcompr=slang uti.5
if ok.no
sorry
fpnames=slangcompr fpnames
insertproc=slangcompr insertproc
(xp=slang uti.6
xp init)
if ok.no
sorry
(mode=slang uti.9
mode head char finis end)
if ok.no
sorry
(i=slang uti.10
i o if)
if ok.no
sorry
(account=slang uti.11
account replace newjob mount opmess ring,
suspend release enable change timer convert mountspec,
kit corelock coreopen bossjob opcomm)
if ok.no
sorry
(online=slang uti.12
online repeat)
if ok.no
sorry
(edit=slang uti.13 uti.14 uti.15 uti.16
edit)
if ok.no
sorry
(binin=slang uti.17
binin)
if ok.no
sorry
(binout=slang uti.18
binout)
if ok.no
sorry
(print=slang uti.19
print)
if ok.no
sorry
(message=slang uti.20
message)
if ok.no
sorry
(move=slang uti.21
move)
if ok.no
sorry
(set=slang uti.22
set setmt clearmt entry changeentry assign,
rename permanent nextfile)
if ok.no
sorry
(lookup=slang uti.23
lookup search clear scope)
if ok.no
sorry
(backfile=slang uti.24
backfile)
if ok.no
sorry
(copy=slang uti.25
copy skip)
if ok.no
sorry
(headpunch=slang uti.26
headpunch)
if ok.no
sorry
(job=slang uti.27
job)
if ok.no
sorry
(claim=slang uti.28
claim)
if ok.no
sorry
(rubout=slang uti.29
rubout)
if ok.no
sorry
(correct=slang uti.30
correct)
if ok.no
sorry
compress=slang uti.31
if ok.no
sorry
compresslib=slang uti.32
if ok.no
sorry
(translated=slang uti.33
translated)
if ok.no
sorry
(procsurvey=slang uti.34
procsurvey)
if ok.no
sorry
(label=slang uti.35
label)
if ok.no
sorry
(allocbuf=slang uti.36
allocbuf)
if ok.no
sorry
; *** bruges ikke mere ***
;(fpproc=slang fpnames uti.37 insertproc
; fpproc)
;if ok.no
;sorry
c=message slut over sættelse af slang del af utility
char ff
c=message oversæt algol del af utility
save13=algol survey.yes connect.no uti.38
if warning.yes
sorry
load13= algol survey.yes connect.no uti.39
if warning.yes
sorry
catsort= algol survey.yes connect.no uti.40
if warning.yes
sorry
catsort=changeentry catsort catsort catsort 64.120 catsort catsort catsort
cat =assign catsort
claimtest=algol survey.yes connect.no uti.41
if warning.yes
sorry
(copyarea=slang uti.42
copyarea)
if ok.no
sorry
save= algol survey.yes connect.no uti.43
if warning.yes
sorry
save= changeentry save save save 3 save save save
incsave=assign save
load= algol survey.yes connect.no uti.44
if warning.yes
sorry
load=changeentry load load load 0 load load load
incload= assign load
c=message slut over sættelse af algol del af utility
char 12
i compressuti
i scopeuti
i lookuputi
release uti
c=message slut oversætjob
char ff
end
#
f
message fpnames fil 3
nextfile n g
n=edit fpnames ; new fpnames
f
message insertproc fil 4
nextfile n g
n=edit g
f
message slangcompr fil 5
nextfile n g
n=edit g
f
message fp text fil 6
nextfile n g
g1=assign g
g2=assign g
nextfile g1 g2 g2
fptx=edit g g1 g2 tnyfpsyntax ; fp text
l./...1/, r/19.02.73/86.08.22/, l./b.h99/, r/h99,/ /, r/31/43/, i!
b. h99 w. ; special block for fpnames
!, l./m.file processor/, r/76.02.02/86.10.10/,
l./m.fptext1/, r/85.03.07/86.08.27/,
l./;b.h99,/, r/,c31,j131/ /, r/ck/ck with fpnames
; b. c43, j131 ; block with c- and j-names/,
l./;s.k=0/, r/,h99,c31/ /,
l./endprogramaction/, r/action/and device status/,
l1, r/15/15, 16/,
l2, r/s.k=h55,e48/b. g1 /,
r/device errors/block for old fpnames/,
l1, r/segment16/and insertproc/,
l2, r/e./e. ; end c- and j-names
; e./,
l./...2/, r/85.03.07/86.08.27/, l./s.k=0/, r/,h99,c43/ /,
l./h65:/, l./h67./, r/jl. /jl. w3/,
l1, d, i!
jl. h60. ; if the answer should arrive
; then goto init;
!,
l./...3a/, r/76.02.02/86.08.27/,
l./h96:/, r/countoffpsyntaxerrors/prim inout errors/,
l./...3b/, l./h52:/, r/2<12/3<12/,
l./resident,page...1/, r/81.08.06/86.08.27/,
l./h85:/, l./am 0/, r/ am/; am/, r/one/none/,
l./h64:/, r/1/0/, r/r:/r =/,
l./h70:/, l./x1+510/, i!
sl w3 h99 ; last address.mess :=
am 512 ; first addr + (if swap
!, l1, r/last address.mess:=firstaddr+510/ then 510 else 1022)/,
l./h69:/, l./jl+2/, l1, d,
l./...7/, r/12.6.70 /86.08.28/,
l./j127=/, r/stack/stack and end program/,
l./j130=/, r/stack/end program/,
l./resident85/, r/5.03.26/6.08.28/,
l b, s 2,
l b, s 3, l./m.fptext3/, r/85.03.07/86.10.10/,
l./init,page...1/, r/5.03.07/6.09.03/,
l./s.k=h55/, r/,b12 /, b12/,
l./e0:/, r/ init://,
r!e0:!e0: am. (h96.) ; fp init: skip next;
al w0 0 ; utility init: prim inout errors := 0;
rs. w0 h96. ;
!,
l./page...4/, r/5.03.07/6.09.03/,
l./rs.w3h9./, l1, d 1,
l./al.w0b7./, i!
al. w3 h50. ; if stack chain is used
rl. w0 h50. ; then
se w0 0 ; remove entry(stack chain);
jd 1<11 + 48 ; comment do not check the result;
al w0 0 ; stack chain := 0;
rs. w0 h50. ;
al w0 -1-1<7 ;
la. w0 h51. ; if bit := 0;
rs. w0 h51. ;
!,
l./jl.h7./, r/;/; comment to fetch unused areas etc;/,
l./jl.h61./, r/command segment/end program/, r/h61./h7. /, i!
al w2 1 ; comment to fetch unused areas etc,
; in case of stop load start;
!, l1,
l./m.fpinit85/, r/5.03.07/6.09.03/,
l./endinit;/, r/t;/t;æ10ææ12æ/,
l./commands,page1/,
s 4, l./i20=/, r/1 /-1/,
l./***02/, r/06/22/, l./-4/, r/4/5/, r/16/32/,
l./mod16/, r/16/32/,
l./b0:/, r/1 /11/, r/4/5/,
l./***03/, r/8.08/8.22/, l./f10:/, r/=3/= 3; tastenext/,
l./rl.w1g8./, d./rs.w1g8./,
l./a0:/, l1, r/f0/i7/, r/syntaxerror/test cancel/,
l./64-8/, g 1/+2/-2/,
l./***06/, r/18/27/, l./i4:/, r/i4:/ /, l1, r/ j/i4: j/,
l1, r/;/;entry stack: outtext(out, <:***fp stack:>);/,
l./***07/, r/8.11/9.03/,
l./al.w0g24./, i!
al w0 -1-1<7 ;
la. w0 h51. ; if bit := 0;
rs. w0 h51. ;
!,
l./i3:/, r/text/text, outend(nl)/, l1, d, r/h33/h39/,
l./i0:/, l./-64/, g/64/70/,
l./***10/, r/11/27/,
l./g11:/, g/<10>//, r/: /:/, i!
g10: <:***fp stack: <0>:>
!,
l./g18../, r/c/g/,
l./g24:/, r/<0/ <0/,
l./g26:/, r/ */<10>*/,
l./g27:/, r/<0/ <0/,
l./***15/, r/8.08/8.22/,
l./val<4+class/, g26/<4/<5/,
l./***16/, r/08.18/09.01/, l./sl.w2(g7./, r/l/h/, r/>=/</, i!
rs. w2 g6. ;
!,
l./jl.i4./, d1, r!return! then return;
al. w0 g10. ; else goto stack alarm;
jl. i4. ;!,
l./reading86.08.18/, r/08.18/09.03/,
l b, s 3, d./m.fpcommands73.03.26/, d,
l./load,page2/, r/12.07.79/86.09.03/,
l./e27:/, l./alw1x1+1/, r/then //, i!
rl. w3 e33. ; then
ls w3 -2 ;
sl w3 3 ;
am x3-1 ;
!, l1,
l./snw232/, d, l-1, r/ out/ count := 0; out/,
l./e28./, r/1/1+length shift(-3)/,
l./load,page3/, r/12.07.79/86.10.10/,l./e28:/, l-1, r/=10/<>4/,
l./dl.w2/, r/ outtext(curout,paramname)//,
l1, d1, r/ s/e14: s/, i!
al w0 x2+2 ;
sh w1 10 ; begin
jl. e14. ; if general text then
al w2 34 ; write(out, <:":>,
jl. w3 h26.-2 ; param, <:":>);
jl. w3 h31. ; else
al w2 34 ;
jl. w3 h26. ; outtext(out, param name)
jl. e29. ; end else
!,
l./snw110/, r/10/4 /, r/n/e/,
l1, d, i!
jl. e15. ;
!,
l./e29:/, l-1, r/0/1/, r/32/127/, r/1 /1/,
l1, i!
jl. e29. ;
e15: rl w3 x2+2 ;
al w2 39 ;
sh. w3 (e16.) ;
jl. w3 h26.-2 ;
jl. w3 h31.-2 ;
!,
l./e37:/, r/;/ ;/, r/> />*/,
l./e41:/, l1, i!
e16: <:@<0><0>:> ; constant showing whether a name
; begins with a letter or a digit;
æ10ææ12æ
; rc 86.10.10 file processor, load, page 3a
!,
l./m.fpprogramload/, r/79.07.12/86.10.10/,
l./endprogram,page...1/, r/2.12.09/6.08.28/,
l./s.k=/, r/a8,e8/a10, e48/,
l-1, r/thebreakactionis entered/fp is reeinitialized/,
l./e8:/, l-1, r/512/1024/, l./h68./, i!
dl. w3 c30. ; move troubled name
ds. w3 e35. ; to these segments:
dl. w3 c27. ;
ds. w3 e36. ;!,
l./page2/, r/16.04.72/86.08.28/,
l./a1:/, r/a1:/ /, i!
a1=k-a0!, l./a7./, r/a7./ e39./,
l./a2:/, r/a2: /e33:/, i!
a2=k-a0!, l./a2./, r/a2. /e33./,
l./a3:/, r/a3:/ /, i!
a3=k-a0
!,
l./,page3/, r/19.02.73/86.09.01/, l./a4:/, r/a4:/a4=k-a0
/,
l./d5:/, l./jl.d9./, r/d9. /e32./,
l./d9:/, r/ giveup://, r!d9: !a10=k-a0
e32: rl. w1 h96. ;give up:
al w1 x1+1 ; prim inout errors :=
rs. w1 h96. ; prim inout errors + 1;
sh w1 10 ; if prim inout errors <= 10
jl. h60. ; then goto initialize fp;
!,
l./d10:/, l1, r/swithc/: c or v/,
l./page...4/, r/2.12.09/6.09.01/,
l./jl.d9./, r/d9. /e32./,
l./jl.d9./, r/d9. /e32./,
l./;flgforat/, d./jl.d9./,
l./e./, i!
e.
a9=k-a0 ; goto (if stack empty) then commands else load;
b. b1 w. ;
dl. w3 h8. ; if first command address < stacktop - 10
sl w3 x2-10 ; then
jl. h61. ; begin
b0: ea w3 x3+1 ; for command := next in stack
el w1 x3 ; while kind > 2 do
sl w1 3 ; <* nothing *>;
jl. b0. ;
b1: el w1 x3+1 ; while
sl w1 10 ; length (command) < 10 do
jl. h62. ; begin
ea w3 x3+1 ; command := next in stack;
sl w3 x2-8 ; if command address >= stacktop - 8
jl. h61. ; then goto load;
jl. b1. ; end;
; end; goto commands
!,
l./...5/, r/5.03.07/6.08.28/,
l./a5:/, r/a5:/a5=k-a0
/,
l./...6/, r/2.12.09/6.08.28/,
l./a6:/, r/a6:/ /, i!
a6=k-a0!, l./a7:/, r/a7: /a7=k-a0
e39:/,
l./;enterdevice/, d./s.k=h55/,
d./512;/, i!
æ10ææ12æ
; rc 86.09.01 file processor, end program, page ...7...
!,
l./al.w0e7./, r/e7. /e47./, r/ a/a8=k-a0
al. w0 e32. ;write device status alarm:
rs. w0 h21.+h2+2 ; giveup action(out) :=
a/, r/devicestatus:/ reinitialize fp;/,
l./h10.+2/, r/h10.+2/e34. /,
l./e6:/, r/6: /46:/, r/c20./e7. /,
l./e5./, r/e5. /e45./, l./e6./, r/e6. /e46./,
l./h10.+2/, i!
rl. w0 h21.+h0+0 ; while base buffer area <> record base do
e37: sn. w0 (h21.+h3+0) ; begin
jl. e38. ; char := 127;
al w2 127 ; outchar current;
jl. w3 h26.-2 ; end;
jl. e37. ; comment either outend or this algorithm will
; force the block out thus preventing
e38: al w0 x1-h21+h68 ; endless looping on reselect out;
rs w0 x1+h2+2 ; giveup action(out) := fp std error;!,
l./h10.+2/, r/h10.+2/e34. /,
l./e9:/, r/e2. /e42./, l1, r/c20./e7. /,
l./e4./, r/e4. /e44./, l./e8./, r/e8. /e4. /,
l./e3./, r/e3. /e43./,
l./h10.+2/, r/h10.+2/e34. /,
l./e8:/, d./e33:/, d./jl.h62./, i!
jl. e4. ; goto next action
!, l./e3:/, r/3: /43:/, l./e4:/, r/4: /44:/,
l./e7:/, r/7:/47:/,
l./page...2/, r/77.09.22 /86.08.28/,
r/device status, page...2/end program, page ...8/,
l./e2:/, r/2: /42:/,
l./e5:/, r/5: /45:/,
l./w./, r!w.!w.
e34: 0, e35: 0, 0, e36: 0 ; room for troubled device name
!,
l./e1=/, i!
æ12æ
; dh 86.08.28 file processor, end program, page ...9...æ10ææ10æ
; table of sequences of actions
h.
; no device errors:
f1: a1, a2, a5, a9
;hard error on current out
f2: a7, a4, a2, a5, a8, a9
; hard error on stacked cur in zone
f3: a1, a6, a5, a8, a2, a9
; hard error on cur in zone:
f4: a3, a4, a6, a5, a8, a10
; hard error on other zone:
f5: a1, a2, a5, a8, a9
w.
; the actions are:
;a1: outend and free curr out
;a2: unstack curr in zone to i-bit
;a3: terminate curr out
;a4: connect primary out, if problems then reeinitialize fp
;a5: remove area processes and message buffers
;a6: free current in zone
;a7: free current out zone
;a8: write device status alarm, if problems then reinitialize fp
;a9: goto (if empty stack) then commands else load
;a10: reeinitialize fp
;comment if fp is reinitialized more than 10 times then
; the job will be terminated. this should take care
; of removed primary in and out.
!,
l./e1=/, r/e1/e41/, r/512/1024/, l1, r/e1 /e41/,
l./m.fpdev/, r/fp/fp end program and/, r/77.09.22/86.09.01/,
l./insertproc page...1/, r/82.12.09/86.09.03/,
l./i.;list/, r/i. /e. i./,
r/;/ ;/, r/fp na/new fp na/,
l./b.g1/, r!w.!w. d. p.<:fpnames:>, w. l.; use old fpnames
b. w. ; a local block to cheat the i. in insertproc!,
l./g1:/, r/g1:/ /, l./3584/, r/3584/4096/,
l./p./, i!
æ10æg1: 1<23 + 4 ; secondary entry: init
0, r.4 ; room for docname
s2 ; date
0, 11 ; file, block
2<12 + 4 ; content, entry
512 ; code length
!,
l./p./, r/p./d. p./, r/:>/:>, l./,
l./e./, i!
e. ; end block with g-names
!,
f
n=edit fptx
; gem prim in , prim out processes i stakken
; reinit og mode 14.yes => fp version og release message
; raise stopped bit for kind 6 as for kind 4
; magtape check, erase kun for output
; magtape check, connect in, connect out, <:enable:> isf <:ring:>
l./m.fp text 1/, r/08.27/12.12/
l./transient parts:/, l./segment 11/, r/11/11, 12/
l3, r/12,13/13, 14/
l3, r/14/15/
l3, r/15, 16/16, 17/
l./block io, page ...3.../, r/rc/fgs/, r/19.05.72/86.12.12/
l./am. (c22.)/, i/
sn w2 6 ; if kind = disc then
al w2 4 ; kind := area;
/, p1
l./page ...4/, r/12.09/12.12/
l./; device table/, d./; end block io;/, i#
; device table containing mask index and special action no.
h. ; bytes
e21=k , e22=k+1 ;
16 , 6 ; ip ; special actions:
16 , 0 ; clock ; 0: give up
4 , 2 ; area ; 2: area process action
4 , 2 ; disc ; 4: end of medium
8 , 6 ; tw ; 6: timer error
12 , 4 ; tr ; 8: char output
16 , 8 ; tp ; 10: mag tape errors
16 , 8 ; lp
12 , 4 ; cr
0 , 10 ; mt
16 , 8 ; pl
; mask table specifying hard and special errors depending
; on the index selected via the process kind
w.
e24: 8.1107 7031 ; 0: magtape (mt)
e25: 8.2620 0744 ;
8.7277 7331 ; 4: area/disc process (size)
8.0500 0444 ;
8.2757 7375 ; 8: typewriters (tw)
8.1000 0400 ;
8.1614 7775 ; 12: readers (tr, cr)
8.0100 0000 ;
8.3677 7375 ; 16: char oriented output (ip, clock, tp, lp, pl)
8.0100 0400 ;
e28: 8.7777 4777 ; official bits.
; treatment of status bits for different indices.
; bit error hard:* spec:/
; 0 4 8 12 16
;
; 0 local *
; 1 parity / * * *
; 2 timer * * / * *
;
; 3 overrun / / * * *
; 4 block l. / * * * *
; 5 end doc. * / * / /
;
; 6 load p. * * *
; 7 tape mark / * *
; 8 ring * * * *
;
; 9 mode err. * * * * *
; 10 read err. * * * *
; 11 card rej. * * * *
;
;
; 12 sum err. * * * * *
; 13 * * * * *
; 14 * * * * *
;
; 15 stop / / / * /
; 16 defect / * * * *
; 17 position / * * * *
;
; 18 non-exist / / * * *
; 19 disconn. * * * * *
; 20 unintell. * * * * *
;
; 21 rejected / / * * *
; 22 normal
; 23 give up * * * * *
;
; 0 4 8 12 16
e. ; end block io;
#, p1
l./m.fp io system/, r/82.12.09/86.12.12/
l./file processor, resident, page ...1/, r/08.27/12.12/, r/rc/fgs/
l./h61:/, r/1 /2 /
l./m.fp resident/, r/08.28/12.12/
l./m.fp text 2/, r/85.03.07/86.12.12/
l./connect in, page ...2.../, r/84.09.04/86.12.12/
l./<:mount :>/, r/<:mount :>, 0 /<:mount <0>:>/
l./m.fp connect input/, r/84.09.04/86.12.12/
l./connect output, page ...9.../, r/82.11.29/86.12.12/
l./<:ring/, r/<:ring:>, 0 /<:enable <0>:>/
l./<:mount/, r/<:mount:>, 0 /<:mount <0>:>/
l./page ...10/, r/84.09.04/86.12.12/
l./<:ring:>/, r/ring/enable/
l./m.fp connect out 2/, r/84.09.04/86.12.12/
l./magtape check, page ...4.../, r/84.09.04/86.12.12/
l./e42=/, l./or input/, r/ input/ -, output/
l2, r/sn w0 3/se w0 5/
l./magtape check, page ...5.../, r/84.09.04/86.12.12/
l./<:ring :>/, r/<:ring :>, 0 /<:enable <0>:>/
l./<:mount :>/, r/<:mount :>, 0/<:mount <0>:>/
l./m.fp magtape check/, r/84.09.06/86.12.12/
l./m.fp text 3/, r/10.10/12.12/
l./page ...1/, r/09.03/12.12/
l./512 ; length/, r/ 512/1024/
l./page ...3/, r/82.12.09/86.12.12/
l./al w2 x2-1/, r/-1 /-21/, r/-1;/-21;/
l./page ...4/, r/09.03/12.12/, i/
æ12æ
; fgs 1986.12.12 file processor init, page ...3a...
rl. w2 h17.-2 ; prim proc := addr prim input proc;
; repeat:
e8: rl w0 x2 ; kind := prim proc.kind;
am. (h16.) ; addr (prim proc descr) :=
rl w1 +24 ; top own process -
e9=k+1 ; rel:
al w1 x1-20 ; rel;
rs w0 x1 ; stack.prim proc descr (0) :=
dl w0 x2+4 ; kind + 1<23;
ds w0 x1+4 ; stack.prim proc descr (2:8) :=
dl w0 x2+8 ; prim proc.name;
ds w0 x1+8 ;
el. w2 e9. ;
se w2 -20 ; if prim proc <> addr prim output proc then
jl. e18. ; begin
rs. w1 h17.-2 ; addr prim input proc := proc.top addr - 20;
al w0 -10 ; rel := -10;
hs. w0 e9. ; prim proc := addr prim output proc;
rl. w2 h15. ; goto repeat;
jl. e8. ; end;
e18: rs. w1 h15. ; addr prim output proc := proc.top addr - 10;
/, p1
l./e4:/, l./al w0 1 /, d4, i/
al w0 0 ; curr in.give up mask := curr out.give up mask :=
al. w1 h68. ; 1; <*i-bit*>
ds. w1 h92. ; curr prog.give up mask :=
al w0 1 ; 0;
ds. w1 h93. ; curr in.give up act. := curr out.give up act. :=
ds. w1 h94. ; curr prog.give up act. := fp std error;
/, p1
l./jd 1<11 + 48/, l./al w0 -1-1<7/, i/
rs. w0 h94.-2 ; curr out.give up mask := 0; <*i-bit*>
/, p1
l./;e16:/, l-3, d2, i/
rl. w0 h51. ;
so w0 1<9 ; if mode 14.no then <*mode reinitmess.no*>
jl. e17. ; begin
/, p1
l./;e16:/, r/because sos supposes an input first/at reinit when mode.14 = 0;/,
r/e16://
l./am. (h16.)/, r/ /;/
l1, r/ /;/
l1, r/ /;/
l1, r/ /;/
l1, r/ /;/
l./<:, vers/, r/<:,/<:/
l./<:, rel/, r/<:,/<:/
l./32<12+1/, r/32/48/, r/+1/+2/
l./e16:/, l-2, d1, i/
e17: ; end <*mode 14.no*>;
al w2 10 ;
jl. w3 h34.-2 ; close up (out, 'nl');
am 2 ; prepare call and enter end program; <*warn.yes, ok.no*>
/, p1
l1, r/al/ al/, r/comment/comment warn.no, ok.no/
l1, r/;/ ;/
l1, r/jl/ jl/
l1, i/
/, p1
l./b10:/, r/,//
l1, r/,//
l./b12:/, r/ /;/
l./g1=/, g/512/1024/, r/2 /2/
l./m.fp init 86/, r/09.03/12.12/
l./end program, page ...1/, r/08.28/12.12/
l./e8:/, l./ds. w3 h21.+h2+2/, r/ds/rs/, r/g.up.mask(out):=0;//
l./end program, page 2/, r/rc/fgs/, r/08.28/12.12/
l./a1=k-a0/, l1, i/
al w0 0 ; i-bit := curr out.give up mask;
rx. w0 h21.+h2 ; curr out.give up mask := 0 ;
sn w0 1 ; if i-bit = 1 then
jl. e4. ; goto next action; <*skip outend curr out*>
/, p1
l./m.fp end program and device status/, r/09.01/12.12/
l./insertproc page ...1.../, r/09.03/12.12/
l./g0:/, r/17/18/
l./g1:/, l./512; code length/, r/512 /1024/
f
message fp text 2 fil 7 empty
nextfile n g
n=head
message fp text 3 fil 8 empty
nextfile n g
n=head
message job adm 1 text fil 9
nextfile n g
n=edit g ; job adm 1, mode head char finis end
; ny fp modebit : initmess
l./page ...4.../, r/rc 77.02.09/fgs 1986.12.12/
l./<:all:>/, i/
<:initmess:> , 0, 1<9
/, p-1
l./a0:/, l./al w3 x3+6/, g/6/8/
l./a3=k-6/, r/-6/-8/, l1, g13/0,0/0,0,0/, p-14
l./<: listing:>/, l-1, d, i/
<: initmess:>,0
/, p-1
l1, r/:>/:>,0/
l1, r/0,0/0,0,0/
l1, r/:>/:>,0/
l1, r/,0,0/,0,0,0/
l1, g1/,0/,0,0/, p-1
l1, g1/,0,0/,0,0,0/, p-1
l1, r/,0/,0,0/
l./m.rc, fp/, r/85.03.11/86.12.12/
f
message job adm 2 fil 10
nextfile n g
n=edit g ; job adm 2, i o if
f
message job adm 3 fil 11
nextfile n g
n=edit g ; job adm 3, account replace newjob mount opmess
; ring suspend release enable change timer
; convert mountspec kit corelock
; coreopen bossjob opcomm
; nyt program : enable == ring (<:enable:>)
l./page ...1/, r/85.03.13/86.12.22/
l./release - change/, r/release/release - enable/
l./slang text/, l2, r/release/release enable/
l./page ...2/, r/rc 76.06.17/fgs 1986.12.22/
l./a13:/, l-1, i/
;enable
a12: d1, d3,d19,d21, d9,d10
/, p1
l./page 13a/, r/rc 30.03.73/ fgs 1986.12.22/
l./a7-a0, b7:/, r/mount/mount /, r/.5/.4/
l2, r/ring/ring /, r/.5/.4/
l1, r/suspend/suspend /
l1, r/release/release /
l1, i/
a12-a0,b12: 9<13+0<5+1, <:enable :>,0,r.4
/, p-1
l1, r/change/change /, r/.5/.4/
l./page 14/, r/85.03.13/86.12.22/, r/14/...14.../
l./i13:/, r/b11/b12/
l./i11:/, i/
i12: am b12-b11 ; entry enable:
/, p1
l./page ...14a/, r/rc 76.06.17 / fgs 1986.12.22/
l./rl. w2 c2./, i/
am -2000 ;
/
l1, r/c2. /c2.+2000/
l./sn. w0 (c3./, i/
am -2000 ;
/
l1, r/c3.) /c3.+2000)/
l./page ...15/, r/rc 31.07.74/ fgs 1986.12.22/
l./; change/, i/
1<23+4,0,r.4,s2 ,0,r.2 ; enable
2<12+i12-i0,g2
/, p-4
l./m.rc/, r/85.03.13/86.12.22/
f
message online repeat fil 12
nextfile n g
n=edit g
f
message edit text 1 fil 13
nextfile n g
n=edit g ; edit text 1
f
message edit text 2 fil 14
nextfile n g
n=edit g ; edit text 2
f
message edit text 3 fil 15
nextfile n g
n=edit g ; edit text 3
f
message edit text 4 fil 16
nextfile n g
n=edit g ; edit text 4
f
message binin text fil 17
nextfile n g
n=edit g ; binin
f
message binout text fil 18
nextfile n g
n=edit g ; binout text
f
message print text fil 19
nextfile n g
n=edit g ; print text
f
message message text fil 20
nextfile n g
n=edit g ; message text
l./,page2/, r/12.04.73/86.08.15/,
l./a1:/, l./sew010/, r/se/sn/, r/10/4 /,
l./a2:/, l./32<12+1/, r/32<12+1 /1<23+127<12 +1/,
l./f1=b4/, l./m.rc1976/, r/1976.05.21/86.08.15/,
f
message move text fil 21
nextfile n g
n=edit g ; move text
f
message cat adm 1 text fil 22
nextfile n g
n=edit g ; cat adm 1 text, set setmt clearmt entry changeentry
; assign rename permanent nextfile
f
message cat adm 2 text fil 23
nextfile n g
n=edit g ; cat adm 2 text, lookup search clear scope
; reset permkey if permanent entry fails (13557)
l./...31/, r/81.08.06/87.03.13/
l./c25:/, l./; permanent fault:/, l1, i/
rs. w0 c2. ; undo permanent:
rl. w1 a119. ; save result;
ls w1 21 ; key :=
ls w1 -21 ; old permkey;
jd 1<11+50 ; permanent entry (key);
rl. w0 c2. ; restore result;
/, p1
l./m.rc/, r/85.03.13/87.03.13/
f
message backfile text fil 24
nextfile n g
n=edit g ; backfile text
f
message copy skip text fil 25
nextfile n g
n=edit g
f
message headpunch text fil 26
nextfile n g
n=edit g
; integer exception siden 831213
; ny fp kommando syntax (lige som message)
l./page 2/, r/okh 6.9.1973/fgs 1987.03.13/
l./wd. w1 a0./, r/min/four_min/, r/00)/00*4)/
l1, i/
; <*four to avoid integer exception*>
/
l./wd. w1 a1./, r/min/four_min/
l./jl. w2 f50./, r/f50. /f50./, i/
ls w0 2 ; w0 := minutes;
/, l1, p-2
l1, i/
ls w3 -8 ; >8
wa. w3 a180. ; add <:.:>;
/
l./al w3 x3+32/, d, i/
ls w3 -8 ; hours :=
wa. w3 a10. ; decimal (hours) add <: :>;
/
l./c25:/, r/d51./d52./, l./ld w3 8/, d1, i/
al w3 x3+46 ; w2w3 := ' 19' add year add '.';
/
l./ds. w3 d53./, r/d53./d51./
l./rl. w0 d51./, r/d51./d52./
l./rs.w3 d51./, r/d51./d52./, r/rs./rs. /
l./al w3 x3+46/, r/46/32/, r/./ /
l1, r/d50./d53./
l./page 5/, r/ta 26.09.73 /fgs 1987.03.13/
l./c42:/, l./se w0 10/, r/se/sn/, r/10/4 /
l./page 7/, r#ta/okh 23.01.74#fgs 1987.03.13#
l./a0:/, r/600000/600000*4/
l1, r#60#60/4#
l./a9:/, r/49/32<16+49/, r/57 /57/, r/<0>/ /
l./a10:/, r/ <0>/ <0>/
l./m.rc/, r/76.05.21/87.03.13/
f
message job text fil 27
nextfile n g
n=edit g
f
message claim text fil 28
nextfile n g
n=edit g
f
message rubout text fil 29
nextfile n g
n=edit g
f
message correct text fil 30
nextfile n g
n=edit g
f
message compress text fil 31
nextfile n g
n=edit g
f
message compresslib text fil 32
nextfile n g
n=edit ncomplibtx
; beregning af laengde af externliste for fortran subroutiner med
; commons og zone commons i stedet for no of halfs to transfer
; to own core
; opgiv krav om at entry base = catalog base = std base, i stedet
; skal source ebtry base = object entry base og object base skal
; harmonere med processens baser
; source entries genskabes på den disc hvor de oprindeligt lå før
; de blev removed for genskabelse
; alarm hvis create entry, permanent into aux cat og set entry
; base ikke lykkes
l./page 1/, r/rc 01.03.73 /fgs 1986.07.04/
l./page 2/, r/rc 06.03.73 /fgs 1986.07.04/
l./b9:/, r/result/result
b11: 0 ; saved object entry base (1);
b12: 0 ; - - - - (2);
b13: 0 , r.4 ; - - doc name (1:4);
/, p-3
l./jl. w2 c7./, r/);/); <*w0 never zero*>/
l./page 4/, r/rc 27.03.73 /fgs 1986.07.04/
l./a2:/, l./jl. w2 c7./, i/
al w0 1 ; ensure w0 <> 0;
/, p-1
l./dl. w0 b2.+h1+4/, i/
dl w0 x1+4 ; move document name
ds. w0 b13.+2 ; from tail
dl w0 x1+8 ; to saved object docname
ds. w0 b13.+6 ; for use by permanent into auxcat;
/, p-4
l./al w1 2.111/, i/
se w0 0 ; if result <> 0 then
jl. a5. ; goto alarm;
al. w2 b13. ; w2 := addr old document name;
/, p-4
l./1<11+50/, r/50/90/, r/y;/y into auxcat;/
l1, i/
se w0 0 ; if result <> 0 then
jl. a4. ; goto alarm;
dl. w1 b12. ;
jd 1<11+74 ; set entry base (saved base);
se w0 0 ; if result <> 0 then
jl. a3. ; goto alarm;
/, p-6
l./jl. a2./, l1, i/
a3: am 1 ; alarm set entry base:
a4: am 1 ; alarm permanent into auxcat
a5: al w1 10 ; alarm create entry:
jl. f5. ; goto alarm;
/, p-4
l./page ...5.../, r/rc 76.10.27 /fgs 1986.07.03/
l./c5:/, i/
b. a1 w. ; begin block finis program;
/, p1
l./hs w0 x3/, r/ /a0: /, r/param)/param) := <s>;/
l./ba w3 x3+1/, r/ba/ea/, r/:= <s>;//, i/
am (x3+1) ;
sn w3 x3 ; if separator = 0 then
jl. a1. ; goto finis;
/, p1
l./jl. -6/, r/-6 /a0./
l./rl. w2 b9./, r/ /a1: /
l./jl. h7./, l1, i/
e. ; end block finis program;
/, p-1
l./b. a5/, r/d3/d10 /
l./c4:/, l./am x2/, l1,l./am x2/, d2, i/
am x2 ;
rl w1 x3 ; nb := word (k + j);
rl. w0 b4.+26 ; w0 := kind and spec (1);
sl w0 0 ; if fortran subroutine then
jl. a1. ; begin
rs. w1 d3. ; save nc, nz;
zl w1 2 ; nb :=
wm. w1 d5. ; nc * 12;
rx. w1 d3. ; nb :=
zl w1 3 ; nz *
wm. w1 d6. ; 18 +
wa. w1 d3. ; nb;
a1: rx. w1 d1. ; end <*fortran subroutine*>;
/, l1, r/d3./d4./, p-14
l./d0:/, d2, i/
b10:
d0: 0 ; saved return;
d1: 0 ; ne
d2: 0 ; ng
d3: 0 ; work for nc, nz
d4: 6 ; constant 6
d5: 12 ; - 12
d6: 18 ; - 18
/, p-8
l./page 6/, r/rc 09.08.73 /fgs 1986.07.04/
l./; procedure check entry./, l2, i/
; ; w0 = 0 => check and save object entry base
/, p1
l./b. a5/, r/a5 w./a5, d1 w./
l./c7:/, r/c7:/ /, i/
c7: rs. w2 b8. ; entry: save return;
rl w2 0 ; w2 := w0;
/, p-2
l./(66)/, d, i/
se w2 0 ; if object entry then
jl. a5. ; begin
dl w1 x1+4 ;
al w3 0 ; w3 := own process;
rs. w3 d1. ;
al. w3 d1. ;
jd 1<11+72 ; set catalog base (entry base);
se w0 0 ; if catbase not set then
jl. a3. ; result := 2
al. w1 b4. ; else
dl w0 x1+4 ; begin
ds. w0 b12. ; save entry base;
am -2000 ;
am. (h16.+2000) ; set catbase (std base);
dl w1 +78 ;
al. w3 d1. ; w3 := own process;
jd 1<11+72 ; end;
a5: al. w1 b4. ; end;
/, p1
l./dl w0 +70/, r/dl w0 +70 /dl. w0 b12./
l./the catalog base/, r/catalog/saved/, p1
l./a4:/, l1, d, i/
jl. (b8.) ; return;
d1: 0 ; work;
/, p-1
l./page 7/, r/rc 06.03.73 /fgs 1986.07.04/
l./f10:/, l./h8./, d, i/
am -2000 ;
rl. w3 h8.+2000 ;
/, p-2
l./b. a11/, r/a11/a20/
l./a11 ;/, l1, i/
a12 ; 10, create entry
a13 ; 11, permanent into auxcat
a14 ; 12, setentry base
/, p-3
l./a10:/, i/
a12=k-a0, <: create entry<10><0>:>
a13=k-a0, <: permanent into auxcat<10><0>:>
a14=k-a0, <: set entry base<10><0>:>
/, p-3
l./page 11/, r/rc 03.24.83 /fgs 1986.07.04/
l./jl. w2 c7./, i/
al w0 0 ; check entry base and save it;
/, p-1
l./a0:/, l-1, d./jl. f8./
l./page 12/, r/rc 03.24.83 /fgs 1986.07.04/
l./a2:/, r/a2:/ /
l./a6:/, l1, r/sh/sn/
l./am (66)/, d1, i/
dl. w1 b12. ;
/, p-1
l./<> catbase/, r/catbase/saved entry base/
l./hs w1 b4./, r/hs /hs./
l./m.compresslib/, r/83.03.24/86.07.04/
f
message translated text fil 33
nextfile n g
n=edit g
f
message procsurvey text fil 34
nextfile n g
n=edit g
f
message label text fil 35
nextfile n g
n=edit g
; to gange connect output (set mode, setpos (0, 0)) a.h.t.
; programstyret mode
l./page ...4.../, r/ta 1977.08.17/fgs 1986.12.12/
l./jl. w3 h28./, r/;/; <*setmode; setposition (z, 0, 0);*>/
l1, i/
jl. w3 h28. ; connect again ; <*setmode; setposition (z, 0, 0);*>
/, p-2
f
message allocbuf til brug for save text fil 36
nextfile n g
n=edit g
f
message fpproc til brug for save text fil 37
; bruges ikke mere
nextfile n g
n=edit g
f
message save text fil 38
nextfile n g
n=edit g
f
message load text fil 39
nextfile n g
n=edit g
; blocklength > 9 segm
l./segm:=zlabel(8) shift (-24) extract 8;/, d1, i/
segm := 0;
for i := -24 step 8 until -8 do
begin
integer digit;
digit := zlabel (8) shift i extract 8;
digit :=
if digit > 48 and
digit < 58 then
digit - 48
else
0;
if digit > 0 then
segm := segm * 10 + digit;
end;
/, l1, p-5
f
message catsort text fil 40
nextfile n g
n=edit g
f
message claimtest text fil 41
nextfile n g
n=edit g
f
message copyarea til brug for save vers 2 text fil 42
nextfile n g
n=edit g
f
message save version 2 text fil 43
nextfile n g
savetx1=edit g
; closeinout er rettet så der sluttes af med reopen, d.v.s. at
; zone state i zoner med kind = 18 bliver = 8 (eller inoutbit + 8)
; hvilket er unpositioned : der må en position operation med check
; til før en ny openinout
l./page ... 3.../
l./message transfer page 4;/, l-1, r/84.11.09/86.10.12/
l./end <*change to nexttape*> else/, l1, d, i/
begin <*after closeinout the zone states are 'unpositioned'*>
setposition (za (i), file (i), block (i));
l_expell (i) := true; <*set expell condition*>
end;
for i := 1 step 1 until copies do
stopzone (za (i), false); <*no mark*>
/, l1, p-7
l./page 5;/, l-1, r/84.11.08/86.10.12/
l./closeinout (/, l1, i/
<*after closeinout the zonestates are 'unpositioned'*>
for i := 1 step 1 until copies do
setposition (za (i), file (i), block (i));
for i := 1 step 1 until copies do
stopzone (za (i), false); <*no mark*>
/, p1
f
savetx2=edit savetx1
v n
g b*sw8010/1*sw8010/2*
l t
l./save pageheads/,d10,d./*>/
l./maybe device status page 1;/
l./long array field docname/,l1,i#
own boolean called_before;
#
l./if cause = -11/,r/then/and -, called_before then/
l./begin/,l1,i#
called_before := true;
#
l./<:device st/,r/<:/<:***/
l./until 23/,r/23/21/
l./decl. second level page 1;/
l./test ,/,l1,i#
reserve , <*unused *>
#
l./decl. second level page 2;/
l./syncblocklength/,l1,i#
aux_synclength ,
#
l./special param page 2;/
l./then 0 else 10/,r/10/11/
l./:conne:/,r/:conne:/:reser:/,r/'c'/'v'/
i#
<:conne:> add 'c',
#
l./:t:/,r/:t:/:e:/
i#
<:t:>,
#
l./i := 10/,r/10/11/
l./store entries page 2;/
l./integer /,l./;/,r/;/, loop_count;/
l./store entries page 4;/
l./1 shift 23 + 4/,i#
loop_count := 1;
#
l./while kind/,r/do/and loop_count < 10 do/
l./end <*while*>/,i#
loop_count := loop_count + 1;
if loop_count = 10 then result := 1;
#
l./save entries page 2;/
l./ catproc;/,r/;/, next_area;/
l./(1:entries_part/,r/;/, areas (1 : (entries_part + 1) * 17);/
l./integer array field/,l1,i#
real array field current_entry;
#
l./save entries page 5;/
l./partcat_size := (entr/,d,i#
partcat_size := (entries_part + 14) // 15;
#
l./save entries page 9;/
l./end <*move savecat/,i#
<*save catalog entry for later use - page 12 - *>
current_entry := (entries_ready - 1) * 34;
tofrom (areas.current_entry, zcat, 34);
#
l./save entries page 11;/
l./<*outrec6, stop/,l1,i#
check(za (copy_count));
#
l./save entries page 12;/
l./mark := /,d,i#
mark := false;
if (entry_kind (j) // segm) > 4
and copies = 1 then
begin <*change to highspeed if specified*>
getzone_6 (za (1), zdescr);
zdescr (1) := modekind (1) extract 23;
setzone_6 (za (1), zdescr);
end;
#
l./<*area processes are removed/,d
l./close (za (copies + 1), false)/,i#
for copy_count := 1 step 1 until copies do
begin
<*make one sync block*>
integer array zd (1 : 20);
integer bl;
if copies = 1 then
begin <*remove highspeed bit in modekind*>
getzone_6 (za (1), zd);
zd (1) := modekind (1) extract 18;
setzone_6 (za (1), zd);
end;
if ida_copy then
begin <*update position in tape zone*>
getposition (zida, fileno (1), blockno (1));
getzone_6 (za (1), zd);
zd (7) := fileno (1);
zd (8) := blockno (1);
setzone_6 (za (1), zd);
end;
bl := outrec_6 (za (copy_count), 0);
outrec_6 (za (copy_count), aux_synclength);
za (copy_count, 1) := real <::>;
current_entry := 4;
<*zeroize zync block*>
tofrom (za (copy_count).current_entry, za (copy_count), aux_synclength - 4);
for next_area := j + 1 step 1 until entries_ready do
begin <*find descriptor of next area to be transferred*>
if entry_kind (next_area) > 0 then
begin <*area found - copy descriptor to sync block*>
current_entry := (next_area - 1) * 34;
tofrom (za (copy_count), areas.current_entry, 34);
next_area := entries_ready;
end;
end;
outrec_6 (za (copy_count), bl);
changerec_6 (za (copy_count), 0);
stopzone (za (copy_count), false);
getposition (za (copy_count), fileno (copy_count), blockno (copy_count));
if ida_copy then
begin <*update position in ida zone*>
getzone_6 (zida, zd);
zd (7) := fileno (1);
zd (8) := blockno (1);
setzone_6 (zida, zd);
end;
end; <*make sync blocks *>
#
l./if ida_copy then/,i#
<*
#
l./if ida_copy/
g 4/*/./
l./until entries/,i#
*>
getzone (zhelp, zdescr);
for j := 2 step 1 until entries_ready do
begin
if entry_kind (j) > 0 then
begin <*remove process*>
name := (j-1)*34 + 6;
base := (j-1)*34 + 2;
set_catbase (areas.base);
tofrom (zdescr.docname, areas.name, 8);
setzone_6 (zhelp, zdescr);
monitor (64)remove_process:(zhelp, 0, zdescr);
end;
end;
reset_catbase;
#
l./end <*partial catalog/,i#
for copy_count := 1 step 1 until copies do
begin <*terminate with filemark*>
outrec_6 (za (copy_count), 0);
setposition (za (copy_count), fileno (copy_count) + 1, 0);
getposition (za (copy_count), fileno (copy_count), blockno (copy_count));
end;
#
l./list entry page 3;/
l./<*latest changed*>/,
l./write (/,r/write/if changed <> 0 then write/
l./skip entry page 1;/
l./begin/,l1,i#
long array field name;
name := 6;
#
l./write/,d,i#
write (z, "nl", 1, <:***:>, true, 12, entry.name, <:skipped : :>,
#
l./list counters page 1/
l./if disc_specified/,d
l./(entry/,r/ (/ if (/
l./open tape page 1;/
l./:mount :/,r/t :/t :/
l./open (z, /,r/1 shift 18/1 shift 21 + 1 shift 18/
l./:ring :/,r/:ring :/:enable :/
l./:high/,r/h :/h :/,r/w :/w :/
l./get file nos page 2;/
l./open_tape/,r/modekind (i)/modekind (i) extract 18/
l./get file nos page 3;/
l./fileno_found (i) :=/,r/:=/:= hw (i) = 2;/
l1,d./:cont.:/
l./out labelrec page 4;/
l./sync_blocklength/,l1,i#
ifld := ifld + 2; ztape.ifld := aux_synclength;
#
l./transfer page 5;/
l./if name_table_addr > 0 then/,d./end <*prepare/
l./close/,r/name_table_addr > 0/false/
l./next volume page 3;/
l./long array/,l1,i#
integer i;
#
l./close (za (ind/,i#
if output then
begin
setposition (za (index), file (index), 0);
for i := 1 , 2 do
begin
outrec6 (za (index), 0);
setposition (za (index), file (index) + i, 0);
end;
end;
#
l./open_tape/,r/modekind (index)/modekind (index) extract 18/
l./program page 2;/
l./if entries_in_partcat < 1/,i#
if entries_in_partcat > 50 then entries_in_partcat := 50;
#
l./release_id := /,r/2/3/
l./sync_block/,l1,i#
aux_synclength := 320;
#
l./program page 9;/
l./; <*connect*>/,l1,i#
; <*reserve*>
#
l./declare zones page 1;/
l./no_of_ida_shares :=/,r/:=/:= 1;/,l1,d2
l./take over page 4;/
l./close (ztape (2), true);/,r/true/false/
l./end of document page 1;/
l./getzone__6/,i#
if status shift (-18) extract 1 = 1 then
begin <* end of document *>
#
l./getzone__6/,r/g/ g/
l1,l./getshare_6/,r/g/ g/
l1,l./index/,r/i/ i/
l1,l./operation/,r/o/ o/
l1,l./end_of_doc/,r/e/ e/
l1,i#
end <* end of document *>;
#
l./prepare tapes and ida page 1;/
l./open_tape/,l1,r/modekind (copy_count)/modekind (copy_count) extract 18/
l./end third block page 1;/
l./for copy_count/,d./setposition/,d
l./out_endmess/,i#
for copy_count := 1 step 1 until no_of_copies do
#
l./end <*next file*>;/,d
i#
fpproc (33)out end:( 0, out, 'nul');
for copy_count := 1 step 1 until no_of_copies do
begin <* terminate with filemark *>
#
l./begin <*empty label record*>/,l-1
d./<*if parent is s output/
l./*empty label/,r/empty label record/terminate with filemark/
l./end third block page 2;/
l./<*out tapemark*>/
l./outrec6 (/,d3
l./setposition/,i#
setposition (ztape (copy_count),
fileno (copy_count),
blockno (copy_count));
outrec6 (ztape (copy_count), 0);
#
l./program page 16;/
l1,i#
getzone_6 (out, zdescr);
if zdescr (1) extract 12 = 4 then
begin
#
l./<*write/,r/</ </
l./list/,r/l/ l/
l1,r/list/ list/
l1,i#
end;
#
f
n=edit savetx2
f
message load version 2 text fil 44
nextfile n g
loadtx1=edit g
; closeinout er rettet så der sluttes af med reopen, d.v.s. at
; zone state i zoner med kind = 18 bliver = 8 (eller inoutbit + 8)
; hvilket er unpositioned : der må en position operation med check
; til før en ny openinout
l./page ... 3.../
l./message load entries page 5;/, l-1, r/85.02.19/86.10.10/
l./stopzone (za (1), false);/, l./setposition (za (1)/, d1
l1, i/
setposition (za (1), fileno (copy_count), blockno (copy_count));
setposition (za (2), 0 , 0 );
/,p-3
f
loadtx2=edit loadtx1
v n
g b*sw8010/1, save*sw8010/2, load*
l t
l./message pageheads/,d./*>/
l./connect output page 1;/
; line 1303
g 7/giveup/size, giveup/,l-7
l./zone/,r/;/ ;/
l./long/,r/;/ ;/
l./result := 1 shift 1;/,r/1 shift/size shift/,r/one/at least one/
l./maybe device status page 1;/
; line 1432
l./long array field docname/,l1,i#
own boolean called_before;
#
l./if cause = -11/,r/then/and -, called_before then/
l./begin/,l1,i#
called_before := true;
#
l./<:device status/,r/<:dev/<:***dev/
l./until 23/,r/23/21/
l./decl. second level page 1/
; line 1489
l./test ,/,i#
reserve , <*not used*>
#
l./decl. second level page 2;/
l./dummy ,/,i#
aux_synclength ,
#
l./connect wrk or exist page 4;/
; line 1839
l./entry.size >= 0/,r/>=/>/
l./special param page 2;/
; line 2276
l./step 1 until/,r/0 else 10/0 else 11/
l./<:conne:>/,r/:conne:/:reser:/,r/add 'c'/add 'v'/
i#
<:conne:> add 'c',
#
l./<:t:>/,r/:t:/:e:/,i#
<:t:>,
#
l./j := i;/,r/10/11/
l./load entries page 3;/
; line 3481
l./vol := ca/,i#
trap (remove_wrk_entry);
#
l./open (zcat,/,i#
partcat_size := (entries_part + 14) // 15;
#
l./:= connect_output (/,r/0)/partcat_size, 0)/
l./<*prepare partial catalog*>/
l./partcat_size :=/,d
l./load entries page 5;/
; line 3555
l./<:not all segments/,r/not all/incorrect no of/
l./load entries page 6;/
; line 3635
l./setposi/,i#
if aux_synclength > 0 and -, skipped_area_entry then
setposition (za (1), fileno (copycount), blockno (copycount) + 1) else
#
l./load and/,d
l./terminate_alarm/
l./<:not/,r/</if zpart.size > segments then </,r/>,/> else/
l1,i#
<:too many segments of area transferred from tape:>,
#
l./end load_entries;/,i#
if false then
remove_wrk_entry:
begin
<*fjern entry hvis docname i za(2) er forskellig fra
name i zpart.entry d.v.s. docname i zone er et wrk-navn *>
integer array zd (1 : 20);
long array field docname;
maybe_device_status (out);
docname := 2;
getzone (zpart, zd);
if zd (13) = 5 <*after inrec*> then
begin
getzone_6 (za (2), zd);
for j := 1 step 1 until 2 do
if zpart.entry.name (j) <> zd.docname (j) then
begin
set_catbase (zpart.entry.base);
monitor (48)remove_entry:(za (2), 1, zd);
j := 2;
reset_catbase;
end;
end;
trap (1);
end; <*remove_wrk_entry*>
#
l./list entry page 3;/
; line 3945
l./<*latest changed*>/
l./write (/,r/write/if changed <> 0 then write/
l./skip entry page 1;/
; line 3968
l./list_entry (z/,i#
long array field name;
name := 6;
#
l./write/,d,i#
write (z, "nl", 1, <:*** :>, true, 12, entry.name, <: skipped : :>,
#
l./open tape page 1;/
; line 4170
l./open (z/,r/1 shift 18/1 shift 18 + 1 shift 21/,r/extract 23/extract 18/
l./get file no page 4;/
; line 4343
l./:= get_labelrec/,l./sync_blockl/,i#
aux_synclength,
#
l./:= get_labelrec/,l./sync_blockl/,i#
aux_synclength,
#
l./file_no_found :=/,r/-, label_found/label_found extract 12 = 2/
l./get file no page 5;/
; line 4553
l./<*version or con/,l1,i#
if label_found then
begin
#
l1,r/vol/ vol/,l1,r/fil/ fil/,l1,r/blo/ blo/,l1,i#
end;
#
l./get labelrec page 1;/
l./sync_blength/,i#
aux_sync ,
#
l./integer/
l./sync_blength/,i#
aux_sync ,
#
l./get labelrec page 3;/
; line 4479
l./if hwds <> 100/,l1,d,i#
begin
if hwds = 2 then get_labelrec := false add 2
else get_labelrec := false;
end
#
l./sync_blength :=/,l1,i#
ifld := ifld + 2; aux_sync := z.ifld;
if release < 3 shift 12 then aux_sync := 0;
#
l./transfer page 3;/
;line 4718
l./getzone6/,i#
if (segments // segm) > 4 then
begin <*if specified set high speed*>
getzone_6 (za (1), zdescr);
zdescr (1) := modekind (i) extract 23;
setzone_6 (za (1), zdescr);
end;
#
l./<*not end of docu/,l1,d./end <*too many*>/,i#
if sumsegs + segs < segments then
begin <*transfer not terminated check correct blocksize*>
if segs <> segm then segments := sumsegs + segs;
end;
#
l./transfer page 4;/
; line 4764
l./<:not all seg/,r/not all/incorrect no of/
l./transfer page 5;/
l./closeinout/,d
l./if name_table_addr > 0/,i#
closeinout (za); <*reallocate buffer area*>
#
l./reset_catbase;/,l1,i#
getzone_6 (za (1), zdescr); <*reset high speed bit*>
zdescr (1) := modekind (i) extract 18;
setzone_6 (za (1), zdescr);
#
l./next volume page 3;/
; line 4947
l./n_syncblocklength/,r/n_sync/n_auxsynclength, n_sync/
l./get_labelrec (z/,l./n_sync_block/,r/ n_sync/ n_auxsynclength , n_sync/
l./<:syncblock/,i#
"nl", 1, <:aux sync , nauxsyncleng = :>, aux_synclength,
naux_synclength,
#
l./end of document page 2;/
; line 5027
l./end <*end of docum/,l1,i#
if status shift (-21) extract 1 = 1 then
begin <*timer*>
if operation = 3 and
hwds = 0 <*nothing transferred*> then
hwds := 2 <*end of recorded media - on adp streamer tape*>
else giveup (ztape, status, hwds);
end <*timer*> else
#
l./program page 8;/
l./connect :=/,d
l./end <*special block/,i#
connect := entry (14) extract 1 = 1;
#
l./program page 10;/
; line 5391
l./end case action/,i#
<*reserve*>
; <*ignore reserve param*>
#
l./program page 23;/
; line 5862
l./long <:main/,r/or disc/or (disc/
l./long <:all/,r/or disc/or disc/,r/<:all:>/<:all:> and i <= no_of_discs)/
l./until discname (entry/,r/ and/;/,l1,d
l./prepare tapes page 1;/
l./get_labelrec (z/
l./version_id/,r/ //,r/sync/aux_synclength , sync/
l./<:sync bl/,i#
"nl", 1, <:aux synclength = :>, aux_synclength,
#
l./declare zones page 1;/
l./no_of_shares :=/,d,i#
no_of_shares := 2; <*basta*>
#
l./prepare save-loadcat page 2;/
; line 6104
l./connect_output/,r/0))/savecatsize, 0))/
l./<:not all/,r/<:/if segments < savecatsize then <:/,r/,/ else/,l1,i#
<:too many segments of save catalog transferred from tape:>,
#
l./connect_output (z/,r/0)/savecatsize, 0)/
l./program page 27;/
; line 6225
l./if tapeparam/,i#
getzone_6 (out, zdescr);
#
l./if tapeparam/,r/then/and zdescr (1) extract 12 = 4 then/
f
n=edit loadtx2
f
lookup n g
message slut editering af utility texter
finis
▶EOF◀