Zilog Z16C35 User Manual
Page 240

Application Note
SCC in Binary Synchronous Communications
10-10
RECEIVE ROUTINE
RECEIVE A BLOCK OF MESSAGE
THE LAST CHARACTER SHOULD BE EOT (%04)
006C
GLOBAL
ENTRY
RECEIVE
PROCEDURE
006C
C828
LDB
RL0,#428
!WAIT ON RECV.!
006C
3A86
OUTB
WR0A+2,RL0
0070
FE23
0072
6000
LDB
RL0,%A8
0074
00AB
0076
3A86
OUTB
WR0A+2,RL0
!ENABLE WAIT 1ST CHAR,SP.COND. INT!
0078
FE23
007A
2101
LD
Rl,#RR0A+16
007C
FE31
007E
3Cl8
INB
RL0,@R1
!READ STX CHARACTER!
0080
C8C9
LDB
RL0,#%C9
0082
3AB6
OUTB
WR0A+6,RL0
!Rx CRC ENABLE!
0084
FE27
0086
2103
LD
R3,#RBUF
0088
5400
008A
3C18
READ:
INB
RL0,@R1
!READ MESSAGE!
008C
2E38
LDB
@R3,RL0
!STORE CHARACTER IN RBUF!
008E
AB30
DEC
R3,#l
0090
0A08
CPB
RL0,#%04
!IS IT END OF TRANSMISSION ?!
0092
0404
0094
EEFA
JR
NZ,READ
0096
3C18
INB
RL0,@R1
!READ PAD1!
0098
3C18
INB
RL0,@R1
!READ PAD2!
009A
3A84
INB
RL0,RR0A+2
!READ CRC STATUS!
009C
FE23
! PROCESS CRC ERROR IF ANY, AND GIVE ERROR RESET COMMAND IN WR0A!
009E
C800
LDB
RL0,#0
00A0
3A86
OUTB
WR0A+6,RL0
!DISABLE RECEIVER!
00A2
FE27
00A4
9E08
RET
00A6
END RECEIVE
Page 234 of 316
UM011002-0808