program processes(input,output); const procaad=-2134900528;maxprocs=-2134900736; type procf=packed record user:packed array[0..6] of char; incar,category,wsn,rung,active:char; actwo,lstat,lamtx,stack,status:integer end; plist_t=packed array [0..256] of procf; proc_p_t=record dummyp:integer; case boolean of true:(paddr:integer); false:(pval:^procf) end; integer_p_t=record dummyi:integer; case boolean of true:(iaddr:integer); false:(ival:^integer) end; var int_ptr:integer_p_t; proc_ptr:proc_p_t; process_list:plist_t; i,process_base,max,procno,nusers:integer; begin for procno:= 0 to 256 do process_list[procno].user[0]:=chr(0); nusers:=0; int_ptr.iaddr:=procaad; process_base:=int_ptr.ival^; writeln('Process base is at ',process_base:10); int_ptr.iaddr:=maxprocs; max:=int_ptr.ival^; writeln('Maxprocs is ',max:10); { for procno:= 0 to max-1 do begin} procno:=0; proc_ptr.paddr:=process_base + 32 * procno; process_list[procno]:=proc_ptr.pval^; { end;} writeln('array filled up'); for procno:=0 to max-1 do begin if process_list[procno].user[0]=chr(6) then begin write('Process number:',procno:4,' is '); for i:= 1 to 6 do write(process_list[procno].user[i]); writeln; end; end; end.