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

⟦4c506d3d2⟧ TextFile

    Length: 1536 (0x600)
    Types: TextFile
    Names: »dumprectxt«

Derivation

└─⟦a41ae585a⟧ Bits:30001842 SW-save af projekt 1000, Alarm-system
    └─⟦72244f0ef⟧ 
        └─⟦this⟧ »dumprectxt« 

TextFile

dumprec=set 5 disc1
scope user dumprec
dumprec=algol
external
procedure dump_rec(rec,length,text);
value length; integer length;
integer array rec;
string text;
begin <* dumps the record 'rec' on current output *>
integer i,l;
boolean sp,nl;

sp:=false add 32;
nl:=false add 10;


l:=62;
write(out,false add 42,l,nl,1);
i:=write(out,<:* record-dump at :>,text);
if i<l then
write(out,sp,l-1-i,<:*:>);
write(out,nl,1,<:*:>,false add 61,l-2,<:*:>,nl,1);
write(out,
_ <:* no__integer_half-word:>,sp,9,<:byte__char___real:>,
_ sp,8,<:dno_*:>,nl,1);


for i:=1 step 1 until length do
begin integer c1,c2,c3,b1,b2,b3,h1,h2;
real r;
real field rf;

h1:=rec(i) shift (-12) extract 12;
h2:=rec(i) extract 12;
c1:=rec(i) shift (-16) extract 8;
c2:=rec(i) shift (-8) extract 8;
c3:=rec(i) extract 8;
b1:=c1 extract 7;
b2:=c2 extract 7;
b3:=c3 extract 7;
if (b1<32) or (b1>126) then b1:=32;
if (b2<32) or (b2>126) then b2:=32;
if (b3<32) or (b3>126) then b3:=32;

rf:=2*(i+1);

r:=if i=length then 0 else rec.rf;

write(out,<:*:>,<<ddd>,i,<:::>,
_     <<-ddddddd>,rec(i),
_     << dddd>,h1,h2,sp,1,
_     << ddd>,c1,c2,c3,sp,2,<:':>,
_     false add b1,1,
_     false add b2,1,
_     false add b3,1,
_     <:':>,sp,1,<<-d.ddd'-ddd>,r);
write(out,<:_::>);
if (i mod 2=1) then write(out,<<ddd>,i//2+1,<: *:>)
else write(out,sp,4,<:*:>);
write(out,nl,1);
end;


write(out,false add 42,l <* * *>,nl,1);
setposition(out,0,0);
end dump rec;
end
finis
▶EOF◀