INTERP:rocESS CGMJNICATICN
AND
DISPATCHING
EXAMPLE
Return-print_message:
Procedure;
/**********************************************************************************/
/*
Sem
message
to
Print
Reply
Port.
See
Figure
F-6
*/
/**********************************************************************************/
W~ndow_4.frf-prcs_idx
Window
4.frf.operand(O)
Window-4.frf
operand(l)
Window=4.frf=operator
=
process
1;
=
replY-PQrt_obj_sel;
= message
obj
sel;
= 016H; - -
/*
process
object
index
/*
port
/*
message
/*
Send
function
code
*/
*/
*/
*/
If
~imow_4.frf_function_state
and
OOlOH)
<>
0 Then
Jk)
/******************************************************************************/
/*
Sem
instruction
blocked,
wait
for
a
GOP
process
to
receive
a
*/
/*
message from
the
Print
Reply
Port.
Busy
wait
for
a
GOP
process
*/
/*
to
receives
a message
fran
the
Print
Reply
Port.
Such an
event
*/
/*
will
trigger
an
AP
interrupt
and
set
Window
4.disp
state
true
*/
/*
to
indicate
the
nature
of
the
interrupt.
- -
*/
/******************************************************************************/
Jk)
While
not
(Window_4.disp_state =
1);
End;
/******************************************************************************/
/*
At
this
point
WindCM
4.selected
index
contains
the
index
of
the
*/
/*
process
object
which-was
dispatChed.
Since
'we
are
using
only
process
* /
/*
object
o~
selected
index
will
equal
one.
Window
4.selected
state
*/
/*
contains
software
defined
information
concerning-the
action-taken,
if
*/
/*
any,
by
roftware
in
completing
this
instruction.
* /
/******************************************************************************/
call
Dispatdl;
Em;
/*
Hang
IP
processor
carrier
on
dispatching
port.
*/
Em:
Em
Return-print_message:
F-9