Specifications

Multi
Slave
Product
Re£erence
Manual
Section
2
MASTER
PROCESSOR
(RECEIVING
MESSAGE
FROM
SLAVE)
IN
BIT
RET
OUT
WAIT1:
IN
BIT
JR
BIT
JR
IN
RET
A,
(SLVSTAT)
SLVMSG,A
NZ
(MSGRST),A
A,
(SLVSTAT)
SLVWRT,A
NZ,WAITl
SLVHLD,A
NZ,WAITl
A,
(SLVDATA)
;
GET
SLAVE STATUS
;
IS
SLAVE MESSAGE
BIT
SET?
; NO,
RESUME
OTHER TASKS
(ACTIVE
LOW)
OUTPUT CLEARS SLAVE
MESSAGE
BIT
; (CONTENTS
OF
A-REG
INSIGNIFICANT)
GET
SLAVE STATUS
BITS
IS
SLAVE WRITING
TO
5-100
PORT?
LOOP
IF
NOT
;
IS
SLAVE
IN
A
HOLD
CONDITION?
LOOP
IF
NOT
;
ALL
IS
READY
-
GET
THE
DATA
BYTE
;
AND
RETURN
TO
CA~LING
TASK
MASTER PROCESSOR (SENDING
MESSAGE
TO
SLAVE>
LD
OUT
WAIT2:
IN
BIT
JR
WAIT3:
IN
BIT
JR
BIT
JR
LD
OUT
RET
A,OOOOOOlOB
(SLVSTAT),A
A,
(SLVSTAT)
MASTER,A
NZ,WAIT2
A,
(SLVSTAT)
SLVWRT,A
Z,WAIT3
SLVHLD,A
NZ,WAIT3
A,(HL)
(SLVDATA),A
SET
MASTER
MESSAGE
BIT
...
••.
SO
THE
SLAVE WILL
SEE
IT
GET
SLAVE STATUS
HAS
THE
SLAVE RESET
IT
YET?
LOOP UNTIL
HE
HAS
DONE
SO
GET SLAVE STATUS AGAIN
IS
SLAVE READING
THE
5-100
PORT?
LOOP
IF
NOT
IS
SLAVE
IN
A
HOLD
CONDITION?
; LOOP
IF
NOT
GET
BYTE
TO
SEND
SEND
IT
TO
THE
SLAVE
AND
RETURN
TO
CALLING
TASK
SLAVE PROCESSOR
(RECEIVING
MESSAGE
FROM
MASTER)
IN
IN
RET
A,
(HASTER)
A,
(DATAPORT)
; CLEAR
MASTER
MESSAGE
BIT
AND
IMMEDIATELY
READ
THE
S-100
PORT
;
RETURN
TO
CALLING
TASK
SLAVE PROCESSOR (SENDING MESSAGE
TO
MASTER)
IN
A,
(SLVMSG)
LD
A,B
OUT
(DATAPORT),A
RET
;
SET
SLAVE MESSAGE
BIT
B-REG
HAS
DATA
BYTE
TO
SEND
; OUTPUT
DATA
BYTE
TO
5-100
DATA
PORT
;
RETURN
TO
CALLING
TASK
Note
that
these
examples
transmit
and
receive
only
a
single
byte
at
a ti~e
and
provide
only
a
skeletal
communications
protocol.
The
slave
may
utilize
the
280
block
input
and
output
instructiona
to
receive
and
trana~it
any
number
bytes
to
the
master,
though
the
user
should
employ
a
slightly
more
sophisticated
protocol
when
doing
so.
In
typical
networking
environments,
the
£iret
byte
transmitted
contains
the
length
the
message
to
£ollow,
Implementation
of
such
networking
schemes
i8
leit
to
the
user.
MASTER/SLAVE COMMUNICATIONS
Page
2-7