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 - download

⟦721f54f61⟧ TextFile

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

Derivation

└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
    └─⟦a957ba283⟧ 
        └─ ⟦this⟧ »sendwaittx  « 

TextFile

sendwait=set 1
sendwait=algol
external
<* procedure sendwait sender en message og afventer et answer

   kald:
   =====

     sendwait(z,buf);

       z     (kald, zone)          Zone åbnet til den proces hvortil message
                                   skal sendes.

       buf   (kald/retur, int.arr) Indeholder ved kaldet den message der skal
                                   sendes i ord 1 til 8. Ved retur indeholder
                                   den answer ligeledes i ord 1 til 8, idet
                                   ord 1 indeholder status inklusive result.

  Ændringshistorie:
  =================

    871020 ho:  Original version.
*>

procedure sendwait(z,buf);
  zone             z;
  integer array      buf;
begin
  zone z1(1,1,stderror);
  integer res;
  integer array zd, zd1(1:20), zs(1:12);
  getzone6(z,zd); 
  getzone6(z1,zd1);
  tofrom(zd1,zd,26);
  setzone6(z1,zd1);
  getshare6(z1,zs,1);
  zs(1):= 1;
  zs(4):=buf(1); zs(5):=buf(2); zs(6):=buf(3); zs(7):=buf(4);
  zs(8):=buf(5); zs(9):=buf(6); zs(10):=buf(7); zs(11):=buf(8);
  setshare6(z1,zs,1);
  monitor(16)send message:(z1,1,zs);
  res:=monitor(18)wait answer:(z1,1,buf);
  buf(1):=buf(1) add (1 shift res);
end sendwait;
end
▶EOF◀