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

⟦2b585a18b⟧ TextFile

    Length: 3072 (0xc00)
    Types: TextFile
    Names: »test5«

Derivation

└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
    └─⟦6b41451d2⟧ 
        └─⟦this⟧ »test5« 

TextFile

mode list.yes
baistest = pascal80 codelist.yes short.yes list.yes survey.2 spacing.10,
  codesize.12000
process aistest( var sv : system_vector );;

const
byt_c = 123;
word_c = 16234;
bit_1_c = 1;  bit_4_c = 13; bit_5_c = 29;
 

var
poolvar : pool 1;
sem1 : semaphore;
ref1 : reference ;

var

oo, o : integer;

type
qqq_type = record
int1, int2, int3, int4 : integer;
addr1, addr2 : ^ integer;
end;

var
qqq1, qqq : qqq_type;
byt : byte;
double : ^ integer;
 
type
ppp_type = packed record
b1, b2 : byte;
f1, f2, f3 : bit;
f4 : 0 .. 31;
f5, f6 : 0 .. 15;
end;

var
ppp : ppp_type := ppp_type( 0, 0, bit_1_c, bit_1_c, bit_1_c, bit_5_c, bit_4_c, bit_4_c );


procedure level1 ( var qqq : qqq_type ; var ppp_param : ppp_type );
var

byt : byte;
double : ^ integer;
 
ppp : ppp_type;


begin
byt := 124; byt := byt; 
if byt <> ( byt_c + 1 ) then trace( 1 );
double := double;

ppp := ppp_param;
 
with ppp do
begin
b1 := b2; b2 := b1;
f1 := f2; f2 := f3; f3 := f1;
f4 := f4;
f5 := f6; f6 := f5;
end; (* with *)

with ppp_param do
begin
f1 := f2; f2 := f3; f3 := f1;
f4 := f4;
f5 := f6; f6 := f5;
b1 := b2; b2 := b1;
end; (* with *)

if ppp <> ppp_param then trace( 2 );


with ref1 ^ do
begin
u1 := 17; u2 := 19; u3 := 21; u4 := 23;
u1 := u2; u2 := u3; u3 := u4; u4 := u1;
if (u1<>19) or (u2<>21) or (u3<>23) or (u4<>19) then trace ( 3 );
end;

with qqq do
begin
int1 := int2 ; int2 := int3; int3 := int4; int4 := int1;
addr1 := addr2;
addr2 := addr1;
end;


end;



begin

trace(0);


with ppp do
begin
b2 := byt_c;
b1 := b2; b2 := b1;
if (b1 <> b2) or (b1 <> byt_c) then trace( 4 );
f1 := f2; f2 := f3; f3 := f1;
if (f1<>bit_1_c) or (f1<>f2) or (f2<>f3) then trace(5);
f4 := f4;
if f4 <> bit_5_c then trace( 6 );
f5 := f6; f6 := f5;
if (f5<>f6) or (f5<>bit_4_c) then trace( 7 );
end; (* with *)

alloc( ref1, poolvar, sem1 );

with ref1 ^ do
begin
u1 := 17; u2 := 19; u3 := 21; u4 := 23;
u1 := u2; u2 := u3; u3 := u4; u4 := u1;
end;

qqq := qqq1;
level1(qqq, ppp);

with qqq1 do
begin
int1 := int2 ; int2 := int3; int3 := int4; int4 := int1;
addr1 := addr2;
addr2 := addr1;
end;
if qqq <> qqq1 then trace ( 8 );



o := 0; oo := 0;
o := 1 + o;  oo := oo + o;
o := 2 + o;  oo := oo + o;
o := 3 + o;  oo := oo + o;
o := 4 + o;  oo := oo + o;
o := 5 + o;  oo := oo + o;
o := 6 + o;  oo := oo + o;
o := 7 + o;  oo := oo + o;
o := 8 + o;  oo := oo + o;
o := 9 + o;  oo := oo + o;
o := 10 + o;  oo := oo + o;
o := 11 + o;  oo := oo + o;
o := 12 + o;  oo := oo + o;
o := 13 + o;  oo := oo + o;
o := 14 + o;  oo := oo + o;
o := 15 + o;  oo := oo + o;
o := 16 + o;  oo := oo + o;
if (o <> (17*8)) or ( oo <> 2*(16 + 15*2 + 14*3 + 13*4 + 12*5 + 11*6 
  + 10*7 + 9*8 )) then trace ( oo );
trace ( #he );
end.
▶EOF◀