|
|
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: 6144 (0x1800)
Types: TextFile
Names: »retbinin3tx «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »retbinin3tx «
mode list.yes
binin4tx=edit binin3tx
;
; ny parameter disc.<disc> or disc.(0/1/2/3)
;
l./page ...1/, r/rc 1977.02.04/fgs 1988.05.03/
l./a32, b26/, r/a32, b26/a40, b40/
l./page 8/, r/rc 29.07.1971/fgs 1988.05.03/
l./1<1+1/, r/1<1+1/1<2 /, r/ on disc/, temporary/
l./page 10/, r/rc 19.02.1973/fgs 1988.06.02/
l./d13:/, d1, i/
d13: al. w2 b17. ; w2 := addr docname;
rl w0 x2 ; w0 := docname.first word;
rl w1 x1 ; w1 := permkey;
sl w0 4 ; if docname.first word > 3 then
am 40 ; permanent entry into auxcat else
jd 1<11+50 ; permanent entry;
/, p-6
l./page ...11/, r/rc 1977.02.04/fgs 1988.05.03/
l./a20:/, d./a11:/, i#
a20: ba w2 x3-1 ; ok: current command := current command +
rx. w2 g3. ; size part(command table(index-1));
am 6 ;
se. w3 g4. ; if create then
jl. a11. ; begin
ds. w3 b5. ; save w2, w3;
rl w3 x2+12 ;
sh w3 -1 ; if tail.size >= 0 and
jl. a38. ; if discname (1) >= 0 then
al. w3 b17. ; begin
dl w1 x3+2 ; move
sh w0 -1 ; discname
jl. a38. ; from
ds w1 x2+16 ; b17
dl w1 x3+6 ; to
ds w1 x2+20 ; current command.tail.docname;
a38: dl. w3 b5. ; end;
rl. w1 i9. ;
sn w1 0 ; if list.yes then
jl. a11. ; begin
ds. w3 b5. ;
al w2 10 ;
jl. w3 h26.-2 ; writenl;
dl. w3 b5. ;
al w0 x2+4 ; write(out,<:entryname:>);
jl. w3 h31.-2 ; end;
dl. w3 b5. ; end;
#
l1, r/ bz./a11: bz./
l./b1:/, i#
\f
; fgs 1988.05.03 fp utility, binin, page 11a
#
l./d18:/, i#
\f
; fgs 1989.01.11 fp utility, binin, page 12a
#
l./b10:/, l1, i/
b17: <:dis:> ; -1 ; default for discname (1) : -1 means no default
<:c<0>:>; 0 ; - (2)
<:<0>:> ; 0 ; - (3)
<:<0>:> ; 0 ; - (4)
b24: <:list:> ;
b25: <:no:> ;
b26: <:yes:> ;
b27: <:disc:> ;
b28: <:disk:> ;
/, p-4
l./page ...13/, r/rc 1977.02.04/fgs 1989.01.11/
l./d2:/, d./b26:/, i#
d2: rl. w2 f4. ; scan parameter list:
ba w2 x2+1 ; next param;
rs. w2 f4. ;
al w0 0 ;
hs. w0 i0. ; check := false;
hs. w0 i7. ; s := false;
rl w0 x2 ; if param <> (space,name) then
se. w0 (b11.) ; goto not name;
jl. a32. ;
dl w1 x2+4 ;
sn. w0 (b24.) ; if name = <:lis:>
se. w1 (b24.+2) ;
jl. a39. ;
jl. a33. ;
a39: sn. w0 (b27.) ; or name = <:disc:>
se. w1 (b27.+2) ;
jl. a40. ;
jl. a34. ;
a40: sn. w0 (b28.) ; or name = <:disk:> then
se. w1 (b28.+2) ;
jl. a18. ; case name of
jl. a34. ; begin
a33: rl w0 x2+10 ; begin <*list*>
se. w0 (b12.) ; if next param <> pointname then
jl. a18. ; goto next tape;
rl w0 x2+12 ;
sn. w0 (b25.) ; if next param = <:no:> then
jl. a31. ; goto listno ;
se. w0 (b26.) ; if next param <> <:yes:> then
jl. a18. ; goto next tape;
am 1 ; listyes:
a31: al w0 0 ; listno :
rs. w0 i9. ; list := list.(yes/no);
jl. a37. ; end <*list*>;
\f
; fgs 1989.01.11 fp utility, binin, page ...13a...
a34: rl w0 x2+10 ; begin <*disc*>
se. w0 (b12.) ; if next param <> pointname and
sn. w0 (b20.) ; next param <> pointint then
jl. a35. ; goto next tape;
jl. a18. ;
a35: se. w0 (b20.) ; if next param = pointint then
jl. a36. ; begin
rl w0 x2+12 ; int := next param;
sl w0 0 ; if int < 0
sl w0 4 ; or int > 3 then
jl. a18. ; goto next tape;
rs. w0 b17. ; discname (1) := int;
jl. a37. ; end else
a36: dl w1 x2+14 ; begin <*next param = pointname*>
ds. w1 b17.+2 ; discname :=
dl w1 x2+18 ; next param;
ds. w1 b17.+6 ; end;
; end <*disc*>;
a37: rl. w2 f4. ; end case;
al w2 x2+10 ;
rs. w2 f4. ; prepare for next param;
jl. d2. ; goto scan param list;
#
l./a32:/, i#
\f
; fgs 1989.01.11 fp utility, binin, page ...13b...
#
l./a15:/, i#
\f
; fgs 1988.05.03 fp utility, binin, page ...14a...
#
l./a17:/, i#
\f
; fgs 1988.05.03 fp utility, binin, page ...15a...
#
l./m.rc/, r/77.02.04/89.01.11/
f
end
▶EOF◀