DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦705126f26⟧ TextFile

    Length: 2304 (0x900)
    Types: TextFile
    Names: »twritezone«

Derivation

└─⟦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⟧ 

TextFile

;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◀