DataMuseum.dk

Presents historical artifacts from the history of:

RC3500

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

See our Wiki for more about RC3500

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦37e2fa711⟧ TextFileVerbose

    Length: 9216 (0x2400)
    Types: TextFileVerbose
    Names: »pemnjobs«

Derivation

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

TextFileVerbose


%

(************************************************
*   pemn, test :  1,  8/5/80 .                  *
*                                               *
*  succ, pred, chr, ord                         *
************************************************)

process  test1;

var
ch : char;
i : integer;
r : -10 .. 11;

begin

ch := 'a';
i := 0;
r := -1;

i := succ( i );
i := pred( i );

ch := succ( ch );
ch := pred( ch );

r := succ( i );
r := succ( r );
r := pred( r );
i := pred( r );

i := ord( ch );
ch := chr( i );

i := ord( chr( ch ) ) 

end.


%



(******************************************************
*     pemn, test : 2, 22/5/80 .                       *
*                                                     *
*     pass5mext2  ( platonlib )                       *
******************************************************)

process  test2;

var
 r : reference;
 s : semaphore;
 i : integer;
 poo : pool 1 of integer;

process  p;
external;

begin

   i := abs( i );
   alloc( r, poo, s );
   create( i, p )

end.


%




(*******************************************************
*     pemn, test : 3,   28/5/80 .                      *
*     internal process declarations                    *
*******************************************************)

process  test3;

process t1;
begin
end;

begin
end.



%




(*********************************************************
*        pemn, test : 4,    29/5/80 .                    *
*        comparisons of pointers                         *
*********************************************************)


process  test4;

var
 p1, p2 : record  a: ^ integer end;
 q1, q2 : ^ integer;

begin

p1 := p2;
q1 := q2;

if q1^ = q2^ then;
if q1^ <> q2^ then;

if p1 = p2 then;
if p1 <> p2 then;
if q1 = q2 then;
if q1 <> q2 then

end.



%




(***************************************************
*       pemn, test : 5,    5/6/80.                 *
*       assignment too boolean types               *
***************************************************)

process  test5;

var
b1,b2 : boolean:=true;

procedure p( p1:boolean; var p2:boolean );

var
b3,b4 : boolean:=false;

begin
b3:=true;
b4:=false;
p1:=p2;
p1:=true;
p2:=false
end;

begin
b1:=true;
b2:=false;
b1:=b2;
b2:=b1;
p( b1,b2 )
end.


%




(*************************************************
*      pemn, test : 6   ,  5/6/80 .              *
*      test rev. 0 to rev. 1                     *
*************************************************)


(*$ 5 2 0 *)
process test6;

type
prec = record
pa : pool 1 of boolean;
pb : pool 2 of array( 1 .. 5 ) of boolean;
end;

var
ch:char:='a';
i:integer:=3;
r:reference;
s:semaphore;
p1 : pool 3 of array( 1 .. 5 ) of integer;
p2:prec;
p3 : array( 1 .. 10 ) of prec;

process q; external;

procedure wait( var s:semaphore; var r:reference ); external;
procedure ref; external;

begin

ch:=chr(i);
i:=ord(ch);

ch:=succ(ch);  ch:=pred(ch);
i:=succ(i);    i:=pred(i);

i:=abs(i);
signal(r,s);

wait(s,r);
ref

end.


%



(**********************************************************
*          pemn, test : 7 , 11/6/80.                      *
*          debug ( tele ) .                               *
**********************************************************)


process test7;

type
macroaddr = packed record
            dc_addr : 0..15;
            nc_addr : 0..63;
            ts_addr : 0..63
            end;

alarmnetaddr = packed record
               macro : macroaddr;
               micro : integer
               end;

alarmlabel = packed record
             no_of_by : integer;
             rec : alarmnetaddr
             end;

const
    ts1_macro = macroaddr( 7, 9, 13 );
    dcts_macro = ts1_macro;
   l1_const = l_const;


var
    x : alarmlabel;
    dc_addr : macroaddr;
    owntsmacro : macroaddr;
   v : p_type;

begin

   owntsmacro := ts1_macro;
   owntsmacro := dcts_macro;
  v := l_const;
  v := l1_const;

   if owntsmacro = dc_addr then;
   if owntsmacro = dcts_macro then;
  if v = l_const then;
  if v = l1_const then;

   x.rec.macro := dc_addr;

   if x.rec.macro = dc_addr then;

