|
|
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: 7680 (0x1e00)
Types: TextFile
Names: »after «
└─⟦01e83a425⟧ Bits:30008166 Bånd med SW8010 og SW8500 source code
└─⟦75ff9bef3⟧
└─⟦this⟧ »after «
mode list.yes
ft=algol survey.yes
begin
boolean med_kopi;
integer i, j, k ;
integer array zd, zd_org, zd_kopi (1:20);
long array field docname;
zone z (128, 1, kopiproc);
procedure tøm_zone (z);
zone z ;
begin
integer array zd (1:20);
getzone6 (z, zd );
outchar (z, 'em');
setposition (z, 0, 0);
setzone6 (z, zd );
end tøm_zone;
procedure kopi_proc (z, s, b);
zone z ;
integer s, b ;
begin
integer i;
integer array zd (1:20);
if s extract 1 = 1 then
stderror (z, s, b);
if s shift (-5) extract 1 = 1 then
begin <*does not exist*>
getzone6 (z, zd);
if zd.docname (1) = long <:e :> then
begin <*kopi*>
zd (9) := zd (9) - 1; <*decrease segm count*>
<*skriv i kopiareal*>
for i := 7 step 1 until 20 do
zd_kopi (i) := zd (i);
setzone6 (z, zd_kopi);
setposition (z, 0, 0 );
<*skriv i dataareal*>
for i := 7 step 1 until 20 do
zd_org (i) := zd (i);
setzone6 (z, zd_org);
setposition (z, 0, 0 );
getzone6 (z, zd);
zd_org (6) := zd (6); <*nta*>
zd (9) := zd_org (9) + 1;
zd.docname (1) := long <:e :>;
setzone6 (z, zd);
end else
stderror (z, s, b) <*not hard error, not nonexist*>
end else
stderror (z, s, b);
end kopi_proc;
_kopi := fp_mode (1);
docname := 2;
if med_kopi then
begin
open (z, 4, <:kopifil:>, 0);
monitor (52, z, i, zd); <*create area process*>
inrec6 (z, 0); <*name table address*>
setposition (z, 0, 0);
getzone6 (z, zd_kopi);
close (z, false);
end med_kopi;
open (z, 4, <:datafil:>, 0);
outrec6 (z, 512); <*name table address*>
setposition (z, 0, 0);
monitor (8, z, i, zd);
if med_kopi then
begin
getzone6 (z, zd_org);
zd_org (10) := 1 shift 5; <*give up mask := not exist*>
getzone6 (z, zd );
zd.docname (1) := long <:e :>;
zd (10) := 1 shift 5; <*give up mask := not exist*>
setzone6 (z, zd);
end;
for i := 1 step 1 until 7 do
begin
write (z, <:<10>< start transaction<10>:>);
for j := 11, 12, 13, 14 do
write (z, false add ('a' + i + j - 11), j, "nl", 1);
write (z, <:end transaction<10>:>, ">", 1, "nl", 1);
tøm_zone (z);
end;
if med_kopi then
begin
getzone6 (z, zd);
for i := 1 step 1 until 20 do
zd (i) := zd_org (i);
setzone6 (z, zd);
end;
outchar (z, 'em');
close (z, true);
d; en
end
▶EOF◀