|
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: 13056 (0x3300) Types: TextFile Names: »retwrite3tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code └─⟦75ff9bef3⟧ └─⟦this⟧ »retwrite3tx «
mode list.yes write4tx=edit write3tx ; ret read release 3.0 til release 4.0 : ; ; write i boolean array ligesom i andre typer arrays ; ; zero record length before exit from outchar, -integer, and -text ; l./page ...0/, r/87.07.08/88.05.29/ l./; start write/, r/seg.0/seg.1/ l1, g4/seg.1/seg.2/ l1, g7/seg.2/seg.3/ l1, g1/seg.4/seg.5/ l./page ...1/, r/87.08.09/88.05.30/ l./s. a102/, r/j56/j100/, r/c25,e39/c30,e50/ l./page ...5/, r/82.12.20/88.11.10/ l./e19=/, l./rl w0 x3+h4+2/, i/ al w0 0 ; zone.record length := rs w0 x3+h3+4 ; 0; ; <*done here to avoid the instructions on outchar segm*> /, p-3 l./page ...6/, d./b0:/ ,i# \f ; jz.fgs 1988.05.27 segment 0 page ...6... k = 0 , g1 = p0 ; no of externals = no of globals h. ; g31: g32 , g33 ; rel of last point , rel of last absword j42: g1 + 21 , 0 ; rs entry 21 : general alarm j44: g1 + 13 , 0 ; rs entry 13 : last used j45: g1 + 30 , 0 ; rs entry 30 : (saved sref, saved w3) j46: g1 + 6 , 0 ; rs entry 6 : end register expression j47: g1 + 4 , 0 ; rs entry 4 : take expression j55: g1 + 29 , 0 ; rs entry 29 : param alarm j34: g1 + 17 , 0 ; rs entry 17 : index alarm j48: 0 , 0 ; own core : own base j52: 0 , e29 ; own core : outtable base j53: 0 , e31 ; own core : outtable(lower index) g33 = k - 2 - g31 ; rel of last abs word g32 = k - 2 - g31 ; rel of last point w. ; e38: s3, s4 ; end external list # l./page ...9/, r/82.12.15/88.05.27/, r/segment 0/segment 1/, i# \f ; fgs 1988.05.27 segment 0 page ...8c... g10: c. g10 - 506, m. seg. 0 code too long z. m. segment 0 c. 502-g10, 0, r.252-g10>1 z. ; fill segment <:write:>,0,0 \f ; jz.fgs 1988.05.27 segment 1 page ...8d... k = 0 ; h. ; g28: g29 , g30 ; rel of last point , rel of last absword j41: 1<11 + 1 , 0 ; segment 2 address j62: g1 + 21 , 0 ; rs entry 21 : general alarm j1: g1 + 3 , 0 ; rs entry 3 : reserve j64: g1 + 13 , 0 ; rs entry 13 : last used j65: g1 + 30 , 0 ; rs entry 30 : (saved sref, saved w3) j75: g1 + 29 , 0 ; rs entry 29 : param alarm j54: g1 + 16 , 0 ; rs entry 16 : segment table base j56: g1 + 91 , 0 ; rs entry 91 : trapchain j36: 0 , 3 ; own core : replacechars(1:4) j37: 0 , 7 ; own core : replacechars(5:8) j19: 0 , e19 ; own core : define conversion table g30 = k - 2 - g28 ; rel of last abs word j18: g1 + 35 , 0 ; rs entry 35 : outblock j6: 1<11 + 1 , e2 ; segment 2 : end write g29 = k - 2 - g28 ; rel of last point w. ; \f ; fgs 1988.05.30 segment 0 page ...8e... e24: rl w1 0 ; zone alarm: al. w0 b0. ; w1 := zone state; jl. (j62.) ; general alarm(<:z. state:>); b0: <:<10>z. state:> ; # l./b4:/, d./b7:/, i# b4: <:<10>index :> b5: <:<10>param :> b6: <:<10>string :> b27: <:<10>oddfield :> b7: 100 <:aram<10><0>:> ; alarm text <:ite: p:> ; <* store backwards as <:<10>***wr:> ; in a long string *> e32 = k - 2 ; # l./e23:/, d1, i# e23: ds. w3 (j65.) ; kind error: al w3 0 ; save sref, w3; rs w3 x2+i43 ; state after boolean := al w3 -6 ; false; rl. w0 ( j64.) ; writeblock.(display, last used) := # l./jl. w3 (j42.)/, r/j42/j62/ l./page ...10/, r/82.12.15/88.05.30/, r/segment 0/segment 1/ l./segment 1/, g1/segment 1/segment 2/ l./c20 = b6 - b4/, l1, i/ c26 = b27-b4 /, p-1 l./a60:/, d./jl. w3 (j42.)/, i# b26=k-1 ; shift (type) table: h. 0, 1, 2, 2, 3, 3 ; w. a60: al w3 2.111 ; index alarm1: la w3 x2+6 ; type := param1.formal0 extract 3; zl. w0 x3+b26. ; shifts := case (type) of (0, 1, 2, 2, 3, 3); al w3 1 ; typelength := ls w3 (0) ; 1 < shifts; wa w1 6 ; index := lower index + type length; ac w0 (0) ; shifts := - shifts; ls w1 (0) ; index := index > shifts; al. w0 b4. ; w0 := text address; jl. w3 (j62.) ; general alarm(<:index:>); a70: al. w0 b27. ; oddfield alarm: al w1 1 ; jl. w3 (j62.) ; general alarm (<:oddfield:>, 1); # l./page ...11/, r/87.07.08/88.05.30/, r/segment 0/segment 1/ l./rl. w2 (j44.)/, r/j44/j64/ l1, r/j45/j65/ l3, r/(j45.) / (j65.)/ l2, r/j44/j64/ l./sn w0 23/, d./jl. a60./, i# sn w0 23 ; if kind <> 23 <* zone *> then jl. a2. ; begin sh w0 22 ; if kind > 22 <* complex array *> sh w0 16 ; or kind < 17 <* boolean array *> then jl. w3 (j75.) ; param alarm; se w0 17 ; if kind <> boolean array then am 1 ; lower lim := 2 al w0 1 ; else hs. w0 b32. ; lower lim := 1; sl w1 (x2+i18) ; if base word addr < last literal addr jl. a26. ; and sl w1 x2+6 ; base word addr >= first formal then rs w1 x2+i18 ; last literal addr := base word addr; a26:rl w3 x1 ; w3 := base word; so w3 1 ; if base addr even then jl. a70. ; goto oddfield alarm; ba w1 x2+6 ; (w0, w1) := dl w1 x1 ; array param.(upper index, lower index); b32=k+1 ; lower lim: sl w1 2 ; if lower index >= lower lim then jl. a60. ; goto index alarm1; # l./page ...12/, r/82.12.20/88.05.27/, r/segment 0/segment 1/ l./rl. w3 j45./, r/j45/j65/ l2, r/segment 1/segment 2/ l1, r/segment1/segment2/ l./page ...13/, r/82.12.15/88.05.27/, r/segment 0/segment 1/ l./seg. 0/, r/0/1/ l./segment 0/, r/0/1/ l./page ...14/, r/82.12.20/88.05.30/, r/segment 1/segment 2/ l./j8:/, r/seg. 2/seg. 3/ l1, r/seg. 3/seg. 4/ l1, r/seg. 0/seg. 1/ l./j43:/, r/1<11+0/ -1/, r/alarm/seg. 1 alarm/ l./page ...15/, r/87.09.09/87.11.27/, r/segment 1/segment 2/ l./sh w3 23/, d6, i# sh w3 23 ; if kind > 23 <* zone *> sh w3 16 ; or kind < 17 <* boolean array *> jl. a6. ; goto not legal array else jl. c6. ; goto legal array; a6: ; not legal array: so w3 8 ; if kind = array or kind = procedure then jl. e4. ; goto kind error; # l./page ...16/, r/82.11.30/88.05.30/, r/segment 1/segment 2/ l./on segment 2/, r/segment 2/segment 3/ l./<:aram<10>/, d./e32 =/ l./segmnet0/, r/segmnet0/segment 1/ l./page ...17/, r/82.11.23/88.05.27/, r/segment 1/segment 2/ l./page ...18/, r/82.11.23/88.05.27/, r/segment 1/segment 2/ l./page ...19/, r/82.12.20/88.05.27/, r/segment 1/segment 2/ l./page ...20/, r/87.09.09/88.05.27/, r/segment 1/segment 2/ l./page ...21/, r/87.09.09/88.05.30/, r/segment 1/segment 2/ l./c6:/, d./jl. e4./, i# c6: ; legal array: se w3 17 ; if kind <> boolean array then am 1 ; lower lim := 2 al w3 1 ; else hs. w3 b31. ; lower lim := 1; sl w1 (x2+i17) ; if baseword addr >= last formal address sl w1 (x2+i18) ; and jl. a21. ; baseword addr < last litteral address then rs w1 x2+i18 ; last litteral address := baseword addr; a21:rl w3 x1 ; so w3 1 ; if base addr even then jl. e48. ; goto oddfield error; ba w1 0 ; (w0, w1) := dl w1 x1 ; (upper index, lower index); b31=k+1 ; lower lim: sl w1 2 ; if lower index >= lower lim jl. e8. ; goto index error; # l./page ...22/, r/87.09.09/88.05.30/, r/segment 1/segment 2/ l./on segment 3/, r/segment 3/segment 4/ l./e4:/, d./jl x3+e23/ ,i# e48:am c26-c19 ; oddf. error: textrel := seg1rel (<:oddfield:>) else e4 :am c19-c18 ; kind error: textrel := seg1rel (<:param:> ) else e8 :am c18-c20 ; index error: textrel := seg1rel (<:index:> ) else e16:al w1 c20 ; string error: textrel := seg1rel (<:string:> ) ; rl. w3 (j10.) ; goto jl x3+e23 ; kind error on segment 1; # l./page ...23/, r/82.11.23/88.05.27/, r/segment 1/segment 2/ l./seg. 1/, r/seg. 1/seg. 2/ l./segment 1/, r/segment 1/segment 2/ l./page ...24/, r/82.12.20/88.05.27/, g/segment 2/segment 3/ l./j11:/, r/segment 1/segment 2/ l1, r/segment 3/segment 4/ l./page ...25/, r/82.12.20/88.05.27/, r/segment 2/segment 3/ l./page ...26/, r/82.12.20/88.05.27/, r/segment 2/segment 3/ l./page ...27/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./page ...28/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./page ...29/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./page ...30/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./page ...31/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./page ...32/, r/82.12.20/88.05.27/, r/segment 2/segment 3/ l./page ...33/, r/82.12.20/88.05.27/, r/segment 2/segment 3/ l./page ...34/, r/82.12.20/88.05.27/, r/segment 2/segment 3/ l./segment 1/, r/segment 1/segment 2/ l./page ...35/, r/82.11.23/88.05.27/, r/segment 2/segment 3/ l./segment 2/, r/segment 2/seg. 3/ l./segment 2/, r/segment 2/segment 3/ l./page ...36/, r/82.12.20/88.05.27/, r/segment 3/segment 4/ l./seg. 2/, r/seg. 2/seg. 3/ l./page ...37/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./page ...38/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./page ...39/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./page ...40/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./page ...41/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./segment 2/, r/segment 2/segment 3/ l./page ...42/, r/82.12.20/88.05.27/, r/segment 3/segment 4/ l./page ...43/, r/82.12.20/88.05.27/, r/segment 3/segment 4/ l./page ...44/, r/82.12.20/88.05.27/, r/segment 3/segment 4/ l./segm 2/, r/segm 2/segm 3/ l./page ...45/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./segment 2/, r/segment 2/segment 3/ l./page ...46/, r/82.11.23/88.05.27/, r/segment 3/segment 4/ l./segment 3/, r/segment 3/seg. 3/ l./segment 3/, r/segment 3/segment 4/ l./m. jz/, r/87.11.05/88.05.31/, r/.fgs//, r/8,/8/ l./page ...47/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...48/, r/82.12.20/88.05.27/, r/segment 4/segment 5/ l./segment 0/, r/segment 0/segment 1/ l./page ...49/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...50/, r/82.12.20/88.05.27/, r/segment 4/segment 5/ l./segment 0/, r/segment 0/segment 1/ l./a1:/, l./al w0 0/, d1 l./jl. w3 (j19.)/, r/table;/table and zero record length;/ l./page ...51/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...52/, r/82.12.20/88.05.27/, r/segment 4/segment 5/ l./page ...53/, r/82.12.10/88.05.27/, r/segment 4/segment 5/ l./page ...54/, r/82.12.10/88.05.27/, r/segment 4/segment 5/ l./page ...55/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...56/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...57/, r/82.12.10/88.05.27/, r/segment 4/segment 5/ l./page ...58/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...59/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...60/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...61/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...62/, r/82.11.23/88.05.27/, r/segment 4/segment 5/ l./page ...63/, r/87.07.08/88.05.27/, r/segment 4/segment 5/ l./segment 4/, r/segment 4/seg. 3/ l./segment 4/, r/segment 4/segment 5/ l./m.jz/, r/82.12.20/88.11.10/, r/8,/8/ l./page ...64/, r/82.11.23/88.05.30/ l./6 segments/, g/6/7/ l./d3/, r/0<12/1<12/ l./5<12 +d12/, g/5/6/ l./; entry point/, r/12 /12/, r/0<12/1<12/ l./5<12 +d12/, g/5/6/ l./4<12+d4/, r/4<12/5<12/ l./5<12 +d12/, g/5/6/ l./4<12+d5/, r/4<12/5<12/ l./5<12 +d12/, g/5/6/ l./4<12+d6/, r/4<12/5<12/ l./5<12 +d12/, g/5/6/ l./...65/, r/87.07.08/88.05.30/ l./5<12 +d12/, g/5/6/ l./5<12 +d12/, g/5/6/, r/; 6/ ; 6/ l./5<12 +d12/, g/5/6/, r/; 6/ ; 6/ l./5<12 +d12/, g/5/6/ l./m.jz 87/, d1, i# m. jz 88.11.10 algol 8 write writeint outchar outtext m. outinteger replacechar outindex outtable isotable # f end ▶EOF◀