|
|
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: 2304 (0x900)
Types: TextFile
Names: »twritezone«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦e4d872f9f⟧ »cproc«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦e4d872f9f⟧ »cproc«
└─⟦this⟧
;klab3 6
slet al3.writez
beskyt al3.writez.7
writez=algol
external procedure writez(z,z1);
zone z,z1;
begin integer i,d,zs,zc;
d:=zonedes(z1);
zs:=wordload(d+34);
zc:=wordload(d+12) shift (-16);
write(z,<:<10>zonedescriptor<10>part 0: buffer and share:>,<<-ddddd>,
<:<10>base buffer area :>,wordload(d),
<:<10>last of buffer :>,wordload(d+2),
<:<10>used share :>,wordload(d+4),
<:<10>first share :>,wordload(d+6),
<:<10>last share :>,wordload(d+8),
<:<10><10>part 1: process description:>,
<:<10>mode :>,wordload(d+9)shift (-12) extract 11,
<:<10>kind :>,wordload(d+10) extract 12);
if zc>96 and zc<127 then write(z,<:<10>name :>,string doubleload(d+14),
string doubleload(d+18));
write(z,<:<10>name table :>,wordload(d+20),
<:<10>file count :>,wordload(d+22),
<:<10>block count :>,wordload(d+24),
<:<10>segment count :>,wordload(d+26),
<:<10><10>part 2: status handling:>,
<:<10>give up mask :>);
writebinary(z,wordload(d+28));
write(z,<:<10>give up action (FP) :>,<< -dddddd>,d+30);
i:=wordload(d+32);
write(z,<< ddd>,
<:<10>partial word :>,i shift(-16)extract 8,
i shift(-8)extract 8,i extract 8,<<-ddddd>,
<:<10>zone state :>,wordload(d+34),
<:<10><10>part 3: record description:>,
<:<10>record base :>,wordload(d+36),
<:<10>last byte :>,wordload(d+38),
<:<10>record length :>,wordload(d+40),
<:<10>array :>,wordload(d+42),
<:<10><10>part 4: scope:>,
<:<10>stackref blockproc:>,wordload(d+44),
<:<10>entry :>,wordload(d+46),
<:<10>chain :>,wordload(d+48));
end;
end;
▶EOF◀