SendData1.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Created by Jean Gastinel, April 20, 1988 10:59:10 pm PDT
This module change the Atom which contains the program to send the Data
DIRECTORY
Atom,DynaBusInterface,Rope;
Send: CEDAR PROGRAM
IMPORTS Atom
EXPORTS
~ BEGIN
Quad: TYPE = DynaBusInterface.Quad;
C: PROC [c: CARD] RETURNS [rc: REF ANY] = {rc ← NEW[CARD ← c]};
Q: PROC [c: Quad] RETURNS [rc: REF ANY] = {rc ← NEW[Quad ← c]};
Atom.PutProp[$Simul2Sender, $PKList, LIST[
$Init,
$StartStop,
LIST[$IOWriteRqst, Q[[0,0,0,1]],Q[[0,0,4,6]]],
$WaitMsgSent,
LIST[$WaitIOWRqstandCheck, Q[[0,0,0,1]],Q[[0,0,4,6]]], -- for the Echo
LIST[$IOReadRqst, Q[[0,0,5,6]]],
$WaitMsgSent,
$WaitMsgReceived,
LIST[$IOReadRply, Q[[0,0,5,6]],Q[[0,0,4,2]]],
$WaitMsgSent,
LIST[$WaitIOReadRplyandCheck, Q[[0,0,5,6]],Q[[0,0,4,2]]], -- for the Echo
LIST[$ReadBlockRqst, Q[[0,0,2,3]]],
$WaitMsgSent,
LIST[$WaitReadBlockRqstandCheck, Q[[0,0,2,3]],Q[[0,0,0,0]]], -- for the Echo
LIST[$ReadBlockRply, Q[[0,0,7,8]],Q[[0,1,2,3]],Q[[1,2,3,4]],Q[[2,3,4,5]],Q[[3,4,5,6]]],
$WaitMsgSent,
$WaitMsgReceived,
$Nop,
LIST[$Jump, $Nop]
]];
END.