16 22FL #SEG PCTCIN8 [G CONSTANTINIDES 13 22_= #LIS K0PCTCIN>K0PCT>K0ALLGEO>K0GREATGEO 9 23DW 8HPCTCIN8 7 23YG # ENTRY POINTS 11 24D6 SEGENTRY K1PCTCIN,Z1PCTCIN 12 24XQ MENDAREA APCTGAP,K100PCTCIN 4 25CB [ 21 25X2 [ THIS SEGMENT CONTROLS THE READING OF LINES FROM THE SOURCE INTERFACE 11 26BL [ OF A REMOTE TELETYPE - A 7023. 4 26W= [ 4 27*W # 13 27TG XENQ #76250000 [ENQ 13 28*6 XEOT #76240000 [EOT 4 28SQ # 4 29#B # 17 29S2 STXCC #76222020,8HCANCEL_*[STX ^ CANCEL^ N/L. 14 2=?L STXNL #76227632 [STX N/L 15 2=R= NULL #76207604,#76230000 [NULL DC4 ETX 4 2?=W # 7 2?GN ...XCONT +50 4 2?QG # 14 2#=6 REFIND [LOCKC 10 2#PQ MHUNTW 2,A7020,ALCB 7 2*9B EXIT 1 0 4 2*P2 # 21 2B8L REFINDA [FIND THE A7020/CONSIN BLOCK FOR LOCK 11 2BN= MHUNTW 2,A7020,INFORM 9 2C7W LDX 2 FPTPCT(2) 9 2CMG SBN 2 FPTPCT 7 2D76 EXIT 1 0 4 2DLQ # 4 2F6B # 20 2FL2 Z1PCTCIN [THE ENTRY TO SELECT THE SOURCE 21 2G5L [INTERFACE OF THE 7023 AND TO READ 16 2GK= [A LINE FROM IT. 4 2H4W # 19 2HJG CALL 1 REFIND [FIND THM LINE CONTROL BLOCK. 20 2J46 LOCKC 2,REFIND [LOCK IT READY FOR THE TRANSFER. 10 2JHQ MHUNTW 3,A7020,ALCB 21 2K3B DSA 7 GENQ1(3) [SET THE HARDWARE ADDRESS IN ENQ SEQ. 15 2KH2 LDEX 7 GUNITNO(3) [LINE NUMBER. 17 2L2L FINDLCA ,7 [LCA POINTER INTO X1. 7 2LG= SRC 7 9 10 2L_W DCA ,STO,7,MODE 7 2MFG LDN 0 1 10 2M_6 DLCA 1,DLA,0,MODE 7 2NDQ LDN 0 7 10 2NYB DLCA 1,DLA,0,COUNT 9 2PD2 LDN 0 GENQ1(3) 10 2PXL DLCA 1,STO,0,CTSA 9 2QC= LDN 0 GREP1(3) 10 2QWW DLCA 1,STO,0,CREP 6 2RBG GLPERI 8 2RW6 LDX 0 JTIME 9 2S*Q STO 0 GTIM(3) 14 2STB WAIT LDX 0 GSIGN [SET THE 15 2T*2 ORS 0 GWAIT(3) [WAITING BIT 15 2TSL COOR1 [GO TO SLEEP 15 2W#= LDX 4 GREP1(3) [REPLY WORD 18 2WRW BNG 4 WAIT [HAS THE ENQ FINISHED? 20 2X?G UNLOCK 3 [UNLOCK THE LINE CONTROL BLOCK 7 2XR6 ADXC 4 4 9 2Y=Q BCS XFINISH 7 2YQB SLC 4 4 9 2_=2 BPZ 4 XFINISH 7 2_PL ANDN 4 3 9 329= BNZ 4 XFINISH 18 32NW CALL 1 REFINDA [FIND THE INPUT BLOCK & 19 338G LOCKC 2,REFINDA [LOCK IT READY FOR THE READS. 9 33N6 CALL 1 REFINDA 7 347Q LDX 3 2 8 34MB LDX 2 FX2 20 3572 STOZ CICOUNT(3) [COUNT OF CHARACTERS READ SO FAR. 21 35LL STOZ CIPTR(3) [POINTER TO NEXT CHAR. TO BE READ IN. 9 35WD ... STOZ AWORK1(2) 7 366= XERR SLC 7 9 8 36KW FINDLCA ,7 7 375G SRC 7 9 10 37K6 DCA ,STO,7,MODE 7 384Q LDN 0 2 10 38JB DLCA 1,DLA,0,MODE 8 3942 LDN 0 128 10 39HL DLCA 1,DLA,0,COUNT 9 3=3= LDN 4 CIBUFF(3) 9 3=GW ADX 4 CIPTR(3) 10 3?2G DLCA 1,STO,4,CTSA 8 3?G6 LDN 0 #22 10 3?_Q DLCA 1,DLA,0,MODE2 8 3#FB LDN 0 40 11 3#_2 DLCA 1,DLA,0,COUNT2 8 3*DL ADN 4 32 10 3*Y= DLCA 1,STO,4,CTSA2 9 3BCW LDN 0 INREP2(3) 10 3BXG DLCA 1,STO,0,CREP2 10 3CC6 SBN 0 INREP2-INREP1 10 3CWQ DLCA 1,STO,0,CREP 6 3DBB GLPERI 8 3DL8 ... LDX 1 FX1 8 3DW2 LDX 6 JTIME 20 3F*L XWAIT LDXC 4 INREP1(3) [J. TO WAIT FOR TRANSFERS TO END. 21 3FT= BCS WAIT1 [IF TEIMINATED WITHOUT WAITING WE MAY 21 3G#W LDX 5 INREP2(3) [POSSIBLY HAVE A MISSED INPUT CONDITI 7 3GSG ADXC 4 4 9 3H#6 BCS ZINOPX 7 3HRQ SLC 4 4 18 3J?B BPZ 4 ZINOPX [ON THE FIRST TRANSFER 20 3JR2 BNG 5 WAIT1 [J. TO WAIT FOR TRANSFER TO END. 7 3K=L SRC 4 1 9 3KQ= ... BNG 4 XERROR 17 3L9W LDEX 0 INREP1(3) [ANY DATA RECIVED? 8 3LPG SBN 0 128 8 3M96 BZE 0 XERR 7 3MNQ SRC 4 1 15 3N8B BNG 4 XERR [AN ERROR? 21 3NN2 ANDN 4 1 [J. IF EOM RECEIVED AFTER FIRST TRANS 10 3P7L BZE 4 SINGLEBLOCK 7 3PM= ADXC 5 5 9 3Q6W BCS ZINOPY 7 3QLG SLC 5 4 19 3R66 BPZ 5 ZINOPY [INOPERABILITY ON THE SECOND? 18 3RKQ ANDN 5 3 [J. IF ERROR OR NOT IMP 8 3S5B BNZ 5 XERR 15 3SK2 LDEX 0 INREP2(3) [REPLY COUNT 19 3T4L LDN 2 128+40 [GET COUNT OF CHARS. READ IN. 14 3TJ= SBX 2 0 [POSITION 5 3W3W TESTETB 9 3WHG LDX 0 CIPTR(3) 19 3X36 ADS 2 CICOUNT(3) [COUNT OF CHARS. READ SO FAR. 20 3XGQ BNZ 0 NOWEOT [J. IF THIS IS SECOND BLOCK READ. 21 3Y2B SBN 2 2 [OTHERWISE SEE IF INPUT ENDS WITH ETB 7 3YG2 SRC 2 2 9 3Y_L LDN 4 CIBUFF(3) 8 3_F= LDX 5 GSIGN 7 3_YW ADX 4 2 7 42DG MVCH 4 2 8 42Y6 SBN 0 #7607 21 43CQ BNZ 0 NOWEOT [NOT ETB -> END OF INPUT: READ EOT NE 21 43XB STO 2 CIPTR(3) [OTHERWISE GO TO READ SECOND BLOCK. 7 44C2 LDN 0 2 10 44WL SBS 0 CICOUNT(3) 8 45B= LDX 2 FX2 8 45TW BRN XERR 5 46*G NOWEOT 14 46T6 LDX 2 FX2 [POINTER 9 474Y ... STOZ AWORK1(2) 7 47#Q XER SLC 7 9 8 47SB FINDLCA ,7 7 48#2 SRC 7 9 10 48RL DCA ,STO,7,MODE 7 49?= LDN 0 2 10 49QW DLCA 1,DLA,0,MODE 7 4==G LDN 0 4 10 4=Q6 DLCA 1,DLA,0,COUNT 9 4?9Q LDN 0 CIEOT(3) 10 4?PB DLCA 1,STO,0,CTSA 9 4#92 LDN 0 INREP1(3) 10 4#NL DLCA 1,STO,0,CREP 6 4*8= GLPERI 8 4*MW LDX 6 JTIME 8 4B7G LDX 1 FX1 5 4BM6 WAITCON 9 4C6Q LDXC 0 INREP1(3) 9 4CLB BCS WAITON 7 4D62 ADXC 0 0 8 4DKL BCS YEOT 7 4F5= SLC 0 4 15 4FJW BPZ 0 YEOT [INOPERABLE? 7 4G4G ANDN 0 3 8 4GJ6 ... BNZ 0 XEROR 13 4H3Q LDX 0 CIEOT(3) [WAS 13 4HHB ANDX 0 HALFTOP [ENQ 14 4J32 TXU 0 XENQ(1) [RECEIVED 14 4JGL BCC XER [IN CORE? 4 4K2= YEOT 17 4KFW LDCT 0 #010 [SET THE EOT RECEIVED 14 4K_G ORS 0 EWAIT(3) [MARKER 17 4LF6 UNLOCK 3 [UNLOCK THE BUFFER 14 4LYQ LDX 0 APCTID(3) [REMOVE 13 4MDB SRL 0 12 [THE 14 4MY2 LDX 1 BPTPCT(3) ['FLIP' 19 4NCL LDX 6 ALINESTAT-FPTPCT(1) [GET THE LINE STATUS WORD. 13 4NX= ADX 1 APCTP-FPTPCT(1) [BIT 17 4PBW ERS 0 APCTD-FPTPCT(1) [IN THE PCT RECORD 19 4PWG BPZ 6 NMOP1 [J. UNLESS BEING MOPPED OFF. 21 4QB6 STOZ CICOUNT(3) [SCRUB THE INPUT BY NULLIFYING THE CO 19 4QTQ NMOP1 LDX 7 IDUNIQUE-FPTPCT(1) [GET THE TERMINAL IDENTIFIER. 16 4R*B LDXC 0 EWAIT(3) [UNSET WAIT BIT 9 4RT2 BCC SETMES 9 4S#L STO 0 EWAIT(3) 15 4SS= HUNTACT CPAT,2,3 [FIND THE CPA 16 4T?W FPUT [AND SET IT GOING 5 4TRG SETMES 17 4W?6 LDN 3 3 [COUNT FOR PLAIN N/L. 18 4WQQ BPZ 6 NMOP2 [J. IF ORDINARY RESPONSE. 20 4X=B LDN 3 5 [SEND ^CANCEL^ IF MOPPING OFF. 16 4XQ2 NMOP2 SETNCORE COUTBUFF-A1+1(3),3,A7020,CONSOUT,1 18 4Y9L [SET UP THE MESSAGE BLOCK 19 4YP= STO 7 CIDENTM(3) [SET THE TERMINAL IDENTIFIER 14 4_8W LDN 7 STXNL(1) [MOVE IN 18 4_NG BPZ 6 NMOP3 [J. UNLESS MOPPING OFF. 19 5286 LDN 7 NULL(1) [SET UP ^CANCEL^ TO INDICATE 18 52MQ LDN 0 COUTBUFF+3(3) [INPUT WAS THROWN AWAY. 7 537B MOVE 7 2 9 53M2 LDN 7 STXCC(1) 10 546L NMOP3 LDN 0 COUTBUFF(3) 7 54L= MOVE 7 3 20 555W LDX 1 3 [POINTER TO MESSAGE BLOCK INTO X1 19 55KG MHUNTW 3,A7020,INFORM [FIND THE INFORMATION BLOCK 19 5656 CHAIN 1,3 [QUEUE BLOCK AT HEAD OF QUEUE 20 56JQ ADX 3 APCTP(3) [STEP TO THE CURRENT PCT RECORD 21 574B LDCH 0 APCTX(3) [FIND CONSOLE OUTPUT BIT AND SET FLIP 13 57J2 ORS 0 APCTD(3) [BIT 5 583L XFINISH 14 58H= ACROSS PCTCON,1 [REPOLE 4 592W # 4 59GG # 6 5=26 SINGLEBLOCK 7 5=9Y ... LDN 0 0 19 5=FQ LDX 4 CIPTR(3) [TEST IF FIRST TWO CHARACTERS 17 5=_B LDX 5 GSIGN [READ WERE AN ENQ. 9 5?F2 ADN 4 CIBUFF(3) 7 5?YL MVCH 4 2 13 5#D= SBN 0 #7624 [EOT? 8 5#XW BZE 0 YEOT 13 5*CG SBN 0 1 [ENQ? 17 5*X6 BZE 0 XERR [REPEAT READ IF SO. 20 5BBQ LDN 2 128 [GET COUNT OF CHARACTERS READ. 9 5BWB LDEX 0 INREP1(3) 7 5CB2 SBX 2 0 21 5CTL BRN TESTETB [J TO SEE IF ANOTHER BLOCK TO READ 4 5D*= # 5 5DSW ZINOPX 21 5F#G BPZ 5 ZINOPY [J. IF READ HAS ALREADY TERMINATED. 7 5FS6 LDX 5 7 17 5G?Q ORX 5 BIT9 [LINE NO. / #40004. 7 5GRB ORN 5 4 17 5H?2 DCA ,STO,5,MODE [SEND CANCEL PERI. 6 5HQL GLPERI 10 5J== WAIT1 MHUNTW 1,A7020,ALCB 8 5JPW BNG 6 WAIT2 21 5K9G STO 6 GTIM(1) [SET TIME A3WHICH PERI WAS ISSUED. 8 5KP6 LDX 6 GSIGN 17 5L8Q WAIT2 ORS 6 GWAIT(1) [SET ASLEEP MARKER. 18 5LNB COOR1 [WAIT FOR READ TO FINISH. 8 5M82 BRN XWAIT 4 5MML # 5 5N7= WAITON 19 5NLW MHUNTW 1,A7020,ALCB [FIND THE LINE CONTROL BLOCK 8 5P6G BNG 6 WAIT3 21 5PL6 STO 6 GTIM(1) [SET TIME AT WHICH PERI WAS ISSUED. 8 5Q5Q LDX 6 GSIGN 17 5QKB WAIT3 ORS 6 GWAIT(1) [SET ASLEEP MARKER. 18 5R52 COOR1 [WAIT FOR READ TO FINISH. 16 5RJL BRN WAITCON [CONTINUE WAIT 4 5S4= # 4 5SHW # 5 5T3G ZINOPY 17 5TH6 UNLOCK 3 [UNLOCK THE BUFFER 9 5W2Q BRN XFINISH 4 5WGB # 18 5WHR ...[ ROUTINE MAY LOOP IF 7503 NOT BEING USED WITH 7020 EMULATOR 16 5WK8 ...[ PROGRAM - SO LIMIT NUMBER OF TIMES WE REPEAT PERI 7 5WLK ...XEROR LDN 0 1 9 5WN2 ... ADX 0 AWORK1(2) 9 5WPC ... STO 0 AWORK1(2) 9 5WQS ... TXU 0 XCONT(1) 8 5WS9 ... BCS XER 5 5WSX ...XERGO 7 5WTL ... UNLOCK 3 17 5WX3 ... ACROSS PCTCON,2 [SEND INOPERABLE 5 5WX8 ...XERROR 7 5WX* ... LDN 0 1 9 5WXG ... ADX 0 AWORK1(2) 9 5WXM ... STO 0 AWORK1(2) 9 5WXS ... TXU 0 XCONT(1) 8 5WX_ ... BCS XERR 8 5WY6 ... BRN XERGO 4 5WYD ...[ 4 5X22 # 4 5XFL # 4 5X_= #END 8 ____ ...07150044000500000000