end.




%




(****************************************************
*   pemn, test :  8,  13/6/80 .                     *
*   debug ( tele ).                                 *
****************************************************)


process test8;

type
telegram_type = packed record
                opcode_part : set of 13 .. 15;
                check_part :  set of  8 .. 12;
                data_part :   set of  0 .. 7
                end;

databuffer_type = record
                  first, top, next : integer;
                  telegram : telegram_type
                  end;

var
x : databuffer_type;
y : set of 8 .. 12;

begin

with x.telegram do
check_part:= y

end.



%






(************************************************
*      pemn, test : 9,  2/7/80 .                *
*      test :  rev. 1 to rev. x ( later rev 2 ) *
************************************************)


process  test9;

type
t1 = array ( 1 .. 5 ) of reference;
t2 = record
      r1 : reference;
      p1 : ^ t1;
      r2 : reference
    end;
t3 = array ( 1 .. 5 ) of integer;
t4 = record
      f1, f2, f3 : char
     end;
t5 = set of 1 .. 16;

procedure  exception( i : integer );
begin
end;

var
i, j : integer;
k : 0 .. 16;
m1 : t3;
m2 : t4;
s1 : t5 := (. 15 .. 16 .);
r1, r2 : reference;

v1 : ^ t1;
v2 : semaphore;
v3 : shadow;
v4 : pool 3 of integer;

procedure p1( par1 : t3; par2 : t4; par3 : t5 );
begin
end;

procedure p2;
var
r1 : reference;
rec1 : record
        f1 : reference;
        f2 : t2;
        f3 : t1
       end;
a1 : t1;
a2 : array ( 2 .. 4 ) of t2;
a3 : array ( 3 .. 4 ) of t1;

begin
end;

begin

k := k+1;
p1( m1, m2, s1 );
s1 := s1 + (. 13, 15 .);

for k := 1 to 10 do
lock r1 as v : integer do
channel r2 do
for j := 5 downto 1 do r1 :=: r2

end.



%




(****************************************************
*      pemn, test : 10 , 14/7/80.                   *
*      test :  debug ( tele ).                      *
****************************************************)

process test10;

var
i : integer;

begin

case i of
1: ;
2: ;
4,5,6: ;
end

end.






%



(**************************************************
*      pemn, test : 11 , 24/7/80.                 *
*      test :  debug ( tele ).                    *
**************************************************)

process test11;

type
a = record
      f, a : integer
    end;
b = record
      b, f : integer
    end;

var
 aa : a;
 bb : b;

begin

with aa, bb do
begin
  f := a;
  b := f
end

end.


%




(*****************************************************
*        pemn, test : 12 , 13/8/80,                  *
*        test :  debug ( tele ).                     *
*****************************************************)


process  test12;

type

statetype = ( idle, wd, wrtr, wt, wack );
inputtype = ( enq, data, out, here, rnr, nak, ack, rtr, lto, tto, nons );

staterow = array ( inputtype ) of statetype;

statetabletype = array ( statetype ) of staterow;



const

statetable =
 statetabletype(

  staterow( wd, idle, wrtr, idle, idle, idle, idle, idle, idle, idle, idle ),
  staterow( wd, idle,   wd,   wd,   wd,   wd,   wd,   wd,   wd,   wd,   wd ),
  staterow( wt, wrtr, wrtr, wrtr,   wt, wrtr, wrtr, wack, wrtr, wrtr, wrtr ),
  staterow( wd,   wt,   wt,   wt,   wt,   wt,   wt,   wt,   wt, wrtr,   wt ),
  staterow( wack, wack, wack, wack, wack, wack, idle, wack, wack, wack, wack )
               );

var

x : statetype;


begin

x := statetable( wd, here )

end.





%



(********************************************************
*      pemn, test : 13 , 13/8/80,
*      test : debug ( tele ).
********************************************************)


process  test13;

type

r1 = record
      f1 : byte;
      f2 : integer;
      f3 : byte;
      f4 : bit
    end;

r2 = packed record
      f1 : byte;
      f2 : integer;
      f3 : byte;
      f4 : bit
    end;

var

xr1 : r1;
xr2 : r2;

x : integer;

begin

with xr1 do
begin
 x := f1; x := f2; x := f3; x := f4
end;

with xr2 do
begin
 x := f1; x := f2; x := f3; x := f4
end;

xr1.f4 := x;    xr2.f4 := x

end.




%




«eof»