|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1536 (0x600)
Types: TextFile
Names: »sendwaittx «
└─⟦110021343⟧ Bits:30007476 RC8000 Backup tape fra HT's bus-radio system
└─⟦a957ba283⟧
└─⟦this⟧ »sendwaittx «
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◀