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

⟦f6c58194d⟧ TextFile

    Length: 6144 (0x1800)
    Types: TextFile
    Names: »tmonpr«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »tmonpr« 

TextFile

<*monitor procedure eqvivalents
1981-11-18
Anders Lindgård
*>
algol list.off;

integer procedure process_description(name);
long array name;
begin
   mon(4,0,0,0,name);
   processdescription:=monw0;
end;

integer procedure initialize_process(name);
long array name;
begin
  mon(6,0,0,0,name);
  initializeprocess:=monw0;
end;

integer procedure reserve_process(name);
long array name;
begin
  mon(8,0,0,0,name);
  reserveprocess:=monw0;
end;

procedure release_process(name);
long array name;
mon(10,0,0,0,name);

integer procedure include_user(name,device);
value device; integer device;
long array name;
begin
  mon(12,0,device,0,name);
  include_user:=monw0;
end;

integer procedure include_devices(name,list,last);
value last; integer last;
long array name;
integer array list;
begin
  for last:=last step -1 until 1 do
     mon(12,0,list(last),0,name);
end;

integer procedure exclude_user(name,device);
value device; integer device;
long array name;
begin
  mon(14,0,device,0,name);
  excludeuser:=monw0;
end;

integer procedure send_message(name,M);
long array name; integer array M;
begin
  mon(16,0,M,0,name);
  send_message:=monw2;
end;

integer procedure wait_answer(buffer,A);
value buffer; integer buffer;
integer array A;
begin
  mon(18,0,A,buffer,0);
  waitanswer:=monw0;
end;

integer procedure wait_message(name,buffer,M);
integer buffer;
integer array M;
long array name;
begin
  mon(20,0,M,0,name);
  buffer:=monw2;
  wait_message:=monw0;
end;

procedure send_answer(result,buffer,A);
value result,buffer; integer result,buffer;
integer array A;
  mon(22,result,A,buffer,0);

procedure get_event(buffer);
value buffer; integer buffer;
mon(26,0,0,buffer,0);

long procedure get_clock;
begin
  mon(36,0,0,0,0);
  getclock:=(extend monw0 shift 24 add monw1);
end;

integer procedure create_entry(name,tail);
long array name;
integer array tail;
begin
  mon(40,0,tail,0,name);
  createentry:=monw0;
end;


integer procedure lookup_entry(name,tail);
long array name;
integer array tail;
begin
  mon(42,0,tail,0,name);
  lookupentry:=monw0;
end;

integer procedure change_entry(name,tail);
long array name;
integer array tail;
begin
  mon(44,0,tail,0,name);
  changeentry:=monw0;
end;

integer procedure rename_entry(name, new_name);
long array name,newname;
begin
  mon(46,0,newname,0,name);
  renameentry:=monw0;
end;

integer procedure remove_entry(name);
long array name;
begin
  mon(48,0,0,0,name);
  removeentry:=monw0;
end;

integer procedure permanent_entry(name,key);
value key; integer key;
long array name;
begin
  mon(50,0,key,0,name);
  permanententry:=monw0;
end;

integer procedure create_peripheral(name,device);
value device; integer device;
long array name;
begin
  mon(54,0,device,0,name);
  create_peripheral:=monw0;
end;

integer procedure create_area_process(name);
long array name;
begin
  mon(52,0,0,0,name);
  createareaprocess:=monw0;
end;


integer procedure create_int(name,par);
long array name; integer array par;
begin
  mon(56,0,par,0,name);
  create_int:=monw0;
end create internal;

integer procedure start_int(name);
long array name;
begin
  mon(58,0,0,0,name);
  start_int:=monw0;
end;

integer procedure stop_int(name);
long array name;
begin
integer array A(1:8);
  mon(60,0,0,0,name);
  stopint:=monw0;
  if monw0=0 then
  begin
   mon(18,0,A,monw2,0);
   stopint:=monw0-1;
  end;
end;

integer procedure modify_int(name,par);
integer array par;
long array name;
begin
  mon(62,0,par,0,name);
  modifyint:=monw0;
end;

integer procedure remove_process(name);
long array name;
begin
  mon(64,0,0,0,name);
  removeprocess:=monw0;
end;

integer procedure generate_name(name);
long array name;
begin
  mon(68,0,0,0,name);
  generate_name:=monw0;
end;

integer procedure copy(bufref,first,last);
value bufref,first,last;
integer bufref,first,last;
begin
  mon(70,0,first,bufref,last);
  copy:=monw0;
end;

integer procedure set_cat_base(name,lower,upper);
value lower,upper; integer lower,upper;
long array name;
begin
  mon(72,lower,upper,0,name);
  setcatbase:=monw0;
end;

integer procedure set_entry_base(name,lower,upper);
value lower,upper; integer lower,upper;
long array name;
begin
  mon(74,lower,upper,0,name);
  setentrybase:=monw0;
end;

integer procedure lookup_head_and_tail(name,tail);
long array name;
integer array tail;
begin
  mon(76,0,tail,0,name);
  lookupheadandtail:=monw0;
end;


integer procedure set_bs_claims(name,doc,par);
long array name,doc;
integer array par;
begin
  mon(78,0,par,doc,name);
  set_bs_claims:=monw0;
end;

integer procedure create_pseudo_process(name);
long array name;
begin
  mon(80,0,0,0,name);
  createpseudoprocess:=monw0;
end;

integer procedure lookup_aux_entry(name,doc,tail);
long array name,doc;
integer array tail;
begin
  mon(86,0,tail,doc,name);
  lookupauxentry:=monw0;
end;

integer procedure set_priority(name,newpriority);
value newpriority; integer newpriority;
long array name;
begin
  mon(94,0,newpriority,0,name);
  setpriority:=monw0;
end;

integer procedure relocate_process(name,startaddress);
value startaddress; integer startaddress;
long array name;
begin
  mon(96,0,startaddress,0,name);
  relocateprocess:=monw0;
end;

integer procedure change_address_base(name,displacement);
value displacement; integer displacement;
long array name;
begin
  mon(98,0,displacement,0,name);
  changeaddressbase:=monw0;
end;

integer procedure lookup_bs_claims(name,doc,claim);
long array name,doc;
integer array claim;
begin
  long array d(1:3);
  d(1):=doc(1); d(2):=doc(2);
  mon(118,0,claim,d,name);
  lookupbsclaims:=monw0;
end;
algol list.on;
▶EOF◀