diff --git a/H316/tests/c-listing-ps.txt b/H316/tests/c-listing-ps.txt new file mode 100644 index 00000000..1241aa8d --- /dev/null +++ b/H316/tests/c-listing-ps.txt @@ -0,0 +1,13422 @@ + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 1 IMP,3050,IMP 7:20 PM 9/16/1973 + + IMP SYSTEM + + .VERS.=3050 + + DCA=0 + + PRINTX /NETWORK VERSION / + PNTNUM .VERS. + PRINTX / + / + + REPEAT 1IF VZ DCA,[ + PRINTX /ARPA NET SYSTEM + + / ] + + REPEAT 0IF VZ DCA,[ + PRINTX /DCA NET SYSTEM + + / ] + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 2 IMP,3050,IMP 7:20 PM 9/16/1973 + + ACA=141216 + ADD=14000 /516 OPCODES + ANA=6000 + AOA=141206 + CAL=141050 + CAR=141044 + CAS=22000 + CHS=140024 + CMA=140401 + CRA=140040 + CSA=140320 + DXA=11 + .ENB=401 + ERA=12000 + EXA=13 + HLT=0 + IAB=201 + ICA=141340 + ICL=141140 + ICR=141240 + IMA=26000 + .INH=1001 + INK=43 + IRS=24000 + JMP=2000 + JST=20000 + LDA=4000 + LDX=72000 + NOP=101000 + OTK=171020 + RCB=140200 + SCB=140600 + SKP=100000 + SLN=101100 + SLZ=100100 + SMI=101400 + SNZ=101040 + SPL=100400 + SRC=100001 + SR1=100020 + SR2=100010 + SR3=100004 + SR4=100002 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 3 IMP,3050,IMP 7:20 PM 9/16/1973 + + SSC=101001 + SSM=140500 + SSP=140100 + SS1=101020 + SS2=101010 + SS3=101004 + SS4=101002 + STA=10000 + STX=32000 + SUB=16000 + SZE=100040 + TCA=140407 + + IRP [I,,ALS,ARS,ALR,ARR,LGL,LGR,LLS,LRS,LLR,LRR,LLL,LRL], [N,, + 415,405,416,406,414,404,411,401,412,402,410,400] + + DEFINE I C + 0 0 N'00+100-C"A"77 + TERMINATE + + ENDIRP + + + IRP [I,,INA,OCP,OTA,SKS,SMK],[N,,13,3,17,7,17] + + DEFINE I C + 0 0 N'0000 C + TERMINATE + + ENDIRP + + + X=40000 + I=100000 + XI=140000 + + DEFINE BSS N + 200000 + 0 0 . N-1/ + TERMINATE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 4 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SKS'S, OCP'S, ETC FOR PRODUCTION MACHINES + + IRP [NUM,,1,2,3,4,5] + + M'NUM'OUT=OCP 7'NUM + M'NUM'UNXP=OCP 17'NUM + M'NUM'LXP=OCP 27'NUM + M'NUM'IXP=OCP 37'NUM + M'NUM'IN=OCP 47'NUM + + M'NUM'ERR=SKS 47'NUM + + M'NUM'INIL=63 NUM + M'NUM'OTIL=70 NUM + + M'NUM'INBP=16 NUM NUM + M'NUM'OTBP=30 NUM NUM + + ENDIRP + + + IRP [NUM,,1,2,3] + + H'NUM'ROUT=OCP 100-[10"T"NUM] + H'NUM'IN=OCP 200-[10"T"NUM] + H'NUM'FOUT=OCP 300-[10"T"NUM] + H'NUM'XP=OCP 400-[10"T"NUM] + H'NUM'UNXP=OCP 500-[10"T"NUM] + H'NUM'ENAB=OCP 600-[10"T"NUM] + + H'NUM'ERR=SKS 100-[10"T"NUM] + H'NUM'RDY=SKS 200-[10"T"NUM] + H'NUM'EOM=SKS 300-[10"T"NUM] + H'NUM'FULL=SKS 500-[10"T"NUM] + + H'NUM'OTIL=75 NUM + H'NUM'INIL=77 NUM + + H'NUM'OTBP=42 NUM NUM + H'NUM'INBP=46 NUM NUM + + ENDIRP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 5 IMP,3050,IMP 7:20 PM 9/16/1973 + + H3OTIL=M5INIL /HOST 3 IS A LITTLE STRANGE + H3INIL=M5OTIL + H3OTBP=54 + H3INBP=56 + H4OTIL=M4INIL /HOST 4 IS YET STRANGER + H4INIL=M4OTIL + H4OTBP=M5INBP + H4INBP=M5OTBP + H4ROUT=OCP 51 + H4IN=OCP 151 + H4FOUT=OCP 251 + H4XP=OCP 351 + H4UNXP=OCP 451 + H4ENAB=OCP 551 + H4ERR=SKS 51 + H4RDY=SKS 151 + H4EOM=SKS 251 + H4FULL=SKS 451 + + CLKON=OCP 40 + CLKOFF=OCP 1040 + RDCLOK=INA 1040 + CLOKIL=102 + + TASK=OCP 41 + TASKIL=103 + + WDT=OCP 26 + WDTIL=62 + PFIL=60 + SWDTIL=61 + + LITES=OTA 26 + RDIMPN=INA 1041 + + AMIMLC=SKS 42 + + AMI516=SKS 26 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 6 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SKS'S AND OCP'S NATIVE TO THE 516 + + STDIL=63 /STANDARD INTERRUPT LOCATION + TTSIM=OCP 4 /SELECT INPUT MODE + TTSOM=OCP 104 /SELECT OUTPUT MODE + TTSRDY=SKS 4 + TTSNBZ=SKS 104 + TTSNSC=SKS 504 + TTINA=INA 4 + TTINB=INA 204 + TTINAC=INA 1004 + TTINBC=INA 1204 + TTOTA=OTA 4 + TTOTB=OTA 204 + + INTM=120 /SMK TO SET THE PRIORITY INTERRUPT 1 + JUNK=1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 7 IMP,3050,IMP 7:20 PM 9/16/1973 + + EQUALS R,REPEAT + EQUALS D,DEFINE + EQUALS T,TERMINATE + EQUALS P,PRINTX + EQUALS PR,PRINT + + /MACROS TO TYPE OUT INTERESTING LOCATIONS + + D DEFPLC TX + .TA.=. 100201/ + .TA. .ASCII /TX'"Z"/ + .TA./ + T DEFPLC + + D RELOAD TX + .TA.=. 100301/ + .TA.+1 .ASCII /TX'"Z"/ + .TA./ + T RELOAD + + D DEFHLT TX + .TA.=. 100101/ + .TA.+1 .ASCII /TX'"Z"/ + .TA./ + T DEFHLT + + /TITLES FOR DUMPED TEXTS + 100200/ + .ASCII /USEFUL LOCATIONS + "Z"/ + 100100/ + .ASCII /HALT LOCATIONS + "Z"/ + 100000/ + .ASCII / PATCH BEG END BUFS"Z"/ + 100300/ + .ASCII /CRASH-RELOAD LOCATIONS + "Z"/ + 100400/ + .ASCII / IMP BUFFERS ASSIGNED + PAGE + "Z"/ + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 8 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MACROS TO SET UP STATISIICS TABLES + + NSTATS=0 + MAXSTAT=22. + + /CALL DEFSTAT , + D DEFSTAT A,B + .TA.=. + .TB.=A A + R 1IF P,[ + SW1+NSTATS/ B + SB1+NSTATS/ .TA. + SC1+NSTATS/ .TB. + .TA.+1/ + ] + NSTATS=NSTATS+1 + R 1IF VP NSTATS-MAXSTAT,[ + PR "TOO MANY STATISTICS" + NSTATS=NSTATS-1 + ] + T DEFSTAT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 9 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MACROS FOR IMP/TIP INITIALIZATION + NITB=0 + MAXITB=20.+4 /SATDEF USES 4 + /CALL TIPDEF , + + D TIPDEF A,B + .TA.=. + .TB.=A BSS 1 + .TC.=B + R 1IF P,[ + ITBLOC+NITB/ .TA. + ITBIMP+NITB/ .TB. + ITBTIP+NITB/ .TC. + .TA.+1/ + ] + NITB=NITB+1 + R 0IF VP MAXITB-NITB,[ + PR "TOO MANY IMP/TIP INSTRS" + NITB=NITB-1 + ] + T TIPDEF + + R 1IF P,[ + ITBLOC/ + R MAXITB,[ + 1 + ] +02236 000001 ] +02237 000001 +02240 000001 +02241 000001 +02242 000001 +02243 000001 +02244 000001 +02245 000001 +02246 000001 +02247 000001 +02250 000001 +02251 000001 +02252 000001 +02253 000001 +02254 000001 +02255 000001 +02256 000001 +02257 000001 +02260 000001 +02261 000001 +02262 000001 +02263 000001 +02264 000001 +02265 000001 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 10 IMP,3050,IMP 7:20 PM 9/16/1973 + + / VDH/IMP DEF MACRO + D VDHD LOC,VDH,IMP + .TA.=. + LOC/ + .TC.=VDH + .TB.=IMP + BSS 1 + ITBVDH+ITBVP/ .TC. + ITBNVD+ITBVP/ .TB. + ITBVDL+ITBVP/ LOC + ITBVP=ITBVP+1 + R 0IF VP MAXVDH-ITBVP,[ + PR "TOO MANY IMP/VDH INSTRS" + ITBVP=ITBVP-1 + ] + 0+0+.TA./ + T + /SAT/IMP DEF (RESTORE) MACRO + D SATDEF A + TIPDEF A,A + T SATDEF + + /MACRO TO COMPUTE 16 BIT ADD CHECKSUM + /FOR ROUTING CODE, USED BY I2MLT AND RTGO + + D K ARG + .TA.=ARG + CHK=0 0 177777"A"[CHK+0+.TA.] + ARG + T K + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 11 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THE STANDARD IMP INTERRUPT LEVELS + M2I=0 /MODEM-TO-IMP RUNS LOCKED + I2M=M2I+2 /IMP-TO-MODEM - SKIP VDI + I2H=I2M+1 /IMP-TO-HOST + H2I=I2H+1 /HOST-TO-IMP + T.O=H2I+1 /TIMEOUT + TSK=T.O+1 /TASK + BCK=TSK+1 /BACKGROUND + + /SOME OTHER LEVEL 0 TYPES + INI=0 /INITIALIZATION + TTY=0 /TELETYPE INTERRUPT + WDI=0 /WATCH DOG TIMER INTERRUPT + RSI=0 /POWER FAIL INTERRUPT + SIN=0 /SOFTWARE INTERRUPT CALLS + ALL=0 /UNINTERRUPTABLE CODE LIKE DXA JMP SEQUENCE + FRE=0 /REFERENCES TO FREE LIST AND COUNT + MSK=0 /REFERENCES TO INTERRUPT MASK + + /VDH LEVELS + VDI=M2I+1 /INPUT INTERRUPT + VDO=I2M /OUTPUT INTERRUPT + VDB=I2H /BACKGROUND RUNS AT IMP-TO-HOST LEVEL + + /TIP LEVELS + TPO=0 /OUTPUT INTERRUPT + TPC=H2I /CLOCK INTERRUPT + TPB=BCK /BACKGROUND + + /MISCELLANEOUS + VAR=75 /VARIABLES + CON=76 /CONSTANTS + UND=77 /UNDEFINED + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 12 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MACROS TO ESTABLISH INTERRUPT LEVELS FOR CODE AND DATA + /XLEV IS HARDWARE LEVEL ESTABLISHED BY SMK INSTRUCTIONS + /YLEV IS SOFTWARE LEVEL ESTABLISHED BY INH INSTRUCTIONS + + XLEV=0 + YLEV=0 + + /MACROS WHICH ASSEMBLE CODE - INT,INH,ENB + + /DECLARE HARDWARE INTERRUPT ENTRANCE ON LEVEL N + D INT N + XLEV=N + YLEV=0 + WORD 0 0 300000+XLEV"T"100+YLEV + 0 + T INT + + /INHIBIT INTERRUPTS FROM LEVELS IN LIST + D INH LIST + R 0IF P,[ + IRP [Q,,LIST] + R 1IF VP 0 0 Q-YLEV, [ + PRINTX /REDUNDANT INH AT / + PNTNUM . + PRINTX / + / ] + ENDIRP + ] + + YLEV=100 + IRP [Q,,LIST] + R 1IF VP 0 0 YLEV-Q,YLEV=Q + ENDIRP + + .INH + WORD 0 0 300000+XLEV"T"100+YLEV + T INH + + /ENABLE HIGHER INTERRUPTS FROM LEVEL N + D ENB N + R 0IF P,[ + R 0IF VZ 0 0 XLEV-N, [ + PRINTX /INCORRECT ENB AT / + PNTNUM . + PRINTX / + / ] + ] + YLEV=N + .ENB + WORD 0 0 300000+XLEV"T"100+YLEV + T ENB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 13 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MORE INTERRUPT LEVEL MACROS + /MACROS WHICH DO NOT ASSEMBLE CODE - LEV,LCK,RET + + /DECLARE CODE OR DATA TO BE AT LOGICAL LEVELS IN LIST + D LEV LIST + XLEV=100 + IRP [Q,,LIST] + R 1IF VP 0 0 XLEV-Q,XLEV=Q + ENDIRP + YLEV=XLEV + WORD 0 0 300000+XLEV"T"100+YLEV + T LEV + + /DECLARE AN IMPLICIT INH IN CODE + D LCK LIST + R 0IF P,[ + IRP [Q,,LIST] + R 1IF VP 0 0 Q-YLEV, [ + PRINTX /REDUNDANT LCK AT / + PNTNUM . + PRINTX / + / ] + ENDIRP + ] + + YLEV=100 + IRP [Q,,LIST] + R 1IF VP 0 0 YLEV-Q,YLEV=Q + ENDIRP + + WORD 0 0 300000+XLEV"T"100+YLEV + T LCK + + /DECLARE AN IMPLICIT ENB IN CODE + D RET N + R 0IF P,[ + R 0IF VZ 0 0 XLEV-N, [ + PRINTX /INCORRECT RET AT / + PNTNUM . + PRINTX / + / ] + ] + YLEV=N + WORD 0 0 300000+XLEV"T"100+YLEV + T RET + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 14 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SOME SYSTEM PARAMETERS + NH=4 /NO OF REAL HOSTS + FH=4 /NO OF FAKE HOSTS + TH=NH+FH + BH=6 /NO OF BACK HOSTS + CH=5 /NO OF PHONE LINES + NIMP=64. /NO OF IMPS + NACH=8 /NO OF ACK CHANNELS PER LINE + R 0IF VZ DCA, BBNIMP=1 /DCA NCC IMP + R 1IF VZ DCA, BBNIMP=5 /ARPA NCC IMP + BBNTIP=30. /IMP NO OF BBN TIP + PDP1D=305 /HOST PDP-1D AT BBN IMP + DIAGTT=47. /DESTINATION FOR DIAG MESSAGES + H.N=1 /NUMBER OF VDH HOST + M.N=2 /NUMBER OF VDH MODEM (UCSB) + PTCK=60. /NUMBER OF TICKS TO PROP ROUTING + 30SEC=47. /NUMBER OF TICKS IN 30 SECS + MAXH=22. /MAX NO OF HOPS IN NET + NSPD=4 /= OF DIFFFRENT LINE SPDS WE HANDLE + + /WORDS IN BUFFER + IT=1 /INPUT TIME + ST=1 /SENT TIME + PTRT=2 /PNTR TO TRACE BLOCK + INCH=3 /INPUT CHANNEL + ACKH=4 /ACKNOWLEDGE HEADER + HEAD=5 /HEADER - 4 WORDS + HEAD1=6 + CNTL=7 + HEAD2=7 + HEAD3=8 + MINPL=HEAD3 + DATA=9 /BEGINNING OF DATA STORAGE + BUFE=73. /PNTR TO END OF DATA + + /WORDS IN TRACE BLOCK + TIT=1 /TRACE INPUT TIME + TTT=2 /TRACE TASK TIME + TST=3 /TRACE OUTPUT TIME + TAT=4 /TRACE ACKNOWLEDGE TIME + THED=5 /TRACE HEADER (4 WORDS) + TQUE=9 /TRACE QUEUE + TDONE=10. /TRACE DONE (100000=DONE) + + /WORDS IN REASSEMBLY BLOCK + RID=1 /ID # MESS NO + IMP NO + RMAX=2 /NO OF PCKTS MAX + REAS=3 /BLOCK OF 8 PCKT PNTRS + RSF=11. /NO OF PCKTS SO FAR - USED AS 9TH P + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 15 IMP,3050,IMP 7:20 PM 9/16/1973 + + /BITS IN INCH + HSTMOD=100000 /1 IF FROM HOST, 0 IF FROM MODEM + INPCHN=17 /INPUT CHANNEL + + /BITS IN ACKH + ODEVEN=100000 + QUADAC=60000 /WHICH QUADRANT WE ARE ACKING + CHANUM=17400 /CHANNEL NO FOR THIS PKT + ACKBTS=377 /MAX OF 8 ACKS + + /BITS IN HEAD (REG MESSAGE) + MESSNO=177400 + ONEOR8=200 /1= ONE-PACKET + REQALL=100 /TRANSMIT ONLY + RFNM=100 /REPLY ONLY + ORDNO=60 + INCTRN=10 /1= INC (ALSO SET ON RFNM FOR GVB) + TRNREP=4 /1=TRANS, 0=REPLY + GVBALL=2 /TRANSMIT ONLY + ALLOC=2 /REPLY ONLY + LINETS=1 + /BITS IN RUTHED (ROUTING MESSAGE) + SNDCOR=100000 + RUTIMP=37400 /IMPNO TO IDENTIFY LOOPED LINES + IHERDU=20 + RUTDMP=10 /1=CORE DUMP ON FIRST HOP FROM DEAD + GETCOR=4 /1=DEMAND THE IMP TO RELOAD + NULPKT=2 /1=NULL PKT WITH ACKS ONLY + LINETS=1 /1=ROUTING MESSAGE + + /BITS IN HEAD1 + PRIBIT=100000 + FORIMP=40000 + TRACE=20000 + FOROCT=10000 + PKTNO=3400 /TRANSMIT ONLY + PKTN1=400 /LOW ORDER BIT OF PACKET NUMBER + REPDED=400 /REPLY ONLY - DEST DEAD + DESTH=300 + DESTI=77 + DESTHI=377 + + /BITS IN HEAD2 + LSTPKT=100000 + FRMIMP=40000 + FRMOCT=10000 + IHCODE=7400 + HICODE=7400 + ENDBIT=1000 /1=PKT FROM HI NO IMP ON LINE + SRCEH=300 + SRCEI=77 + SRCEHI=377 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 16 IMP,3050,IMP 7:20 PM 9/16/1973 + + /BITS IN HEAD3 + LINKNO=177760 + SUBCOD=7 /IMP-TO-HOST SUB-CODES + + /BITS IN BUFE + TWOQ=100000 /1 = ON TWO QUEUES (IN PPT) + + /BITS IN TMESS + MESSNO=177400 /LAST MESS NO TRANSMITTED + MESS1=400 /LOW ORDER BIT + MSTO2=200 + MSTO1=100 /2 TIMEOUT BITS + ORDNO=60 /LAST ORDER NO TRANSMITTED + MESBTS=17 /1= MESS ANSWERED + + /BITS IN RMESS + MESSNO=177400 /OLDEST INCOMPLETE MESS NO + 3 + ORDNO=60 /NEXT ORDER NO WE WANT + MESBTS=17 /1= MESS COMPLETE + + /BITS IN AMESS + MESSNO=177400 /NEXT MESS NO TO REPLY TO + + /BITS IN TALLY + SRCEI=77 /FOREIGN IMP WHO ALLOCATED US 8 + + /BITS IN RALLY + ONEOR8=200 + RFNM=100 + + /WORDS IN PPT + PPT0=0 + PPT1=PPTL /HOST STAT TIME SENT + /BITS IN PPT0 + RETRAN=100000 /1= GOT AN ALLOCATE FOR HIM, MUST R + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 17 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /WORDS IN PLT + PLT0=0 + PLT1=PLTL + PLT2=PLTL+PLTL + PLT3=PLTL+PLTL+PLTL /HOST STAT TIME SENT + + /BITS IN PLT0 + MESSNO=177400 + PLTUSE=200 /1 = THIS PLT ENTRY IN USE + REQALL=100 /USEFUL FOR INC TRN + PLTHST=7 /LOCAL HOST NO + + /BITS IN PLT1 + PRIBIT=100000 + FORIMP=40000 + TRACE=20000 + FOROCT=10000 + DESTHI=377 + + /BITS IN RLT2 + LINKNO=177760 + SUBCOD=7 /IMP-TO-HOST SUB-CODES + + /BITS IN TSEX + ACKTAB=377 + + /BITS IN RSEX + ACKTAB=377 + + /IH CODES + CREG=0 /REG + CERRLD=400 /ERROR IN HI LEADER + CERR32=0 /ERROR IN FIRST 32 BITS + CSHORT=1 /LESS THAN 32 BITS IN MESSAGE + CILLGL=2 /ILLEGAL HI CODE + CIMPDN=1000 /IMP GOING DOWN + /BLOCKED LINK + CNOP=2000 /NOP + CRFNM=2400 /RFNM + /LINK TABLE FULL + CDESTD=3400 /DESTINATION DEAD + CIMPD=0 /DEST IMP DEAD + CHSTD=1 /DEST HOST DEAD + CERRDT=4000 /ERROR IN HI DATA + CINCTR=4400 /INCOMPLETE TRANS + CSLOWD=0 /DEST HOST TOOK >30 SECS + CLONG=1 /MORE THAN 8095 BITS + CSLOWS=2 /SOURCE HOST TOOK >15 SECS + CLOST=3 /LOST IN SUBNET + CBLOCK=4 /SOURCE IMP TOOK > 15 SECS + CERROR=4 /ERROR BIT SET (BECOMES CERRDT) + CRESET=5000 /IMP-TO-HOST RESET - READY LINE FLA + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 18 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MACROS TO COLLECT FREE SPACE AND PRINT TABLES + PAGES=32. + BUFL=BUFE+1 + + NBUFS=-1 + + + D PAGEND A,U,E + P /PAGE / PNTNUM A P / + / + FB=0 0 .+0'E + NB=0 + R 1IF VZ A+0-FB"Q"1000, [ + NB=1+0+[0 0 1000"T"[A+1]+0-FB]"Q"BUFL + NBUFS=NBUFS+NB] + 0 0 SPAR+A-2/ FB"A"777-[NB+1]"T"1000 + .TA.=FB+0+NB"T"BUFL + 100004/ + U + FB + .TA. + NB + .ASCII /"Z"/ + 100400+NB+1/ .TB.=FB A + R NB, .TB. .TB.=.TB.+0+BUFL + .ASCII /"Z"/ + .TA./ + T PAGEND + + /FB IS THE ADDRESS OF THE FIRST BUFFER ON THE PAGE + /NB IS THE NUMBER OF BUFFERS BETWEEN THIS PAGE AND THE NEXT + /FORMAT OF SPAR: + /HI 7 BITS = -(NB+1) + /LO 9 BITS = LO 9 BITS OF FB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 19 IMP,3050,IMP 7:20 PM 9/16/1973 + + 104/ + / CONSTANTS - THESE FIRST FEW MUST NOT MOVE + LEV CON +00104 023033 C DDSAI: DDSA /DDT S.A. START ADDRESS +00105 003050 C VERS: .VERS. /VERSION NUMBER +00106 C MINE: BSS 1 /MY IMP NUMBER + /TIME CONSTANTS IN TERMS OF 640 MS TICKS +00107 177721 C M30SEC: -30SEC /30 SECONDS +00110 177704 C PTICKS: -PTCK /ROUTING PROPAGATION TIME +00111 C ADDRET: BSS 1 /CHKSM ADDER RETURN +00112 100000 C SIGN: 100000 +00113 000000 C ZERO: 0 +00114 000001 C ONE: 1 +00115 000002 C TWO: 2 +00116 000003 C THREE: 3 +00117 000004 C FOUR: 4 +00120 000007 C SEVEN: 7 +00121 177777 C MINUS1: -1 +00122 177776 C MINUS2: -2 +00123 177775 C MINUS3: -3 +00124 177774 C MINUS4: -4 +00125 177773 C MINUS5: -5 +00126 177772 C MINUS6: -6 +00127 177773 C MICH: -CH +00130 000004 C PLNH: NH +00131 177770 C MITH: -TH + MIN100: +00132 177700 C MINIMP: -NIMP +00133 000000 C RSFLAG: 0 /FLAG TO DETECT WDT AND RELOADS + /0=NONE, 1=RESTART, 2=RELOAD, 3=WDT, 4=POWER FAIL + LEV VAR +00134 V PRIM: BSS 1 /PRIORITY INTERRUPT MASK + + /NCC OPERATIONS LOCATIONS 135-157 MUST NOT MOVE! + LEV CON + DEFPLC [DDT STAND ALONE ENTRY] +00135 102104 C DDT: JMP DDSAI I +00136 000000 C TIPRSF: 0 /ASSEMBLE IN A ZERO + DEFPLC [NICE-STOP AND RELOAD FLAG] +00137 C SW3FG: BSS 1 /ZERO=NICE STOP, THEN RELOAD + />0=SPECIFIC LINE + DEFPLC [NICE-STOP AND RESTART FLAG] +00140 C NRSTF: BSS 1 /ZERO=NICE STOP, THEN RESTART + /ONE=VDH RESTART + DEFPLC [HOST & MODEM INTERFACE CONTROL] +00141 C HTPAR: BSS 1 /MODEM TEST FLAG + DEFPLC [HOST INTERFACE TEST ENABLE AND TEST WORD] +00142 C HLNM: BSS 1 /# OF INTERFACE BEING TESTED +00143 177400 C HL2WD: 177400 /SECOND WORD OF DATA - ONLY LEFT HA + DEFPLC [VDH RESTART FLAG] +00144 000000 C VDHRSF: 0 /SET NON-ZERO TO RESTART VDH + DEFPLC [SAT RESTART FLAG] +00145 000000 C SATRSF: 0 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 20 IMP,3050,IMP 7:20 PM 9/16/1973 + + PG0FIX=160 /START OF 2ND INVARIANT AREA + .TA.=. + 100002/ .TA. PG0FIX + .ASCII /"Z"/ PG0FIX/ + LEV VAR + ZEROB: /START ZEROING HERE + DEFPLC [NEIGHB] + /USED BY [M2I,TSK,BCK] +00160 V NEIGHB: BSS CH /IMP NUMBER OF ADJACENT IMP + DEFPLC [RUT] + /USED BY [H2I,T.O,TSK,BCK] +00165 V RUT: BSS NIMP /ROUTE USE TABLE + DEFPLC [SLT] + /USED BY [M2I,I2M,T.O,BCK] +00265 V SLT: BSS CH /SEND LINE TEST (USED FOR RELOAD [ + + QUEUEB: /QUEUE START POINTERS + /MUST PRECEDE COUNTA + /USED BY [I2H,TSK] +00272 V SHQ: BSS TH /REG HOST +00302 V SHPQ: BSS TH /PRI HOST + /USED BY [I2M,T.O,TSK] +00312 V SMQ: BSS CH /REG MODEM +00317 V SMPQ: BSS CH /PRI MODEM + /USED BY FRE +00324 V FREE: BSS 1 /FREE BUFFERS + /USED BY [TSK,BCK] +00325 V TTF: BSS 1 /FREE TRACE BLOCKS + /USED BY [T.O,TSK] +00326 V RASF: BSS 1 /FREE REASSEMBLY BLOCKS +00327 V MESSTK: BSS 1 /STACK OF COMPLETE REG MESSAGES + /USED BY [M2I,H2I,TSK,BCK] +00330 V STQ: BSS 1 /TASK + /USED BY [T.O,TSK,BCK] +00331 V SRQ: BSS 1 /REPLY,REROUTE,DEST DEAD + /USED BY [I2H,H2I,T.O.TSK,BCK] +00332 V SHWQ: BSS NH+1 /HOST WORD +00337 V SHBQ: BSS 1 /HOST ONE WORD BUFFERS + /USED BY [T.O,TSK] +00340 V SHRQ: BSS 1 /REASSEMBLY BLOCKS + /USED BY [TSK,BCK] +00341 V STRQ: BSS 1 /TRACE BLOCKS + /USED BY [ALL] +00342 V DIAGQ: BSS 1 /DIAG PACKET QUEUE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 21 IMP,3050,IMP 7:20 PM 9/16/1973 + + QUEUEE: /QUEUE END POINTERS + /USED BY [I2H,TSK] +00343 V EHQ: BSS TH +00353 V EHPQ: BSS TH + /USED BY [I2M,T.O,TSK] +00363 V EMQ: BSS CH +00370 V EMPQ: BSS CH +00375 V BSS 4 /SPARE + /USED BY [M2I,H2I,TSK,BCK] +00401 V ETQ: BSS 1 + /USED BY [T.O,TSK,BCK] +00402 V ERQ: BSS 1 + /USED BY [I2H,H2I,T.O,TSK,BCK] +00403 V EHWQ: BSS NH+1 +00410 V BSS 4 /SPARE + + QUEUEL=QUEUEE-QUEUEB + /USED BY [TSK,BCK] +00414 V TTO: BSS 1 /TRACE TABLE OVERFLOW + /USED BY ALL +00415 V TIME: BSS 1 /TIME IN FAST T1CKS + /USED BY [I2H,T.O,TSK] +00416 V TIMES: BSS 1 /TIME IN SLOW TICKS + /USED BY [T.D,BCK] +00417 V SYNC: BSS 1 /TIME FOR STAT ROUTINES + /USED BY [M2I,T.O] +00420 V THD: BSS 1 /CHANNEL TO MAX NO IMP + /USED BY [I2M,TSK] +00421 V SIHY: BSS CH /SEND I HEARD YOU IF NOT ZERO + /USED BY [T.O,TSK] +00426 V LAC: BSS CH /LINE ALIVE COUNT + /USED BY [M2I,T.O,TSK] +00433 V LINE: BSS CH /LINE ALIVE-DEAD STATUS + /USED BY [I2M,T.O,TSK] +00440 V NONE: BSS CH /MODEM IDLE IF ZERO + /NEGATIVE= -(M30SEC-NO OF SLOW TICKS SINCE LAST OUTPUT) +00445 V SNULL: BSS CH /SEND NULL PKT IF NON-ZERO + /USED 5Y [M2I,T.O,TSK] +00452 V LUUP: BSS 1 /NON-ZERO=SOME MODEM IS LOOPED + /USED BY [H2I,TSK,BCK] + TSKFLG: /TASK-HOST COMMUNICATION + DEFPLC [HILO] +00453 V HILO: BSS TH /RETURN ADDRESSES WHERE HI LEFT OFF +00463 V BSS BH /0=NO ACTION, 1=NACK, 2=ACK + /USED BY BCK +00471 V BSS 1 /TO PRESERVE P0 LOCATIONS +00472 V DDTI: BSS 1 /DDT INTERRUPT FLAG +00473 V OVRDF: BSS 1 /SS4 IS OVERRIDDEN IF THIS IS NON, + /USED BY [TTY,BCK] +00474 V TTFG: BSS 1 /TTY COMMUNICATION SWITCH + /USED BY VD5 +00475 V VD.OT: BSS 1 /VDH TYPE OF OUTPUT FLAG + /USED BY T.O +00476 V VD.RDY: BSS 1 /NON-ZERO=VDH READY LINE FLAPPED + /USED BY [I2H,T.O,TSK,BCK] +00477 V RALLCF: BSS 1 /RALLY COMMUNICATION FLAG FOR PUT-G + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 22 IMP,3050,IMP 7:20 PM 9/16/1973 + + /USED BY MSK +00500 V IHM: BSS 1 /IH MASK +00501 V HIM: BSS 1 /HI MASK +00502 V MOM: BSS 1 /MODEM OUT MASK + /USED BY [T.O,I2H(OWP)] +00503 V WDTIME: BSS 1 /SOFTWARE W.D.T. + /USED BY [H2I,I2H.T.O,TSK,BCK] +00504 V HIHD: BSS TH /HOST STATUS + HSTUP=0 /HOST IS UP + HSTGDN=1 /GOT A HOST-GOING-DOWN MESSAGE + HSTTRD=2 /HOST WAS TARDY IN ACCEPTING AN IMP MESSAGE + HSTOFF=3 /HOST READY LINE IS DOWN + HSTIDN=4 /IMP IS COMING UP OR GOING DOWN + /USED BY TSK +00514 V THIS: BSS 1 /CURRENT TASK BUFFER + /USED BY FRE +00515 V TWDP: BSS 1 /SECOND WORD IN TWO WORD PUT + /USED BY I2H +00516 V TWDG: BSS 1 /SECOND WORD IN TWO WORD GET + + COUNTA: /ADDITIVE COUNTS - KEEP IN ORDER + /USED BY [I2H,TSK] +00517 V NHA: BSS TH /REG HOST QUEUE +00527 V BSS TH /PRI HOST QUEUE + /USED BY FRE +00537 V NFA: BSS 1 /FREE LIST + /USED BY [M2I,I2M,T.O,TSK] +00540 V NSFA: BSS 1 /STORE-AND-FORWARD COUNT + /USED BY [I2H,T.O,TSK] +00541 V NREA: BSS 1 /REASSEMBLY COUNT + /USED BY [T.O,TSK,5CK] +00542 V NALA: BSS 1 /ALLOCATE COUNT + + COUNTS: /SUBTRACTIVE COUNTS + /USED BY [I2H,TSK] +00543 V NHS: BSS TH +00553 V BSS TH + /USED BY FRE +00563 V NFS: BSS 1 + /USED BY [M2I,I2M,T.O,TSK] +00564 V NSFS: BSS 1 + /USED BY [I2H,T.O,TSK] +00565 V NRES: BSS 1 + /USED BY [T.O,TSK,BCK] +00566 V NALS: BSS 1 + COUNTL=COUNTS-COUNTA + + /USED BY [BCK] +00567 V VDHUPF: BSS 1 /VDH UP/DOWN FLAG + ZEROE: + ZEROL=ZEROE-ZEROB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 23 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +00570 000004 C MINF: CH-1 /MIN NUMBER OF FREE BUFFERS +00571 C MAXS: BSS 1 /MAX NUMBER OF S/F PACKETS +00572 C MAXR: BSS 1 /MAX NUMBER OF REASSEMBLY PACKETS +00573 C MAXSI: BSS 1 /S&F LIMIT USED BY MODEM TASK +00574 C SW1: BSS MAXSTAT /ADDRES OF STAT GATHERING SUBRS + +00622 032030 C I2MTAB: I2MB0 /START ADDR OF BLOCK OF CHANNEL PNT +00623 032040 C I2MB1 +00624 032050 C I2MB2 +00625 032060 C I2MB3 +00626 032070 C I2MB4 + LEV VAR +00627 V I2MEND: BSS CH /END ADDRESS OF EACH BLOCK +00634 V I2MNXT: BSS CH /PKT PNTR FOR LATEST OUTPUT + /0=ROUTE,NULL,OR NO OUTPUT, SIGN ON=ACK RECEIVED WHILE PKT O + DEFPLC [TSEX - TRANSMIT ODD-EVEN BITS] +00641 V TSEX: BSS CH /ODD-EVEN BIT TO USE FOR NEXT OUTF + DEFPLC [RSEX - RECEIVE ODD-EVEN BITS] +00646 V RSEX: BSS CH /COMP OF ODD-EVEN BIT WE EXPECT NEX + /USED BY [M2I,TSK] +00653 V CHFREE: BSS CH +00660 V RST.O: BSS 1 /PTR TO RM OUTPUT AREA +00661 V RST.F: BSS 1 / " " " FREE " +00662 V RST.N: BSS 1 / " " " NEW " +00663 V RST.C: BSS 1 / " " " COMPARE " + + LEV CON /ADDRESS CONSTANTS +00664 013210 C JAM: GAM /GIVE A WORD FROM FAKE HOST TO IMP +00665 003234 C DOZE: BKX /JAM WAIT +00666 017347 C SUCK: SUC /GET A WORD FOR FAKE HOST FROM IMP +00667 003240 C WAIT: BKW /SUCK WAIT +00670 015371 C OWP: OWPE /ENTRY INTO ONE WORD PUT +00671 005373 C FLUSHI: FLUSH /PNTR TO SUBR TO FREE BUFFER +00672 017343 C DODXA: .DODXA /ENTRY INTO DO DXA SUBROUTINE + DEFPLC [HOST SIMULATOR FLAG] +00673 000000 C HSFG: 0 /NON-ZERO = START UP HOST SIMULATOR + + LEV VAR +00674 V MP: BSS 1 /MODEM-TO-IMP CURRENT MODEM NO +00675 V HIP: BSS 1 /HOST-TO-IMP CURRENT HOST NO +00676 V IHP: BSS 1 /IMP-TO-HOST CURRENT HOST NO + LEV CON +00677 053333 C HIXX: HISP 0 X /HOST-TO-IMP INDEXED SAVE PNTR +00700 056155 C IHXX: IHSP 0 X /IMP-TO-HOST INDEXED SAVE PNTR + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 24 IMP,3050,IMP 7:20 PM 9/16/1973 + + TIPCON=745 + .TA.=. + 100002/ .TA. TIPCON + .ASCII /"Z"/ + + /LINKS TO TIP PROGRAM + TIPHST=2 /THE TIP TAKES THE HOST 2 SLOT + TIPBKG=40001 + TIPVER=40000 + + TIPCON/ +00745 022404 C HLTNCC: HLTWRD /PNTR TO HALT REPORTING SUBR +00746 000000 C HLTLOC: 0 /PC OF LAST HALT +00747 C HLTA: BSS 1 /A REG AT LAST HALT +00750 C HLTX: BSS 1 /X REG AT LAST HALT + 8PKTS: /NO OF PKTS PER MESSAGE + CMINPL: /MIN PKT LENGTH +00751 000010 C TEN: 10 0"A"MINPL +00752 000077 C C77: 77 +00753 000100 C C100: 100 +00754 C BSS 9. /SOME ROOM FOR TIP CONSTANTS +00765 000000 C TPOPEN: 0 /COUNT OF NO OF OPEN CONNECTIONS ON +00766 016177 C IHLSTP+TIPHST /MINUS IF LAST IMP-TO-TIP PKT +00767 021664 C TIPSKP /SKP IF TIP UP, NOP IF TIP DOWN +00770 C TIPLNK: BSS 1 /IMP-TO-TIP DMC DUTPUT PNTR +00771 C BSS 1 /IMP-IO-TIP OMC OUTPUT END PNTR +00772 C BSS 1 /TIP-TO-IMP DMC INPUT PNTR +00773 C BSS 1 /TIP-TO-IMP DMC INPUT END PNTR +00774 000000 C 0 /(IMP-TO-TIP PKT RNTR) +00775 013315 C EMFH+TIPHST /SKP IF LAST TIP-TO-IMP PKT, ELSE +00776 013141 C HITT+TIPHST /TIP-TO-IMP INTERFACE TIMER +00777 C BSS 1 /LOC 777 USED BY RELOAD CODE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 25 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /WATCHDOG TIMER AND POWER FAIL ROUTINES + + /THESE 2 INSTRS FOLLOW A COMPUTED SKS MODEM ERROR IN PAGE 0 + LEV WDI +01000 003111 0 JMP LD10 +01001 003031 0 JMP WDLUP +01002 001177 0 WDC4: WDT1 +01003 003021 0 JMP WDTM2 /START HERE TO LOAD FROM THE NET +01004 003022 0 JMP WDLOD /START HERE TO LOAD FROM A LINE + + DEFPLC [HOST34 SWITCH] +01005 0 HOST34: BSS 1 /MEANING OF BITS 1&2 FOLLOWS + /0 FOR 5 MODEMS + />0 FOR 4 MODEMS, 3 HOSTS + /<0 FOR 3 MODEMS, 4 HOSTS + /USE >0 FOR TIP/MLC + /BIT 16 ZERO MEANS PAGE 27 IS BUFFERS + /BIT 16 NON-ZERO MEANS PAGE 27 IS NOT TO BE OVERLAID WITH BU] + /VDHF INDICATES WHETHER VDH CODE IS ACTUALLY PRESENT + +01006 0 BSS 3 /FOR COMPATIBILITY WITH IMPLOD 2513 + + /** THIS IS THE CRITICAL CODE WHICH MUST NOT CHANGE ** + /** BOTH LOCATION AND CONTENTS MUST STAY CONSTANT ** + /** IN ORDER THAT ONE IMP VERSION MAY RELOAD ANOTHER ** +01011 010045 0 LWAIT: STA 45 /**THIS IS WHERE THE IMP WAITS +01012 024045 0 IRS 45 /**AFTER SENDING A REQUEST FOR CORE +01013 003012 0 JMP .-1 /**THIS CODE IS OVERLAID WITH THE +01014 024044 0 IRS 44 /**NEW CORE IMAGE WHILE IT IS RUN: +01015 003011 0 JMP LWAIT /**SO IT MUST BE INVARIANT ITSELF +01016 003102 0 JMP LD7 + + CORELO=60 + COREHI=33000 + /CORE IMAGE IS LOADED STARTING AT CORELO + /AND ENDING AT COREHI-1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 26 IMP,3050,IMP 7:20 PM 9/16/1973 + + WDTM: +00062 001017 0 WDTIL/ WDTM +01017 000000 0 WDTM/ INT WDI +01020 024133 0 IRS RSFLAG +01021 140040 0 WDTM2: CRA /ENTER HERE FOR RANDOM RELOAD + LEV BCK /COME HERE FROM NICE STOP CODE +01022 001001 7 WDLOD: INH ALL /ENTER HERE WITH LINE # (1-4) IN AC +01023 030040 7 0 CLKON +01024 017560 7 0 SUB (1) +01025 041577 7 0 ALS 1 +01026 010047 7 0 STA 47 +01027 005005 7 0 LDA HOST34 /SAVE HOST CONFIGURATION +01030 010046 7 0 STA 46 /SHOULD BE 51 + /LDA RSFLAG /SAVE RESTART-RELOAD FLAG + /STA 43 +01031 005037 7 0 WDLUP: LDA LD8 +01032 101000 7 0 NOP /FOR FILLER +01033 000201 7 0 IAB +01034 005561 7 0 LDA (-23) /DON'T LET CLOCK INTS IN +01035 000011 7 0 DXA +01036 003154 7 0 JMP CLEA +01037 001040 7 0 LD8: .+1 +01040 004047 7 0 LDA 47 +01041 101400 7 0 SMI /RANDOM RELOAD? +01042 003046 7 0 JMP LD11 /NO +01043 131040 7 0 RDCLOK /YES +01044 003043 7 0 JMP .-1 +01045 007562 7 0 ANA (6) /GET TWO BIT NUMBER +01046 010000 7 0 LD11: STA 0 +01047 005563 7 0 LDA (SENDC) /SET UP REQUEST FOR CORE +01050 050032 7 0 STA M1OTBP X +01051 015564 7 0 ADD (4) +01052 050033 7 0 STA M1OTBP+1 X +01053 005565 7 0 LDA (CORELO 0 I) /SET UP CORE IMAGE BOUNDS +01054 050020 7 0 STA M1INBP X +01055 005566 7 0 LDA (COREHI 0 I) +01056 050021 7 0 STA M1INBP+1 X +01057 143137 7 0 JMP LDT XI +01060 030071 7 0 LD1: M1OUT /SEND OUT REQUEST FOR CORE +01061 003213 7 0 JMP LD12 +01062 003073 7 0 JMP LD5 +01063 030072 7 0 LD2: M2OUT +01064 003213 7 0 JMP LD12 +01065 003073 7 0 JMP LD5 +01066 030073 7 0 LD3: M3OUT +01067 003213 7 0 JMP LD12 +01070 003073 7 0 JMP LD5 +01071 030074 7 0 LD4: M4OUT +01072 003213 7 0 JMP LD12 +01073 005567 7 0 LD5: LDA (-3000.) +01074 010044 7 0 STA 44 + /JMP LWAIT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 27 IMP,3050,IMP 7:20 PM 9/16/1973 + + /NOP /TO KEEP LOC OF LD6 CONSTANT + /THE NEXT 5 REGS CAN COME OUT AFTER COMPATIBILITY WITH 2634 +01075 010045 7 0 LD6: STA 45 +01076 024045 7 0 IRS 45 +01077 003076 7 0 JMP .-1 +01100 024044 7 0 IRS 44 +01101 003075 7 0 JMP LD6 +01102 044020 7 0 LD7: LDA M1INBP X +01103 013566 7 0 ERA (COREHI 0 I) +01104 100040 7 0 SZE +01105 003031 7 0 JMP WDLUP +01106 045140 7 0 LDA LDERR X +01107 010777 7 0 STA 777 +01110 002777 7 0 JMP 777 + +01111 031040 7 0 LD10: CLKOFF +01112 004046 7 0 LDA 46 /SHOULD BE 51 /RESTORE HOST C +01113 011005 7 0 STA HOST34 + /LDA 43 /RESTORE RESTART-RELOAD FLAG + /STA RSFLAG +01114 073570 7 0 LDX (56-104) /SAVE INTERRUPT ENTRANCES +01115 044104 7 0 LDA 104 X +01116 111571 7 0 STA (30000 0 X) I +01117 024000 7 0 IRS 0 +01120 003115 7 0 JMP .-3 +01121 005127 7 0 LDA LD9 +01122 000201 7 0 IAB +01123 005572 7 0 LDA (-21) +01124 070042 7 0 AMIMLC +01125 005573 7 0 LDA (-1) +01126 003154 7 0 JMP CLEA +01127 001130 7 0 LD9: .+1 +01130 073570 7 0 LDX (56-104) /RESTORE INTERRUPT ENTRANCES +01131 105571 7 0 LDA (30000 0 X) I +01132 050104 7 0 STA 104 X +01133 024000 7 0 IRS 0 +01134 003131 7 0 JMP .-3 +01135 024133 7 0 IRS RSFLAG +01136 103574 7 0 JMP (INIT) I +01137 001060 7 0 LDT: LD1 +01140 070471 7 0 LDERR: M1ERR +01141 001063 7 0 LD2 +01142 070472 7 0 M2ERR +01143 001066 7 0 LD3 +01144 070473 7 0 M3ERR +01145 001071 7 0 LD4 +01146 070474 7 0 M4ERR + +01147 040001 7 0 SENDC: 40001 +01150 100001 7 0 SNDCOR 0 LINETS +01151 000000 7 0 0 +01152 000000 7 0 0 +01153 040001 7 0 -[40001 0 SNDCOR LINETS -3] + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 28 IMP,3050,IMP 7:20 PM 9/16/1973 + +01154 170120 7 0 CLEA: SMK 120 + LEV BCK LCK ALL +01155 073575 7 0 LDX (STDIL-0-TASKIL) +01156 005002 7 0 LDA WDC4 +01157 050104 7 0 STA TASKIL+1 X /RESET ALL INTERRUPT ENTRANCES +01160 024000 7 0 IRS 0 +01161 003157 7 0 JMP .-2 +01162 073576 7 0 LDX (-2) /MUST UNPATCH TWICE 1? +01163 030171 7 0 WDT2: M1UNXP +01164 030172 7 0 M2UNXP +01165 030173 7 0 M3UNXP +01166 030174 7 0 M4UNXP +01167 030175 7 0 M5UNXP +01170 030470 7 0 HUNXPT: H1UNXP /THESE MUST BE IN ORDER11 +01171 030460 7 0 H2UNXP +01172 030450 7 0 H3UNXP +01173 030451 7 0 H4UNXP +01174 024000 7 0 IRS 0 +01175 003163 7 0 JMP WDT2 +01176 021177 7 0 JST WDT1 /AND WAIT + +01177 000000 7 0 WDT1: 0 /NULL INTERRUPT ENTRY +01200 000011 7 0 DXA /ALL INTERRUPTS COME HERE TO DIE +01201 003202 7 0 JMP . 1 +01202 000401 7 0 ENB BCK +01203 073577 7 LDX (0) +01204 024000 7 IRS 0 +01205 003204 7 JMP .-1 /WAIT 600 MS +01206 000201 7 IAB /5=>X +01207 026000 7 IMA 0 /0=>A +01210 170120 7 SMK 120 /NOW WE BLOCK ALL FUTURE INTERRUPTS + LEV WDI +01211 001001 0 INH ALL +01212 042000 0 JMP 0 X /GO TO LD8+1 +01213 005600 0 LD12: LDA (-533.) +01214 010044 0 STA 44 +01215 010045 0 LD13: STA 45 +01216 024045 0 IRS 45 +01217 003216 0 JMP .-1 +01220 024044 0 IRS 44 +01221 003215 0 JMP LD13 +01222 043223 0 JMP .+1 X +01223 030471 0 M1IN +01224 003073 0 JMP LD5 +01225 030472 0 M2IN +01226 003073 0 JMP LD5 +01227 030473 0 M3IN +01230 003073 0 JMP LD5 +01231 030474 0 M4IN +01232 003073 0 JMP LD5 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 29 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +01233 000001 C BITTAB: 1 /BITS FOR ACK AND MESSAGE STUFF +01234 000002 C 2 +01235 000004 C 4 +01236 000010 C 10 +01237 000020 C 20 +01240 000040 C 40 +01241 000100 C 100 +01242 000200 C SWCHB: 200 +01243 000400 C 400 +01244 001000 C 1000 +01245 002000 C 2000 + +01246 000010 C MBITS: 10 +01247 000004 C 4 +01250 000002 C 2 +01251 000001 C 1 + + SWDT: +00061 001252 C SWDTIL/ SWDT /SOFTWARE W-D-T INTERRUPT CALL + SWDT/ +01252 000000 0 INT WDI +01253 001001 0 INH ALL +01254 111601 0 STA (37775) I /SAVED A +01255 133602 0 STX (37776) I /SAVED X +01256 005252 0 LDA SWDT /IF NOT MEM PROTECT (MAY NEED TO BE +01257 111603 0 STA (37774) I /SAVED P/Y +01260 120062 0 JST WDTIL I + + RSTR: /POWER FAIL COMES HERE +00060 001261 0 PFIL/ RSTR +01261 000000 0 RSTR/ INT RSI +01262 030026 0 WDT /POKE WATCHDOG TIMER SO WE DON'T ( +01263 140040 0 CRA +01264 010324 0 STA FREE /COPY SOME PROGRAM INTO PAGE 0 +01265 005604 0 LDA (3) +01266 010133 0 STA RSFLAG /SO THAT RESTART WILL INDICATE POWE +01267 005273 0 LDA RST2A /THESE ARE FOR WHEN THE POWER COMES +01270 010517 0 STA NHA +01271 073274 0 LDX RST3 +01272 002324 0 JMP FREE /GO LOCK UP THE MACHINE +01273 002000 0 RST2A: 2000 +01274 102517 0 RST3: JMP NHA I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 30 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /CORE DUMP TO PDP-1D AT BBN + /COPY EACH 100-WORD BLOCK OF CORE INTO CORBUF=>CORBUF+77 + /SEND BLOCK 1 FROM ITSELF, THEN 2-277 (OR HIGHER), THEN BLOC. + /USE CORBUF-4=>CORBUF-1 AS HEADER AND TEMP STORE + CORBUF=100 + CORCNT=CORBUF-4 /ACKH - USE AS TEMP + CORHED=CORBUF-3 /HEAD - FIXED HEADER, GOES AS ROUTI1 + CORPUT=CORBUF-2 /HEAD1 - USE AS TEMP + CORGET=CORBUF-1 /HEAD2 - FIRST LOCATION OF BLOCK BE + /HEAD3 THRU BUFE-1 ARE 100 DATA WOR] + + LEV BCK + DEFPLC [CORE DUMP] +01275 001001 7 CORE: INH ALL +01276 000013 7 0 EXA +01277 030451 7 0 H4UNXP +01300 030551 7 0 H4ENAB +01301 030251 7 0 H4FOUT +01302 000201 7 0 IAB /ENTER WITH LINE NO 1-5 IN AC +01303 073605 7 0 LDX (-104) +01304 044200 7 0 LDA CORCNT+104 X +01305 051551 7 0 STA CORSAV+104 X /SAVE CORBUF-4=>CORBUF+77 +01306 024000 7 0 IRS 0 +01307 003304 7 0 JMP .-3 +01310 024000 7 0 IRS 0 +01311 003310 7 0 JMP .-1 /WAIT FOR READY LINE +01312 000201 7 0 IAB +01313 041577 7 0 ALS 1 +01314 010000 7 0 STA 0 /SAVE 2*MODEM NO +01315 131041 7 0 RDIMPN +01316 003315 7 0 JMP .-1 +01317 013606 7 0 ERA (BBNIMP) +01320 101040 7 0 SNZ /ARE WE THE BBN IMP? +01321 010000 7 0 STA 0 /YES, THEN WE SEND CORE OUT TO HOST +01322 005607 7 0 LDA (RUTDMP 0 LINETS) +01323 010075 7 0 STA CORHED /SET UP FIXED HEADER +01324 005610 7 0 LDA (CORBUF) +01325 010077 7 0 STA CORGET /SET UP BLOCK TO COPY FROM + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 31 IMP,3050,IMP 7:20 PM 9/16/1973 + +01326 004000 7 0 CORNXT: LDA 0 +01327 100040 7 0 SZE /ARE WE SENDING TO A HOST? +01330 005611 7 0 LDA (CORPUT-CORCNT) /NO, NEED FULL HEADER FC +01331 015612 7 0 ADD (CORCNT) /NEED ONLY LEADER TO HOST +01332 050030 7 0 STA H4OTBP X /SET UP DMC PNTRS +01333 005613 7 0 LDA (CORBUF+77) +01334 050031 7 0 STA H4OTBP+1 X +01335 005610 7 0 LDA (CORBUF) +01336 010076 7 0 STA CORPUT /SET UP BLOCK TO COPY INTO +01337 140407 7 0 TCA +01340 010074 7 0 STA CORCNT /SET UP COPY COUNT +01341 004077 7 0 LDA CORGET +01342 100040 7 0 SZE /ARE WE DOING BLOCK 0? +01343 003347 7 0 JMP CORCOP /NO +01344 024077 7 0 IRS CORGET /YES, START WITH REG 1 +01345 024076 7 0 IRS CORPUT /SINCE CORBUF HAS HIGHEST CORE BLOC1 +01346 024074 7 0 IRS CORCNT +01347 104077 7 0 CORCOP: LDA CORGET I /DO THE COPY +01350 110076 7 0 STA CORPUT I +01351 024077 7 0 IRS CORGET +01352 024076 7 0 IRS CORPUT +01353 024074 7 0 IRS CORCNT +01354 003347 7 0 JMP CORCOP +01355 043356 7 0 JMP COROCP X /DO OCP OUTPUT + +01356 030251 7 0 COROCP: H4FOUT +01357 003371 7 0 JMP CORWAT +01360 030071 7 0 M1OUT +01361 003371 7 0 JMP CORWAT +01362 030072 7 0 M2OUT +01363 003371 7 0 JMP CORWAT +01364 030073 7 0 M3OUT +01365 003371 7 0 JMP CORWAT +01366 030074 7 0 M4OUT +01367 003371 7 0 JMP CORWAT +01370 030075 7 0 M5OUT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 32 IMP,3050,IMP 7:20 PM 9/16/1973 + +01371 004077 7 0 CORWAT: LDA CORGET +01372 013610 7 0 ERA (CORBUF) +01373 101040 7 0 SNZ /DID WE JUST SEND BLOCK 0? +01374 003426 7 0 JMP COREND /YES +01375 005614 7 0 LDA (100000) +01376 010074 7 0 STA CORCNT +01377 024074 7 0 IRS CORCNT +01400 003377 7 0 JMP .-1 /WAIT +01401 030026 7 0 WDT /JUST IN CASE +01402 004077 7 0 LDA CORGET +01403 017615 7 0 SUB (30000) +01404 100400 7 0 SPL /HAVE WE DONE FIRST 12K YET? +01405 003326 7 0 JMP CORNXT /NO, KEEP GOING +01406 104077 7 0 LDA CORGET I /YES, NOW WE MUST CHECK FOR PRESENC1 +01407 140401 7 0 CMA /ABOVE 12K MINIMUM +01410 126077 7 0 IMA CORGET I +01411 122077 7 0 CAS CORGET I +01412 100000 7 0 SKP +01413 003416 7 0 JMP .+3 /NO TRANSITION, NO MORE MEMORY +01414 110077 7 0 STA CORGET I /RESTORE TEST CELL +01415 003326 7 0 JMP CORNXT /AND KEEP GOING +01416 140040 7 0 CRA +01417 026077 7 0 IMA CORGET /RESET PTR TO BLOCK 0 +01420 010100 7 0 STA CORBUF /SAVE HIGHEST CORE BLOCK IN CORBUF +01421 131041 7 0 RDIMPN +01422 003421 7 0 JMP .-1 +01423 012100 7 0 ERA CORBUF /PUT IMP NO IN RIGHT PART OF REG C +01424 010100 7 0 STA CORBUF +01425 003326 7 0 JMP CORNXT /GO BACK AND SEND BLOCK 0 + +01426 073616 7 0 COREND: LDX (-4) +01427 045451 7 0 LDA CORSAV+4 X +01430 050200 7 0 STA CORCNT+CORBUF+4 X +01431 024000 7 0 IRS 0 /RESTORE CORBUF-4=>CORBUF-1 IN THE +01432 003427 7 0 JMP .-3 +01433 024000 7 0 IRS 0 +01434 003433 7 0 JMP .-1 /WAIT +01435 073605 7 0 LDX (-104) +01436 045551 7 0 LDA CORSAV+104 X +01437 050200 7 0 STA CORCNT+104 X /RESTORE CORBUF-4=>CORBUF +01440 024000 7 0 IRS 0 +01441 003436 7 0 JMP .-3 +01442 030026 7 0 WDT +01443 000000 7 0 HLT /DONE +01444 003442 7 0 JMP .-2 + CORSAV: /SAVE SPACE FOR CORBUF-4=>CORBUF+77 + /NEXT 104 LOCS USED BY COR DMP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 33 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THIS CODE IS THE ADD CHAIN WHICH COMPUTES PACKET CHECKSUMS + /IT IS RE-ENTRANT AND IS CALLED BY DIFFERENT INTERRUPTS + LEV ALL +01445 054115 0 ADDTOP: ADD BUFE+4 X +01446 054114 0 ADD BUFE+3 X +01447 054113 0 ADD BUFE+2 X +01450 054112 0 ADD BUFE+1 X +01451 054111 0 ADD BUFE X +01452 054110 0 ADD BUFE-1 X +01453 054107 0 ADD DATA+76 X +01454 054106 0 ADD DATA+75 X +01455 054105 0 ADD DATA+74 X +01456 054104 0 ADD DATA+73 X +01457 054103 0 ADD DATA+72 X +01460 054102 0 ADD DATA+71 X +01461 054101 0 ADD DATA+70 X +01462 054100 0 ADD DATA+67 X +01463 054077 0 ADD DATA+66 X +01464 054076 0 ADD DATA+65 X +01465 054075 0 ADD DATA+64 X +01466 054074 0 ADD DATA+63 X +01467 054073 0 ADD DATA+62 X +01470 054072 0 ADD DATA+61 X +01471 054071 0 ADD DATA+60 X +01472 054070 0 ADD DATA+57 X +01473 054067 0 ADD DATA+56 X +01474 054066 0 ADD DATA+55 X +01475 054065 0 ADD DATA+54 X +01476 054064 0 ADD DATA+53 X +01477 054063 0 ADD DATA+52 X +01500 054062 0 ADD DATA+51 X +01501 054061 0 ADD DATA+50 X +01502 054060 0 ADD DATA+47 X +01503 054057 0 ADD DATA+46 X +01504 054056 0 ADD DATA+45 X +01505 054055 0 ADD DATA+44 X +01506 054054 0 ADD DATA+43 X +01507 054053 0 ADD DATA+42 X +01510 054052 0 ADD DATA+41 X +01511 054051 0 ADD DATA+40 X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 34 IMP,3050,IMP 7:20 PM 9/16/1973 + +01512 054050 0 ADD DATA+37 X +01513 054047 0 ADD DATA+36 X +01514 054046 0 ADD DATA+35 X +01515 054045 0 ADD DATA+34 X +01516 054044 0 ADD DATA+33 X +01517 054043 0 ADD DATA+32 X +01520 054042 0 ADD DATA+31 X +01521 054041 0 ADD DATA+30 X +01522 054040 0 ADD DATA+27 X +01523 054037 0 ADD DATA+26 X +01524 054036 0 ADD DATA+25 X +01525 054035 0 ADD DATA+24 X +01526 054034 0 ADD DATA+23 X +01527 054033 0 ADD DATA+22 X +01530 054032 0 ADD DATA+21 X +01531 054031 0 ADD DATA+20 X +01532 054030 0 ADD DATA+17 X +01533 054027 0 ADD DATA+16 X +01534 054026 0 ADD DATA+15 X +01535 054025 0 ADD DATA+14 X +01536 054024 0 ADD DATA+13 X +01537 054023 0 ADD DATA+12 X +01540 054022 0 ADD DATA+11 X +01541 054021 0 ADD DATA+10 X +01542 054020 0 ADD DATA+7 X +01543 054017 0 ADD DATA+6 X +01544 054016 0 ADD DATA+5 X +01545 054015 0 ADD DATA+4 X +01546 054014 0 ADD DATA+3 X +01547 054013 0 ADD DATA+2 X +01550 054012 0 ADD DATA+1 X +01551 054011 0 ADD DATA X +01552 054010 0 ADD HEAD3 X +01553 054007 0 ADD HEAD2 X +01554 054006 0 ADD HEAD1 X +01555 054005 0 ADD HEAD X +01556 054004 0 ADDBOT: ADD ACKH X +01557 102111 0 JMP ADDRET I /RETURN TO CALLING INTERRUPT ROUTIN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 35 IMP,3050,IMP 7:20 PM 9/16/1973 + + +01560 000001 C LEV CON CONSTANTS +01561 177755 C +01562 000006 C +01563 001147 C +01564 000004 C +01565 100060 C +01566 133000 C +01567 172110 C +01570 177752 C +01571 070000 C +01572 177757 C +01573 177777 C +01574 002000 C +01575 177760 C +01576 177776 C +01577 000000 C +01600 176753 C +01601 037775 C +01602 037776 C +01603 037774 C +01604 000003 C +01605 177674 C +01606 000005 C +01607 000011 C +01610 000100 C +01611 000002 C +01612 000074 C +01613 000177 C +01614 100000 C +01615 030000 C +01616 177774 C +01777 000000 C 1777/ 0 /LOC 1777 USED IN SWCH CODE + /FOR MEM PROTECT TEST + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 36 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /INITIALIZATION + LEV BCK +02000 120672 7 INIT: JST DODXA I RET BCK +02001 001001 7 INH INI +02002 140040 7 0 CRA +02003 170120 7 0 SMK INTM /LOCK OUT INTERRUPTS FOR INIT +02004 010134 7 0 STA PRIM +02005 026133 7 0 IMA RSFLAG +02006 141206 7 0 AOA +02007 111465 7 0 STA (RSFNCC) I /SET UP RSTART INDICATOR FOR NCC +02010 022114 7 0 CAS ONE /RESTART +02011 022116 7 0 CAS THREE /OR POWERFAIL (4) +02012 003202 7 0 JMP INIVDH /==>SEE IF VDH GETS RESTARTED +02013 101000 7 0 NOP / (MUST COME BEFORE ZEROING 0-AF +02014 140040 7 0 CRA +02015 010145 7 0 STA SATRSF +02016 010136 7 0 INIVDR: STA TIPRSF +02017 010765 7 0 STA TPOPEN +02020 073466 7 0 LDX (-MAXITB) /MUST PRECEDE ZEROING +02021 045346 7 0 INIT1: LDA ITBTIP+MAXITB X /SO THAT APPROPRIATE INT'I +02022 070042 7 0 AMIMLC /ENTRIES ARE CLEARED +02023 045316 7 0 LDA ITBIMP+MAXITB X +02024 151266 7 0 STA ITBLOC+MAXITB XI /INIT TIP-HOST3 LOCS +02025 024000 7 0 IRS 0 +02026 003021 7 0 JMP INIT1 +02027 073467 7 0 LDX (-MAXVDH) +02030 045361 7 0 LDA ITBNVD+MAXVDH X +02031 151374 7 0 STA ITBVDL MAXVDH XI +02032 024000 7 0 IRS 0 +02033 003030 7 0 JMP .-3 +02034 073470 7 0 LDX (-INITZN) /INIT THE ZERO STORAGE AREAS +02035 045221 7 0 INIT0: LDA INITZB+INITZN X +02036 011212 7 0 STA IT1 +02037 045226 7 0 LDA INITZL+INITZN X +02040 011213 7 0 STA IT2 +02041 140040 7 0 CRA /MUST PRECED QUEUE INIT +02042 111212 7 0 STA IT1 I +02043 025212 7 0 IRS IT1 +02044 025213 7 0 IRS IT2 +02045 003042 7 0 JMP .-3 +02046 024000 7 0 IRS 0 +02047 003035 7 0 JMP INIT0 +02050 010144 7 0 STA VDHRSF /VDH WILL NOT RESTART +02051 131041 7 0 RDIMPN +02052 003051 7 0 JMP .-1 +02053 010106 7 0 STA MINE /INIT MINE +02054 005471 7 0 LDA (NS1) +02055 111472 7 0 STA (NSRR) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 37 IMP,3050,IMP 7:20 PM 9/16/1973 + +02056 073473 7 0 LDX (-QUEUEL) +02057 005474 7 0 LDA (QUEUEB) /INIT QUEUE PNTRS +02060 050414 7 0 INIT3: STA QUEUEE+QUEUEL X +02061 141206 7 0 AOA +02062 024000 7 0 IRS 0 +02063 003060 7 0 JMP INIT3 +02064 005475 7 0 LDA (ZERO) +02065 010324 7 0 STA FREE +02066 105476 7 0 LDA (HOST34) I +02067 006115 7 0 ANA TWO +02070 100040 7 0 SZE +02071 004116 7 0 LDA THREE +02072 111477 7 0 STA (SATNO) I +02073 105476 7 0 LDA (HOST34) I +02074 006114 7 0 ANA ONE +02075 010000 7 0 STA 0 +02076 101040 7 0 SNZ +02077 010144 7 0 STA VDHRSF /JUST IN CASE +02100 100040 7 0 SZE +02101 005500 7 0 LDA (-CH 0 M.N) /SET VDHNO FOR VDH IMPS.. +02102 111501 7 0 STA (VDHNO) I /...0 FOR NON-VDH +02103 045405 7 0 LDA P36END X +02104 011445 7 0 STA SPAR+36-2 /SET UP END OF P36 FOR VDH OR NOT +02105 045407 7 0 LDA P37END X +02106 011446 7 0 STA SPAR+37-2 /SET UP END OF P37 AND BEYOND +02107 004115 7 0 LDA TWO /START COLLECTING BUFFERS ON P2 +02110 011212 7 0 STA IT1 +02111 073502 7 0 LDX (-PAGES+2) +02112 045447 7 0 INIT4: LDA SPAR+PAGES-2 X +02113 040167 7 0 LRS 9. /PICK UP NUMBER OF BUFFERS ON THI[ + /NOTE THAT NO MORE THAN 64 8UFFERS CAN BE CLAIMED PER ENTRY +02114 011213 7 0 STA IT2 +02115 005212 7 0 LDA IT1 /PICK UP PAGE NUMBER +02116 025212 7 0 IRS IT1 +02117 041167 7 0 LLS 9. /PICK UP START OF BUFFER STORAGE +02120 003126 7 0 JMP INIT6 + +02121 024537 7 0 INIT5: IRS NFA /COUNT ANOTHER FREE BUFFER +02122 026324 7 0 IMA FREE +02123 110324 7 0 STA FREE I /ADD TO FREE LIST +02124 004324 7 0 LDA FREE +02125 015503 7 0 ADD (BUFL) +02126 025213 7 0 INIT6: IRS IT2 /HAVE WE TAKEN ALL THE BUFFERS +02127 003121 7 0 JMP INIT5 /NO, MORE ON THIS PAGE +02130 024000 7 0 IRS 0 /YES, GO ON TO NEXT PAGE +02131 003112 7 0 JMP INIT4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 38 IMP,3050,IMP 7:20 PM 9/16/1973 + +02132 005504 7 0 LDA (4"T"CH) +02133 010571 7 0 STA MAXS +02134 010573 7 0 STA MAXSI +02135 140407 7 0 TCA +02136 014537 7 0 ADD NFA +02137 014751 7 0 ADD 8PKTS +02140 040575 7 0 ARS 3 +02141 041575 7 0 ALS 3 +02142 014115 7 0 ADD TWO +02143 010572 7 0 STA MAXR +02144 072122 7 0 LDX MINUS2 /INIT THE FREE REAS+TRACE LISTS +02145 045230 7 0 INIT7: LDA INIBLK+2 X +02146 011212 7 0 STA IT1 +02147 045232 7 0 LDA INIQUE+2 X +02150 151234 7 0 STA INISTR+2 XI +02151 011213 7 0 STA IT2 +02152 055236 7 0 INIT8: ADD INILNG+2 X +02153 111213 7 0 STA IT2 I +02154 011213 7 0 STA IT2 +02155 025212 7 0 IRS IT1 +02156 003152 7 0 JMP INIT8 +02157 140040 7 0 CRA +02160 111213 7 0 STA IT2 I +02161 024000 7 0 IRS 0 +02162 003145 7 0 JMP INIT7 +02163 004132 7 0 LDA MINIMP +02164 011212 7 0 STA IT1 +02165 072113 7 0 LDX ZERO +02166 021374 7 0 INIT9: JST MESINI /INIT TMESS,RMESS +02167 024000 7 0 IRS 0 +02170 025212 7 0 IRS IT1 +02171 003166 7 0 JMP INIT9 +02172 005505 7 0 LDA (TALLY) +02173 111506 7 0 STA (TALLYI) I +02174 073507 7 0 LDX (0 0-2"T"FH-BH) +02175 045465 7 0 INIT13: LDA TTOI+FH+FH+BH X +02176 111510 7 0 STA (DZTB+FH+FH+BH 0 X) I +02177 024000 7 0 IRS 0 +02200 003175 7 0 JMP INIT13 +02201 103511 7 0 JMP (INITNP) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 39 IMP,3050,IMP 7:20 PM 9/16/1973 + +02202 004567 7 0 INIVDH: LDA VDHUPF /PWR FAIL OR PLAIN RESTART +02203 010144 7 0 STA VDHRSF /THEN RESTART VDH IF IT WAS UP +02204 004145 7 0 LDA SATRSF +02205 140100 7 0 SSP +02206 010145 7 0 STA SATRSF +02207 004136 7 0 LDA TIPRSF +02210 140100 7 0 SSP /0=>0, -=>+ +02211 003016 7 0 JMP INIVDR + + LEV VAR +02212 V IT1: BSS 1 +02213 V IT2: BSS 1 + LEV CON +02214 000160 C INITZB: ZEROB +02215 032030 C I2MB0 +02216 032030 C TABZB +02217 030434 C PARAMT +02220 100063 C STDIL 0 I /IN CASE NON-EXA IMP RELOADS FROM +02221 177370 C INITZL: -ZEROL +02222 177730 C -[CH"T"NACH] +02223 176201 C -TABZL +02224 177740 C -PARAML +02225 177760 C STDIL-0-TASKIL + INITZN=INITZL-0-INITZB +02226 177771 C INIBLK: -NREAB+0+1 +02227 177771 C -NTRCB+0+1 +02230 033317 C INIQUE: REASQ +02231 032131 C TRACEQ +02232 000326 C INISTR: RASF +02233 000325 C TTF +02234 000014 C INILNG: REASL +02235 000013 C TRACEL + + +02236 C ITBLOC: BSS MAXITB +02266 C ITBIMP: BSS MAXITB +02316 C ITBTIP: BSS MAXITB + MAXVDH=11. +02346 C ITBNVD: BSS MAXVDH +02361 000001 C ITBVDL: REPEAT MAXVDH,JUNK +02362 000001 C +02363 000001 C +02364 000001 C +02365 000001 C +02366 000001 C +02367 000001 C +02370 000001 C +02371 000001 C +02372 000001 C +02373 000001 C + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 40 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [INI,T.O] +02374 000000 0 MESINI: 0 +02375 005512 0 LDA (0 0 177777"X"MSTO1"X"MSTO2) +02376 111513 0 STA (TMESS 0 X) I +02377 005514 0 LDA (0 0 3"T"400) 0"A"MESSNO +02400 111515 0 STA (RMESS 0 X) I +02401 140040 0 CRA +02402 111516 0 STA (AMESS 0 X) I +02403 111517 0 STA (RALLY 0 X) I +02404 103374 0 JMP MESINI I + + LEV CON +02405 170067 C P36END: P36FB"A"777-[P36NB+1]"T"1000 +02406 171067 C P36FB"A"777-[P36NB]"T"1000 +02407 172075 C P37END: P37FB"A"777-[P37NB]"T"1000 +02410 177777 C VDHEND"A"777-[0+1]"T"1000 + +02411 C SPAR: BSS PAGES-2 /TABLE OF ENDS-OF-PAGES + /FORMAT IS HI 7 BITS = -(NUMBER OF BUFFS ON PAGE+1) + /LO 9 BITS = STARTING ADDRESS OF FIRST BUFFER + + /FAKE HOST OUTPUT (JAM) SLOTS IN DZTB +02447 025117 C TTOI: TTYI /FH0 (TTY) OUTPUT FROM IMP TO FH +02450 023066 C DOTI /FH1 (DDT) OUTPUT FROM IMP TO FH +02451 030477 C BTRE /FH2 (TRACE) OUTPUT FROM IMP TO FH +02452 030056 C STTI /FH3 (STAT) OUTPUT FROM IMP TO FH + /FAKE HOST INPUT (SUCK) SLOTS IN WTTB +02453 025310 C TTO0 /FH0 (TTY) INPUT TO IMP FROM FH +02454 024012 C DIN4 /FH1 (DDT) INPUT TO IMP FROM FH +02455 030414 C BEST /FH2 (PARAM CHANGE) INPUT TO IMP E +02456 030474 C STXY /FH3 (DISCARD) INPUT TO IMP FROM FH + /BACK HOST SLOTS IN SLTB +02457 004101 C BACK0 /BH0 (SEND RFNMS+ALLOCATES) +02460 004206 C BACK1 /BH1 (SEND INCOMPLETE TRANSMISSIONS +02461 004302 C BACK2 /BH2 (SEND GIVE BACKS) +02462 004347 C BACK3 /BH3 (RETRANSMIT FROM PPT) +02463 004356 C BACK4 /BH4 (SEND OUT-OF-RANGE REPLIES) + / (REROUTE DEAD LINE STUFF) + / (RETURN DESTINATION DEADS) +02464 004365 C BACK5 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 41 IMP,3050,IMP 7:20 PM 9/16/1973 + +02465 003560 C LEV CON CONSTANTS +02466 177750 C +02467 177765 C +02470 177773 C +02471 003452 C +02472 003450 C +02473 177727 C +02474 000272 C +02475 000113 C +02476 001005 C +02477 005153 C +02500 177775 C +02501 020544 C +02502 177742 C +02503 000112 C +02504 000024 C +02505 032261 C +02506 015155 C +02507 177762 C +02510 043433 C +02511 003074 C +02512 177477 C +02513 072271 C +02514 001400 C +02515 072371 C +02516 072471 C +02517 072571 C +02411 174524 C PAGEND 2,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 42 IMP,3050,IMP 7:20 PM 9/16/1973 + + /CONSTANTS, VARIABLE FOR NEW INIT PAGE + + LEV VAR +03062 V IT3: BSS 1 + + LEV CON +03063 010047 C M2IIT: M2I1A +03064 010073 C M2I2A +03065 010117 C M2I3A +03066 010143 C M2I4A +03067 010167 C M2I5A + +03070 C HIM.I: TIPDEF 177660,177664 +02236 003070 C +02266 177660 C +02316 177664 C +03071 C HIM.I4: TIPDEF 177460,177464 +02237 003071 C +02267 177460 C +02317 177464 C +03072 C IHM.I: TIPDEF 173600,173624 +02240 003072 C +02270 173600 C +02320 173624 C +03073 C IHM.I4: TIPDEF 163400,163424 +02241 003073 C +02271 163400 C +02321 163424 C + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 43 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK LCK INI +03074 105561 7 0 INITNP: LDA (HOST34) I /THIS IS <>0 IF 3 OR 4 HOSTS +03075 006124 7 0 ANA MINUS4 + /=0 FOR 5 MODEMS, 2 HOSTS + />0 FOR 4 MODEMS, 3 HOSTS + /<0 FOR 3 MODEMS, 4 HOSTS +03076 072132 7 0 LDX MIN100 /5M,2H +03077 100040 7 0 SZE +03100 073072 7 0 LDX IHM.I /4M,3H +03101 100400 7 0 SPL +03102 073073 7 0 LDX IHM.I4 /3M,4H +03103 032500 7 0 STX IHM /* +03104 073562 7 0 LDX (-20) /5M,2H +03105 100040 7 0 SZE +03106 073070 7 0 LDX HIM.I /4M,3H +03107 100400 7 0 SPL +03110 073071 7 0 LDX HIM.I4 /3M,4H +03111 032501 7 0 STX HIM /* +03112 073563 7 0 LDX (-4000) /5M,2H +03113 100040 7 0 SZE +03114 073564 7 0 LDX (-10000) /4M,3H +03115 100400 7 0 SPL +03116 073565 7 0 LDX (-20000) /3M,4H +03117 032502 7 0 STX MOM /* +03120 072113 7 0 LDX ZERO /5M,2H +03121 100040 7 0 SZE +03122 072121 7 0 LDX MINUS1 /4M,3H +03123 100400 7 0 SPL +03124 072122 7 0 LDX MINUS2 /3M,4H +03125 133566 7 0 STX (MODNO) I /* +03126 073567 7 0 LDX (M2I5) /5M +03127 100040 7 0 SZE +03130 073570 7 0 LDX (IH2E) /4M OR 3M +03131 032070 7 0 STX M5INIL /* +03132 073571 7 0 LDX (M2I4) /5M OR 4M +03133 100400 7 0 SPL +03134 073572 7 0 LDX (IH3E) /3M +03135 032067 7 0 STX M4INIL /* +03136 073573 7 0 LDX (I2M5) /5M +03137 100040 7 0 SZE +03140 073574 7 0 LDX (HI2E) /4M OR 3M +03141 032075 7 0 STX M5OTIL /* +03142 073575 7 0 LDX (I2M4) /5M OR 4M +03143 100400 7 0 SPL +03144 073576 7 0 LDX (HI3E) /3M +03145 032074 7 0 STX M4OTIL /* + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 44 IMP,3050,IMP 7:20 PM 9/16/1973 + +03146 121577 7 0 JST (RUTINI) I /INIT ROUTING TABLES +03147 121600 7 0 JST (TOI) I /INITIALIZE TIMEOUT +03150 131040 7 0 RDCLOK +03151 003150 7 0 JMP .-1 /WAIT 3 SECONDS +03152 101400 7 0 SMI +03153 003150 7 0 JMP .-3 /BEFORE STARTING INTERRUPT PROGRAF' +03154 121601 7 0 JST (SWCH) I /FIRE OFF A TRBL REPT NOW - FOLLOWS + /START MODEM INPUT - MUST FOLLOW TOI +03155 073602 7 0 LDX (-[2"T"CH]) +03156 005603 7 0 LDA (I 0 1) +03157 050032 7 0 INIT17: STA M1INBP+2"T"CH X +03160 024000 7 0 IRS 0 +03161 003157 7 0 JMP INIT17 +03162 005604 7 0 LDA (M1IN) +03163 011174 7 0 STA INIT19 +03164 072127 7 0 LDX MICH +03165 005605 7 0 INIT18: LDA (JMP+0+1000+M2II"A"777) +03166 151070 7 0 STA M2IIT+CH XI /FIRST IN WILL BE DISCAF +03167 105606 7 0 LDA (VDHNO) I /SKIP FOR VDH'S MODEM +03170 016000 7 0 SUB 0 +03171 100040 7 0 SZE +03172 117607 7 0 SUB (SATNO) I /ENTERING AC IS -C(0) +03173 100040 7 0 SZE +03174 7 0 INIT19: BSS 1 /STARTUP MODEM INS +03175 025174 7 0 IRS INIT19 +03176 024000 7 0 IRS 0 +03177 003165 7 0 JMP INIT18 + /START THE HOST/IMP AND IMP/HOST ROUTINES +03200 004131 7 0 LDA MITH +03201 011062 7 0 STA IT3 /COUNTING ON X=0 AT THIS POINT +03202 004117 7 0 INIT15: LDA FOUR 0"A"HSTIDN /HOSTS ARE DOWN WHILE IMP +03203 050504 7 0 STA HIHD X +03204 121610 7 0 JST (IHIN) I /** MUST BE IN THIS ORDER +03205 121611 7 0 JST (HIST) I /** +03206 024000 7 0 IRS 0 +03207 025062 7 0 IRS IT3 +03210 003202 7 0 JMP INIT15 +03211 004121 7 0 LDA MINUS1 +03212 010137 7 0 STA SW3FG +03213 010140 7 0 STA NRSTF +03214 010134 7 0 STA PRIM +03215 170120 7 0 SMK INTM +03216 000401 7 0 ENB BCK +03217 131040 7 RDCLOK /ALLOW ALL T/O PROGRAMS TO RUN +03220 003217 7 JMP .-1 +03221 100400 7 SPL +03222 003217 7 JMP .-3 /BEFORE BACK BEGINS + /FALL INTO BACKST ----- + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 45 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /BACKGROUND LOOP + LEV BCK +03223 005612 7 BACKST: LDA (BBNIMP) /1ST REPORT MUST GO TO NCC +03224 111613 7 BACK: STA (TRBD) I +03225 005614 7 LDA (-FH) +03226 011410 7 STA BT1 +03227 005410 7 BKV: LDA BT1 +03230 017614 7 SUB (-FH) +03231 010000 7 STA 0 +03232 011412 7 STA FAKENO /FOR DEBUG +03233 143415 7 JMP DZTB XI /RESUME WHERE JAM LEFT OFF + +03234 000000 7 BKX: 0 /JAM WAIT (DOZE) +03235 005234 7 LDA BKX +03236 051415 7 STA DZTB X +03237 143421 7 JMP WTTB XI /RESUME WHERE SUCK LEFT OFF + +03240 000000 7 BKW: 0 /SUCK WAIT (WAIT) +03241 005240 7 LDA BKW +03242 051421 7 STA WTTB X +03243 000401 7 ENB BCK +03244 025410 7 IRS BT1 +03245 003227 7 JMP BKV +03246 005615 7 LDA (-BH) +03247 011410 7 STA BT1 +03250 072113 7 LDX ZERO +03251 133616 7 BKY: STX (BACKNO) I +03252 072114 7 LDX ONE +03253 001001 7 INH ALL +03254 143260 7 0 DXATS1: JMP DXATST XI /ARE WE EXA OR DXA? + DEFHLT [BACKGROUND IN EXA MODE (BACK0)!] +03255 021262 7 0 JST DXABUG /DXA +03256 173616 7 0 DXATS2: LDX (BACKNO) I /EXA +03257 143425 7 0 JMP SLTB XI /RESUME WHERE BACK HOSTS LEFT OFF + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 46 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +03260 003254 C DXATST: DXATS1 +03261 003256 C DXATS2 + LEV BCK LCK ALL +03262 000000 7 0 DXABUG: 0 +03263 120745 7 0 JST HLTNCC I +03264 000011 7 0 DXA +03265 103262 7 0 JMP DXABUG I + + RET BCK +03266 000000 7 BKZ: 0 /BACK HOST WAIT (SLEEP) +03267 000401 7 ENB BCK +03270 173616 7 LDX (BACKNO) I +03271 005266 7 LDA BKZ +03272 051425 7 STA SLTB X +03273 024000 7 B5Z: IRS 0 +03274 025410 7 IRS BT1 +03275 003251 7 JMP BKY +03276 140040 7 CRA +03277 100004 7 SR3 +03300 010137 7 STA SW3FG /DO NICE STOP IF SS3 +03301 004137 7 LDA SW3FG /REMOTE NICE-STOP+RELOAD +03302 100400 7 SPL +03303 004140 7 LDA NRSTF +03304 101400 7 SMI +03305 021446 7 JST NSRT /NICE-STOP IF SW3FG>=0 OR NRSTF>=0 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 47 IMP,3050,IMP 7:20 PM 9/16/1973 + +03306 004415 7 LDA TIME +03307 027413 7 IMA WDTOLD /IS T.O RUNNING? +03310 013413 7 ERA WDTOLD +03311 100040 7 SZE +03312 003316 7 JMP BKT /TIME CHANGED...YES +03313 025414 7 IRS WDTBAK +03314 003320 7 JMP BKU /DON'T GIVE UP YET + RELOAD [BACKGROUND SAW TIMEOUT STOP] +03315 120061 7 JST SWDTIL I + +03316 005617 7 BKT: LDA (-10000.) /GIVE T.O A LONG TIME TO RUN +03317 011414 7 STA WDTBAK /AND RESET BACK-WDT +03320 000401 7 BKU: ENB BCK +03321 7 TIPDEF [JMP BKS],[LDA TIPRSF] +02242 003321 7 +02272 003334 7 +02322 004136 7 +03322 101040 7 SNZ +03323 003331 7 JMP BKR +03324 000013 7 EXA +03325 121620 7 JST (TIPBKG) I +03326 001001 7 INH ALL +03327 120672 7 0 JST DODXA I RET BCK +03330 003334 7 JMP BKS +03331 004063 7 BKR: LDA STDIL +03332 010101 7 STA H2INIL +03333 010077 7 STA H2OTIL +03334 073621 7 BKS: LDX (-LITN) /LIGHTS DISPLAY +03335 145446 7 LIT2: LDA LITT+LITN XI +03336 100040 7 SZE +03337 140500 7 SSM +03340 041277 7 LLR 1 +03341 024000 7 IRS 0 +03342 003335 7 JMP LIT2 +03343 140040 7 CRA +03344 040267 7 LRR LITN +03345 012452 7 ERA LUUP +03346 011434 7 STA LITS +03347 001001 7 INH ALL +03350 000013 7 0 EXA +03351 105433 7 0 LDA LITP I +03352 120672 7 0 JST DODXA I RET BCK +03353 100020 7 SR1 +03354 004121 7 LDA MINUS1 /LAMP TEST +03355 170026 7 LITES +03356 101000 7 NOP +03357 000201 7 IAB +03360 025411 7 IRS BACKX /KEEP COUNT OF BACK LOOPS +03361 101000 7 NOP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 48 IMP,3050,IMP 7:20 PM 9/16/1973 + +03362 140040 7 CRA +03363 026144 7 IMA VDHRSF /CHECK AND RESET VDH RESTART FLAG +03364 100040 7 SZE +03365 121622 7 JST (VD.I) I /YES, RESTART +03366 101000 7 VDH2: NOP /VDH BACKGROUND CALL +03367 004172 7 LDA RUT+BBNIMP +03370 101400 7 SMI 0"A"RUTDED /IS NCC IMP UP? +03371 003223 7 JMP BACKST /YES +03372 072132 7 LDX MINIMP /MUST FIND RANDOM IMP UP +03373 044265 7 BKWD1: LDA RUT+NIMP X +03374 101400 7 SMI 0"A"RUTDED /DEAD? +03375 101040 7 SNZ 0"A"RUTUS +03376 003403 7 JMP BKWD2 /DON'T USE OURSELVES EXCEPT AS A LA1 +03377 004000 7 LDA 0 /GOT ONE +03400 016132 7 SUB MINIMP +03401 013623 7 BKWD3: ERA (DESTH 0 FORIMP) /TO DISCARD +03402 003224 7 JMP BACK +03403 024000 7 BKWD2: IRS 0 +03404 003373 7 JMP BKWD1 +03405 004106 7 LDA MINE /EVERYONE IS DEAD, USE OURSELVES +03406 003401 7 JMP BKWD3 +03407 037511 7 VDH2.: VD.B + + LEV VAR +03410 V BT1: BSS 1 +03411 V BACKX: BSS 1 /NO OF BACK LOOPS +03412 V FAKENO: BSS 1 +03413 V WDTOLD: BSS 1 /OLD TIME READING +03414 V WDTBAK: BSS 1 /BACK WDT TIMER + /THESE 3 TABLES MUST STAY IN ORDER11 + DEFPLC [DZTB - GOES WITH JAM] +03415 V DZTB: BSS FH + DEFPLC [WTTB - GOES WITH SUCK] +03421 V WTTB: BSS FH + DEFPLC [SLTB - GOES WITH SLEEP (BACK HOSTS)] +03425 V SLTB: BSS BH + + DEFPLC [LIGHT DISPLAY POINTER AND NOMINAL DISPLAY WORD] +03433 003434 V LITP: LITS +03434 V LITS: BSS 1 + + /LIGHTS TABLE AND CONDITION INDICATED BY LIT LIGHT + LEV CON +03435 000433 C LITT: LINE /1 - 100000 1ST CHANNEL DEAD +03436 000434 C LINE+1 /2 - 40000 2ND CHANNEL DEAD +03437 000435 C LINE+2 /3 - 20000 3RD CHANNEL DEAD +03440 000436 C LINE+3 /4 - 10000 4TH CHANNEL DEAD +03441 000504 C HIHD /5 - 4000 HOST 1 DEAD +03442 000505 C HIHD+1 /6 - 2000 HOST 2 DEAD +03443 000506 C HIHD+2 /7 - 1000 HOST 3 DEAD +03444 000507 C HIHD+3 /8 - 400 HOST 4 DEAD +03445 000765 C TPOPEN /9 - 200 TIP HAS OPEN CONNECTION + LITN=0 0 .-LITT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 49 IMP,3050,IMP 7:20 PM 9/16/1973 + + / NICE STOP ROUTINE + LEV BCK +03446 000000 7 NSRT: 0 +03447 103450 7 JMP NSRR I +03450 000000 7 NSRR: 0 +03451 103446 7 JMP NSRT I +03452 004137 7 NS1: LDA SW3FG /SET UP RSFNCC WORD FOR NICE STOP +03453 006120 7 ANA SEVEN +03454 041675 7 ALR 3 +03455 012140 7 ERA NRSTF +03456 007624 7 ANA (177770) +03457 012140 7 ERA NRSTF +03460 012752 7 ERA C77 +03461 041675 7 ALR 3 +03462 101004 7 SS3 /DO NOT SET RSFNCC FOR SS3 +03463 011560 7 STA RSFNCC +03464 140040 7 CRA /SEND IMP GOING DOWN IN 30 SEC +03465 021525 7 JST IHDOWN LCK FRE +03466 000401 7 0 ENB BCK +03467 021543 7 JST NSWT /WAIT 5 SECONDS +03470 004117 7 LDA FOUR 0"A"HSTIDN +03471 010504 7 STA HIHD /STOP NET TRAFFIC TO AND FROM HOSTS +03472 010505 7 STA HIHD+1 /MARK HOSTS DEAD, IMP NOT UP +03473 010506 7 STA HIHD+2 +03474 010507 7 STA HIHD+3 +03475 021543 7 JST NSWT /WAIT 5 SECONDS +03476 004121 7 LDA MINUS1 /STOP STORE-AND-FORWARD TRAFFIC BI +03477 010573 7 STA MAXSI /MAKING MAXS COPY SMALL +03500 021543 7 JST NSWT /WAIT 5 SECONDS +03501 004127 7 LDA MICH +03502 011556 7 STA BT2 /STOP EXCHANGE OF ROUTING AND ACKNO +03503 072113 7 LDX ZERO /TURNING OFF ALL LINES +03504 001001 7 INH [M2I,T.O,TSK] +03505 121625 7 0 NS3: JST (KILLIN) I /KILL LINE AT ONCE +03506 024000 7 0 IRS 0 +03507 025556 7 0 IRS BT2 +03510 003505 7 0 JMP NS3 +03511 000401 7 0 ENB BCK +03512 021543 7 JST NSWT /WAIT 5 SECONDS +03513 021543 7 JST NSWT /WAIT UNTIL SLT DELAY OVER +03514 004140 7 LDA NRSTF +03515 101400 7 SMI /RESTART? +03516 103626 7 JMP (INIT) I /GO TO 2000 +03517 004137 7 LDA SW3FG /FOR VDH OR NON-VDH +03520 101004 7 SS3 /STOP OR RELOAD? +03521 103627 7 JMP (WDLOD) I +03522 030026 7 WDT +03523 000000 7 HLT +03524 003522 7 JMP .-2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 50 IMP,3050,IMP 7:20 PM 9/16/1973 + +03525 000000 7 IHDOWN: 0 /NOTIFY ALL HOSTS OF IMP DOWN +03526 001001 7 INH FRE +03527 010515 7 0 STA TWDP +03530 004131 7 0 LDA MITH +03531 011556 7 0 STA BT2 +03532 005556 7 0 NS2: LDA BT2 +03533 016131 7 0 SUB MITH +03534 010000 7 0 STA 0 +03535 005630 7 0 LDA (CIMPDN) /IMP GOING DOWN MESSAGE +03536 120670 7 0 JST OWP I +03537 101000 7 0 NOP +03540 025556 7 0 IRS BT2 +03541 003532 7 0 JMP NS2 +03542 103525 7 0 JMP IHDOWN I + +03543 000000 7 0 NSWT: 0 /WAIT 5 SECONDS +03544 030026 7 0 WDT +03545 004415 7 0 LDA TIME +03546 011557 7 0 STA NSTM +03547 021450 7 0 NS5: JST NSRR +03550 004415 7 0 LDA TIME +03551 017557 7 0 SUB NSTM +03552 141044 7 0 CAR /WAIT FIVE SECONDS +03553 101040 7 0 SNZ +03554 003547 7 0 JMP NS5 +03555 103543 7 0 JMP NSWT I + + LEV VAR +03556 V BT2: BSS 1 /TEMP +03557 V NSTM: BSS 1 /FOR STOP +03560 V RSFNCC: BSS 1 /RESTART PLACE FOR NCC -FORMAT FOLL + /RSFNCC HAS THE FORM 000XYZ WHERE X,Y,Z ARE OCTAL DIGITS + /X IS RELOAD REQUEST INDICATOR, X=0 NO REQUEST + /X=7 RANDOM RELOAD, X=6 RELOAD FOR LINE 1, X=5 LINE 2, X=4 L + /X=3 LINE 4, X=2 LINE 5 + /Y IS RESTART REQUEST INDICATOR, Y=0 NO REQUEST + /Y=7 RESTART AT 2000 - NON-VDH, X=6 RESTART AT 2001 - VDH + /Z IS PROGRAM INITIALIZATION INDICATOR, Z=0 NO INIT + /Z=1 RESTARTED, Z=2 RELOADED, Z=3 WATCH DOG TIMER RELOADED + /Z=4 POWER FAIL RESTARTED + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 51 IMP,3050,IMP 7:20 PM 9/16/1973 + +03561 001005 C LEV CON CONSTANTS +03562 177760 C +03563 174000 C +03564 170000 C +03565 160000 C +03566 020545 C +03567 010163 C +03570 016020 C +03571 010137 C +03572 016012 C +03573 012107 C +03574 013064 C +03575 012113 C +03576 013056 C +03577 026070 C +03600 020075 C +03601 022320 C +03602 177766 C +03603 100001 C +03604 030471 C +03605 003207 C +03606 020544 C +03607 005153 C +03610 016217 C +03611 013256 C +03612 000005 C +03613 030456 C +03614 177774 C +03615 177772 C +03616 004420 C +03617 154360 C +03620 040001 C +03621 177767 C +03622 037025 C +03623 040300 C +03624 177770 C +03625 011133 C +03626 002000 C +03627 001022 C +03630 001000 C +02412 175637 C PAGEND 3,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 52 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SEND OFF ALLOCATED RFNMS AND ALLOCATES AND RFNMS + LEV BCK +04063 140040 7 B0AA: CRA +04064 011157 7 STA BALLOC +04065 121417 7 B0A: JST SLEEP I +04066 021372 7 B0B: JST GETFRE LCK FRE /GET A BUFFER FOR OUR AL 1 +04067 003065 7 0 JMP B0A /NOT NOW, WAIT +04070 005155 7 0 LDA BRALLY 0"A"DESTI /GET OUR RALLY +04071 007603 7 0 ANA (DESTI) +04072 050006 7 0 STA HEAD1 X /SAVE IN HEADER +04073 013155 7 0 ERA BRALLY 0"A"[MESSNO 0 ONEOR8 RFNM] +04074 013157 7 0 ERA BALLOC 0"A"TRNREP /SET ALLOC BIT OR NOT +04075 013160 7 0 ERA BREPIN 0"A"INCTRN +04076 050005 7 0 STA HEAD X +04077 021435 7 0 JST GIVTSK RET BCK /GIVE RALLY TO TASK +04100 121417 7 B0C: JST SLEEP I +04101 021473 7 BACK0: JST RALLYG /GET NEXT RALLY TO GO +04102 003100 7 JMP B0C +04103 100000 7 SKP /GOOD RETURN +04104 003100 7 JMP B0C /GOT A DESTINATION DEAD, SENT ALREA +04105 011155 7 STA BRALLY /SAVE RALLY +04106 007604 7 ANA (ONEOR8 0 RFNM) +04107 013604 7 ERA (ONEOR8 0 RFNM) +04110 101040 7 SNZ /IS THIS JUST A 1-PKT RFNM? +04111 003063 7 JMP B0AA /YES, NO ALLOC NECESSARY +04112 005155 7 LDA BRALLY +04113 007605 7 ANA (ONEOR8) +04114 100040 7 SZE +04115 005606 7 LDA (-7) 0"A"8PKTS +04116 014751 7 ADD 8PKTS +04117 011157 7 STA BALLOC +04120 004415 7 LDA TIME +04121 011156 7 STA BALLTO +04122 121417 7 B0D: JST SLEEP I +04123 004415 7 LDA TIME +04124 017156 7 SUB BALLTO +04125 017607 7 SUB (40.) +04126 100400 7 SPL /HAVE WE BEEN WAITING 1 SEC? +04127 003134 7 JMP B0F /NOT YET +04130 005155 7 LDA BRALLY +04131 007610 7 ANA (RFNM) +04132 100040 7 SZE /ARE WE SENDING AN ALLOCATED RFNMT +04133 003063 7 JMP B0AA /YES, SEND IT OFF WITHOUT ALLOC + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 53 IMP,3050,IMP 7:20 PM 9/16/1973 + +04134 001001 7 B0F: INH [T.O,TSK] +04135 004542 7 5 LDA NALA +04136 016566 7 5 SUB NALS +04137 014541 7 5 ADD NREA +04140 016565 7 5 SUB NRES +04141 015157 7 5 ADD BALLOC +04142 022572 7 5 CAS MAXR /CAN WE HAVE THE ROOM? +04143 003122 7 5 JMP B0D /NOT YET +04144 003122 7 5 JMP B0D +04145 005611 7 5 LDA (ALLOC) +04146 027157 7 5 IMA BALLOC /SET ALLOC BIT IN OUR REPLY +04147 014542 7 5 ADD NALA +04150 010542 7 5 STA NALA /YES, SO TAKE IT +04151 004107 7 5 LDA M30SEC /2 MINUTES BEFORE WE ARE IDLE +04152 041576 7 5 ALS 2 +04153 011161 7 5 STA SNTALL +04154 003066 7 5 JMP B0B + + LEV VAR +04155 V BRALLY: BSS 1 /OUR ALLOCATE TO MAKE +04156 V BALLTO: BSS 1 /TIME WE STARTED TO TRY FOR ALLOC +04157 V BALLOC: BSS 1 /NO OF BUFFERS WE NEED TO ALLOC +04160 V BREPIN: BSS 1 /BIT ON IF INC TRN REPLY +04161 V SNTALL: BSS 1 /TIMER FOR GARBAGE COLLECTION OF 1 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 54 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK + /SEND OFF INCOMPLETE TRASMISSIONS IF ANY TMESS NO OVERDUE + LCK [H2I,T.O,TSK] +04162 121612 7 4 B1A: JST (PPTGET) I /GET THE PPT ENTRY +04163 003257 7 4 JMP B1F /NOT IN PPT OR PLT, SO ITS A GVB +04164 044111 7 4 LDA BUFE X +04165 140100 7 4 SSP 0"A"TWOQ +04166 011262 7 4 STA BACK1T /SAVE PTR TO PKT CKSUM +04167 044010 7 4 LDA HEAD3 X +04170 007613 7 4 ANA (0 0 177777"X"SUBCOD) +04171 013614 7 4 ERA (CLOST) /MARK MESS AS LOST IN NET +04172 066010 7 4 IMA HEAD3 X +04173 056010 7 4 SUB HEAD3 X +04174 115262 7 4 ADD BACK1T I /ADJUST CKSUM +04175 111262 7 4 STA BACK1T I +04176 005605 7 4 LDA (ONEOR8) /MARK AS INC TRN FOR ONE-PKT +04177 073430 7 4 B1B: LDX HOLD+1 /GET OUR PKT +04200 052005 7 4 ERA HEAD X +04201 050005 7 4 STA HEAD X +04202 021435 7 4 JST GIVTSK RET BCK /AND GIVE TO TASK +04203 005261 7 B1C: LDA BACK1P /LOOK AT NEXT TMESS ENTRY +04204 141206 7 AOA +04205 023615 7 CAS (TMESS 0 NIMP) +04206 005615 7 BACK1: LDA (TMESS 0 NIMP) /SHOULDNT HAPPEN +04207 014132 7 ADD MINIMP /WRAPAROUND TMESS TABLE +04210 011261 7 STA BACK1P /SAVE PNTR TO TMESS +04211 121417 7 B1D: JST SLEEP I +04212 001001 7 INH [H2I,T.O,TSK] +04213 105261 7 4 LDA BACK1P I +04214 007604 7 4 ANA (MSTO1 0 MSTO2) +04215 013604 7 4 ERA (MSTO1 0 MSTO2) +04216 100040 7 4 SZE /HAS THIS MESS NO TIMED OUT? +04217 003203 7 4 JMP B1C /NO +04220 011262 7 4 STA BACK1T /INIT TEMP COUNTER. USED LATER +04221 021372 7 4 JST GETFRE /YES, GET A BUFFER FOR OUR INC TRN +04222 003211 7 4 JMP B1D /NOT NOW, TRY AGAIN +04223 033430 7 4 STX HOLD+1 +04224 005261 7 4 LDA BACK1P +04225 017616 7 4 SUB (TMESS) /SET UP OUR DEST +04226 050006 7 4 STA HEAD1 X 0"A"DESTI +04227 105261 7 4 LDA BACK1P I +04230 007617 7 4 ANA (0 0 177777"X"MSTO1"X"MSTO2) +04231 111261 7 4 STA BACK1P I /CLEAR TIMEOUT BITS +04232 025262 7 4 B1E: IRS BACK1T /1 MEANS OLDEST, 2 NEXT OLDEST ... +04233 040677 7 4 ARR 1 +04234 100400 7 4 SPL /IS THE OLDEST POSSIBLE MESS INC? +04235 003232 7 4 JMP B1E /NO, COUNT ONE MORE BACKWARDS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 55 IMP,3050,IMP 7:20 PM 9/16/1973 + +04236 005262 7 4 LDA BACK1T +04237 141240 7 4 ICR /GET NO OF MESS NOS TO ROLL BACK +04240 115261 7 4 ADD BACK1P I +04241 141044 7 4 CAR 0"A"MESSNO +04242 015620 7 4 ADD (INCTRN 0 -2000 TRNREP 0"A"LINETS) +04243 050005 7 4 STA HEAD X /SET UP INC TRN WITH RIGHT MESS N( +04244 141044 7 4 CAR 0"A"MESSNO +04245 052006 7 4 ERA HEAD1 X /SET UP MESS NO + IMP NO +04246 121621 7 4 JST (PLTGET) I /GET THE PLT ENTRY +04247 003162 7 4 JMP B1A /NOT IN PLT, TRY PPT +04250 044030 7 4 LDA PLT2 X +04251 007613 7 4 ANA (0 0 177777"X"SUBCOD) +04252 013614 7 4 ERA (CLOST) /MARK MESS AS LOST IN NET +04253 050030 7 4 STA PLT2 X +04254 044000 7 4 LDA PLT0 X +04255 007610 7 4 ANA (REQALL) +04256 003177 7 4 JMP B1B + +04257 005622 7 4 B1F: LDA (GVBALL 0 ONEOR8) +04260 003177 7 4 JMP B1B /MAKE UP AN INC GVB + LEV VAR +04261 V BACK1P: BSS 1 /PNTR TO TMESS ENTRY +04262 V BACK1T: BSS 1 /COUNT OF NO OF MESS NOS TO GO BACK + + /SEND OFF GIVE BACKS WHEN ALLOCATES TIME OUT + LEV BCK +04263 121417 7 B2A: JST SLEEP I +04264 021372 7 B2B: JST GETFRE LCK FRE /GET A BUFFER FOR OUR GIV +04265 003263 7 0 JMP B2A /NOT NOW, WAIT +04266 033431 7 0 STX HOLD+2 +04267 121417 7 0 B2C: JST SLEEP I RET BCK +04270 073431 7 LDX HOLD+2 +04271 005314 7 LDA BACK2D 0"A"PRIBIT /GET OUR DEST +04272 050006 7 STA HEAD1 X /PUT IN PKT (NOT PRI) +04273 001001 7 INH H2I +04274 121623 7 4 JST (MESGET) I +04275 003267 7 4 JMP B2C /CANT HAVE MESS NO +04276 013622 7 4 ERA (GVBALL 0 ONEOR8 0"A"LINETS"A"INCTRN) +04277 050005 7 4 STA HEAD X /SET UP GVB +04300 021435 7 4 JST GIVTSK RET BCK /GIVE THE GVB TO TASK +04301 121417 7 B2D: JST SLEEP I +04302 001001 7 BACK2: INH [H2I,T.O] +04303 004126 7 4 LDA MINUS6 /ALLOCATES TIME OUT IN 125 MS +04304 115624 7 4 ADD (TALLYC) I +04305 100400 7 4 SPL /IS ALLOC TOO OLD? +04306 003301 7 4 JMP B2D /NOT USED UP YET +04307 105625 7 4 LDA (TALLY) I /GET TOP TALLY ENTRY +04310 121626 7 4 JST (TALLYG) I /PULL IT OFF +04311 003301 7 4 JMP B2D /NOT THERE? +04312 011314 7 4 STA BACK2D /SAVE OUR DEST +04313 003264 7 4 JMP B2B + LEV VAR +04314 V BACK2D: BSS 1 /DEST OF GIVE BACK + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 56 IMP,3050,IMP 7:20 PM 9/16/1973 + + /DO RETRANSMISSSIONS OF REQ1 IN PPT THAT HAS GOT ALL1 IN RET1 + LEV BCK +04315 121417 7 B3B: JST SLEEP I +04316 173353 7 LDX BACK3P I +04317 044111 7 LDA BUFE X +04320 100400 7 SPL 0"A"TWOQ /IS THIS PKT STILL ON 2 QUEUES? +04321 003315 7 JMP B3B /YES, NEED TO DELAY WHILE ACK IS PR1 +04322 011354 7 STA B3T1 /TEMP CKSUM POINTER +04323 140500 7 SSM 0"A"TWOQ +04324 050111 7 STA BUFE X /PPT ENTRY GOES ON 2 QUEUES AGAIN +04325 044005 7 LDA HEAD X +04326 007627 7 ANA (0 0 177777"X"REQALL) +04327 050005 7 STA HEAD X /TURN OFF REQ BIT, KEEP SAME MESS N1 +04330 105353 7 LDA BACK3P I +04331 140100 7 SSP 0"A"RETRAN +04332 111353 7 STA BACK3P I +04333 105354 7 LDA B3T1 I +04334 015610 7 ADD (REQALL) /NOW ADJUST CHECKSUM +04335 111354 7 STA B3T1 I +04336 140040 7 CRA /GIVTSK WON'T MAKE CHECKSUM +04337 021435 7 JST GIVTSK /GIVE TO TASK +04340 121417 7 B3C: JST SLEEP I +04341 105353 7 LDA BACK3P I /LOOK AT NEXT PPT ENTRY +04342 100400 7 SPL 0"A"RETRAN /MUST WE RETRANSMIT IT? +04343 003315 7 JMP B3B /YES +04344 005353 7 LDA BACK3P +04345 141206 7 AOA /GET NEXT PPT SLOT +04346 023630 7 CAS (PPT+0+PPTL) +04347 005630 7 BACK3: LDA (PPT+0+PPTL) /SHOULDNT HAPPEN +04350 017631 7 SUB (PPTL) /WRAPAROUND PPT +04351 011353 7 STA BACK3P /SAVE PPT SLOT +04352 003340 7 JMP B3C + LEV VAR +04353 V BACK3P: BSS 1 /PNTR TO PPT ENTRY +04354 V B3T1: BSS 1 /PNTR TO CHKSM IN PKT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 57 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SEND OFF PACKETS FROM A LINE WHICH JUST DIED - REROUTE + /SEND OFF DESTINATION DEAD MESSAGES TO SOURCE + LEV BCK +04355 121417 7 B4A: JST SLEEP I +04356 073632 7 BACK4: LDX (SRQ) /GET NEXT REPLY +04357 001001 7 INH [I2H,T.O] +04360 121633 7 3 JST (GETQ) I +04361 003355 7 3 JMP B4A /NONE, SO SLEEP +04362 140040 7 3 CRA /TELL GIVTSK NOT TO CKSUM +04363 021435 7 3 JST GIVTSK RET BCK /GIVE THE REPLY TO TASK +04364 003355 7 JMP B4A + + /SATELLITE BACK HOST + LEV BCK +04365 004145 7 BACK5: LDA SATRSF +04366 7 B5A: SATDEF SZE +02243 004366 7 +02273 100040 7 +02323 100040 7 +04367 121634 7 JST (SATBCK) I +04370 121417 7 JST SLEEP I +04371 003365 7 JMP BACK5 + + SATBCK=37700 + + LEV [VDB,BCK] +04372 000000 3 GETFRE: 0 /GET A FREE BUFFER FOR A BACK HOSI +04373 001001 3 INH FRE +04374 004537 3 0 LDA NFA +04375 016563 3 0 SUB NFS +04376 016570 3 0 SUB MINF +04377 100400 3 0 SPL +04400 103372 3 0 JMP GETFRE I /NOT ENOUGH BUFFERS FOR MODEM INP1 +04401 104324 3 0 LDA FREE I +04402 101040 3 0 SNZ +04403 103372 3 0 JMP GETFRE I +04404 026324 3 0 IMA FREE +04405 010000 3 0 STA 0 +04406 024563 3 0 IRS NFS +04407 014751 3 0 ADD CMINPL 0"A"TWOQ +04410 050111 3 0 STA BUFE X +04411 004106 3 0 LDA MINE +04412 050007 3 0 STA HEAD2 X /SET UP SOURCE IMP +04413 140040 3 0 CRA +04414 050000 3 0 STA 0 X +04415 025372 3 0 IRS GETFRE /SKIP=SUCCESS +04416 103372 3 0 JMP GETFRE I + + LEV CON +04417 003266 C SLEEP: BKZ /BACK HOST WAIT + LEV VAR +04420 V BACKNO: BSS 1 /NO OF BACK HOST CURRENTLY ACTIVE +04421 V GIVTST: BSS BH /RETURN ADDRS FOR BACK HOSTS GIVING +04427 V HOLD: BSS BH /PKT PNTRS FOR BACK HOSTS GIVING -' + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 58 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +04435 000000 7 GIVTSK: 0 +04436 101040 7 SNZ +04437 003446 7 JMP GIVT0 /NOT GENERATING A CHECKSUM +04440 004117 7 LDA FOUR 0"A"[MINPL-ACKH] +04441 056004 7 SUB ACKH X +04442 056005 7 SUB HEAD X +04443 056006 7 SUB HEAD1 X +04444 056007 7 SUB HEAD2 X +04445 050010 7 STA HEAD3 X /THERE'S THE CHECKSUM +04446 005420 7 GIVT0: LDA BACKNO 0"A"INPCHN +04447 015635 7 ADD (HSTMOD 0 TH) +04450 050003 7 STA INCH X /SET UP INPUT CHANNEL +04451 004000 7 LDA 0 +04452 073420 7 LDX BACKNO +04453 140100 7 SSP 0"A"RETRAN /NEC FOR BACK3 +04454 051427 7 STA HOLD X /SAVE PKT PNTR +04455 005435 7 LDA GIVTSK +04456 051421 7 STA GIVTST X /SAVE RETURN ADDR +04457 045427 7 GIVT1: LDA HOLD X +04460 001001 7 INH M2I +04461 110401 7 0 STA ETQ I +04462 010401 7 0 STA ETQ /PUT ON TASK QUEUE +04463 030041 7 0 TASK /POKE TASK +04464 121417 7 0 JST SLEEP I RET BCK +04465 140040 7 CRA +04466 066463 7 IMA TSKFLG+TH X +04467 101100 7 SLN /TASK REFUSED IT +04470 143421 7 JMP GIVTST XI /TASK TOOK IT +04471 121417 7 JST SLEEP I /WAIT ONE BACKGROUND LOOP +04472 003457 7 JMP GIVT1 /THEN TRY AGAIN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 59 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +04473 000000 7 RALLYG: 0 /GET AN ENTRY IN RALLY TABLE +04474 140040 7 CRA +04475 026477 7 IMA RALLCF +04476 101040 7 SNZ /ANY ALLOCATES TO GO? +04477 103473 7 JMP RALLYG I /NO +04500 140040 7 CRA +04501 011600 7 STA RALLYX +04502 005636 7 LDA (MESS1) +04503 011602 7 STA RALADD /PRESET TABLE INCREMENTER +04504 073601 7 LDX RALTRY +04505 105637 7 RALLG: LDA (RALLY+NIMP 0 X) I +04506 101040 7 SNZ /ANY RALLY ENTRIES TO GO? +04507 003565 7 JMP RALLG0 /NO +04510 025600 7 IRS RALLYX /COUNT SOMETHING THERE +04511 105640 7 LDA (AMESS+NIMP 0 X) I +04512 141140 7 ICL +04513 006116 7 ANA THREE /GET NEXT MESS NO TO USE +04514 041576 7 ALS 2 +04515 140407 7 TCA +04516 015641 7 ADD (ALR 0 +04517 011523 7 STA RALGS1 +04520 013642 7 ERA (1000) +04521 011534 7 STA RALGS2 +04522 005643 7 LDA (17) +04523 7 RALGS1: BSS 1 /SHIFT MASK OVER +04524 001001 7 INH [I2H,TSK] +04525 107637 7 3 ANA (RALLY+NIMP 0 X) I +04526 101040 7 3 SNZ /ANYTHING IN NEXT SLOT TO GO? +04527 003565 7 3 JMP RALLG0 /NO +04530 113637 7 3 ERA (RALLY+NIMP 0 X) I +04531 127637 7 3 IMA (RALLY+NIMP 0 X) I /TURN OFF BITS +04532 113637 7 3 ERA (RALLY+NIMP 0 X) I +04533 000401 7 3 ENB BCK +04534 7 RALGS2: BSS 1 /SHIFT BACK THE BITS IN QUESTION +04535 023644 7 CAS (13) +04536 025473 7 IRS RALLYG /DEST DEAD, DOUBLE SKIP +04537 101000 7 NOP +04540 011160 7 STA BREPIN +04541 007631 7 ANA (INCTRN) +04542 027160 7 IMA BREPIN /GET INCTRN BIT AND SAVE IT +04543 006116 7 ANA THREE /EXTRACT THEM +04544 012115 7 ERA TWO 0"A"[ONEOR8 0 RFNM] +04545 101040 7 SNZ /IS THIS A REQ FOR 1 +04546 011602 7 STA RALADD /YES, DO NOT BUMP MESSAGE NO +04547 012115 7 ERA TWO /RESTORE A +04550 041672 7 ALR 6 0"A"[ONEOR8 0 RFNM] +04551 113640 7 ERA (AMESS+NIMP 0 X) I +04552 014000 7 ADD 0 +04553 016132 7 SUB MINIMP /OR IN MESS NO AND IMP NO +04554 127640 7 IMA (AMESS+NIMP 0 X) I +04555 015602 7 ADD RALADD /BUMP NEXT MESS TO REPLY TO +04556 127640 7 IMA (AMESS+NIMP 0 X) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 60 IMP,3050,IMP 7:20 PM 9/16/1973 + +04557 024000 7 IRS 0 +04560 100000 7 SKP +04561 072132 7 LDX MINIMP +04562 033601 7 STX RALTRY +04563 025473 7 IRS RALLYG +04564 003576 7 JMP RALLEX + +04565 000401 7 RALLG0: ENB BCK +04566 024000 7 IRS 0 +04567 003505 7 JMP RALLG +04570 004132 7 LDA MINIMP +04571 027601 7 IMA RALTRY +04572 013601 7 ERA RALTRY +04573 101040 7 SNZ /DID WE MAKE A COMPLETE PASS? +04574 005600 7 LDA RALLYX +04575 100040 7 SZE /AND DID WE FIND NOTHING AT ALL? +04576 010477 7 RALLEX: STA RALLCF /IF NO FOR EITHER, MUST COME BACK AT +04577 103473 7 JMP RALLYG I /IF YES FOR BOTH, LEAVE RALLCF AL( 1 + /IF ENTRIES WERE PUT DURING OUR PASS, RALLCF WILL HAVE BEEN 1 + + LEV VAR +04600 V RALLYX: BSS 1 /NON-ZERO = SOMETHING IN RALLY +04601 V RALTRY: BSS 1 +04602 V RALADD: BSS 1 /INCREMENT TO AMESS = 0 OR MESS1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 61 IMP,3050,IMP 7:20 PM 9/16/1973 + +04603 000077 C LEV CON CONSTANTS +04604 000300 C +04605 000200 C +04606 177771 C +04607 000050 C +04610 000100 C +04611 000002 C +04612 015033 C +04613 177770 C +04614 000003 C +04615 032371 C +04616 032271 C +04617 177477 C +04620 176014 C +04621 015205 C +04622 000202 C +04623 015161 C +04624 020210 C +04625 032261 C +04626 015114 C +04627 177677 C +04630 033467 C +04631 000010 C +04632 000331 C +04633 015504 C +04634 037700 C +04635 100010 C +04636 000400 C +04637 072671 C +04640 072571 C +04641 041700 C +04642 001000 C +04643 000017 C +04644 000013 C +02413 175663 C PAGEND 4,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 62 IMP,3050,IMP 7:20 PM 9/16/1973 + + + TSKI: LEV TSK /TASK INTERRUPT +00103 005107 6 TASKIL/ TSKI +05107 000000 6 0 TSKI/ INT TSK /TASK INTERRUPT COMES HERE +05110 000011 6 0 DXA +05111 003112 6 0 JMP .+1 +05112 011140 6 0 STA TA1 +05113 033141 6 0 STX TX1 +05114 000043 6 0 INK +05115 011142 6 0 STA TK1 +05116 004122 6 0 TSKMSK: LDA MINUS2 +05117 170120 6 0 SMK INTM +05120 010134 6 0 STA PRIM +05121 000401 6 0 TSKL: ENB TSK /ALL TASKS RETURN HERE +05122 004330 6 LDA STQ +05123 001001 6 INH MSK +05124 100040 6 0 SZE /IS TASK QUEUE EMPTY? +05125 003161 6 0 JMP TSKM /GOT A TASK +05126 140401 6 0 CMA /YES, TURN ON ALL BITS IN PRTY INT T +05127 010134 6 0 STA PRIM +05130 170120 6 0 SMK INTM /RESTORE REGISTERS AND KEYS +05131 073141 6 0 LDX TX1 +05132 000013 6 0 EXA +05133 005142 6 0 LDA TK1 +05134 171020 6 0 OTK +05135 005140 6 0 LDA TA1 +05136 000401 6 0 ENB TSK +05137 103107 6 JMP TSKI I + + LEV VAR +05140 V TA1: BSS 1 /TEMP A +05141 V TX1: BSS 1 /TEMP X +05142 V TK1: BSS 1 /TEMP KEYS +05143 V TASKIN: BSS 1 /INPUT CHAN - SIGN ON=FROM HOST +05144 V ACKBIT: BSS 1 /BIT PNTR FOR OUR ACK +05145 V OURR: BSS 1 /OUR OUTPUT MODEM CHANNEL +05146 V I2MSLT: BSS 1 /THE CHANNEL PNTR WE NEED +05147 V I2MBIT: BSS 1 /ODD-EVEN BIT POSITION FOR THIS PKT +05150 V ACKCH: BSS 1 /TRANSMIT ACK CHANNEL FOR THIS PK- +05151 V ACKP: BSS 1 /PNTR TO RELEVANT RSEX ENTRY +05152 V SWPCHT: BSS 1 /TEMP FOP SWPCHK +05153 V SATNO: BSS 1 /0 IF NONE, CH#+1 ELSE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 63 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK LCK MSK +05154 005710 6 0 TSKM2: LDA (STQ) /CLEAN UP Q PNTRS +05155 010401 6 0 STA ETQ +05156 003171 6 0 JMP TSKM1 + LEV TSK +05157 105151 6 TSKM3: LDA ACKP I +05160 003215 6 JMP TSKM4 + + LEV TSK LCK MSK +05161 010000 6 0 TSKM: STA 0 /TASK +05162 010514 6 0 STA THIS /STORE BUFF ADDR IN X AND THIS +05163 140040 6 0 CRA +05164 050002 6 0 STA PTRT X /CLEAR TRACE PTR +05165 066000 6 0 IMA 0 X /CLEAR BUFF CHAIN PNTR AND LOAD IN +05166 010330 6 0 STA STQ /STORE NEW ADDR IN HEAD OF Q +05167 101040 6 0 SNZ /WAS THIS LAST ENTRY IN Q? +05170 003154 6 0 JMP TSKM2 /YES +05171 000401 6 0 TSKM1: ENB TSK /X HAS BUFF ADDR +05172 044003 6 LDA INCH X +05173 011143 6 STA TASKIN /SAVE INPUT CHANNEL +05174 100400 6 SPL 0"A"HSTMOD /FROM HOST? +05175 003220 6 JMP TSKFOR /YES +05176 015711 6 ADD (RSEX) /NO,FROM MODEM, MUST DUPLICATE-DETF +05177 011151 6 STA ACKP +05200 044005 6 LDA HEAD X +05201 100100 6 SLZ 0"A"LINETS /IS THIS A ROUTING MESSAGE? +05202 003407 6 JMP TSKRUT /YES +05203 044004 6 LDA ACKH X +05204 141340 6 ICA +05205 006120 6 ANA SEVEN 0"A"CHANUM /GET CHANNEL NO +05206 015712 6 ADD (BITTAB) +05207 011144 6 STA ACKBIT /CONVERT TO BIT PNTR TABLE ADDR +05210 044004 6 LDA ACKH X +05211 100400 6 SPL 0"A"ODEVEN /GET ODD-EVEN BIT FROM PKT +05212 003157 6 JMP TSKM3 /JUMP IF BIT IS ONE +05213 105151 6 LDA ACKP I /COMPARE WITH WHAT WE WANT +05214 140401 6 CMA +05215 107144 6 TSKM4: ANA ACKBIT I /MASK WITH CONTENTS OF BITTAB +05216 100040 6 SZE +05217 003642 6 JMP FQMOD /IF DUPLICATE --FREE AND QUIT MODEM +05220 044006 6 TSKFOR: LDA HEAD1 X +05221 007713 6 ANA (DESTI) +05222 010000 6 STA 0 /STOR DEST NO FROM HEADER IN X +05223 044165 6 LDA RUT X /GET ROUTE +05224 101040 6 SNZ 0"A"RUTUS /IS IT FOR US? +05225 103714 6 JMP (FORUS) I /YES +05226 100400 6 SPL 0"A"RUTDED +05227 003601 6 JMP FQOK /FOR DEAD GUY, RUT WD WAS MINUS +05230 007715 6 ANA (RUTDLC) +05231 016114 6 SUB ONE /TASK STORE-AND-FORWARD +05232 010000 6 STA 0 /STOPE SHIFTED ROUTE IN X (0 TO C1 +05233 044433 6 LDA LINE X /TEST FOR LINE TEST STATUS +05234 100040 6 SZE /IS LINE DEAD? +05235 003637 6 JMP FQNG /YES, WAIT TILL ROUTING STABLE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 64 IMP,3050,IMP 7:20 PM 9/16/1973 + +05236 001001 6 INH [M2I,I2M,H2I] +05237 004540 6 0 LDA NSFA /COMPUTE NO SF BUFFS IN USE +05240 016564 6 0 SUB NSFS +05241 141206 6 0 AOA /WE NEED ONE MORE +05242 022573 6 0 CAS MAXSI /ENOUGH S-F ROOM? +05243 003637 6 0 JMP FQNG /NO +05244 003637 6 0 JMP FQNG /NO +05245 004537 6 0 LDA NFA +05246 016563 6 0 SUB NFS /COMPUTE NO OF FREE BUFFS AVAIL, +05247 016542 6 0 SUB NALA /CONSIDERING ALLOCATED AND USED +05250 014566 6 0 ADD NALS +05251 016570 6 0 SUB MINF +05252 100400 6 0 SPL /DO WE HAVE MIN FREE BUFFS? +05253 003637 6 0 JMP FQNG /NO +05254 044653 6 0 LDA CHFREE X /FREE SLOT BITS +05255 140407 6 0 TCA +05256 046653 6 0 ANA CHFREE X /SINGLE LEAST SIGNIFICANT BIT SET +05257 101040 6 0 SNZ +05260 003637 6 0 JMP FQNG /ALL CHANNELS ARE IN USE +05261 011147 6 0 STA I2MBIT /FOR MARKING CHANNEL LATER +05262 052653 6 0 ERA CHFREE X /NOW MARK IT ASSIGNED +05263 050653 6 0 STA CHFREE X +05264 000401 6 0 ENB TSK /YES +05265 033145 6 STX OURR /SAVE OUR ROUTE (0 TO CH-1) + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 65 IMP,3050,IMP 7:20 PM 9/16/1973 + +05266 005147 6 LDA I2MBIT +05267 022116 6 CAS THREE +05270 040575 6 ARS 3 /CH 2-7 +05271 100000 6 SKP /CAS IS NEVER EQUAL +05272 003277 6 JMP GOTCHN /CH 0-1 +05273 022116 6 CAS THREE +05274 040575 6 ARS 3 /CH 5-7 +05275 014116 6 ADD THREE /CAS IS NEVER EQUAL +05276 014116 6 ADD THREE +05277 016114 6 GOTCHN: SUB ONE /GOT CHANNEL 0-7 +05300 011150 6 STA ACKCH +05301 054622 6 ADD I2MTAB X /GET PTR TO SLOT +05302 011146 6 STA I2MSLT +05303 005147 6 LDA I2MBIT +05304 111146 6 STA I2MSLT I /MARK SLOT IN USE +05305 046641 6 ANA TSEX X /GET O/E BIT IN TSEX +05306 100040 6 SZE /WAS IT ZERO? +05307 005716 6 LDA (200) 0"A"ODEVEN /NO, SET O/E BIT +05310 013150 6 ERA ACKCH /PUT SLOT NO IN A +05311 141240 6 ICR /PUT IN LEFT HALF +05312 072514 6 LDX THIS /BUFF ADDR TO X +05313 011147 6 STA I2MBIT /USED AS A TEMP WORD +05314 044111 6 LDA BUFE X +05315 140100 6 SSP 0"A"TWOQ +05316 027147 6 IMA I2MBIT /NOW HAS PTR TO CHECKSUM +05317 066004 6 IMA ACKH X /SAVE BIT, CHANNEL IN ACKHEADER +05320 056004 6 SUB ACKH X +05321 115147 6 ADD I2MBIT I /AND ADJUST CHECKSUM +05322 111147 6 STA I2MBIT I +05323 044007 6 LDA HEAD2 X /NOW PUT IN BIT FOR LO-HI LINE EN[ +05324 007717 6 ANA (0 0 177777"X"ENDBIT) +05325 073145 6 LDX OURR /THIS BIT DETECTS LOOPED LINES +05326 113720 6 ERA (LEND 0 X) I +05327 072514 6 LDX THIS +05330 066007 6 IMA HEAD2 X +05331 056007 6 SUB HEAD2 X /ADJUST CHECKSUM AGAIN +05332 115147 6 ADD I2MBIT I +05333 111147 6 STA I2MBIT I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 66 IMP,3050,IMP 7:20 PM 9/16/1973 + +05334 044006 6 LDA HEAD1 X +05335 007721 6 ANA (TRACE) +05336 100040 6 SZE /MUST WE TRACE HIM? +05337 021504 6 JST TSUB /TRACE HIM IF NECESSARY +05340 005146 6 LDA I2MSLT /PUT OUR SLOT IN PKT +05341 050003 6 STA INCH X /AND I2M WILL SET IT UP AT OUTPUT * +05342 044005 6 LDA HEAD X +05343 007722 6 ANA (TRNREP) /GET TRNREP BIT +05344 001001 6 INH SIN +05345 101040 6 0 SNZ /IS THIS A REPLY? +05346 003357 6 0 JMP SFPRI /YES +05347 044006 6 0 LDA HEAD1 X +05350 100400 6 0 SPL 0"A"PRIBIT /IS THIS A PRI TRN? +05351 003357 6 0 JMP SFPRI /YES +05352 004514 6 0 LDA THIS /NO, SO PUT ON REG MODEM QUEUE +05353 073145 6 0 LDX OURR +05354 150363 6 0 STA EMQ XI /LINK BUFF TO END OF REG CHL Q +05355 050363 6 0 STA EMQ X +05356 003363 6 0 JMP SFALL + +05357 004514 6 0 SFPRI: LDA THIS /YES, SO PUT ON PRI MODEM QUEUE +05360 073145 6 0 LDX OURR +05361 150370 6 0 STA EMPQ XI /LINK BUFF TO END OF PRI CHL Q +05362 050370 6 0 STA EMPQ X +05363 024540 6 0 SFALL: IRS NSFA /COUNT A S-F PKT +05364 044440 6 0 LDA NONE X +05365 100040 6 0 SZE /POKE MODEM OUTPUT IF IDLE +05366 003604 6 0 JMP GOODM /NO NEED +05367 121723 6 0 JST (I2MSB) I RET TSK +05370 001001 6 INH ALL +05371 000011 6 0 DXA +05372 003604 6 0 JMP GOODM /RETURN GOOD ACK + + LEV FRE /CALL WITH INTERRUPTS LOCKED +05373 000000 0 FLUSH: 0 /RETURN BUFFER TO FREE LIST +05374 044111 0 LDA BUFE X +05375 100400 0 SPL 0"A"TWOQ /IS PACKET ON 2 QUEUES? +05376 003404 0 JMP FLUSH1 /YES +05377 004324 0 LDA FREE /NO, SO FREE IT +05400 050000 0 STA 0 X /STORE PNTR TO FREE LIST +05401 032324 0 STX FREE /STORE PNTR TO PACKET +05402 024537 0 IRS NFA /INCREASE NO OF FREE PKTS +05403 103373 0 JMP FLUSH I +05404 140100 0 FLUSH1: SSP 0"A"TWOQ /MARK PACKET AS ON ONE QUEUE +05405 050111 0 STA BUFE X +05406 103373 0 JMP FLUSH I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 67 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +05407 073143 6 TSKRUT: LDX TASKIN /INPUT CHL NO +05410 040677 6 ARR 1 0"A"NULPKT +05411 100100 6 SLZ /THIS A NULL PACKET? +05412 003446 6 JMP TSKNUL /YES +05413 041677 6 ALR 1 +05414 141140 6 ICL /GET OTHER GUYS IMPNO +05415 066160 6 IMA NEIGHB X /SAVE IT +05416 100040 6 SZE /DO NOT KILL LINE IF WE JUST DID +05417 052160 6 ERA NEIGHB X +05420 100040 6 SZE /DO KILL LINE IF NEIGHBOR HAS CHANG1 +05421 003452 6 JMP NEIKIL +05422 065565 6 IRS E123 X /INCREMENT NUMBER OF RECD RUT MSGS +05423 101000 6 NOP +05424 044160 6 LDA NEIGHB X /COMPUTE AND SET HI-LO BIT +05425 016106 6 SUB MINE +05426 100040 6 SZE +05427 003433 6 JMP TSKCPY /COPY IN ROUTING INFO +05430 004114 6 LDA ONE +05431 010452 6 STA LUUP /BLINK LUUPED LITE +05432 003642 6 JMP FQMOD + +05433 001001 6 TSKCPY: INH MSK +05434 004124 6 0 LDA MINUS4 /LOCK OUT SLOW T.O +05435 170120 6 0 SMK INTM /SHARED CODE & TABLES +05436 010134 6 0 STA PRIM LEV T.O LCK MSK +05437 140040 5 0 CRA /MARK AS REAL INPUT +05440 000401 5 0 ENB T.O +05441 121724 5 JST (RSTINP) I +05442 072514 5 LDX THIS +05443 001001 5 INH [MSK,FRE] +05444 021373 5 0 JST FLUSH +05445 003116 5 0 JMP TSKMSK + + LEV TSK +05446 040675 6 TSKNUL: ARR 3 0"A"IHERDU +05447 100100 6 TSKNU2: SLZ /DID WE GET AN IHEARD YOU? +05450 064426 6 TSKNU3: DEFSTAT IRS LAC X, TSKIH /YES +00574 031212 6 +31770 005450 6 +32010 064426 6 +05451 003642 6 TSKNU4: JMP FQMOD + +05452 001001 6 NEIKIL: INH ALL +05453 011576 6 0 STA NEIT +05454 121725 6 0 JST (KILLIN) I +05455 005576 6 0 LDA NEIT + DEFHLT [NEIGHBOR IMP CHANGED] +05456 021635 6 0 JST THLTNG + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 68 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK LCK [H2I,T.O] +05457 000000 6 4 SWPCHK: 0 +05460 011152 6 4 STA SWPCHT /BITS TO PUT INTO HEAD1 +05461 044006 6 4 LDA HEAD1 X +05462 007726 6 4 ANA (FORIMP 0 FOROCT DESTHI) +05463 066007 6 4 IMA HEAD2 X /SWITCH SRC FOR DEST AND V.V. +05464 007726 6 4 ANA (FRMIMP 0 FRMOCT SRCEHI) +05465 013152 6 4 ERA SWPCHT +05466 050006 6 4 STA HEAD1 X +05467 044111 6 4 LDA BUFE X +05470 006112 6 4 ANA SIGN 0"A"TWOQ +05471 014000 6 4 ADD 0 +05472 015727 6 4 ADD (MINPL+1) /FIX LENGTH OF REPLY +05473 050111 6 4 STA BUFE X +05474 005730 6 4 LDA (MINPL-ACKH+1) +05475 056004 6 4 SUB ACKH X +05476 056005 6 4 SUB HEAD X +05477 056006 6 4 SUB HEAD1 X /BUILD CHECKSUM +05500 056007 6 4 SUB HEAD2 X +05501 056010 6 4 SUB HEAD3 X +05502 050011 6 4 STA DATA X /NOW STORE IT +05503 103457 6 4 JMP SWPCHK I + + LEV TSK /TSUB DOES THE TASK PART OF TRACING +05504 000000 6 TSUB: 0 +05505 004416 6 LDA TIMES /GET TIME IN SLOW TICKS +05506 016107 6 SUB M30SEC +05507 050003 6 STA INCH X /GIVE PKT 30 SEC. TO LIVE +05510 044006 6 LDA HEAD1 X +05511 007721 6 ANA (TRACE) +05512 100040 6 SZE /MUST WE TRACE HIM? +05513 105731 6 TSUB2: LDA (TRON) I +05514 101040 6 SNZ +05515 103504 6 JMP TSUB I +05516 004325 6 LDA TTF /FREE TRACE BLOCK PNTR +05517 100040 6 SZE +05520 003524 6 JMP TS2 /JUMP IF THERE ARE FREE TRACE BLOCK +05521 141206 6 AOA +05522 010414 6 STA TTO /MARK TRACE TABLE OVERFLOW +05523 103504 6 JMP TSUB I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 69 IMP,3050,IMP 7:20 PM 9/16/1973 + +05524 033572 6 TS2: STX SPB /SAVE BUFFER PNTR +05525 011573 6 STA STB /FREE TRC BLK BUFF PNTR +05526 050002 6 STA PTRT X /SET UP TRACE POINTER +05527 026341 6 IMA STRQ /GET STRT OF ACTIVE TRC Q +05530 127573 6 IMA STB I /LINK TO TOP OF TRACE Q +05531 010325 6 STA TTF /STORE ADDR OF NEXT FREE BLK +05532 004341 6 LDA STRQ /ADDR OF NEW TOP OF Q +05533 015732 6 ADD (THED+4 X) /SET UP LAST TRC BUFF ADDR +05534 011574 6 STA ITB +05535 005572 6 LDA SPB /ADDR OF PKT BUFF +05536 015732 6 ADD (HEAD+4 X) /SET UP LAST PKT BUFF ADDR +05537 011575 6 STA IMB +05540 072124 6 LDX MINUS4 /TRANSFER PKT BUFF TO TRC BUFF +05541 105575 6 LDA IMB I +05542 111574 6 STA ITB I +05543 024000 6 IRS 0 /FINISHED? +05544 003541 6 JMP .-3 /NO +05545 073572 6 LDX SPB /YES +05546 044001 6 LDA IT X /SAVE INPUT TIME IN TRACE TABLE +05547 073573 6 LDX STB +05550 050001 6 STA TIT X +05551 073572 6 LDX SPB +05552 044111 6 LDA BUFE X +05553 140100 6 SSP 0"A"TWOQ +05554 016000 6 SUB 0 +05555 016117 6 SUB FOUR 0"A"ACKH /CALCULATE PACKET LENGTH +05556 073573 6 LDX STB +05557 050012 6 STA TDONE X +05560 131040 6 RDCLOK +05561 003560 6 JMP .-1 /SAVE TASK TIME IN TRACE TABLE +05562 050002 6 STA TTT X +05563 073572 6 LDX SPB /RESTORE BUFFER PNTR IN X +05564 103504 6 JMP TSUB I + + LEV VAR +05565 V E123: BSS CH /NUMBER OF RUT MSGS RECD FROM CHL( +05572 V SPB: BSS 1 /SAVE PACKET BUFFER +05573 V STB: BSS 1 /SAVE TRACE BUFFER +05574 V ITB: BSS 1 /INDIRECT TO TRACE BUFFER +05575 V IMB: BSS 1 /INDIRECT TO PACKET BUFFER +05576 V NEIT: BSS 1 /TEMP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 70 IMP,3050,IMP 7:20 PM 9/16/1973 + + /END-OF-TASK ROUTINES + /RETURN A NACK OR ACK TO THE SENDING MODEM, HOST, OR BACK + LEV TSK LCK ALL +05577 000000 6 0 THLTOK: 0 /REPORT BUG AND GIVE GOOD RETURN +05600 120745 6 0 JST HLTNCC I + LEV TSK +05601 072514 6 FQOK: LDX THIS /FREE+QUIT, GOOD RETURN +05602 001001 6 INH [FRE,SIN] +05603 021373 6 0 JST FLUSH /FREE THE BUFFER +05604 005143 6 0 GOODM: LDA TASKIN /GOOD RETURN +05605 100400 6 0 SPL 0"A"HSTMOD /FROM HOST? +05606 003622 6 0 JMP GOODH /YES +05607 010000 6 0 STA 0 0"A"INPCHN +05610 105144 6 0 LDA ACKBIT I /FROM MODEM, GIVE ACK +05611 050445 6 0 STA SNULL X /SEND A NULL PKT IF NECESSARY TO E'1 +05612 052646 6 0 ERA RSEX X /REVERSE PROPER BIT IN RSEX +05613 050646 6 0 STA RSEX X +05614 044440 6 0 LDA NONE X /CHECK ACTIVITY ON MODEM +05615 101040 6 0 SNZ /RESTART I2M IF NECESSARY FOR MY AC +05616 121723 6 0 JST (I2MSB) I RET TSK +05617 001001 6 INH ALL +05620 000011 6 0 DXA +05621 003121 6 0 JMP TSKL + +05622 140100 6 0 GOODH: SSP 0"A"HSTMOD /NEED TO CLEAR SIGN FOR HISB +05623 010000 6 0 STA 0 0"A"INPCHN +05624 064453 6 0 IRS TSKFLG X /DOUBLE SKIP = GOOD RETURN +05625 064453 6 0 IRS TSKFLG X +05626 014131 6 0 ADD MITH +05627 000013 6 0 EXA +05630 100400 6 0 SPL /FROM BACK HOST? +05631 121733 6 0 JST (HISB) I RET TSK /NO, POKE HOST WAITING FO +05632 001001 6 INH ALL +05633 000011 6 0 DXA +05634 003121 6 0 JMP TSKL + + LEV TSK LCK ALL +05635 000000 6 0 THLTNG: 0 /REPORT BUG AND GIVE BAD RETURN +05636 120745 6 0 JST HLTNCC I + LEV TSK +05637 005143 6 FQNG: LDA TASKIN /FREE+QUIT, BAD RETURN +05640 100400 6 SPL 0"A"HSTMOD /FROM HOST? +05641 003646 6 JMP BADH +05642 072514 6 FQMOD: LDX THIS /FROM MODEM, DO NOT ACK +05643 001001 6 INH FRE +05644 021373 6 0 JST FLUSH +05645 003121 6 0 JMP TSKL + + LEV TSK +05646 010000 6 BADH: STA 0 0"A"INPCHN /YES, RETURN A NACK TO HO +05647 064453 6 IRS TSKFLG X /SINGLE SKIP = BAD RETURN +05650 003121 6 JMP TSKL /DO NOT POKE HOST (ALLOW BACK TO RU + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 71 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK LCK FRE +05651 004326 6 0 NEWMES: LDA RASF /NEW MULTI-PACKET MESSAGE FOR US +05652 101040 6 0 SNZ /GET REAS BLOCK + DEFHLT [NO REAS BLOCK FOR MULTI-PKT MESS] +05653 121734 6 0 JST (THLTNG) I +05654 004751 6 0 LDA 8PKTS +05655 014541 6 0 ADD NREA /CHECK REAS ROOM +05656 016565 6 0 SUB NRES +05657 022572 6 0 CAS MAXR +05660 101000 6 0 NOP /NO ROOM, FOUL-UP + DEFHLT [MAXR EXCEEDED BY NON-REQUEST MULTI-PKT MESS] +05661 121734 6 0 JST (THLTNG) I +05662 004537 6 0 LDA NFA +05663 016563 6 0 SUB NFS +05664 016751 6 0 SUB 8PKTS +05665 016570 6 0 SUB MINF +05666 100400 6 0 SPL + DEFHLT [MINF VIOLATED BY NON-REQUEST MULTI-PKT MESS] +05667 121734 6 0 JST (THLTNG) I +05670 104326 6 0 LDA RASF I +05671 026326 6 0 IMA RASF +05672 010000 6 0 STA 0 +05673 026340 6 0 IMA SHRQ /PUT ON REAS QUEUE +05674 050000 6 0 STA 0 X +05675 004751 6 0 LDA 8PKTS +05676 014541 6 0 ADD NREA /NOW TAKE ROOM +05677 010541 6 0 STA NREA +05700 004751 6 0 LDA 8PKTS +05701 014566 6 0 ADD NALS +05702 010566 6 0 STA NALS +05703 004112 6 0 LDA SIGN /INIT RMAX +05704 050002 6 0 STA RMAX X +05705 105735 6 0 LDA (MESSID) I /ESTABLISH RID +05706 050001 6 0 STA RID X + /RSF IS SET UP AT INIT AND AFTER USE TO BE ZERO + /THE SAME IS TRUE OF REAS PNTRS +05707 103736 6 0 JMP (OLDMES) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 72 IMP,3050,IMP 7:20 PM 9/16/1973 + +05710 000330 C LEV CON CONSTANTS +05711 000646 C +05712 001233 C +05713 000077 C +05714 006056 C +05715 000037 C +05716 000200 C +05717 176777 C +05720 050254 C +05721 020000 C +05722 000004 C +05723 012604 C +05724 026120 C +05725 011133 C +05726 050377 C +05727 000011 C +05730 000005 C +05731 030434 C +05732 040011 C +05733 013106 C +05734 005635 C +05735 006664 C +05736 006313 C +02414 176744 C PAGEND 5,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 73 IMP,3050,IMP 7:20 PM 9/16/1973 + + /TASK REASSEMBLY + LEV TSK +06056 072514 6 FORUS: LDX THIS /PNTR TO PKT BUFF +06057 044007 6 LDA HEAD2 X /TASK FOR US +06060 007674 6 ANA (SRCEI) /SOURCE IMP MASK +06061 011673 6 STA SOURCE /PREPARE MESS TABLE ENTRY +06062 044005 6 LDA HEAD X +06063 141044 6 CAR 0"A"MESSNO +06064 011661 6 STA MESNUM /SAVE OUR MESS NO +06065 013673 6 ERA SOURCE +06066 011664 6 STA MESSID /PREPARE MESSAGE ID +06067 044005 6 LDA HEAD X +06070 007675 6 ANA (TRNREP) +06071 100040 6 SZE +06072 005676 6 LDA (0 0 RMESS"X"TMESS) +06073 013677 6 ERA (TMESS) /PICK TRANSMIT OR REPLY TABLE +06074 015673 6 ADD SOURCE +06075 011660 6 STA MESTAB +06076 001001 6 INH [H2I,T.O] +06077 105660 6 4 LDA MESTAB I /GET OLDEST MSG NO WE ARE EXPECTING +06100 141044 6 4 CAR 0"A"MESSNO /GET MESS NO WE WANT +06101 017661 6 4 SUB MESNUM /COMPARE WITH MESS NO WE GOT +06102 100400 6 4 SPL /IS MESS NO WE GOT TOO HIGH? +06103 003375 6 4 JMP MESOUT /YES +06104 141140 6 4 ICL +06105 022116 6 4 CAS THREE /IS MESS NO WE GOT TOO LOW? +06106 003375 6 4 JMP MESOUT /YES +06107 101000 6 4 NOP /GOOD MESS NO +06110 015700 6 4 ADD (MBITS) /NOW CONVERT DIFF BETWEEN MESSNOS +06111 011662 6 4 STA MESBIT /INTO A BIT - 1,2,4, OR 10 +06112 044005 6 4 LDA HEAD X +06113 007701 6 4 ANA (INCTRN 0 TRNREP) +06114 013701 6 4 ERA (INCTRN 0 TRNREP) +06115 101040 6 4 SNZ /IS IT AN INCOMPLETE TRANS? +06116 003431 6 4 JMP INCGOT /YES +06117 105662 6 4 LDA MESBIT I /NO, LOAD DIFFERENCE BIT +06120 107660 6 4 ANA MESTAB I /CHECK AGAINST MSG NO +06121 000401 6 4 ENB TSK +06122 100040 6 SZE /IS MESS NO A DUPLICATE? +06123 103702 6 JMP (FQOK) I /YES, DISCARD PKT +06124 044005 6 LDA HEAD X /GOOD MESSAGE FOR US +06125 007675 6 ANA (TRNREP) +06126 101040 6 SNZ /IS IT A REPLY? +06127 103703 6 JMP (REPGOT) I /YES +06130 073673 6 LDX SOURCE +06131 001001 6 INH [FRE,H2I,T.O] +06132 044165 6 0 LDA RUT X +06133 100400 6 0 SPL + DEFHLT [RECVD TRANSMISSION FROM DEAD IMP] +06134 121704 6 0 JST (THLTOK) I +06135 007705 6 0 ANA (0 0 177777"X"RUTCMU) +06136 050165 6 0 STA RUT X +06137 072514 6 0 LDX THIS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 74 IMP,3050,IMP 7:20 PM 9/16/1973 + +06140 044005 6 0 LDA HEAD X +06141 007706 6 0 ANA (GVBALL) +06142 100040 6 0 SZE /IS IT A REGULAR TRANSMIT? +06143 003447 6 0 JMP GUDGVB /NO, WE MUST RETURN A REPLY +06144 044006 6 0 LDA HEAD1 X +06145 121707 6 0 JST (HOSTNO) I +06146 000401 6 0 ENB TSK +06147 010000 6 STA 0 +06150 044504 6 LDA HIHD X 0"A"HSTUP +06151 072514 6 LDX THIS +06152 100040 6 SZE /IS THIS TRANS FOR A DEAD HOST? +06153 005710 6 LDA (0 0 TRNDED"X"TRNDIS) +06154 013711 6 ERA (JMP TRNDIS) /PICK REGULAR OR DEAD DIS[ +06155 011164 6 STA TRNJMP +06156 044005 6 LDA HEAD X /GOOD TRANSMISSION FOR US +06157 141050 6 CAL +06160 040572 6 ARS 6 0"A"ONEOR8"A"REQALL +06161 015164 6 ADD TRNJMP +06162 011164 6 STA TRNJMP +06163 001001 6 INH FRE +06164 6 0 TRNJMP: BSS 1 /DISPATCH ON 1 OR 8 PKT, REQ OR RE' +06165 003302 6 0 TRNDIS: JMP TRNGT8 /NON-REQ S PKT +06166 003455 6 0 JMP GUDRQ8 /REQ 8 PKT +06167 003227 6 0 JMP TRNGT1 /NON-REQ 1 PKT +06170 105662 6 0 LDA MESBIT I /REQ 1 PKT +06171 012114 6 0 ERA ONE +06172 101040 6 0 SNZ /IS THIS REQ THE NEXT TO GO? +06173 003204 6 0 JMP TRNDS1 /YES +06174 044006 6 0 LDA HEAD1 X /NO +06175 101400 6 0 SMI 0"A"PRIBIT /IS IT A PRI REQ? +06176 003222 6 0 JMP GUDRQ1 /NOT PRI, SO WE CAN GO NO FURTHER +06177 105660 6 0 LDA MESTAB I +06200 052005 6 0 ERA HEAD X +06201 007712 6 0 ANA (ORDNO) +06202 100040 6 0 SZE /IS HIS PRI ORD NO UP YET? +06203 003222 6 0 JMP GUDRQ1 /NO, SO HE MUST WAIT +06204 004542 6 0 TRNDS1: LDA NALA +06205 016566 6 0 SUB NALS +06206 014541 6 0 ADD NREA +06207 016565 6 0 SUB NRES +06210 141206 6 0 AOA +06211 022572 6 0 CAS MAXR +06212 003222 6 0 JMP GUDRQ1 /NO ROOM FOR 1 PKT MESS, TREAT AS R +06213 003222 6 0 JMP GUDRQ1 /NO ROOM FOR 1 PKT MESS, TREAT AS R +06214 004563 6 0 LDA NFS +06215 016537 6 0 SUB NFA +06216 141206 6 0 AOA +06217 014570 6 0 ADD MINF +06220 100400 6 0 SPL +06221 003244 6 0 JMP GUDTR1 + /NOTE THAT NO DUPLICATE DETECTION IS DONE HERE +06222 005664 6 0 GUDRQ1: LDA MESSID /ENTER HIS REQUEST +06223 013713 6 0 ERA (ONEOR8) /FOR ONE BUFFER +06224 121714 6 0 JST (RALLYP) I + DEFHLT [RALLY ENTRY ALREADY PRESENT FOR REQ 1 PKT] +06225 121704 6 0 JST (THLTOK) I +06226 103702 6 0 JMP (FQOK) I /DO NOT MARK MESS NO COMPLETE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 75 IMP,3050,IMP 7:20 PM 9/16/1973 + +06227 004541 6 0 TRNGT1: LDA NREA /CHECK REAS ROOM +06230 016565 6 0 SUB NRES +06231 141206 6 0 AOA /ROOM FOR ONE MORE? +06232 022572 6 0 CAS MAXR + DEFHLT [MAXR EXCEEDED BY A NON-REQUEST 1 PKT MESS] +06233 101000 6 0 NOP +06234 121715 6 0 JST (THLTNG) I /NO, A FOUL-UP +06235 004563 6 0 LDA NFS +06236 016537 6 0 SUB NFA +06237 141206 6 0 AOA +06240 014570 6 0 ADD MINF +06241 101400 6 0 SMI /DO WE HAVE ENOUGH FREE? + DEFHLT [MINF VIOLATED BY A NON-REQUEST 1 PKT MESS] +06242 121715 6 0 JST (THLTNG) I /NO, A FOUL-UP +06243 024566 6 0 IRS NALS +06244 024541 6 0 GUDTR1: IRS NREA /YES, SO TAKE IT +06245 000401 6 0 ENB TSK +06246 033670 6 STX READY /SAVE PACKET POINTER +06247 003350 6 JMP GUDTRN /NOW TRY TO GIVE TO HOST + + LCK FRE +06250 003276 6 0 TRNDED: JMP TRNDD8 /NON-REQ 8 PKT +06251 003455 6 0 JMP GUDRQ8 /REQ 8 PKT +06252 024566 6 0 IRS NALS /NON-REQ 1 PKT - ONLY HAPPENS IF [' +06253 064010 6 0 TRNDD1: IRS HEAD3 X 0"A"CHSTD /REQ 1 PKT +06254 044005 6 0 LDA HEAD X +06255 007716 6 0 ANA (0 0 177777"X"INCTRN"X"TRNREP"X"ALLOC) +06256 050005 6 0 STA HEAD X +06257 005717 6 0 LDA (REPDED) /SWAP SRC&DEST +06260 121720 6 0 JST (SWPCHK) I /AND CHECKSUM IT +06261 005664 6 0 LDA MESSID +06262 072112 6 0 LDX SIGN /MARK ENTRY FOR DEST DEAD +06263 121714 6 0 JST (RALLYP) I /PUT IN A DUMMY ENTRY + DEFHLT [RALLY ENTRY ALREADY PRESENT FOR DESTINATION DEAD] +06264 121704 6 0 JST (THLTOK) I +06265 072514 6 0 LDX THIS +06266 132402 6 0 STX ERQ I /HAND TO BAK +06267 032402 6 0 STX ERQ +06270 021537 6 0 JST REASGT +06271 003463 6 0 JMP NXMES1 /NO PKTS CAME IN SO FAR +06272 044000 6 0 LDA 0 X +06273 111667 6 0 STA TEND I /SPLICE UP REAS Q +06274 121721 6 0 JST (REASF) I /AND FREE UP THIS BLK +06275 003463 6 0 JMP NXMES1 + +06276 004751 6 0 TRNDD8: LDA 8PKTS +06277 014566 6 0 ADD NALS +06300 010566 6 0 STA NALS /MUST TAKE BACK ROOM WE ALLOCATED +06301 003253 6 0 JMP TRNDD1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 76 IMP,3050,IMP 7:20 PM 9/16/1973 + +06302 000401 6 0 TRNGT8: ENB TSK +06303 044006 6 LDA HEAD1 X /MULTI-PACKET TRANS FOR US +06304 141340 6 ICA +06305 006120 6 ANA SEVEN 0"A"PKTNO /GET PACKET NO +06306 011663 6 STA PKTN +06307 015722 6 ADD (REAS 0 X) +06310 011666 6 STA ORS /SAVE POST-INDEXED PNTR TO OUR REAS +06311 021537 6 JST REASGT LCK T.O /FIND OUR GUY IN REAS +06312 103723 6 5 JMP (NEWMES) I /NOT THERE, SO START A NEW MESS +06313 033665 6 5 OLDMES: STX ORB /SAVE PNTR TO OUR REAS BLOCK +06314 105666 6 5 LDA ORS I +06315 100040 6 5 SZE /IS IT EMPTY? +06316 103702 6 5 JMP (FQOK) I /NO, A DUPLICATE PACKET +06317 004514 6 5 LDA THIS +06320 111666 6 5 STA ORS I /PUT PACKET IN OUR REAS SLOT +06321 010000 6 5 STA 0 +06322 044007 6 5 LDA HEAD2 X +06323 073665 6 5 LDX ORB +06324 101400 6 5 SMI 0"A"LSTPKT /IS THIS THE LAST PACKET? +06325 003334 6 5 JMP NOTL /NO +06326 005663 6 5 LDA PKTN /GET PACKET NO +06327 050002 6 5 STA RMAX X /SAVE IN REAS BLOCK +06330 016120 6 5 SUB SEVEN 0"A"8PKTS +06331 140407 6 5 TCA +06332 014565 6 5 ADD NRES +06333 010565 6 5 STA NRES /ADJUST REAS COUNT FOR SURPLUS +06334 044013 6 5 NOTL: LDA RSF X +06335 062002 6 5 CAS RMAX X /IS REAS DONE? +06336 100000 6 5 SKP /NO +06337 003342 6 5 JMP DONE /YES +06340 064013 6 5 IRS RSF X +06341 103724 6 5 JMP (GOODM) I + +06342 044000 6 5 DONE: LDA 0 X /REAS COMPLETE +06343 111667 6 5 STA TEND I /REMOVE BLOCK FROM QUEUE +06344 000401 6 5 ENB TSK +06345 005665 6 LDA ORB +06346 140500 6 SSM /MARK AS MULTI-PACKET +06347 011670 6 STA READY + +06350 021360 6 GUDTRN: JST MESSOK LCK [H2I,T.O] +06351 100100 6 4 SLZ /IS MESS NO THE ONE WE WANT? +06352 003555 6 4 JMP T2H /YES, GIVE TO HOST +06353 005670 6 4 LDA READY /NO, PUT BUFFER OR BLOCK +06354 026327 6 4 IMA MESSTK /ON COMPLETED MESSAGE STACK +06355 072327 6 4 LDX MESSTK /DO THIS SINCE SIGN BIT MAY BE SET +06356 050000 6 4 STA 0 X +06357 003471 6 4 JMP SMSTK /AND SEARCH FOR NEXT MESS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 77 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +06360 000000 6 MESSOK: 0 /MARK MESS NO TO PREVENT DUPLICATES +06361 001001 6 INH [H2I,T.O] +06362 105660 6 4 LDA MESTAB I +06363 141044 6 4 CAR 0"A"MESSNO +06364 017661 6 4 SUB MESNUM +06365 141140 6 4 ICL +06366 015700 6 4 ADD (MBITS) +06367 011662 6 4 STA MESBIT +06370 105662 6 4 LDA MESBIT I +06371 113660 6 4 ERA MESTAB I /TURN ON GOT-IT BIT +06372 007725 6 4 ANA (0 0 177777"X"MSTO1"X"MSTO2) +06373 111660 6 4 STA MESTAB I /TURN OFF TIME OUT BITS +06374 103360 6 4 JMP MESSOK I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 78 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK LCK [H2I,T.O] +06375 044005 6 4 MESOUT: LDA HEAD X +06376 007701 6 4 ANA (INCTRN 0 TRNREP) +06377 013701 6 4 ERA (INCTRN 0 TRNREP) +06400 100040 6 4 SZE /IS THIS AN INC TRN? +06401 103702 6 4 JMP (FQOK) I /NO, OUT OF RANGE, DISCARD PKT +06402 044005 6 4 INCREP: LDA HEAD X /THIS CODE IS FOR OUT-OF-RANGE MESS +06403 007726 6 4 ANA (0 0 177777"X"INCTRN"X"TRNREP"X"GVBALL"X"RFNM) +06404 013676 6 4 ERA (RFNM) /RFNM ON IN ALL RPLYS XCPT REQ8 +06405 066005 6 4 IMA HEAD X +06406 007727 6 4 ANA (ONEOR8 0 REQALL) +06407 013676 6 4 ERA (REQALL) +06410 100040 6 4 SZE /REQ FOR 8? +06411 003415 6 4 JMP PUTREP /NO, MAKE A REPLY +06412 005730 6 4 LDA (ALLOC 0 RFNM) /Y, TURN OFF RFNM, TURN 'T +06413 052005 6 4 ERA HEAD X +06414 050005 6 4 STA HEAD X +06415 140040 6 4 PUTREP: CRA /SWAP DEST FOR SRC +06416 121720 6 4 JST (SWPCHK) I /AND CHECKSUM IT +06417 132402 6 4 STX ERQ I /ADD TO REPLY QUEUE +06420 032402 6 4 STX ERQ +06421 103724 6 4 JMP (GOODM) I /AND GIVE GOOD RETURN + +06422 021537 6 4 INCGT8: JST REASGT /FIND THIS INC TRN IN REAS +06423 003427 6 4 JMP SNDRP8 /NOT THERE, WE NEVER SAW HIM +06424 044000 6 4 LDA 0 X +06425 111667 6 4 STA TEND I /REMOVE FROM REAS QUEUE +06426 121721 6 4 JST (REASF) I /FREE REAS BLOCK AND PKTS +06427 005676 6 4 SNDRP8: LDA (RFNM) /CREATE A REPLY TO 8-PKT INC TRN +06430 003453 6 4 JMP SNDRP1 + +06431 105662 6 4 INCGOT: LDA MESBIT I /GOT AN INC TRANS +06432 107660 6 4 ANA MESTAB I /EXPLICITLY PERMIT DUPLICATES +06433 100040 6 4 SZE /HAVE WE SEEN HIM COMPLETED YET? +06434 003402 6 4 JMP INCREP /YES, SEND BACK DUPLICATE REPLY +06435 044005 6 4 LDA HEAD X +06436 007727 6 4 ANA (ONEOR8 0 REQALL) +06437 101040 6 4 SNZ /8 PKT INC TPN? +06440 003422 6 4 JMP INCGT8 /YES +06441 007713 6 4 ANA (ONEOR8) +06442 101040 6 4 SNZ /8 PKT REQ FOR ALL? +06443 003455 6 4 JMP GUDRQ8 /YES, IT IS INSIDE WINDOW +06444 044005 6 4 LDA HEAD X /NEVER SAW THIS 1 PKT GUY +06445 007706 6 4 ANA (GVBALL) +06446 100040 6 4 SZE /IS THIS A GVB? +06447 004751 6 4 GUDGVB: LDA 8PKTS /YES +06450 014566 6 4 ADD NALS /REMOVE BUFFER FROM ALLOCATE COUNT +06451 010566 6 4 STA NALS +06452 005727 6 4 LDA (ONEOR8 0 RFNM) +06453 072121 6 4 SNDRP1: LDX MINUS1 /MAKE A REPLY TO 1-PKT INC TRN +06454 003456 6 4 JMP GUDRAL + /SINCE IT MAY HAVE BEEN A REPLY TO AN INC TRN THAT WAS LOST + /WE SHOULD KEEP A RECORD OF THE HOST QUEUE LAST FLUSHED + /THIS WAY WE COULD SEND THE CORRECT DUPLICATE REPLY + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 79 IMP,3050,IMP 7:20 PM 9/16/1973 + +06455 140040 6 4 GUDRQ8: CRA +06456 013664 6 4 GUDRAL: ERA MESSID +06457 121714 6 4 JST (RALLYP) I /SET UP ENTRY TO REPLY + DEFHLT [RALLY ENTRY ALREADY PRESENT FOR INC OR REQ8] +06460 121704 6 4 JST (THLTOK) I +06461 072514 6 4 LDX THIS +06462 120671 6 4 JST FLUSHI I +06463 021360 6 4 NXMES1: JST MESSOK /MARK MESS NO AS COMPLETED +06464 105660 6 4 NXTMES: LDA MESTAB I +06465 101100 6 4 SLN /IS THIS THE MESS NO WE WANT? +06466 103724 6 4 JMP (GOODM) I /NO +06467 073660 6 4 LDX MESTAB +06470 121731 6 4 JST (UPMESS) I + + RET TSK +06471 005732 6 SMSTK: LDA (MESSTK) /SEARCH THE MESSAGE STACK +06472 011667 6 STA TEND /FOR MESSAGES WHOSE NUMBERS ARE UP +06473 001001 6 INH T.O +06474 004327 6 5 LDA MESSTK /GET CONTENTS OF STACK ENTRY +06475 101040 6 5 SRCSTK: SNZ /IS STACK EMPTY? +06476 003464 6 5 JMP NXTMES /YES +06477 011670 6 5 STA READY +06500 010000 6 5 STA 0 +06501 100400 6 5 SPL /IS THIS A REAS BLOCK? +06502 044003 6 5 LDA REAS X /YES, SO GET A PACKET +06503 010000 6 5 STA 0 +06504 044007 6 5 LDA HEAD2 X /GET SOURCE OF THIS PACKET +06505 013673 6 5 ERA SOURCE /COMPARE WITH OURS +06506 007674 6 5 ANA (SRCEI) +06507 100040 6 5 SZE /MATCH? +06510 003532 6 5 JMP SRCSTL /NO +06511 044006 6 5 LDA HEAD1 X +06512 101400 6 5 SMI 0"A"PRIBIT /IS IT PRIORITY? +06513 003520 6 5 JMP SRCST2 /NO +06514 105660 6 5 LDA MESTAB I /GET ORD NO WE WANT +06515 052005 6 5 ERA HEAD X /COMPARE WITH THIS PACKET +06516 007712 6 5 ANA (ORDNO) +06517 003524 6 5 JMP SRCST3 +06520 105660 6 5 SRCST2: LDA MESTAB I /GET MESS NO WE WANT +06521 017733 6 5 SUB (0 0 3"T"400) +06522 052005 6 5 ERA HEAD X /COMPARE WITH THIS PACKET +06523 141044 6 5 CAR 0"A"MESSNO +06524 100040 6 5 SRCST3: SZE /IS THIS THE NEXT TO GO? +06525 003532 6 5 JMP SRCSTL /NO +06526 073670 6 5 LDX READY +06527 066000 6 5 IMA 0 X /YES +06530 111667 6 5 STA TEND I /REMOVE FROM MESS STACK +06531 003555 6 5 JMP T2H /AND GIVE TO HOST + +06532 005670 6 5 SRCSTL: LDA READY /LOOP BACK FOR MORE +06533 140100 6 5 SSP +06534 011667 6 5 STA TEND +06535 105667 6 5 LDA TEND I +06536 003475 6 5 JMP SRCSTK + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 80 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +06537 000000 6 REASGT: 0 /FIND A MATCH ON MESSID IN REAS STO+ +06540 073734 6 LDX (SHRQ) +06541 001001 6 INH T.O /LOOK FOR THIS MESSAGE IN REAS +06542 044000 6 5 RELOOK: LDA 0 X /NEXT REAS BLOCK +06543 101040 6 5 SNZ /NO MORE REAS BLOCKS? +06544 103537 6 5 JMP REASGT I /YES, SO RETURN NO SKIP +06545 033667 6 5 STX TEND /SAVE END PNTR +06546 010000 6 5 STA 0 +06547 044001 6 5 LDA RID X /GET THIS MESS ID +06550 013664 6 5 ERA MESSID /COMPARE WITH OURS +06551 100040 6 5 SZE /IS THIS OUR MESSAGE? +06552 003542 6 5 JMP RELOOK /NO +06553 025537 6 5 IRS REASGT /SKIP=SUCCESS +06554 103537 6 5 JMP REASGT I + +06555 000401 6 5 T2H: ENB TSK +06556 004114 6 LDA ONE +06557 011672 6 STA NPKTS +06560 073670 6 LDX READY /LOAD THE PACKET PNTR +06561 005670 6 LDA READY /REGULAR MESSAGE READY FOR HOST +06562 100400 6 SPL /IS THIS A SINGLE PACKET? +06563 003625 6 JMP T2H8 /NO +06564 011671 6 STA READYE /SAVE END PNTR +06565 121735 6 T2HL1: JST (TSUB) I +06566 044006 6 LDA HEAD1 X +06567 001001 6 INH [I2H,H2I,T.O] +06570 121707 6 3 JST (HOSTNO) I /GET HOST NUMBER +06571 044006 6 3 LDA HEAD1 X +06572 006112 6 3 ANA SIGN 0"A"PRIBIT +06573 100040 6 3 SZE /PICK PRI OR REG QUEUE +06574 005736 6 3 LDA (EHPQ+0-EHQ) +06575 115737 6 3 ADD (LOCHST) I /AOD OFFSET GENERATED IN HOSTNO +06576 026000 6 3 IMA 0 /PUT IN X AND GET PKT PNTR +06577 150343 6 3 STA EHQ XI /PUT ON HOST QUEUE +06600 005671 6 3 LDA READYE +06601 050343 6 3 STA EHQ X +06602 005672 6 3 LDA NPKTS /NUM PKTS IN MSG +06603 054517 6 3 ADD NHA X /NUM PKTS FOR HOST +06604 050517 6 3 STA NHA X /ADJUST COUNTS +06605 073670 6 3 LDX READY +06606 044006 6 3 LDA HEAD1 X +06607 073660 6 3 LDX MESTAB +06610 101400 6 3 SMI 0"A"PRIBIT /PRIORITY? +06611 003622 6 3 JMP T2HL2 /NO +06612 121740 6 3 JST (UPORD) I /YES, SO BUMP ORD NO +06613 073670 6 3 LDX READY +06614 105660 6 3 LDA MESTAB I /GET MESS NO WE WANT +06615 017733 6 3 SUB (0 0 3"T"400) +06616 052005 6 3 ERA HEAD X /COMPARE WITH WHAT WE GOT +06617 141044 6 3 CAR 0"A"MESSNO +06620 073660 6 3 LDX MESTAB +06621 101040 6 3 SNZ /MATCH? +06622 121731 6 3 T2HL2: JST (UPMESS) I /BUMP MESS NO +06623 121741 6 3 JST (TASK2H) I RET TSK /POKE HOST IF NECESSARY +06624 003471 6 JMP SMSTK /GO BACK FOR MORE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 81 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THE FIRST PKT IS COUNTED FIRST, IN T2H + /AND TRACED LAST, IN T2HL1 + /SUBSEQUENT PKTS ARE COUNTED AND TRACED IN T2HS1 + LEV TSK +06625 140100 6 T2H8: SSP /MULTI-PACKET MESSAGE READY +06626 011665 6 STA ORB /OUR REASSY BLOCK +06627 044003 6 LDA REAS X /LOAD PKT PNTR +06630 011670 6 STA READY +06631 140040 6 CRA +06632 050013 6 STA REAS+8 X 0"A"RSF + /A TRICK TO INIT RSF AND MAKE IT LOOK LIKE PKT 9 +06633 044004 6 T2H81: LDA REAS+1 X /LOAD ADDR OF NEXT PACKET +06634 150003 6 STA REAS XI /CHAIN PACKETS TOGETHER +06635 101040 6 SNZ /IS THIS THE LAST PKT? +06636 003650 6 JMP T2H82 /YES +06637 033671 6 STX READYE /NO, STORE THE PKT PNTR +06640 010000 6 STA 0 +06641 121735 6 JST (TSUB) I /TRACE PKT IF NECESSARY +06642 073671 6 LDX READYE +06643 140040 6 CRA /CLEAR REAS PNTR +06644 050003 6 STA REAS X +06645 024000 6 IRS 0 /INCREMENT ADDRESS +06646 025672 6 IRS NPKTS /INCREMENT PKT COUNT +06647 003633 6 JMP T2H81 /CHAIN NEXT PACKET + +06650 066003 6 T2H82: IMA REAS X /CLEAR REAS PNTR +06651 011671 6 STA READYE /AND SAVE LAST PKT PNTR +06652 073670 6 LDX READY /LOAD FIRST PKT PNTR +06653 005665 6 LDA ORB /LOAD REASSY BLOCK PNTR +06654 001001 6 INH T.O +06655 026326 6 5 IMA RASF /FREE REAS BLOCK AND LINK TO TOP +06656 110326 6 5 STA RASF I /OF FREE LIST +06657 003565 6 5 JMP T2HL1 + + LEV VAR +06660 V MESTAB: BSS 1 /PNTR TO MESS TAB ENTRY +06661 V MESNUM: BSS 1 /MESSNO OF THIS PKT +06662 V MESBIT: BSS 1 /BIT CORRESPONDING TO OUR MESSAGE +06663 V PKTN: BSS 1 /NUMBER OF THIS PACKET +06664 V MESSID: BSS 1 /MESSAGE ID (MESS NO+SRCE IMP) +06665 V ORB: BSS 1 /OUR REAS BLOCK +06666 V ORS: BSS 1 /OUR REAS SLOT +06667 V TEND: BSS 1 /TEMP END PNTR +06670 V READY: BSS 1 /PNTR TO PACKET TO GIVE TO HOST +06671 V READYE: BSS 1 /END PNTR FOR READY +06672 V NPKTS: BSS 1 /PKT COUNTER +06673 V SOURCE: BSS 1 /SOURCE IMP FOR THIS PACKET + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 82 IMP,3050,IMP 7:20 PM 9/16/1973 + +06674 000077 C LEV CON CONSTANTS +06675 000004 C +06676 000100 C +06677 032271 C +06700 001246 C +06701 000014 C +06702 005601 C +06703 007063 C +06704 005577 C +06705 177437 C +06706 000002 C +06707 007244 C +06710 000335 C +06711 003165 C +06712 000060 C +06713 000200 C +06714 015303 C +06715 005635 C +06716 177761 C +06717 000400 C +06720 005457 C +06721 021321 C +06722 040003 C +06723 005651 C +06724 005604 C +06725 177477 C +06726 177661 C +06727 000300 C +06730 000102 C +06731 015347 C +06732 000327 C +06733 001400 C +06734 000340 C +06735 005504 C +06736 000010 C +06737 007257 C +06740 015361 C +06741 007222 C +02415 176751 C PAGEND 6,UNCON,1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 83 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +07063 044005 6 REPGOT: LDA HEAD X /REPLY TO A TRANSMISSION OF OURS +07064 007327 6 ANA (ONEOR8) +07065 101040 6 SNZ /IS IT A REPLY TO A MULTI-PACKET? +07066 003134 6 JMP REPGT8 /YES +07067 105330 6 LDA (MESSID) I +07070 001001 6 INH [H2I,T.O] +07071 121331 6 4 JST (PPTGET) I /FIND OUR TRANS IN RPT +07072 003220 6 4 JMP GOTGVB /NOT THERE, MUST BE A GVB +07073 011131 6 4 STA PPTASK /SAVE PPT PNTR +07074 000401 6 4 ENB TSK +07075 072514 6 LDX THIS +07076 044005 6 LDA HEAD X +07077 007332 6 ANA (ALLOC) +07100 101040 6 SNZ /IS THIS REPLY AN ALLOCATE OF 1? +07101 003113 6 JMP NOALL1 /NO +07102 173131 6 LDX PPTASK I /YES, CHECK FOR DUPLICATE ALLOC +07103 044005 6 LDA HEAD X +07104 007333 6 ANA (REQALL) +07105 101040 6 SNZ /WAS REQUEST BIT SET? +07106 103334 6 JMP (FQOK) I /NO, SO ALLOC IS A DUPLICATE +07107 105131 6 LDA PPTASK I /YES, SO WE MARK PPT +07110 140500 6 SSM 0"A"RETRAN /FOR RETRANSMISSION FROM BACK +07111 111131 6 STA PPTASK I +07112 103334 6 JMP (FQOK) I /MESS NO NOT REPLIED TO YET + +07113 021260 6 NOALL1: JST RFNM1 /SET UP TWDPA FOR RFNM OR INC +07114 003125 6 0 LCK FRE JMP DDEAD1 /GIVE HOST A DESTINATION DEAD +07115 173131 6 LEV TSK LDX PPTASK I +07116 044010 6 LDA HEAD3 X /PICK UP LINK WORD +07117 021306 6 JST RFNM2 LCK FRE +07120 044007 6 0 LDA HEAD2 X +07121 021244 6 0 JST HOSTNO +07122 044006 6 0 LDA HEAD1 X /GFT SOURCE OF MESS +07123 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) +07124 013132 6 0 ERA TWDPA /PUT IN IH MESS TYPE +07125 073257 6 0 DDEAD1: LDX LOCHST +07126 120670 6 0 JST OWP I /DO A 2 WRD PUT +07127 003213 6 0 DEFSTAT JMP PPTFRE, HS6 +00575 031304 6 0 +31771 007127 6 0 +32011 003213 6 0 +07130 103336 6 0 JMP (FQNG) I /NO ROOM FOR 2 WRD MESS + + LEV VAR +07131 V PPTASK: BSS 1 /POINTER TO OUR PPT OR PLT SLOT +07132 V TWDPA: BSS 1 /FIRST WORD OF 2 WRD PUT +07133 V LOCHNO: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 84 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +07134 105330 6 REPGT8: LDA (MESSID) I /REPLY TO A MULTI-PCKT TRANS +07135 001001 6 INH [H2I,T.O] +07136 121337 6 4 JST (PLTGET) I /FIND OUR TRANS IN PLT + DEFHLT [CANT FIND MULTI-PKT MESS FOR THIS REPLY] +07137 121340 6 4 JST (THLTOK) I /NOT THERE, FOUL-UP +07140 033131 6 4 STX PPTASK /SAVE PLT PNTR +07141 044000 6 4 LDA PLT0 X +07142 006120 6 4 ANA SEVEN 0"A"PLTHST +07143 011133 6 4 STA LOCHNO /GET LOCAL HOST NO +07144 072514 6 4 LDX THIS +07145 044005 6 4 LDA HEAD X +07146 007332 6 4 ANA (ALLOC) +07147 000401 6 4 ENB TSK +07150 101040 6 SNZ /IS THIS REPLY AN ALLOCATE OF 8? +07151 003166 6 JMP NOALL8 /NO +07152 001001 6 INH [SIN,H2I,T.O] +07153 105341 6 0 LDA (TALLYI) I /GET IN PNTR +07154 013342 6 0 ERA (TALLY+TALLYL) /COMPARE WITH END PNTR +07155 101040 6 0 SNZ /AT END? +07156 103336 6 0 JMP (FQNG) I /YES, NO ROOM FOR ALLOCATE SO NACF +07157 105343 6 0 LDA (SOURCE) I /GET SOURCE OF ALLOC +07160 111344 6 0 STA (TALLYI 0 I) I /STUFF THRU IN PNTR +07161 125341 6 0 IRS (TALLYI) I /BUMP IN PNTR +07162 044005 6 0 LDA HEAD X +07163 007333 6 0 ANA (RFNM) +07164 101040 6 0 SNZ /IS THIS REPLY AN ALLOCATED RFNM? +07165 003233 6 0 JMP GUDAL8 /NO, JUST AN ALLOCATE OF 8, POKE HO + RET TSK +07166 021260 6 NOALL8: JST RFNM1 /SET UP TWDPA FOR RFNM OR INC +07167 003176 6 0 LCK FRE JMP DDEAD8 /GIVE HOST A DESTINATION DEAD +07170 073131 6 LEV TSK LDX PPTASK +07171 044030 6 LDA PLT2 X /PICK UP LINK WORD +07172 021306 6 JST RFNM2 LCK FRE +07173 044014 6 0 LDA PLT1 X /GET SOURCE OF MESS +07174 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) +07175 013132 6 0 ERA TWDPA /PUT IN IH MESS TYPE +07176 073133 6 0 DDEAD8: LDX LOCHNO +07177 033257 6 0 STX LOCHST +07200 120670 6 0 JST OWP I /DO A 2 WRD PUT +07201 003215 6 0 DEFSTAT JMP GUDRP0, HS7 /AND POKE HOST +00576 031313 6 0 +31772 007201 6 0 +32012 003215 6 0 + +07202 072514 6 0 LDX THIS /NO ROOM FOR 2 WRD MESS +07203 044005 6 0 LDA HEAD X +07204 007332 6 0 ANA (ALLOC) +07205 101040 6 0 SNZ /WAS REPLY AN ALLOCATE OF 8? +07206 103336 6 0 JMP (FQNG) I /NO, SO QUIT +07207 105343 6 0 LDA (SOURCE) I /YES, GET SOURCE +07210 121345 6 0 JST (TALLYG) I /AND GET TALLY ENTRY BACK AGAIN +07211 103336 6 0 JMP (FQNG) I /NOT THERE, FOUL-UP +07212 103336 6 0 JMP (FQNG) I /AND QUIT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 85 IMP,3050,IMP 7:20 PM 9/16/1973 + +07213 173131 6 0 PPTFRE: LDX PPTASK I +07214 120671 6 0 JST FLUSHI I /FREE PPT ENTRY NOW THAT RFNM IS IN +07215 021222 6 0 GUDRP0: JST TASK2H /POKE HOST IF NECESSARY + LEV TSK +07216 140040 6 GUDRP1: CRA +07217 111131 6 STA PPTASK I /CLEAR PPT OR PLT ENTRY +07220 121346 6 GOTGVB: JST (MESSOK) I /MARK MESS NO AS REPLIED + LCK [H2I,T.O] +07221 103334 6 4 JMP (FQOK) I + + LCK SIN +07222 000000 6 0 TASK2H: 0 /GOT SOMETHING FOR HOST OUTPUT +07223 073257 6 0 LDX LOCHST +07224 104700 6 0 LDA IHXX I +07225 000013 6 0 EXA +07226 101040 6 0 SNZ /IS HOST IDLE? +07227 121347 6 0 JST (IHSB) I RET TSK /YES, SO POKE IT +07230 001001 6 INH ALL +07231 120672 6 0 JST DODXA I RET TSK +07232 103222 6 JMP TASK2H I + + LCK SIN +07233 073133 6 0 GUDAL8: LDX LOCHNO /GOT AN ALLOCATE OF 8 FOR HOST INPU +07234 044453 6 0 LDA HILO X +07235 017350 6 0 SUB (HIALL) +07236 000013 6 0 EXA +07237 101040 6 0 SNZ /IS HOST HUNG ON ALLOCATE? +07240 121351 6 0 JST (HISB) I RET TSK /POKE HIM SINCE HE IS WAI +07241 001001 6 INH ALL +07242 120672 6 0 JST DODXA I RET TSK +07243 003216 6 JMP GUDRP1 + + LEV [T.O,TSK] +07244 000000 5 HOSTNO: 0 /COMPUTE HOST NO +07245 011257 5 STA LOCHST +07246 007352 5 ANA (DESTH) +07247 040672 5 ARR 6 +07250 027257 5 IMA LOCHST /SAVE DEST HOST +07251 007353 5 ANA (FORIMP) +07252 100040 5 SZE /FAKE HOST? +07253 004130 5 LDA PLNH /YES +07254 015257 5 ADD LOCHST +07255 011257 5 STA LOCHST +07256 103244 5 JMP HOSTNO I + LEV VAR +07257 V LOCHST: BSS 1 /WHICH HOST WE ARE FEEDING + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 86 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV TSK +07260 000000 6 RFNM1: 0 /DISTINGUISH BETWEEN RFNM AND INC T: +07261 044006 6 LDA HEAD1 X +07262 007354 6 ANA (REPDED) +07263 100040 6 SZE /IS THIS A DESTINATION DEAD? +07264 003275 6 JMP RFNMD /YES +07265 044005 6 LDA HEAD X +07266 007355 6 ANA (INCTRN) +07267 100040 6 SZE /IS THIS REPLY MARKED INCOMFLETE? +07270 005356 6 LDA (0 0 CRFNM"X"CINCTR) /YES +07271 013357 6 ERA (CRFNM) /NO +07272 011132 6 STA TWDPA /SAVE IH MESS TYPE +07273 025260 6 IRS RFNM1 +07274 103260 6 JMP RFNM1 I + +07275 044010 6 RFNMD: LDA HEAD3 X 0"A"CHSTD +07276 001001 6 INH FRE +07277 010515 6 0 STA TWDP /SAVE LINK WORD ANO CODE +07300 044006 6 0 LDA HEAD1 X +07301 021244 6 0 JST HOSTNO +07302 044007 6 0 LDA HEAD2 X +07303 007335 6 0 ANA (0 0 177777"X"LSTPKT"X"HICODE) +07304 013360 6 0 ERA (CDESTD) /PUT IN DEST DEAD CODE +07305 103260 6 0 JMP RFNM1 I + + LEV TSK +07306 000000 6 RFNM2: 0 /TRANSLATE SOME INCOMPLETES INTO +07307 001001 6 INH FRE /ERROR IN DATA MESS +07310 010515 6 0 STA TWDP /SAVE LINK WORD +07311 007361 6 0 ANA (SUBCOD) +07312 013362 6 0 ERA (CERROR) +07313 100040 6 0 SZE /WAS THIS MARKED AS AN ERROR AT SOU +07314 003317 6 0 JMP .+3 /NO +07315 005363 6 0 LDA (CERRDT) /YES, SO CHANGE IH MESS TYPE +07316 011132 6 0 STA TWDPA +07317 005132 6 0 LDA TWDPA +07320 013364 6 0 ERA (CINCTR) +07321 101040 6 0 SNZ /IS THE IH MESS TYPE INC TRN? +07322 103306 6 0 JMP RFNM2 I /YES, KEEP SUB CODE +07323 004515 6 0 LDA TWDP /NO, A RFNM OR ERROR IN DATA +07324 007365 6 0 ANA (LINKNO) +07325 010515 6 0 STA TWDP /WE MAY HAVE PUT IN AT INC? TIME +07326 103306 6 0 JMP RFNM2 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 87 IMP,3050,IMP 7:20 PM 9/16/1973 + +07327 000200 C LEV CON CONSTANTS +07330 006664 C +07331 015033 C +07332 000002 C +07333 000100 C +07334 005601 C +07335 070377 C +07336 005637 C +07337 015205 C +07340 005577 C +07341 015155 C +07342 032271 C +07343 006673 C +07344 115155 C +07345 015114 C +07346 006360 C +07347 016042 C +07350 014445 C +07351 013106 C +07352 000300 C +07353 040000 C +07354 000400 C +07355 000010 C +07356 006000 C +07357 002400 C +07360 003400 C +07361 000007 C +07362 000004 C +07363 004000 C +07364 004400 C +07365 177760 C +02416 173373 C PAGEND 7,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 88 IMP,3050,IMP 7:20 PM 9/16/1973 + + + PAGM2I: LEV M2I / MODEM TO IMP (M2I) +00064 010043 0 M1INIL/ M2I1 +00065 010067 0 M2INIL/ M2I2 +00066 010113 0 M3INIL/ M2I3 +00067 010137 0 M4INIL/ M2I4 +00070 010163 0 M5INIL/ M2I5 + PAGM2I/ +10043 000000 0 M2I1: INT M2I /MODEM 1 ENTPANCE +10044 000011 0 DXA +10045 033244 0 STX TX /SAVE X REG +10046 072113 0 LDX ZERO /SET UP ACTIVE MODEM NO +10047 0 M2I1A: BSS 1 /INITIALLY A JMP M2II UNTIL AN INPL +10050 000043 0 INK +10051 011245 0 STA TK /SAVE KEYS +10052 070471 0 DEFSTAT M1ERR,MI1 +00577 031202 0 +31773 010052 0 +32013 070471 0 +10053 003231 0 M1OK: JMP M2I0 /THIS IS A NOP WHEN THE LINE GOES DI +10054 004021 0 DIS1: LDA M1INBP+1 +10055 017625 0 SUB (BUFE-ACKH) +10056 010020 0 M2I1B: STA M1INBP +10057 030471 0 M1IN /ERROR- NEW "IN" INTO SAME BUFFER +10060 005245 0 DPP1: LDA TK +10061 000013 0 EXA +10062 171020 0 OTK +10063 005243 0 LDA TA +10064 073244 0 LDX TX +10065 000401 0 ENB M2I +10066 103043 0 JMP M2I1 I + +10067 000000 0 M2I2: INT M2I /MODEM 2 ENTRANCE +10070 000011 0 DXA +10071 033244 0 STX TX +10072 072114 0 LDX ONE +10073 0 M2I2A: BSS 1 +10074 000043 0 INK +10075 011245 0 STA TK +10076 070472 0 DEFSTAT M2ERR,MI1A +00600 031226 0 +31774 010076 0 +32014 070472 0 +10077 003231 0 M2OK: JMP M2I0 +10100 004023 0 DIS2: LDA M2INBP+1 +10101 017625 0 SUB (BUFE-ACKH) +10102 010022 0 STA M2INBP +10103 030472 0 M2IN +10104 005245 0 DPP2: LDA TK +10105 000013 0 EXA +10106 171020 0 OTK +10107 005243 0 LDA TA +10110 073244 0 LDX TX +10111 000401 0 ENB M2I +10112 103067 0 JMP M2I2 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 89 IMP,3050,IMP 7:20 PM 9/16/1973 + +10113 000000 0 M2I3: INT M2I /MODEM 3 ENTRANCE +10114 000011 0 DXA +10115 033244 0 STX TX +10116 072115 0 LDX TWO +10117 0 M2I3A: BSS 1 +10120 000043 0 INK +10121 011245 0 STA TK +10122 070473 0 DEFSTAT M3ERR,MI1B +00601 031236 0 +31775 010122 0 +32015 070473 0 +10123 003231 0 M3OK: JMP M2I0 +10124 004025 0 DIS3: LDA M3INBP+1 +10125 017625 0 SUB (BUFE-ACKH) +10126 010024 0 STA M3INBP +10127 030473 0 M3IN +10130 005245 0 DPP3: LDA TK +10131 000013 0 EXA +10132 171020 0 OTK +10133 005243 0 LDA TA +10134 073244 0 LDX TX +10135 000401 0 ENB M2I +10136 103113 0 JMP M2I3 I + +10137 000000 0 M2I4: INT M2I /MODEM 4 ENTRANCE +10140 000011 0 DXA +10141 033244 0 STX TX +10142 072116 0 LDX THREE +10143 0 M2I4A: BSS 1 +10144 000043 0 INK +10145 011245 0 STA TK +10146 070474 0 DEFSTAT M4ERR,MI1C +00602 031246 0 +31776 010146 0 +32016 070474 0 +10147 003231 0 M4OK: JMP M2I0 +10150 004027 0 DIS4: LDA M4INBP+1 +10151 017625 0 SUB (BUFE-ACKH) +10152 010026 0 STA M4INBP +10153 030474 0 M4IN +10154 005245 0 DPP4: LDA TK +10155 000013 0 EXA +10156 171020 0 OTK +10157 005243 0 LDA TA +10160 073244 0 LDX TX +10161 000401 0 ENB M2I +10162 103137 0 JMP M2I4 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 90 IMP,3050,IMP 7:20 PM 9/16/1973 + +10163 000000 0 M2I5: INT M2I /MODEM 5 ENTRANCE +10164 000011 0 DXA +10165 033244 0 STX TX +10166 072117 0 LDX FOUR +10167 0 M2I5A: BSS 1 +10170 000043 0 INK +10171 011245 0 STA TK +10172 070475 0 DEFSTAT M5ERR,MI1D +00603 031256 0 +31777 010172 0 +32017 070475 0 +10173 003231 0 M5OK: JMP M2I0 +10174 004031 0 DIS5: LDA M5INBP+1 +10175 017625 0 SUB (BUFE-ACKH) +10176 010030 0 STA M5INBP +10177 030475 0 M5IN +10200 005245 0 DPP5: LDA TK +10201 000013 0 EXA +10202 171020 0 OTK +10203 005243 0 LDA TA +10204 073244 0 LDX TX +10205 000401 0 ENB M2I +10206 103163 0 JMP M2I5 I + + /SOME OFFSETS WE NEED FOR THE FIRST MODEM INPUT TO GRAB A BU + DIS1O=DIS1-0-M2I1 + M2I1AO=M2I1A-0-M2I1 + M2I1BO=M2I1B-0-M2I1 +10207 011243 0 M2II: STA TA +10210 044064 0 LDA M1INIL X +10211 010000 0 STA 0 /BASE REG FOR OUR INSTR MODIFICATIO +10212 044011 0 LDA DIS1O X +10213 015626 0 ADD (STA-0-LDA) +10214 011223 0 STA M2II1 +10215 104324 0 LDA FREE I +10216 101040 0 SNZ +10217 003227 0 JMP M2II2 +10220 026324 0 IMA FREE +10221 024563 0 IRS NFS +10222 015627 0 ADD (BUFE 0 I) +10223 0 M2II1: BSS 1 /SET UP FIRST REAL INPUT BUFFER +10224 005207 0 LDA M2II +10225 050004 0 STA M2I1AO X +10226 042011 0 JMP DIS1O X + +10227 005630 0 M2II2: LDA (I 0 1) +10230 042013 0 JMP M2I1BO X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 91 IMP,3050,IMP 7:20 PM 9/16/1973 + +10231 032674 0 M2I0: STX MP /SAVE ACTIVE MODEM NO +10232 045254 0 LDA LEND X /PICK UP END-OF-LINE BIT FOR THIS MI +10233 011261 0 STA LENDT +10234 104324 0 LDA FREE I /GET PKT FOR FREE LIST +10235 101040 0 DEFSTAT SNZ, MI3 +00604 031217 0 +32000 010235 0 +32020 101040 0 +10236 143604 0 JMP DIS XI /FREE LIST EMPTY - INPUT LOST +10237 024563 0 IRS NFS +10240 026324 0 IMA FREE +10241 015631 0 ADD (ACKH 0 I) /SET UP DMC START INPUT PNTR +10242 143262 0 JMP DIP XI /DISPATCH TO SEPARATE CODE FOR EACH + + LEV VAR +10243 V TA: BSS 1 /SAVE A REG +10244 V TX: BSS 1 /SAVE X REG +10245 V TK: BSS 1 /SAVE KEYS +10246 V TAR: BSS 1 /SAVE ADDRET +10247 010053 V M2IOK: M1OK +10250 010077 V M2OK +10251 010123 V M3OK +10252 010147 V M4OK +10253 010173 V M5OK +10254 V LEND: BSS CH /ENDBIT ON=HIGH NO IMP + /SIGN BIT ON= DEAD LINE +10261 V LENDT: BSS 1 /TEMP BECAUSE OF ONLY ONE X REG + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 92 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +10262 010317 C DIP: DP1 +10263 010311 C DP2 +10264 C SATDEF DP3 +02244 010264 C +02274 010303 C +02324 010303 C +10265 010275 C DP4 +10266 010267 C DP5 + + LEV M2I +10267 072030 0 DP5: LDX M5INBP +10270 010030 0 STA M5INBP +10271 015625 0 ADD (BUFE-ACKH) +10272 026031 0 IMA M5INBP+1 +10273 030475 0 M5IN +10274 003324 0 JMP DIPE + +10275 072026 0 DP4: LDX M4INBP +10276 010026 0 STA M4INBP +10277 015625 0 ADD (BUFE-ACKH) +10300 026027 0 IMA M4INBP+1 +10301 030474 0 M4IN +10302 003324 0 JMP DIPE + +10303 072024 0 DP3: LDX M3INBP +10304 010024 0 STA M3INBP +10305 015625 0 ADD (BUFE-ACKH) +10306 026025 0 IMA M3INBP+1 +10307 030473 0 M3IN +10310 003324 0 JMP DIPE + +10311 072022 0 DP2: LDX M2INBP +10312 010022 0 STA M2INBP +10313 015625 0 ADD (BUFE-ACKH) +10314 026023 0 IMA M2INBP+1 +10315 030472 0 M2IN +10316 003324 0 JMP DIPE + +10317 072020 0 DP1: LDX M1INBP /PICK UP OUR DMC INPUT PNTR +10320 010020 0 STA M1INBP /STORE NEW DMC INPUT PNTR +10321 015625 0 ADD (BUFE-ACKH) /COMPUTE NEW DMC END PN+' +10322 026021 0 IMA M1INBP+1 /SWAP FOR CURRENT END PNTR +10323 030471 0 M1IN /DO NEW INPUT OCP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 93 IMP,3050,IMP 7:20 PM 9/16/1973 + +10324 017627 0 DIPE: SUB (BUFE 0 I) /GET OLD PKT PNTR + SAVE IN X +10325 011611 0 STA M2ISP /SAVE FOR TASK-ING OR FLUSHING +10326 026000 0 IMA 0 /SWAP IT FOR END PNTR +10327 017630 0 SUB (1 0 I) /ADJUST IT FOR ONE OFF +10330 050111 0 STA BUFE X 0"A"TWOQ /SAVE IT IN PKT END PNTR +10331 140040 0 CRA +10332 050000 0 STA 0 X /CLEAR CHAIN PNTR +10333 044005 0 LDA HEAD X +10334 100400 0 SPL 0"A"SNDCOR +10335 101100 0 SLN 0"A"LINETS +10336 100000 0 SKP /ALLOW SNDCOR W/O CHKSUM +10337 103632 0 JMP (M2IRQC) I /SEND CORE REQUEST +10340 005633 0 LDA (M2IADR) +10341 026111 0 IMA ADDRET /SET UP ADD CHAIN RETURN FOR M2I +10342 011246 0 STA TAR /AND SAVE CURRENT OWNER OF ADDER +10343 004000 0 LDA 0 +10344 056111 0 SUB BUFE X /COMPUTE BUFFER LENGTH +10345 015634 0 ADD (ADDBOT+ACKH) /ADD IN TABLE OFFSET +10346 011351 0 STA M2IADJ /AND SAVE AS ADD DISPATCH +10347 017635 0 SUB (ADDBOT) /GET -(NO OF WORDS) IN A +10350 103351 0 JMP M2IADJ I /AND JMP INTO ADD CHAIN +10351 0 M2IADJ: BSS 1 +10352 100040 0 M2IADR: SZE /IS THE CHECKSUM GOOD? + DEFPLC [NOP HERE TO ACCEPT BAD CHECKSUM PACKETS] +10353 003402 0 JMP PKTCH1 /NO, REPORT AS AN ERROR +10354 005246 0 LDA TAR +10355 010111 0 STA ADDRET /AND RESTORE PREVIOUS OWNER OF ADC +10356 131040 0 RDCLOK +10357 003356 0 JMP .-1 +10360 050001 0 STA IT X /SAVE INPUT TIME- 100 MS CLOCK +10361 004674 0 LDA MP 0"A"INPCHN"A"HSTMOD +10362 050003 0 STA INCH X /SAVE INPUT MODEM NO +10363 044005 0 LDA HEAD X +10364 101100 0 SLN 0"A"LINETS /LT OR ROUTE? +10365 003420 0 JMP M2IPKT /NO +10366 040677 0 ARR 1 +10367 100100 0 SLZ 0"A"NULPKT /IS THIS A NULL PKT OF ACKS ONLY? +10370 003404 0 JMP M2INUL /YES +10371 040677 0 ARR 1 +10372 100100 0 SLZ 0"A"GETCOR /A RELOAD DEMAND? +10373 103636 0 JMP (M2IDMC) I /YES +10374 073611 0 M2T0: LDX M2ISP +10375 132401 0 M2T: STX ETQ I /PUT ON TASK QUEUE +10376 032401 0 STX ETQ +10377 030041 0 TASK /POKE TASK INTERRUPT +10400 072674 0 LDX MP +10401 143577 0 JMP DIPP XI /DISMISS INTERRUPT + +10402 072674 0 PKTCH1: LDX MP + DEFHLT [SOFTWARE CHECKSUM ERROR IN PACKET] +10403 121637 0 JST (PKTCHK) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 94 IMP,3050,IMP 7:20 PM 9/16/1973 + +10404 044005 0 M2INUL: LDA HEAD X /GOT A NULL PACKET OF ACKS +10405 141140 0 ICL /PICK UP IMP NO +10406 012106 0 ERA MINE /COMPARE WITH MINE +10407 101040 0 SNZ /IS THIS LINE LOOPED? +10410 003375 0 JMP M2T /YES, GIVE NULL TO TASK, IGNORE ACK1 +10411 004420 0 LDA THD /PICK UP CHAN TO HIGH NO IMP +10412 012674 0 ERA MP /COMPARE WITH THIS LINE NO +10413 100040 0 SZE /IS IT THIS LINE? +10414 003426 0 JMP M2IACK /NO +10415 044006 0 LDA HEAD1 X /YES, SO COPY IN HIS VALUE FOR SYNC +10416 010417 0 STA SYNC /KEEPING GLOBAL TIME THROUGHOUT NET +10417 003426 0 JMP M2IACK /NO, PROCESS ACKS, THEN GIVE TO TA 1 + +10420 044007 0 M2IPKT: LDA HEAD2 X +10421 007640 0 ANA (ENDBIT) +10422 013261 0 ERA LENDT +10423 101400 0 SMI /IS THIS LINE DOWN? +10424 101040 0 SNZ /IS THIS PKT FROM US? +10425 103641 0 JMP (M2IFRE) I /YES. THROW AWAY PKT +10426 044004 0 M2IACK: LDA ACKH X +10427 140401 0 CMA +10430 141050 0 CAL 0"A"ACKTAB +10431 011612 0 STA ACKT /ACKS FROM PACKET +10432 072674 0 LDX MP +10433 052641 0 ERA TSEX X +10434 046653 0 ANA CHFREE X /SHOULD BE NO ACKS ON FREE SLOTS +10435 100040 0 SZE + DEFHLT [SPURIOUS ACK] +10436 121642 0 JST (PKTCH2) I +10437 005612 0 LDA ACKT +10440 066641 0 IMA TSEX X /COMPARE WITH WHAT WE GOT +10441 052641 0 ERA TSEX X +10442 101040 0 SNZ +10443 003374 0 JMP M2T0 /NO ACKS, SO QUIT +10444 011612 0 STA ACKT /SAVE ACKS TO PROCESS +10445 052653 0 ERA CHFREE X /FREE UR ACKED CHANNELS +10446 050653 0 STA CHFREE X +10447 005612 0 LDA ACKT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 95 IMP,3050,IMP 7:20 PM 9/16/1973 + +10450 173643 0 ACKLOP: LDX (I2MTAB 0 X) I +10451 140407 0 TCA +10452 007612 0 ANA ACKT /GET LOWEST BIT THAT TRANSITIONED +10453 013612 0 ERA ACKT /TURN IT OFF +10454 027612 0 IMA ACKT /UPDATE SET OF ACKS TO PROCESS +10455 013612 0 ERA ACKT /AND GO PROCESS THIS ONE +10456 023644 0 CAS (20) +10457 003547 0 JMP ACK567 +10460 003563 0 JMP ACK4 +10461 022117 0 CAS FOUR +10462 003566 0 JMP ACK3 +10463 003571 0 JMP ACK2 +10464 101100 0 SLN +10465 003574 0 JMP ACK1 +10466 140040 0 CRA +10467 066000 0 IMA 0 X +10470 072674 0 ACKS: LDX MP +10471 023645 0 CAS (1777) /IS THIS A TRUE PKT PNTR? +10472 003475 0 JMP ACKGUD /YES +10473 101000 0 NOP + DEFHLT [QUASI-IMPOSSIBLE SPURIOUS ACK] +10474 121642 0 JST (PKTCH2) I /DEBUG SPURIOUS ACK +10475 062634 0 ACKGUD: CAS I2MNXT X /IS THIS THE PKT CURRENTLY ON THE L +10476 100000 0 SKP /NO +10477 003536 0 JMP ACKSYN /YES, WE CANT FREE IT YET +10500 010000 0 STA 0 +10501 044111 0 LDA BUFE X +10502 100400 0 SPL 0"A"TWOQ +10503 003511 0 JMP FREE1 /ON TWO QUEUES +10504 004324 0 LDA FREE /ON ONE ONLY, SO FREE +10505 050000 0 STA 0 X +10506 032324 0 STX FREE +10507 024537 0 IRS NFA +10510 003513 0 JMP FREE2 +10511 140100 0 FREE1: SSP 0"A"TWOQ +10512 050111 0 STA BUFE X /MARK AS ON ONE QUEUE NOW +10513 024564 0 FREE2: IRS NSFS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 96 IMP,3050,IMP 7:20 PM 9/16/1973 + +10514 044002 0 ACKS1: LDA PTRT X /TRACING? +10515 100040 0 SZE +10516 003543 0 JMP ACTR2 /GO DO IT +10517 044111 0 ACTR1: LDA BUFE X /GET PACKET LENGTH +10520 140100 0 SSP 0"A"TWOQ +10521 016000 0 SUB 0 +10522 016116 0 SUB THREE 0"A"[ACKH-1] +10523 072674 0 LDX MP +10524 055613 0 ADD THRUPW X +10525 100400 0 SPL +10526 004112 0 LDA SIGN /MARK OFLO +10527 051613 0 STA THRUPW X +10530 065620 0 IRS THRUPT X +10531 101000 0 NOP +10532 005612 0 LDA ACKT +10533 101040 0 SNZ /HAVE WE PROCESSED ALL THE ACKS? +10534 003374 0 JMP M2T0 /YES, SO QUIT +10535 003450 0 JMP ACKLOP +10536 140500 0 ACKSYN: SSM +10537 050634 0 STA I2MNXT X +10540 140100 0 SSP +10541 010000 0 STA 0 +10542 003514 0 JMP ACKS1 /MARK THE BUFFER AS ACKED + +10543 121646 0 ACTR2: JST (TRCDUN) I /TRACING PACKET +10544 072674 0 LDX MP /NEEDED FOR TRCDUN +10545 073611 0 LDX M2ISP +10546 003517 0 JMP ACTR1 + +10547 022753 0 ACK567: CAS C100 +10550 003560 0 JMP ACK7 +10551 003555 0 JMP ACK6 +10552 140040 0 ACK5: CRA +10553 066005 0 IMA 5 X +10554 003470 0 JMP ACKS +10555 140040 0 ACK6: CRA +10556 066006 0 IMA 6 X +10557 003470 0 JMP ACKS +10560 140040 0 ACK7: CRA +10561 066007 0 IMA 7 X +10562 003470 0 JMP ACKS +10563 140040 0 ACK4: CRA +10564 066004 0 IMA 4 X +10565 003470 0 JMP ACKS +10566 140040 0 ACK3: CRA +10567 066003 0 IMA 3 X +10570 003470 0 JMP ACKS +10571 140040 0 ACK2: CRA +10572 066002 0 IMA 2 X +10573 003470 0 JMP ACKS +10574 140040 0 ACK1: CRA +10575 066001 0 IMA 1 X +10576 003470 0 JMP ACKS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 97 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +10577 010060 C DIPP: DPP1 +10600 010104 C DPP2 +10601 010130 C DPP3 +10602 010154 C DPP4 +10603 010200 C DPP5 +10604 010054 C DIS: DIS1 +10605 010100 C DIS2 +10606 010124 C DIS3 +10607 010150 C DIS4 +10610 010174 C DIS5 + + LEV VAR +10611 V M2ISP: BSS 1 /SAVED PACKET POINTER +10612 V ACKT: BSS 1 +10613 V THRUPW: BSS CH +10620 V THRUPT: BSS CH + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 98 IMP,3050,IMP 7:20 PM 9/16/1973 + +10625 000105 C LEV CON CONSTANTS +10626 004000 C +10627 100111 C +10630 100001 C +10631 100004 C +10632 011116 C +10633 010352 C +10634 001562 C +10635 001556 C +10636 011170 C +10637 011101 C +10640 001000 C +10641 011124 C +10642 011127 C +10643 040622 C +10644 000020 C +10645 001777 C +10646 011144 C +02417 175655 C PAGEND 10,UNCON,5 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 99 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /MODEM TO IMP PACKET-ERROR STUFF + + LEV M2I +11101 000000 0 PKTCHK: 0 /ADDRESS OF PKT ERROR +11102 120745 0 JST HLTNCC I /REPORT TRAP TO NCC +11103 105366 0 PKTCHC: LDA (TAR) I +11104 010111 0 STA ADDRET /RESTORE PREVIOUS OWNER OF ADDER +11105 004537 0 LDA NFA +11106 016563 0 SUB NFS +11107 016751 0 SUB TEN /LEAVE MORE THAN MINF +11110 100400 0 SPL /ROOM TO SEND PKT TO DIAG? +11111 003123 0 JMP NODIAG /NO +11112 105367 0 LDA (M2ISP) I /PICK UP PKT PNTR +11113 026342 0 IMA DIAGQ /PUT ON DIAG QUEUE +11114 111370 0 STA (M2ISP 0 I) I /AND SET UP CHAIN PNTR +11115 103371 0 JMP (DIPP 0 XI) I /DISMISS + +11116 072674 0 M2IRQC: LDX MP +11117 004124 0 LDA MINUS4 +11120 050265 0 STA SLT X +11121 004112 0 LDA SIGN 0"A"SNDCOR +11122 050421 0 STA SIHY X /MARK TO SEND CORE +11123 173367 0 NODIAG: LDX (M2ISP) I /AND FREE BAD PKT +11124 120671 0 M2IFRE: JST FLUSHI I +11125 072674 0 LDX MP +11126 103371 0 JMP (DIPP 0 XI) I + +11127 000000 0 PKTCH2: 0 +11130 120745 0 JST HLTNCC I +11131 021133 0 JST KILLIN /KILL LINES FOR SPURIOUS ACKS +11132 003103 0 JMP PKTCHC /CONTINUE + KILTIM=10. /LINE HELD DEAD TIME + + LEV [M2I,T.O,TSK,BCK] +11133 000000 0 KILLIN: 0 /SUBR TO STOP INPUT AND OUTPUT ON +11134 005372 0 LDA (NOP) /KILL THE LINE INSTANTLY +11135 111373 0 STA (M2IOK 0 XI) I +11136 005374 0 LDA (-KILTIM) /OTHER IMP WILL SEE THE LINE GO D[ +11137 050265 0 STA SLT X +11140 050433 0 STA LINE X /FOR NCC AND RTGO +11141 140040 0 KILL2: CRA +11142 050160 0 KILL3: STA NEIGHB X +11143 103133 0 KILL4: JMP KILLIN I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 100 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [M2I,I2H] +11144 000000 0 TRCDUN: 0 /FINISH TRACE BLOCK +11145 011167 0 STA TRCD +11146 044001 0 LDA ST X +11147 073167 0 LDX TRCD +11150 050003 0 STA TST X +11151 131040 0 RDCLOK +11152 003151 0 JMP .-1 +11153 050004 0 STA TAT X +11154 004112 0 LDA SIGN +11155 052012 0 ERA TDONE X +11156 050012 0 STA TDONE X +11157 005167 0 LDA TRCD +11160 015375 0 ADD (TQUE) +11161 011167 0 STA TRCD +11162 105144 0 LDA TRCDUN I +11163 011164 0 STA .+1 +11164 0 BSS 1 /LDX FROM PAGE 0 +11165 133167 0 STX TRCD I +11166 103144 0 JMP TRCDUN I + LEV VAR +11167 V TRCD: BSS 1 /TRCDUN PTR + + LEV M2I +11170 044007 0 M2IDMC: LDA HEAD2 X /RELOAD DEMAND +11171 013205 0 ERA PASWRD /CHECK PASSWORD +11172 100040 0 SZE /KOSHER? +11173 003203 0 JMP M2IDM1 /NO +11174 044004 0 LDA ACKH X /LOOK AT DEMAND +11175 101400 0 SMI /PANIC DEMAND? +11176 103376 0 JMP (1004) I /YES. INSTANT RELOAD, A=MODEM NUMBE +11177 004674 0 LDA MP /NO, USE OUR MODEM NO. +11200 141206 0 AOA /(COUNTING 1-4) +11201 010137 0 STA SW3FG /AND NICE-STOP/RELOAD +11202 003124 0 JMP M2IFRE + +11203 072674 0 M2IDM1: LDX MP + DEFHLT [RELOAD DEMAND WITH BAD PASSWORD] +11204 021101 0 JST PKTCHK + + DEFPLC [DEMAND RELOAD PASSWORD] +11205 175461 0 PASWRD: 175461 /KEEP NEXT LOCATIONS IN ORDER +11206 177777 0 DMNDCR: -1 /ACKH. USED FOR RELOAD CODE +11207 000005 0 GETCOR 0 LINETS /HEADER +11210 000000 0 0 /SYNC +11211 000000 0 0 /PASSWORD PUT HERE MANUALLY +11212 0 BSS 1 /CHECKSUM + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 101 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /LINE SPEED COMPUTATIONS + LEV I2M LCK ALL +11213 012114 2 0 I2MRM: ERA ONE 0"A"RM /THIS IS RM CLEAR FLAG +11214 111377 2 0 STA (RMFLG 0 X) I /NOW CHK TO SEE IF TIME I: +11215 100400 2 0 SPL /SIGN MINUS IF FIRST TIME THROUGH +11216 003323 2 0 JMP I2MRMI /INITIALIZATION +11217 141140 2 0 ICL /SPD TYPE FROM L. HALF INTD RT. +11220 010000 2 0 STA 0 /USED AS INDEX INTO MARGIN TABLE +11221 045331 2 0 LDA DELSPD X /GET PERMISSABLE VARIANCE +11222 011360 2 0 STA DELTA +11223 173400 2 0 LDX (OCHN) I /RESTORE CHAN # IN X +11224 055346 2 0 ADD RMLAST X /MAXIMUM ACCEPTABLE TIME FOR THIS M: +11225 123401 2 0 CAS (THIST) I /COMP W/ACTUAL TIME FOR THIS MSG +11226 003240 2 0 JMP I2MRMA /MAX>THIS, SO FAR SO GOOD +11227 003245 2 0 JMP I2MRMB /MAX=THIS, ALL OK, IN SPEC + DEFHLT [LINE SPEED DECREASED] +11230 021231 2 0 I2MRMD: JST I2MSCG +11231 000000 2 0 I2MSCG: 0 +11232 120745 2 0 JST HLTNCC I /SEND MSG TO NCC +11233 105377 2 0 LDA (RMFLG 0 X) I /DO HOLD DOWN +11234 007402 2 0 ANA (0 0 177777"X"SHD) +11235 013403 2 0 ERA (SHD) /(6) SPEED HOLD DOWN +11236 111377 2 0 STA (RMFLG 0 X) I /STORED IN RMFLG +11237 003260 2 0 JMP I2MRMC /PUT THIST INTO LAST AND QUIT + + /TIME WAS MIN? +11240 017360 2 0 I2MRMA: SUB DELTA +11241 017360 2 0 SUB DELTA /MIN ACCEPTABLE TIME +11242 123401 2 0 CAS (THIST) I /COMP W/ACTUAL TIME + DEFHLT [LINE SPEED INCREASED] +11243 021231 2 0 JST I2MSCG /MIN>THIS, TOO SLOW +11244 101000 2 0 NOP /MIN=THIS, ALL OK +11245 105377 2 0 I2MRMB: LDA (RMFLG 0 X) I /MINTHIS) +11275 003300 2 0 JMP I2MRMH / " " " " = " +11276 024000 2 0 IRS 0 /NOPE, TRY NEXT SLOWER TYPE +11277 003272 2 0 JMP I2MRMG +11300 045340 2 0 I2MRMH: LDA LINDTT+NSPD-1 X /GET LINE DEAD TIME FOR T1 +11301 011360 2 0 STA DELTA /AND SAVE IN TEMP +11302 004000 2 0 LDA 0 /INDEX= -TYPE +11303 140407 2 0 TCA /COMPLIMENT +11304 141340 2 0 ICA /INTO LEFT HALF +11305 173400 2 0 LDX (OCHN) I /RESTORE CHAN IN X +11306 111377 2 0 STA (RMFLG 0 X) I 0"A"SHD"A"RM /BACK INTO RMFLT +11307 141340 2 0 ICA /GET SPEED TYPE +11310 015407 2 0 ADD (RMCLKS) /ADD TABLE ADDRESS +11311 051353 2 0 STA RMCLKP X /SAVE FOR USE IN RSTOUT +11312 005360 2 0 LDA DELTA /PICK UP TEMP +11313 051361 2 0 STA LINDT X /AND SAVE AS THIS LINE'S DEAD TIME +11314 044433 2 0 LDA LINE X +11315 100040 2 0 SZE /IS LINE UP? +11316 021133 2 0 JST KILLIN /NO, RESET TIME IN CASE JUST RELO7 +11317 105401 2 0 LDA (THIST) I /PUT (THIS+LAST)/2 INTO ACTUAL +11320 055346 2 0 ADD RMLAST X +11321 040477 2 0 LGR 1 +11322 003257 2 0 JMP I2MRMF + +11323 140100 2 0 I2MRMI: SSP /INITIALIZE FIRST TIME THROUGH +11324 111377 2 0 STA (RMFLG 0 X) I /CLEAR INIT BIT TOO, +11325 003260 2 0 JMP I2MRMC /PUT THIS INTO LAST AND QUIT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 103 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON + /NSPD-1 ENTRIES +11326 000161 C TIMSPC: 161 /(125K)MAX TIME A RM TAKES IN TYP1 ] +11327 001066 C 1066 /(25K) TYPE 2 +11330 004202 C 4202 /(6.5K) TYPE 1 (ALL SLOWER TYPE 0) + + /NSPD ENTRIES +11331 000377 C DELSPD: 377 /00 10X OF EXPECTED TIME FOR RM (+8I +11332 000177 C 177 /01 +11333 000060 C 60 /10 +11334 000060 C 60 /11 + /NSPD ENTRIES +11335 177324 C LINDTT: 0 0-PTCK"T"5 /FOR 250KBS +11336 177704 C 0 0-PTCK /FOR 50KBS +11337 177764 C 0 0-PTCK"Q"5 /FOR 10KBS +11340 177771 C 0 0-PTCK"Q"10 /LINE DEAD TIME FOR 5KBS + + LEV VAR +11341 V RMTACT: BSS CH /ACTUAL TIME FOR RM (AVERAGED) +11346 V RMLAST: BSS CH /TIME FOR LAST RM IN 100 MU SEC'S +11353 V RMCLKP: BSS CH /PTR TO ENTRY IN RMCLKS +11360 V DELTA: BSS 1 /DELSPD ENTRY FOR THIS LINE +11361 V LINDT: BSS CH /LINE HELD DEAD TIMES + +11366 010246 C LEV CON CONSTANTS +11367 010611 C +11370 110611 C +11371 150577 C +11372 101000 C +11373 150247 C +11374 177766 C +11375 000011 C +11376 001004 C +11377 052620 C +11400 012654 C +11401 012644 C +11402 177771 C +11403 000006 C +11404 012156 C +11405 000002 C +11406 177775 C +11407 020274 C +02420 173433 C PAGEND 11,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 104 IMP,3050,IMP 7:20 PM 9/16/1973 + + /IMP TO MODEM (I2M) + + PAGI2M: + LEV I2M + +00071 012127 2 M1OTIL/ I2M1 +00072 012123 2 M2OTIL/ I2M2 +00073 012117 2 M3OTIL/ I2M3 +00074 012113 2 M4OTIL/ I2M4 +00075 012107 2 M5OTIL/ I2M5 + + PAGI2M/ LEV VAR + +12103 V TATA: BSS 1 /I2M TEMPS +12104 V TXTX: BSS 1 +12105 V TCTC: BSS 1 +12106 V IRET: BSS 1 + + /IMP TO MODEM INTERRUPTS COME TO THIS PAGE. +12107 000000 2 0 I2M5: INT I2M +12110 033104 2 0 STX TXTX +12111 072117 2 0 LDX FOUR +12112 003132 2 0 JMP I2M0 +12113 000000 2 0 I2M4: INT I2M +12114 033104 2 0 STX TXTX +12115 072116 2 0 LDX THREE +12116 003132 2 0 JMP I2M0 +12117 000000 2 0 I2M3: INT I2M +12120 033104 2 0 STX TXTX +12121 072115 2 0 LDX TWO +12122 003132 2 0 JMP I2M0 +12123 000000 2 0 I2M2: INT I2M +12124 033104 2 0 STX TXTX +12125 072114 2 0 LDX ONE +12126 003132 2 0 JMP I2M0 +12127 000000 2 0 I2M1: INT I2M +12130 033104 2 0 STX TXTX +12131 072113 2 0 LDX ZERO + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 105 IMP,3050,IMP 7:20 PM 9/16/1973 + +12132 033654 2 0 I2M0: STX OCHN /SAVE MODEM NUMBER +12133 011103 2 0 STA TATA +12134 000011 2 0 DXA +12135 003136 2 0 JMP .+1 +12136 000043 2 0 INK +12137 011105 2 0 STA TCTC +12140 004416 2 0 LDA TIMES /CURRENT 640 MS CLOCK +12141 057632 2 0 SUB TIM640 X /INITIAL READING FOR THIS MSG +12142 017712 2 0 SUB (10.) /10.24 TICKS/WRAP OF 100 MUS CLK +12143 101400 2 0 SMI /<10 TICKS? +12144 003516 2 0 JMP RAPT /NO, MSG TOOK TOO LONG, CLOCK WRAPPI +12145 131040 2 0 RDCLOK /100 MU SEC CLOCK +12146 003145 2 0 JMP .-1 +12147 057637 2 0 SUB TIM100 X /MINUS START TIMER +12150 011644 2 0 STA THIST /TIME FOR THIS MESSAGE +12151 055625 2 0 ADD CUMTIM X /ADD TO TOTAL +12152 051625 2 0 STA CUMTIM X /AND SAVE +12153 045620 2 0 LDA RMFLG X /ROUTING MSG FLAGS +12154 100100 2 0 SLZ /WAS THIS A ROUTING MESSAGE? +12155 103713 2 0 JMP (I2MRM) I /YES, GO DO LINE SPEED COMPUTNS +12156 004502 2 0 I2MS: LDA MOM /LOAD MODEM OUTPUT MASK +12157 170120 2 0 SMK INTM /SET PRI INTERRUPT +12160 026134 2 0 IMA PRIM +12161 011652 2 0 STA TMTM +12162 140040 2 0 CRA +12163 066634 2 0 IMA I2MNXT X /PKT PNTR FOR NEXT OUTPUT FOR CHL +12164 101400 2 0 SMI /WAS THERE AN ACK FOR THE PKT WE L 1 +12165 003173 2 0 JMP I2MALL /NO, DO NOT RELEASE PKT +12166 140100 2 0 SSP +12167 010000 2 0 STA 0 +12170 120671 2 0 JST FLUSHI I /YES, SO WE CAN FREE IT NOW +12171 024564 2 0 IRS NSFS +12172 073654 2 0 LDX OCHN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 106 IMP,3050,IMP 7:20 PM 9/16/1973 + +12173 000401 2 0 I2MALL: ENB I2M +12174 044265 2 LDA SLT X +12175 100040 2 SZE /TIME TO SEND A ROUTING MESSAGE? +12176 003276 2 JMP I2MLT /YES +12177 045660 2 LDA I2MLST X /PICK UP RING PNTR +12200 141206 2 AOA /ADVANCE IT +12201 062627 2 CAS I2MEND X +12202 101000 2 NOP +12203 044622 2 LDA I2MTAB X /WRAP AROUND +12204 051660 2 STA I2MLST X +12205 001001 2 INH M2I /PREVENT M2I FROM ACKING +12206 145660 2 0 LDA I2MLST XI /WHILE WE LOOK AT THIS SLOT +12207 023714 2 0 CAS (1777) /IS THERE A PKT HERE? +12210 003550 2 0 JMP I2MRET /YES, SEE IF IT IS TOO OLD +12211 073654 2 0 I2MNEW: LDX OCHN /NO, NOTHING TO RETRANSMIT +12212 000401 2 0 ENB I2M +12213 044317 2 LDA SMPQ X +12214 100040 2 SZE /A NEW PRIORITY PACKET TO SEND? +12215 003363 2 JMP I2MPRI /YES +12216 044312 2 LDA SMQ X +12217 100040 2 SZE /A NEW REGULAR PACKET TO SEND? +12220 003375 2 JMP I2MREG /YES +12221 044445 2 LDA SNULL X +12222 101040 2 SNZ /SHOULD WE SEND A NULL PKT? +12223 003500 2 JMP I2MQUT /NO, SO QUIT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 107 IMP,3050,IMP 7:20 PM 9/16/1973 + +12224 140040 2 I2MNUL: CRA /SEND A NULL PKT WITH IHY +12225 066421 2 IMA SIHY X +12226 100400 2 SPL 0"A"SNDCOR /DID WE GET A REQUEST TO SEND CORE +12227 003262 2 JMP I2MCOR /YES. SO SERVICE IT +12230 100040 2 SZE /DID WE GET IN ANY ROUTING MESSAGES1 +12231 005715 2 LDA (IHERDU) /YES. SEND AN I HEARD YOU +12232 013716 2 ERA (LINETS 0 NULPKT) /IN A NULL PKT +12233 141340 2 ICA +12234 012106 2 ERA MINE +12235 141340 2 ICA +12236 151704 2 STA NULPTR XI /SET UP HEADER OF NULL PKT +12237 045704 2 LDA NULPTR X /PICK UP PNTR TO NULL AREA +12240 016114 2 SUB ONE +12241 151665 2 STA MOPX XI /SET UP OUR OUTPUT AREA +12242 011655 2 STA ACKWRD +12243 014117 2 ADD FOUR 0"A"[MINPL-ACKH] /MIN PACKET LENT +12244 151672 2 STA MOP1 XI +12245 044646 2 LDA RSEX X /PUT IN ACKS +12246 073655 2 LDX ACKWRD +12247 050000 2 STA ACKH-ACKH X +12250 004417 2 LDA SYNC /PUTTING SYNC TIME INTO NULLS +12251 050002 2 STA HEAD1-ACKH X +12252 004117 2 I2MNLC: LDA FOUR 0"A"[MINPL-ACKH] +12253 056000 2 SUB ACKH-ACKH X /BUILD CKSUM +12254 056001 2 SUB HEAD-ACKH X +12255 056002 2 SUB HEAD1-ACKH X +12256 056003 2 SUB HEAD2-ACKH X +12257 050004 2 STA HEAD3-ACKH X /AND STORE IT +12260 073654 2 LDX OCHN +12261 003465 2 JMP I2MDN1 + +12262 005717 2 I2MCOR: LDA (CORELO) +12263 151665 2 STA MOPX XI +12264 005720 2 LDA (COREHI-1) +12265 151672 2 STA MOP1 XI +12266 003467 2 JMP I2MDUN /RETURN TO DO OUTPUT, NO ACKS + +12267 005721 2 I2MDMC: LDA (DMNDCR) /SEND 'DEMAND CORE' +12270 151665 2 STA MOPX XI +12271 014117 2 ADD FOUR 0"A"[MINPL-ACKH] +12272 151672 2 STA MOP1 XI +12273 016117 2 SUB FOUR 0"A"[MINPL-ACKH] +12274 010000 2 STA 0 +12275 003252 2 JMP I2MNLC /GET CHECKSUM AND SEND IT + +12276 100400 2 I2MLT: SPL /ARE WE HOLDING LINE DEAD? +12277 003500 2 JMP I2MQUT /YES, GO NO FURTHER +12300 016114 2 I2ML2: SUB ONE +12301 050265 2 I2ML3: STA SLT X +12302 022114 2 I2ML4: CAS ONE /RELOAD DEMAND TO SEND? +12303 003267 2 JMP I2MDMC /YES +12304 003224 2 JMP I2MNUL /NULL TO SEND + /---FALL THROUGH TO SEND ROUTING + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 108 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THE WORDS FROM I2MCK1 TO I2MCK2 ARE CHECKSUMMED + CHK=0 +12305 073361 2 I2MCK1: K LDX I2MCKX /PICK UP -[# OF WDS IN CODE TO CK[ 1 +12306 055363 2 K ADD I2MCK2+1 X /ADD THEM (NOTE 0 IN AN I1 +12307 024000 2 K IRS 0 +12310 003306 2 K JMP .-2 +12311 100040 2 K SZE /DIFFERENT? + RELOAD [I2M ROUTING CODE BROKEN] +12312 120061 2 K JST SWDTIL I /SOFTWARE WDT, DO A RELOAD +12313 073654 2 K LDX OCHN +12314 125353 2 K IRS IMHSI I /KEEP STAT COUNTER +12315 101000 2 K NOP +12316 004660 2 K LDA RST.O /GET OUTPUT PTR +12317 015355 2 K ADD I2MRC1 +12320 151665 2 K STA MOPX XI /BEG POINTER +12321 017356 2 K SUB I2MRC2 +12322 151672 2 K STA MOP1 XI +12323 015357 2 K ADD I2MRC3 +12324 010000 2 K STA 0 +12325 005354 2 K LDA I2MRAP /(RUTADR) +12326 026111 2 K IMA ADDRET /SAVE CURRENT OWNER OF ADDER +12327 011653 2 K STA TARTAR +12330 005356 2 K LDA I2MRC2 /(-NIMP - HEAD1 + ACKH) +12331 103332 2 K JMP .+1 I /JUMP INTO RIGHT PLACE IN ADD CHAI +12332 001454 2 K ADDBOT+0-NIMP-HEAD1+ACKH +12333 140407 2 RUTADR: K TCA +12334 072113 2 K LDX ZERO /USE TO FIND CKSUM POST INDEXED +12335 112660 2 K ERA RST.O I /COMPARE CKSUM W/ THAT GENERATED BY +12336 027653 2 K IMA TARTAR +12337 010111 2 K STA ADDRET +12340 005653 2 K LDA TARTAR +12341 073654 2 K LDX OCHN +12342 001001 2 K .INH LCK ALL +12343 100040 2 0 K SZE /DIFFERENT? + DEFHLT [ROUTING MESSAGE CHECKSUM ERROR - INTRA IMP] +12344 021571 2 0 K JST I2MHLT +12345 141206 2 0 K AOA /1 +12346 053620 2 0 K ERA RMFLG X /SAYS ROUTING MSG GOING OUT +12347 051620 2 0 K STA RMFLG X +12350 105360 2 0 K LDA I2MRP I /(RSTSN) +12351 051645 2 0 K STA RSTSNO X /SAVE SER # OF LAST OUTPUT +12352 003467 2 0 K JMP I2MDUN + + LEV CON +12353 071615 C IMHSI: K IMHS 0 X +12354 012333 C I2MRAP: K RUTADR +12355 137675 C I2MRC1: K -X 0-NIMP-HEAD1+ACKH-1 +12356 177675 C I2MRC2: K -NIMP-HEAD1+ACKH-1 +12357 177671 C I2MRC3: K -NIMP-HEAD1-1 +12360 026644 C I2MRP: K RSTSN +12361 177722 C I2MCKX: K I2MCK1-0-I2MCK2-1 /CHECKSUM COUNTER +12362 044107 C I2MCK2: -CHK /CHECKSUM ON CODE GOES HERE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 109 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV I2M +12363 050634 2 I2MPRI: STA I2MNXT X +12364 140040 2 CRA +12365 166634 2 IMA I2MNXT XI +12366 050317 2 STA SMPQ X +12367 100040 2 SZE +12370 003406 2 JMP I2MGNU +12371 005722 2 LDA (SMPQ) +12372 015654 2 ADD OCHN +12373 050370 2 STA EMPQ X +12374 003406 2 JMP I2MGNU + +12375 050634 2 I2MREG: STA I2MNXT X /LOAD WITH TOP OF Q ADDR +12376 140040 2 CRA +12377 166634 2 IMA I2MNXT XI /GET CHAIN PNTR OF NEW REQ +12400 050312 2 STA SMQ X /LINK TO TOP OF Q +12401 100040 2 SZE /WAS THIS LAST? +12402 003406 2 JMP I2MGNU /NO +12403 005723 2 LDA (SMQ) /YES, FIX UP Q PNTRS +12404 015654 2 ADD OCHN +12405 050363 2 STA EMQ X + + +12406 173724 2 I2MGNU: LDX (I2MNXT 0 X) I /GOT A NEW PKT +12407 133725 2 STX (INCH 0 XI) I /SET UP SLOT PNTR +12410 005726 2 LDA (-200.) /GIVE A PKT 200 TRIES +12411 050003 2 STA INCH X /TO BE ACCEPTED +12412 011657 2 STA I2MREF /MARK AS NEW PKT, DON'T CHECKSUM +12413 073654 2 LDX OCHN +12414 044634 2 LDA I2MNXT X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 110 IMP,3050,IMP 7:20 PM 9/16/1973 + +12415 140100 2 I2MGOT: SSP +12416 015727 2 ADD (ACKH) +12417 151665 2 STA MOPX XI +12420 011655 2 DEFSTAT STA ACKWRD, IM1 +00605 031160 2 +32001 012420 2 +32021 011655 2 +12421 173724 2 LDX (I2MNXT 0 X) I +12422 131040 2 RDCLOK +12423 003422 2 JMP .-1 +12424 050001 2 STA ST X +12425 044111 2 LDA BUFE X +12426 140100 2 SSP 0"A"TWOQ +12427 073654 2 LDX OCHN +12430 151672 2 STA MOP1 XI +12431 011656 2 STA ENDWRD +12432 005657 2 LDA I2MREF /RETRANSMISSION OR NEW? + DEFPLC [NOP HERE TO STOP CHECKSUM VERIFY IN I2M] +12433 100040 2 SZE +12434 003456 2 JMP I2MCHF /NO CKSUM +12435 005730 2 LDA (I2MADR) /CAPTURE ADDER +12436 026111 2 IMA ADDRET +12437 011653 2 STA TARTAR +12440 005655 2 LDA ACKWRD +12441 016117 2 SUB FOUR 0"A"ACKH +12442 010000 2 STA 0 /PACKET POINTER +12443 017656 2 SUB ENDWRD /LENGTH OF PACKET +12444 015731 2 ADD (ADDBOT+ACKH) +12445 011450 2 STA I2MADJ +12446 017732 2 SUB (ADDBOT) +12447 103450 2 JMP I2MADJ I +12450 2 I2MADJ: BSS 1 +12451 100040 2 I2MADR: SZE +12452 003524 2 JMP I2MCHE /CHECKSUM ERROR! +12453 005653 2 LDA TARTAR +12454 010111 2 STA ADDRET /RESTORE ADDER OWNER +12455 073654 2 LDX OCHN +12456 105655 2 I2MCHF: LDA ACKWRD I +12457 141044 2 CAR 0"A"ACKBTS /PUT IN ACKS +12460 052646 2 ERA RSEX X +12461 127655 2 IMA ACKWRD I /AND CORRECT CHECKSUM +12462 117655 2 SUB ACKWRD I +12463 115656 2 ADD ENDWRD I +12464 111656 2 STA ENDWRD I +12465 140040 2 I2MDN1: CRA +12466 050445 2 STA SNULL X /ACKS MARKED AS SENT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 111 IMP,3050,IMP 7:20 PM 9/16/1973 + +12467 004416 2 I2MDUN: LDA TIMES /640 MS COUNTER +12470 051632 2 STA TIM640 X /TABLE OF MODEM OUT START TIMES +12471 131040 2 RDCLOK /100 MICRO SEC CLOCK +12472 003471 2 JMP .-1 +12473 051637 2 STA TIM100 X /SAVE THIS CLOCK TOO +12474 045677 2 LDA MXOUT X +12475 011476 2 STA . 1 +12476 2 BSS 1 +12477 005711 2 LDA M30SCF /SET TO WAIT FOR HARDWARE COMPLETE +12500 050440 2 I2MQUT: STA NONE X /OR SET FLAG TO INDICATE IDLE +12501 001001 2 INH MSK +12502 005652 2 0 LDA TMTM +12503 010134 2 0 STA PRIM +12504 170120 2 0 SMK INTM +12505 144071 2 0 LDA M1OTIL XI +12506 011106 2 0 STA IRET +12507 000013 2 0 EXA +12510 005105 2 0 LDA TCTC +12511 171020 2 0 OTK +12512 005103 2 0 LDA TATA +12513 073104 2 0 LDX TXTX +12514 000401 2 0 ENB I2M +12515 103106 2 JMP IRET I + + LEV I2M LCK ALL +12516 005733 2 0 RAPT: LDA (14400) /6400MS, 1 SLOW T.O IN 100MUS UNITS +12517 051625 2 0 STA CUMTIM X /RM TOOK TOO LONG, MAX+TIMER +12520 045620 2 0 LDA RMFLG X /CLEAR RM FLAG BIT +12521 006122 2 0 ANA MINUS2 0"A"RM /177776 +12522 051620 2 0 STA RMFLG X +12523 003156 2 0 JMP I2MS /AND RETURN + + LEV I2M +12524 001001 2 I2MCHE: INH ALL + DEFHLT [MODEM OUT DETECTED INTRA-IMP CHECKSUM ERROR] +12525 021526 2 0 JST .+1 +12526 000000 2 0 0 +12527 120745 2 0 JST HLTNCC I /RERORT IT +12530 004000 2 0 LDA 0 +12531 026342 2 0 IMA DIAGQ /AND TO DIAG TTY +12532 050000 2 0 STA 0 X +12533 000401 2 0 ENB I2M +12534 005653 2 LDA TARTAR +12535 010111 2 STA ADDRET +12536 024564 2 IRS NSFS +12537 044004 2 LDA ACKH X /FREE UP UN-ACKED CHANNEL +12540 007734 2 ANA (CHANUM) +12541 141140 2 ICL +12542 073654 2 LDX OCHN +12543 054622 2 ADD I2MTAB X /GET SLOT POINTER +12544 011653 2 STA TARTAR /(TEMP) +12545 140040 2 CRA +12546 111653 2 STA TARTAR I /CLEAR SLOT PTR +12547 003500 2 JMP I2MQUT /LEAVE MODEM OUTPUT IDLE FOR A BI- + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 112 IMP,3050,IMP 7:20 PM 9/16/1973 + + LCK M2I +12550 010000 2 0 I2MRET: STA 0 /SAVE PKT PNTR +12551 131040 2 0 RDCLOK +12552 003551 2 0 JMP .-1 +12553 056001 2 0 SUB ST X /COMPARE TIME NOW WITH SENT TIME +12554 100400 2 0 SPL +12555 140407 2 0 TCA /MAKE DIFF A POSITIVE NUMBER +12556 017735 2 0 SUB (1250.) /COMPARE WITH 125 MS + /THIS CONSTANT VARIES WITH LINE LENGTH AND SPEED + /IT SHOULD BE TABLED WHEN WE GET FAST LINES+SATELLITES +12557 100400 2 0 SPL /TOO OLD? +12560 003211 2 0 JMP I2MNEW /NOT YET +12561 064003 2 0 IRS INCH X /COUNT ANOTHER RETRANSMIT +12562 003575 2 0 JMP I2MRTR /NOT OVER THE LIMIT +12563 120671 2 0 JST FLUSHI I /KILL PKT AFTER 200 TRIES +12564 024564 2 0 IRS NSFS /AND COUNT IT OUT +12565 073654 2 0 LDX OCHN +12566 140040 2 0 CRA +12567 151660 2 0 STA I2MLST XI /SO IT WON'T BE FLUSHED TWICE + DEFHLT [200 RETRANSMISSIONS - SERIOUS MALFUNCTION] +12570 021571 2 0 JST I2MHLT +12571 000000 2 0 I2MHLT: 0 +12572 120745 2 0 JST HLTNCC I /REPORT TROUBLE TO NCC +12573 121736 2 0 JST (KILLIN) I /KILL LINE INSTANTLY +12574 003500 2 0 JMP I2MQUT /DISMISS INTERRUPT + +12575 073654 2 0 I2MRTR: LDX OCHN +12576 140040 2 0 CRA /MARK PACKET AS A RETRANSMISSION +12577 011657 2 0 STA I2MREF /SO CHECKSUM IS VERIFIED +12600 145660 2 0 LDA I2MLST XI /PACKET SENT >125MS AGO +12601 050634 2 0 STA I2MNXT X /SO RETRANSMIT IT +12602 000401 2 0 ENB I2M +12603 003415 2 JMP I2MGOT + + LEV [T.O,TSK] LCK SIN +12604 000000 5 0 I2MSB: 0 /SOFTWARE WAKELP OF MODEM OUTPUT +12605 033104 5 0 STX TXTX /ALWAYS CALLED FROM LOW CORE AND DX +12606 011103 5 0 STA TATA +12607 033654 5 0 STX OCHN +12610 005604 5 0 LDA I2MSB +12611 150071 5 0 STA M1OTIL XI +12612 143613 5 0 JMP I2MSBT XI /CLEAR X BIT IN ADDR AND LEAP IN F + + LEV VAR +12613 012156 V I2MSBT: I2MS +12614 012156 V I2MS +12615 V SATDEF I2MS +02245 012615 V +02275 012156 V +02325 012156 V +12616 012156 V I2MS +12617 012156 V I2MS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 113 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /BITS IN RMFLG + RMINIT=100000 /SET IF FIRST TIME THROUGH (IN INI + SPDTYP=77400 /TYPE 0 = 5KBS + /TYPE 1 = 10KBS + /TYPE 2 = 50KBS + /TYPE 3 = 250 KBS + SHD=6 /SPEED HOLD-DOWN COUNTER + SHD1=2 /BOTTOM BIT OF SHD + RM=1 /IF SET, SAYS ROUTING MESSAGE PENDING + + LEV VAR +12620 V RMFLG: BSS CH /INIT TO 1006(HD ON 50KB LINE) +12625 V CUMTIM: BSS CH /CUMULATIVE BUSY TIME OVER INTERVAL +12632 V TIM640: BSS CH /'TIMES' AT START OF OUTPUT +12637 V TIM100: BSS CH /100 MUS CLOCK AT START OF OUTPUT +12644 V THIST: BSS 1 /ELAPSED TIME FOR THIS TRANSMISSION +12645 V RSTSNO: BSS CH /SERIAL NO. OF LAST RM OUTPUT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 114 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR +12652 V TMTM: BSS 1 /TEMP M +12653 V TARTAR: BSS 1 /TEMP ADDER RETURN +12654 V OCHN: BSS 1 /ACTIVE MODEM NUMBER +12655 V ACKWRD: BSS 1 /PNTR TO WORD IN PKT WHERE ACKS GO +12656 V ENDWRD: BSS 1 /PNTR TO LAST WORD IN PKT +12657 V I2MREF: BSS 1 /RETRANSMIT FLAG: CHECKSUM IF FLAG I +12660 V I2MLST: BSS CH /PNTR TO LAST SLOT SENT + LEV CON +12665 000032 C MOPX: M1OTBP /DMC OUTPUT PNTRS +12666 000034 C M2OTBP +12667 000036 C M3OTBP +12670 000040 C M4OTBP +12671 000042 C M5OTBP +12672 000033 C MOP1: M1OTBP+1 /DMC OUTPUT END PNTRS +12673 000035 C M2OTBP+1 +12674 000037 C M3OTBP+1 +12675 000041 C M4OTBP+1 +12676 000043 C M5OTBP+1 +12677 030071 C MXOUT: M1OUT /OUTPUT INSTRUCTIONS +12700 030072 C M2OUT +12701 030073 C M3OUT +12702 030074 C M4OUT +12703 030075 C M5OUT +12704 032101 C NULPTR: NULS1+1 /PNTRS TO NULL PKT AREAS +12705 032106 C NULS2+1 +12706 032113 C NULS3+1 +12707 032120 C NULS4+1 +12710 032125 C NULS5+1 + +12711 175551 C M30SCF: -[0 0 30SEC"T"25.] + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 115 IMP,3050,IMP 7:20 PM 9/16/1973 + +12712 000012 C LEV CON CONSTANTS +12713 011213 C +12714 001777 C +12715 000020 C +12716 000003 C +12717 000060 C +12720 032777 C +12721 011206 C +12722 000317 C +12723 000312 C +12724 040634 C +12725 140003 C +12726 177470 C +12727 000004 C +12730 012451 C +12731 001562 C +12732 001556 C +12733 014400 C +12734 017400 C +12735 002342 C +12736 011133 C +02421 176744 C PAGEND 12,UNCON,5 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 116 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /HOST TO IMP (HI) + + PAGH2I: + LEV H2I + +00100 013100 4 H1INIL/ HI0E +00101 4 H2INIL/ TIPDEF HI1E, TINT +02246 000101 4 +02276 013072 4 +02326 025061 4 +00075 013064 4 H3INIL/ HI2E +00074 013056 4 H4INIL/ HI3E + + PAGH2I/ + /HOST 3 INTERRUPT ROUTINE +13056 000000 4 0 HI3E: INT H2I +13057 033135 4 0 STX HIX +13060 073056 4 0 LDX HI3E +13061 033106 4 0 STX HISB +13062 072116 4 0 LDX THREE +13063 003110 4 0 JMP HISB2 + /HOST 2 INTERRUPT ROUTINE +13064 000000 4 0 HI2E: INT H2I +13065 033135 4 0 STX HIX +13066 073064 4 0 LDX HI2E +13067 033106 4 0 STX HISB +13070 072115 4 0 LDX TWO +13071 003110 4 0 JMP HISB2 + /HOST 1 INTERRUPT ROUTINE +13072 000000 4 0 HI1E: INT H2I +13073 033135 4 0 STX HIX +13074 073072 4 0 LDX HI1E +13075 033106 4 0 STX HISB +13076 072114 4 0 LDX ONE +13077 003110 4 0 JMP HISB2 + /HOST 0 INTERRUPT ROUTINE +13100 000000 4 0 HI0E: INT H2I +13101 033135 4 0 STX HIX /SAVE INDEX REGISTER +13102 073100 4 0 LDX HI0E +13103 033106 4 0 STX HISB /SET UP RETURN ADDRESS +13104 072113 4 0 LDX ZERO /INTERRUPT FROM HOST 0 +13105 003110 4 0 JMP HISB2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 117 IMP,3050,IMP 7:20 PM 9/16/1973 + + / FROM HERE ON IS COMMON TO ALL HOST INTERRUPT ROUTINES + +13106 000000 4 0 HISB: 0 +13107 033135 4 0 STX HIX +13110 000011 4 0 HISB2: DXA +13111 003112 4 0 JMP . 1 +13112 032675 4 0 STX HIP /SAVE CURRENT HOST +13113 011133 4 0 STA HIA /SAVE AC +13114 000043 4 0 INK +13115 011134 4 0 STA HIK +13116 004501 4 0 LDA HIM /SET UP NEW INTERRUPT MASK (177760) +13117 170120 4 0 SMK INTM /OUTPUT IT +13120 026134 4 0 IMA PRIM /SAVE IT IN PRIM +13121 011136 4 0 STA HIMS /SAVE OLD PRIM +13122 000401 4 0 ENB H2I +13123 142453 4 JMP HILO XI /RESTART WHERE LAST LEFT OFF + +13124 000000 4 HIWM: 0 /DEBREAK AND WAKE UP 25MS LATER +13125 072675 4 LDX HIP +13126 005124 4 LDA HIWM +13127 050453 4 HIWM1: STA HILO X +13130 004121 4 LDA MINUS1 +13131 051137 4 STA HITT X /SET TIMEOUT TO WAIT 1 PERIOD +13132 003516 4 JMP HIDONE + + LEV VAR +13133 V HIA: BSS 1 /AC SAVE +13134 V HIK: BSS 1 /K SAVE +13135 V HIX: BSS 1 /IR SAVE +13136 V HIMS: BSS 1 /PRIM SAVE +13137 V HITT: BSS TH /HOST-TO-IMP INTERFACE TIMER + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 118 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +13147 000050 C HIB1: H1INBP /DMC INPUT PNTRS +13150 C TIPDEF H2INBP,JUNK +02247 013150 C +02277 000052 C +02327 000001 C +13151 C TIPDEF H3INBP,TIPLNK+2 +02250 013151 C +02300 000056 C +02330 000772 C +13152 000042 C H4INBP +13153 013323 C HIBB +13154 013324 C HIBB+1 +13155 013325 C HIBB+2 +13156 013326 C HIBB+3 +13157 000051 C HIB2: H1INBP+1 /DMC INPUT END PNTRS +13160 C TIPDEF H2INBP+1,JUNK +02251 013160 C +02301 000053 C +02331 000001 C +13161 C TIPDEF H3INBP+1,TIPLNK+3 +02252 013161 C +02302 000057 C +02332 000773 C +13162 000043 C H4INBP+1 +13163 013327 C HIBC +13164 013330 C HIBC+1 +13165 013331 C HIBC+2 +13166 013332 C HIBC+3 +13167 003014 C HER0: JMP 0 1000 777"A"HITEST /NEEDED FOR HOST TEST + /MUST PRECEDE HER! +13170 070070 C HER: H1ERR /SKIP ON ERROR FROM HOST +13171 070060 C H2ERR +13172 C TIPDEF H3ERR,NOP +02253 013172 C +02303 070050 C +02333 101000 C +13173 070051 C H4ERR +13174 101000 C NOP +13175 101000 C NOP +13176 101000 C NOP +13177 101000 C NOP +13200 030170 C HIN: H1IN /INPUT INSTRUCTIONS +13201 030160 C H2IN +13202 C TIPDEF H3IN,JMP+0+1000+HIFAKE"A"777 +02254 013202 C +02304 030150 C +02334 003531 C +13203 030151 C H4IN +13204 003531 C JMP HIFAKE +13205 003531 C JMP HIFAKE +13206 003531 C JMP HIFAKE +13207 003531 C JMP HIFAKE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 119 IMP,3050,IMP 7:20 PM 9/16/1973 + + /FAKE HOST TO IMP (JAM) + /SIMULATE HOST-TO-IMP INTERFACE HARDWARE FOR FAKE HOSTS: + /1- RECEIVE A WORD FROM HOST + /2- STORE THE WORD THROUGH THE DMC INPUT POINTER + /3- INCREMENT THE DMC INPUT POINTER + /4- IF LAST BIT INDICATOR IS SET, OR + / IF THE DMC INPUT AND INPUT END POINTERS CROSS + / GIVE INPUT COMPLETED INTERRUPT + /5- GO TO 1 + /HIBB SERVES AS THE DMC INPUT POINTER + /HIBC SERVES AS THE DMC INPUT END POINTER + /CALLING SEQUENCE + /FAKE HOST NUMBER IN X REG - 0=TTY,1=DDT,2=TRACE,3=STATISTIC1 + /SIGN BIT OF X REG IS LAST BIT INDICATOR - BIT ON=LAST BIT + /THE WORD TO GIVE TO THE IMP IN A REG + /JST JAM - SEND THIS WORD TO IMP FROM THIS FAKE HOST + / - IMPLICIT BACKGROUND WAIT UNTIL THIS WORD IS TAKEN + / - AND ANOTHER WORD MAY BE SENT + LEV BCK +13210 000000 7 GAM: 0 +13211 151323 7 STA HIBB XI /STORE NEXT WORD THROUGH INPUT PNI +13212 065323 7 IRS HIBB X /INCREMENT INPUT PNTR +13213 004000 7 LDA 0 +13214 100400 7 SPL /IS LAST BIT FLAG SET? +13215 003247 7 JMP GAM2 /YES +13216 045327 7 LDA HIBC X +13217 057323 7 SUB HIBB X +13220 101400 7 SMI /HAVE PNTRS CROSSED? +13221 103210 7 JMP GAM I /NO, RETURN +13222 005177 7 LDA HER+NH+3 /(NOP) +13223 051317 7 GAM1: STA EMFH+NH X /SET UP LAST BIT INSTRUCTION FOR HO +13224 005210 7 LDA GAM +13225 051251 7 STA GAMT X /SAVE RETURN ADDRESS +13226 004000 7 LDA 0 +13227 140100 7 SSP +13230 011255 7 STA GAMX +13231 014130 7 ADD PLNH +13232 010000 7 STA 0 /SET UP X REG FOR THIS FAKE HOST +13233 001001 7 INH SIN /SOFTWARE INTERRUPT HOST-TO-IMP +13234 000013 7 0 EXA +13235 021106 7 0 JST HISB RET BCK +13236 001001 7 INH ALL +13237 120672 7 0 JST DODXA I RET BCK +13240 073255 7 LDX GAMX +13241 045143 7 GAM3: LDA HITT+NH X /TIMER HAS THREE POSSIBLE STATES +13242 140401 7 CMA /0 - WAITING FOR LEADER INPUT +13243 100040 7 SZE /-1 - WAITING FOR SOFTWARE INTERRU +13244 143251 7 JMP GAMT XI /IF NOT -1, INPUT CAN GO, SO RETUF +13245 120665 7 JST DOZE I /-N - WAITING FOR DATA INPUT + DEFPLC [JAM CALL TO DOZE] +13246 003241 7 JMP GAM3 /WAIT UNTIL INPUT IS ALLOWED +13247 004112 7 GAM2: LDA SIGN /(SKP) +13250 003223 7 JMP GAM1 + LEV VAR DEFPLC [GAMT] +13251 V GAMT: BSS FH /TABLE OF RETURN ADDRESSES +13255 V GAMX: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 120 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK LCK INI +13256 000000 7 0 HIST: 0 /RESTART HOST TO IMP +13257 140040 7 0 CRA +13260 051333 7 0 STA HISP X +13261 011106 7 0 STA HISB /IN CASE NON-DXA IMP RELOADED FROM ] +13262 111535 7 0 STA (HIDEST 0 X) I +13263 045273 7 0 LDA HISTAB X +13264 050453 7 0 STA HILO X /SET UP INITIAL ADDRESS TO GO TO +13265 045303 7 0 LDA EMIT X +13266 051313 7 0 STA EMFH X /SET UP FOM INSTRUCTION +13267 000013 7 0 EXA +13270 021106 7 0 JST HISB /CALL HOST +13271 120672 7 0 JST DODXA I +13272 103256 7 0 JMP HIST I + + LEV CON +13273 013353 C HISTAB: HISTRH /INITIAL COROUTINE ENTRANCES +13274 013353 C HISTRH +13275 C TIPDEF HISTRH, HISTFH +02255 013275 C +02305 013353 C +02335 013416 C +13276 013353 C HISTRH +13277 013416 C HISTFH +13300 013416 C HISTFH +13301 013416 C HISTFH +13302 013416 C HISTFH + +13303 070270 C EMIT: H1EOM /SKIP ON LAST BIT INSTRUCTIONS +13304 070260 C H2EOM +13305 C TIPDEF H3EOM, SKP +02256 013305 C +02306 070250 C +02336 100000 C +13306 070251 C H4EOM +13307 100000 C SKP +13310 100000 C SKP +13311 100000 C SKP +13312 100000 C SKP + + LEV VAR +13313 V EMFH: BSS TH /SKIP ON END OF MESSAGE FROM HOST +13323 V HIBB: BSS FH /DMC INPUT PNTRS FOR FAKE HOSTS +13327 V HIBC: BSS FH /DMC INPUT END PNTRS FOR FAKE HOSTS +13333 V HISP: BSS TH /POINTER TO CURRENT BUFFER +13343 V HINWAT: BSS TH /HOLD UP HOST INPUT + + LEV H2I +13353 005536 4 HISTRH: LDA (HIFRST) /DISCARD FIRST INPUT OF REAL HOST +13354 003417 4 JMP HISTLO + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 121 IMP,3050,IMP 7:20 PM 9/16/1973 + +13355 004114 4 HIDOWN: LDA ONE 0"A"HSTGDN +13356 050504 4 STA HIHD X /MARK HOST GOING DOWN + DEFPLC [HI - WAITING FOR A PKT TO THROW AWAY] +13357 140040 4 HIDISC: CRA +13360 127535 4 IMA (HIDEST 0 X) I +13361 101400 4 SMI /DID THIS GUY JUST TAKE TOO LONG? +13362 003367 4 JMP HIDSC1 /NO +13363 005537 4 LDA (HIDISC) +13364 050453 4 STA HILO X +13365 140040 4 CRA /DONT'T SET ALARM CLOCK AGAIN +13366 003470 4 JMP HINLO1 +13367 045333 4 HIDSC1: LDA HISP X /FLUSH HISP +13370 101040 4 SNZ +13371 003400 4 JMP HIFRST +13372 010000 4 STA 0 +13373 050111 4 STA BUFE X 0"A"TWOQ +13374 001001 4 INH FRE +13375 120671 4 0 JST FLUSHI I +13376 000401 4 0 ENB H2I +13377 072675 4 LDX HIP + DEFPLC [HI - WAITING FOR INITIAL INPUT] +13400 045313 4 HIFRST: LDA EMFH X /IS EOM SET? +13401 011403 4 STA .+2 +13402 005537 4 LDA (HIDISC) +13403 4 BSS 1 +13404 003466 4 JMP HINLO /NO +13405 140040 4 HIDB: CRA +13406 051333 4 STA HISP X +13407 045313 4 LDA EMFH X /IS EOM SET? +13410 011411 4 STA .+1 +13411 4 BSS 1 +13412 003457 4 JMP HINBUF /NO +13413 045343 4 HIWAIT: LDA HINWAT X /INPUT TO BE BLOCKED? +13414 100040 4 SZE +13415 003430 4 JMP HIBLKD /YES +13416 005540 4 HISTFH: LDA (HILEAD) +13417 050453 4 HISTLO: STA HILO X +13420 140040 4 CRA +13421 051137 4 STA HITT X /GIVE HIM FOREVER TO INPUT NEXT ME' +13422 004000 4 LDA 0 +13423 041577 4 ALS 1 +13424 015541 4 ADD (I 0 HICWS) +13425 151147 4 STA HIB1 XI +13426 141206 4 AOA +13427 003511 4 JMP HINB2 + +13430 021124 4 HIBLKD: JST HIWM + DEFPLC [HI - INPUT BEING BLOCKED BY OUTPUT] +13431 003413 4 JMP HIWAIT + + LEV CON + DEFPLC [HI - 2 WORD INPUT AREA] +13432 C HICWS: BSS TH+TH + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 122 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV H2I +13452 044453 4 HIWBUF: LDA HILO X +13453 051333 4 STA HISP X /SAVE RETURN ADDRESS +13454 021124 4 JST HIWM + DEFPLC [HI - NO FREE SPACE] +13455 045333 4 LDA HISP X +13456 003466 4 JMP HINLO /RESTORE RETURN ADDRESS +13457 005542 4 HINBUF: LDA (PKTN1) +13460 115543 4 ADD (HIH1 0 X) I +13461 111543 4 STA (HIH1 0 X) I +13462 007544 4 ANA (PKTNO) +13463 101040 4 SNZ /WILL NEXT PKT BE NO 10? +13464 003357 4 JMP HIDISC /YES +13465 005545 4 LDA (HI25) +13466 050453 4 HINLO: STA HILO X +13467 005546 4 LDA (0 0 -15000."Q"25.) +13470 051137 4 HINLO1: STA HITT X /GIVE HOST 15 SECS TO INPUT PKT +13471 001001 4 INH FRE +13472 004537 4 0 LDA NFA +13473 016563 4 0 SUB NFS +13474 016570 4 0 SUB MINF +13475 100400 4 0 SPL +13476 003452 4 0 JMP HIWBUF /NOT ENOUGH BUFFERS FOR MODEM INPUT +13477 104324 4 0 LDA FREE I +13500 101040 4 0 SNZ +13501 003452 4 0 JMP HIWBUF +13502 026324 4 0 IMA FREE +13503 024563 4 0 IRS NFS +13504 000401 4 0 ENB H2I +13505 051333 4 STA HISP X /SAVE POINTER TO BUFFER +13506 015547 4 ADD (I 0 DATA) +13507 151147 4 STA HIB1 XI + /THIS CONSTANT DETERMINES PACKET LENGTH FOR THE WHOLE IMPSY' +13510 015550 4 ADD (BUFE-2-DATA) /ALLOW FOR CHKSM +13511 140100 4 HINB2: SSP /FOR FAKE HOSTS +13512 151157 4 STA HIB2 XI +13513 045200 4 LDA HIN X +13514 011515 4 STA .+1 +13515 4 BSS 1 +13516 005136 4 HIDONE: LDA HIMS /RESTORE INTERRUPT MASK +13517 001001 4 INH MSK +13520 170120 4 0 SMK INTM +13521 010134 4 0 STA PRIM +13522 000013 4 0 EXA +13523 005134 4 0 LDA HIK +13524 171020 4 0 OTK +13525 073135 4 0 LDX HIX /RESTORE IR +13526 005133 4 0 LDA HIA /RESTORE AC +13527 000401 4 0 ENB H2I +13530 103106 4 JMP HISB I + +13531 145147 4 HIFAKE: LDA HIB1 XI +13532 140100 4 SSP +13533 151147 4 STA HIB1 XI +13534 003516 4 JMP HIDONE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 123 IMP,3050,IMP 7:20 PM 9/16/1973 + +13535 054177 C LEV CON CONSTANTS +13536 013400 C +13537 013357 C +13540 014053 C +13541 113432 C +13542 000400 C +13543 054147 C +13544 003400 C +13545 014544 C +13546 176650 C +13547 100011 C +13550 000076 C +02422 175557 C PAGEND 13,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 124 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR +14003 000000 V HICW1: 0 /TEMP USED TO RETRIEVE CONTROL WORD1 + LEV H2I +14004 000000 4 HILOOP: 0 +14005 045042 4 LDA HBTS X +14006 012106 4 ERA MINE +14007 051147 4 STA HIH1 X +14010 004143 4 LDA HL2WD +14011 051167 4 STA HIH3 X +14012 103004 4 JMP HILOOP I + +14013 021004 4 HIEXER: JST HILOOP +14014 045147 4 HITEST: LDA HIH1 X /MSG A NOP? +14015 007627 4 ANA (HICODE) +14016 013630 4 ERA (CNOP) +14017 100040 4 SZE +14020 103631 4 JMP (HIDISC) I /NO. FLUSH MESSAGE +14021 045167 4 LDA HIH3 X /DATA WORD MATCH? +14022 012143 4 ERA HL2WD +14023 101040 4 SNZ +14024 125632 4 IRS (HLRCVD) I /YES, COUNT A GOOD ONE +14025 103631 4 JMP (HIDISC) I /AND FLUSH MSG + + /USE TO CLEAN UP UNTIL IMPDIE LOGIC TAKES OVER +14026 000000 4 HIWMD: 0 /HIWM WITH DEAD TEST +14027 072675 4 LDX HIP +14030 173633 4 LDX (HIDEST 0 X) I +14031 044165 4 LDA RUT X +14032 072675 4 LDX HIP +14033 100400 4 SPL 0"A"RUTDED /IS DEST IMP DEAD? +14034 003272 4 JMP HI19 /YES +14035 044504 4 LDA HIHD X 0"A"HSTUP +14036 100040 4 SZE /IS SOURCE HOST DEAD? +14037 003232 4 JMP HIERR /YES +14040 005026 4 LDA HIWMD +14041 103634 4 JMP (HIWM1) I /NO, WAIT ONE TICK + + LEV CON +14042 000000 C HBTS: 0 /FROM IMP AND HOST BITS +14043 000100 C 100 +14044 000200 C 200 +14045 000300 C 300 +14046 040000 C 40000 +14047 040100 C 40100 +14050 040200 C 40200 +14051 040300 C 40300 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 125 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV H2I +14052 121635 4 HIHDN: JST (HIWM) I + DEFPLC [HI - WAITING FOR LEADER] + VD.1P: +14053 044504 4 HILEAD: LDA HIHD X 0"A"HSTIDN +14054 022116 4 CAS THREE +14055 003052 4 JMP HIHDN 0"A"HSTIDN +14056 101000 4 NOP +14057 004000 4 LDA 0 /SET UP HIH1, HIH3 FROM CONTROL INP1 +14060 041577 4 ALS 1 +14061 010000 4 STA 0 +14062 105636 4 LDA (HICWS 0 X) I +14063 011003 4 STA HICW1 +14064 105637 4 LDA (HICWS+1 X) I +14065 072675 4 LDX HIP +14066 007640 4 ANA (LINKNO) +14067 051167 4 STA HIH3 X +14070 005003 4 LDA HICW1 0"A"[PRIBIT 0 FORIMP TRACE FOROCT DESTHI] +14071 051147 4 STA HIH1 X 0"A"PKTNO +14072 007627 4 ANA (HICODE) +14073 141140 4 ICL +14074 015641 4 ADD (HI2 0 I) +14075 051137 4 STA HIH0 X +14076 017134 4 SUB HIDE +14077 101400 4 SMI +14100 103132 4 JMP HI2+7 I /ASSUMES NO TYPE 7 MESSAGE +14101 105642 4 LDA (HER 0 X) I +14102 011103 4 STA .+1 +14103 4 BSS 1 /ERROR?, LOOP JST, OR EXER OR TEST +14104 100000 4 SKP /NO +14105 003232 4 JMP HIERR /ERROR BIT SET IN LEADER +14106 140040 4 CRA 0"A"HSTUP +14107 066504 4 IMA HIHD X +14110 100040 4 SZE /WAS HOST DOWN? +14111 104700 4 LDA IHXX I /YES, IS OUTPUT IN PROGRESS? +14112 101040 4 SNZ +14113 003116 4 JMP .+3 /NOT BOTH +14114 004107 4 LDA M30SEC /WAS DOWN, GIVE OUTPUT FULL 30 SE(' +14115 111643 4 STA (IHTT 0 X) I +14116 105644 4 LDA (EMFH 0 X) I /YES +14117 011120 4 STA .+1 +14120 4 BSS 1 /EOM? +14121 143137 4 DEFSTAT JMP HIH0 XI, HS2 /N0,DISPATCH ON TYPE +00606 031072 4 +32002 014121 4 +32022 143137 4 +14122 003231 4 JMP HISHRT /YES, LESS THAN 32 BIT MESSAGE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 126 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +14123 014243 C HI2: HI20 /0 - REG +14124 013357 C HIDISC /1 - IMP FORMAT ERROR +14125 013355 C HIDOWN /2 - HOST GOING DOWN +14126 014230 C HIBADC /3 +14127 013357 C HIDISC /4 - NOP +14130 014230 C HIBADC /5 +14131 014230 C HIBADC /6 +14132 014230 C HIBADC /7 - USED IN CODE FOR HIBADC REFEF ' +14133 013357 C HIDISC /8 - IMP FORMAT ERROR WITH ID +14134 114134 C HIDE: . 0 I + + LEV VAR + /MORE OF HOST-TO-IMP, INCLUDING PACKET PROCESSING +14135 V HIT1: BSS 1 /TEMP +14136 177777 V HITF: -1 +14137 V HIH0: BSS TH /SAVED HEAD,HEAD1,HEAD2,HEAD3 +14147 V HIH1: BSS TH +14157 V HIH2: BSS TH +14167 V HIH3: BSS TH +14177 V HIDEST: BSS TH /DESTINATION OF CURRENT MESS + /SIGN BIT ON MEANS HOST TOOK TOO LO1 +14207 V HILINK: BSS TH /PNTR TO SAVED LINK+SUB-CODE WORD +14217 V HIBLKT: BSS TH /TIME TO WAIT FOR MESS NO +14227 V HIAR: BSS 1 /TEMP ADDER RETURN + + LEV H2I +14230 065167 4 HIBADC: IRS HIH3 X 0"A"CILLGL +14231 065167 4 HISHRT: IRS HIH3 X 0"A"CSHORT +14232 140040 4 HIERR: CRA 0"A"CERR32 +14233 051147 4 STA HIH1 X +14234 005645 4 LDA (CERRLD) +14235 003273 4 JMP HI16 + +14236 005646 4 HIBLK: LDA (CBLOCK) +14237 053167 4 ERA HIH3 X +14240 051167 4 STA HIH3 X +14241 005647 4 LDA (CINCTR) +14242 003273 4 JMP HI16 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 127 IMP,3050,IMP 7:20 PM 9/16/1973 + +14243 004675 4 HI20: LDA HIP /FIGURE OUT HOW LONG TO WAIT FOR ME: +14244 012130 4 ERA PLNH /IS THIS FROM TTY? +14245 100040 4 SZE /GIVE IT 150 MS OR 15 SECS IF NOT +14246 005650 4 LDA (0 0 -6"X"-450.) +14247 012126 4 ERA MINUS6 /15 SECS FOR ALL OTHER HOST +14250 051217 4 STA HIBLKT X +14251 045147 4 LDA HIH1 X +14252 007651 4 ANA (DESTI) +14253 051177 4 STA HIDEST X +14254 010000 4 STA 0 +14255 044165 4 LDA RUT X +14256 072675 4 LDX HIP +14257 101400 4 SMI 0"A"CIMPD 0"A"RUTDED +14260 007652 4 ANA (RUTCMU) /HOSTS AT DEAD IMPS ARE DEAD +14261 100040 4 SZE /IS THERE A DELAY IN BRINGING THI1 +14262 003272 4 JMP HI19 /YES, IMP IS STILL DEAD +14263 045147 4 LDA HIH1 X +14264 007653 4 ANA (FORIMP 0 DESTH) +14265 013654 4 ERA (FORIMP 0 200) +14266 101010 4 SS2 /ALL HOSTS ARE UP IF SS2 IS UP +14267 100040 4 SZE /PARAM CHANGE IS DOWN IF IT'S NOT +14270 003311 4 JMP HI23 /HOST IS UP +14271 065167 4 HI18: IRS HIH3 X 0"A"CHSTD +14272 005655 4 HI19: LDA (CDESTD) +14273 051137 4 HI16: STA HIH0 X +14274 001001 4 HI17: INH FRE +14275 045167 4 0 LDA HIH3 X +14276 010515 4 0 STA TWDP +14277 045147 4 0 LDA HIH1 X +14300 053137 4 0 ERA HIH0 X +14301 120670 4 0 JST OWP I +14302 103631 4 0 JMP (HIDISC) I +14303 121635 4 0 JST (HIWM) I RET H2I + DEFPLC [HI - WAITING FOR TWO-WORD STORE] +14304 003274 4 JMP HI17 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 128 IMP,3050,IMP 7:20 PM 9/16/1973 + +14305 065217 4 HI22: IRS HIBLKT X /HAVE WE WAITED TOO LDNG? +14306 100000 4 SKP /NO +14307 003236 4 JMP HIBLK /YES, SEND BACK BLOCKED +14310 021026 4 JST HIWMD + DEFPLC [HI - WAITING FOR MESS NO] +14311 045147 4 HI23: LDA HIH1 X +14312 007656 4 ANA (PRIBIT 0 DESTI) +14313 121657 4 JST (MESGET) I +14314 003305 4 JMP HI22 /MESSNO IN USE, WAIT +14315 051137 4 STA HIH0 X /SET UP HIH0, HIH2 +14316 045147 4 LDA HIH1 X +14317 007660 4 ANA (FOROCT) 0"A"LSTPKT +14320 012106 4 ERA MINE /CONSTRUCT SOURCE +14321 053042 4 ERA HBTS X 0"A"SRCEH +14322 051157 4 STA HIH2 X +14323 004675 4 LDA HIP +14324 013661 4 ERA (NH+2) +14325 100040 4 SZE /DO NOT AUTO-TRACE TRACE +14326 105662 4 LDA (TF) I +14327 100040 4 SZE /IS AUTO TRACE ON? +14330 025136 4 IRS HITF /YES, IS IT TIME TO TRACE? +14331 003341 4 JMP HI24 /NO +14332 045147 4 LDA HIH1 X /YES +14333 007663 4 ANA (0 0 177777"X"TRACE) +14334 013664 4 ERA (TRACE) /TURN ON TRACE BIT +14335 051147 4 STA HIH1 X +14336 105662 4 LDA (TF) I +14337 140407 4 TCA +14340 011136 4 STA HITF /RESET AUTO TRACE INTERVAL +14341 005665 4 HI24: LDA (HIPKT1) +14342 103666 4 JMP (HINLO) I + DEFPLC [HI - WAITING FOR FIRST PKT] +14343 105667 4 HIPKT1: LDA (HITT 0 X) I +14344 101040 4 SNZ /DID ALARM CLOCK GO OFF? +14345 003353 4 JMP HIPK1S /YES +14346 105644 4 LDA (EMFH 0 X) I +14347 011350 4 STA .+1 +14350 4 BSS 1 +14351 003400 4 JMP HIPLT /MULTI-PACKET INPUT +14352 003361 4 JMP HIPK1A + +14353 140500 4 HIPK1S: SSM +14354 051177 4 STA HIDEST X /MARK AS TOO SLOW +14355 045147 4 LDA HIH1 X +14356 007670 4 ANA (0 0 177777"X"PKTNO) +14357 013655 4 ERA (PKTNO) /MARK AS LAST PKT - FOR HIDISC +14360 051147 4 STA HIH1 X +14361 005671 4 HIPK1A: LDA (ONEOR8 0 REQALL) /MARK AS REQ FOR 1 +14362 053137 4 ERA HIH0 X +14363 051137 4 STA HIH0 X +14364 021464 4 JST HIPKT +14365 003370 4 JMP HIPPT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 129 IMP,3050,IMP 7:20 PM 9/16/1973 + +14366 021026 4 HIPPT0: JST HIWMD + DEFPLC [HI - WAITING FOR PPT SLOT FOR REQ1] +14367 172677 4 LDX HIXX I +14370 121672 4 HIPPT: JST (PPTPUT) I +14371 003366 4 JMP HIPPT0 /NO ROOM IN PPT, WAIT +14372 051207 4 HIMESS: STA HILINK X /SAVE PNTR INTO RPT OR PLT +14373 045177 4 LDA HIDEST X +14374 100400 4 SPL /DID THIS GUY TAKE TOO LONG +14375 003610 4 JMP HIPSLO /YES, GO TO TASK +14376 121673 4 JST (HTPMT) I /COUNT A MESSAGE OF THROUGHPUT +14377 003551 4 JMP HI26 + +14400 045177 4 HIPLT: LDA HIDEST X +14401 121674 4 JST (TALLYG) I /ANY ALLOC FROM OUR DEST? +14402 003412 4 JMP HIPLT2 /NO +14403 021464 4 HIPLTA: JST HIPKT +14404 072675 4 LDX HIP +14405 003407 4 JMP HIPLT1 +14406 021026 4 JST HIWMD + DEFPLC [HI - WAITING FOR PLT SLOT FOR MESS8] +14407 121675 4 HIPLT1: JST (PLTPUT) I +14410 003406 4 JMP .-2 /NO PLT ROOM, WAIT +14411 003372 4 JMP HIMESS + +14412 005676 4 HIPLT2: LDA (REQALL) /MARK AS REQUEST FOR 8 +14413 053137 4 ERA HIH0 X +14414 051137 4 STA HIH0 X +14415 021464 4 JST HIPKT /COPY HEADER +14416 004000 4 LDA 0 +14417 015677 4 ADD (TWOQ MINPL) /MARK AS ON TWO QUEUES, +14420 050111 4 STA BUFE X /FROM SAME BUFFER +14421 072675 4 LDX HIP +14422 100000 4 SKP +14423 021026 4 JST HIWMD + DEFPLC [HI - WAITING FOR PLT SLOT FOR REQ8] +14424 121675 4 JST (PLTPUT) I +14425 003423 4 JMP .-2 /NO PLT ROOM, WAIT +14426 051207 4 STA HILINK X /SAVE PNTR INTO PLT +14427 172677 4 HIPLT3: LDX HIXX I +14430 021520 4 JST HICKSM /MAKE A CHECKSUM +14431 001001 4 INH M2I +14432 132401 4 0 STX ETQ I +14433 032401 4 0 STX ETQ +14434 030041 4 0 TASK +14435 121635 4 0 HIPLT4: JST (HIWM) I RET H2I + DEFPLC [HI - WAITING FOR TASK TO TAKE A REQ8] +14436 003435 4 JMP HIPLT4 +14437 003427 4 JMP HIPLT3 /TASK REFUSED IT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 130 IMP,3050,IMP 7:20 PM 9/16/1973 + +14440 045177 4 HIPLT5: LDA HIDEST X +14441 121674 4 JST (TALLYG) I /ANY ALLOC FROM OUR DEST? +14442 003444 4 JMP HIPLT6 /NO +14443 003447 4 JMP HIPLT8 +14444 021026 4 HIPLT6: JST HIWMD + DEFPLC [HI - WAITING FOR ALL8] +14445 003440 4 HIALL: JMP HIPLT5 + +14446 121635 4 HIPLT7: JST (HIWM) I +14447 172677 4 HIPLT8: LDX HIXX I +14450 044111 4 LDA BUFE X +14451 100400 4 SPL 0"A"TWOQ /HAS THE ACK FOR THIS PKT BEEN PRC*] +14452 003446 4 JMP HIPLT7 /NOT YET, PKT STILL ON LINE, SO WAI +14453 072675 4 LDX HIP +14454 003456 4 JMP HIPLT0 + +14455 021026 4 HIPLT9: JST HIWMD + DEFPLC [HI - WAITING FOR MESS NO FOR MESS8] +14456 045177 4 HIPLT0: LDA HIDEST X /KEEP SAME ORDNO AS REQS +14457 121657 4 JST (MESGET) I /GET NEW MESS NO FOR MESS8 +14460 003455 4 JMP HIPLT9 /MESS NO IN USE, WAIT +14461 051137 4 STA HIH0 X 0"A"REQALL /SAVE IN HEADER +14462 111667 4 STA (HITT 0 X) I /DEFEAT INC TRN LOGIC +14463 003403 4 JMP HIPLTA + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 131 IMP,3050,IMP 7:20 PM 9/16/1973 + +14464 000000 4 HIPKT: 0 +14465 104677 4 LDA HIXX I /COPY HEADER +14466 015700 4 ADD (HEAD) +14467 011135 4 STA HIT1 +14470 045137 4 LDA HIH0 X +14471 111135 4 STA HIT1 I +14472 025135 4 IRS HIT1 +14473 045147 4 LDA HIH1 X +14474 111135 4 STA HIT1 I +14475 025135 4 IRS HIT1 +14476 045157 4 LDA HIH2 X +14477 111135 4 STA HIT1 I +14500 025135 4 IRS HIT1 +14501 045167 4 LDA HIH3 X +14502 111135 4 STA HIT1 I +14503 105701 4 LDA (HIB1 0 XI) I /SAVE LENGTH +14504 140100 4 SSP 0"A"TWOQ +14505 172677 4 LDX HIXX I /LEAVE ROOM FOR CKSUM WRD +14506 050111 4 STA BUFE X /SET UP TWOQ BIT AFTER CALL TO HIPK +14507 131040 4 RDCLOK /SAVE TIME +14510 003507 4 JMP .-1 +14511 050001 4 STA IT X +14512 004675 4 LDA HIP 0"A"INPCHN +14513 140500 4 SSM 0"A"HSTMOD +14514 050003 4 STA INCH X +14515 140040 4 CRA +14516 050000 4 STA 0 X /CLEAR CHAIN POINTER +14517 103464 4 JMP HIPKT I + +14520 000000 4 HICKSM: 0 +14521 005702 4 LDA (HICKAD) /GRAB ADDER +14522 026111 4 IMA ADDRET /AND SAVE OLD OWNER +14523 011227 4 STA HIAR +14524 044111 4 LDA BUFE X +14525 140100 4 SSP 0"A"TWOQ +14526 011543 4 STA HICKT +14527 140407 4 TCA +14530 014000 4 ADD 0 +14531 015703 4 ADD (ADDBOT+ACKH+1) +14532 011535 4 STA HICKAJ +14533 017704 4 SUB (ADDBOT+1) /-NO DF WORDS +14534 103535 4 JMP HICKAJ I +14535 4 HICKAJ: BSS 1 +14536 140407 4 HICKAD: TCA + DEFPLC [NOP HERE TO TURN OFF H2I CHECKSUM GENERATION] +14537 111543 4 STA HICKT I /STORE CHECKSUM +14540 005227 4 LDA HIAR /PUT BACK OLD OWNER +14541 010111 4 STA ADDRET +14542 103520 4 JMP HICKSM I + LEV VAR +14543 V HICKT: BSS 1 /TEMP BUFE PTR + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 132 IMP,3050,IMP 7:20 PM 9/16/1973 + + /TOP OF PACKET LOOP + LEV H2I + DEFPLC [HI - WAITING FOR MIDDLE PACKET] +14544 021464 4 HI25: JST HIPKT /SET UP HEADER AND BUFFER CONTROL W[ +14545 072675 4 LDX HIP +14546 105667 4 LDA (HITT 0 X) I +14547 101040 4 SNZ /DID ALARM CLOCK GO OFF? +14550 003610 4 JMP HIPSLO /YES +14551 105642 4 HI26: LDA (HER 0 X) I +14552 011553 4 STA .+1 +14553 4 BSS 1 /ERROR? +14554 003570 4 JMP HI84 /NO +14555 005646 4 LDA (CERROR) /YES, MARK MESS AS ERROR IN DATA +14556 153207 4 HISUBC: ERA HILINK XI /PUT IN NEW SUB CODE +14557 006120 4 ANA SEVEN 0"A"SUBCOD +14560 153207 4 ERA HILINK XI /INTO PNTR TO LINK AND SUB CODE WOR[ +14561 151207 4 STA HILINK XI +14562 172677 4 LDX HIXX I +14563 044005 4 LDA HEAD X +14564 007705 4 ANA (0 0 177777"X"INCTRN) +14565 013706 4 ERA (INCTRN) /SET INC TRN BIT +14566 050005 4 STA HEAD X +14567 003616 4 JMP H2TASK + +14570 045177 4 HI84: LDA HIDEST X /COUNT A PACKET OF THROUGHPUT +14571 121707 4 JST (HTPPT) I +14572 105644 4 LDA (EMFH 0 X) I +14573 011574 4 STA HIEM1 +14574 4 HIEM1: BSS 1 /IS FOM SET? +14575 003577 4 JMP .+2 /NO +14576 003612 4 JMP HI87 /YES +14577 045147 4 LDA HIH1 X /GET PACKET # +14600 007655 4 ANA (PKTNO) +14601 013655 4 ERA (PKTNO) +14602 101040 4 SNZ /IS PKT NO=7 ? +14603 003606 4 JMP HIPLNG /YES +14604 172677 4 HI85: LDX HIXX I +14605 003616 4 JMP H2TASK /NO + +14606 004114 4 HIPLNG: LDA ONE 0"A"CLONG +14607 003556 4 JMP HISUBC /MARK MESS AS TOO LONG + +14610 004115 4 HIPSLO: LDA TWO 0"A"CSLOWS +14611 003556 4 JMP HISUBC /MARK MESS AS TOO SLOW + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 133 IMP,3050,IMP 7:20 PM 9/16/1973 + +14612 172677 4 HI87: LDX HIXX I +14613 044007 4 DEFSTAT LDA HEAD2 X, HS0 +00607 031055 4 +32003 014613 4 +32023 044007 4 +14614 140500 4 SSM 0"A"LSTPKT +14615 050007 4 STA HEAD2 X +14616 021520 4 H2TASK: JST HICKSM /CHECKSUM PACKET +14617 001001 4 INH M2I +14620 132401 4 0 STX ETQ I /PUT PACKET ON MIDDLE TASK QUEUE +14621 032401 4 0 STX ETQ +14622 030041 4 0 TASK /POKE TASK INTERRUPT +14623 121635 4 0 H2TSKS: JST (HIWM) I RET H2I + DEFPLC [HI - WAITING FOR TASK TO TAKE A PKT] +14624 003623 4 JMP H2TSKS /NO ACTION YET +14625 003604 4 JMP HI85 /TASK REFUSED IT +14626 103710 4 JMP (HIDB) I /TASK TOOK IT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 134 IMP,3050,IMP 7:20 PM 9/16/1973 + +14627 007400 C LEV CON CONSTANTS +14630 002000 C +14631 013357 C +14632 021431 C +14633 054177 C +14634 013127 C +14635 013124 C +14636 053432 C +14637 053433 C +14640 177760 C +14641 114123 C +14642 053170 C +14643 056306 C +14644 053313 C +14645 000400 C +14646 000004 C +14647 004400 C +14650 000704 C +14651 000077 C +14652 000340 C +14653 040300 C +14654 040200 C +14655 003400 C +14656 100077 C +14657 015161 C +14660 010000 C +14661 000006 C +14662 030457 C +14663 157777 C +14664 020000 C +14665 014343 C +14666 013466 C +14667 053137 C +14670 174377 C +14671 000300 C +14672 015064 C +14673 022415 C +14674 015114 C +14675 015233 C +14676 000100 C +14677 100010 C +14700 000005 C +14701 153147 C +14702 014536 C +14703 001563 C +14704 001557 C +14705 177767 C +14706 000010 C +14707 022426 C +14710 013405 C +02423 176721 C PAGEND 14,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 135 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV [T.O,TSK,BCK] LCK H2I + /PENDING PACKET TABLE SUBROUTINES - LOCK INTERRUPTS +15033 000000 5 4 PPTGET: 0 /GET AN ENTRY FROM PPT +15034 011160 5 4 STA PPWANT /MATCH ON MESSNO AND IMPNO IN A +15035 005521 5 4 LDA (-PPTL) +15036 011157 5 4 STA PPTRY +15037 005522 5 4 LDA (PPT) +15040 011156 5 4 STA PPSLT +15041 105156 5 4 PPTL1: LDA PPSLT I /LOOK AT NEXT SLOT +15042 101040 5 4 SNZ /IS THIS SLOT OCCUPIED? +15043 003060 5 4 JMP PPTN1 /NO +15044 010000 5 4 STA 0 /YES, SO LOOK FOR MATCH +15045 044005 5 4 LDA HEAD X +15046 141044 5 4 CAR 0"A"MESSNO +15047 052006 5 4 ERA HEAD1 X +15050 007523 5 4 ANA (0 0 177777"X"DESTI) +15051 052006 5 4 ERA HEAD1 X +15052 013160 5 4 ERA PPWANT +15053 100040 5 4 SZE /MATCH ON MESSNO+IMPNO? +15054 003060 5 4 JMP PPTN1 /NO +15055 005156 5 4 LDA PPSLT /RETURN PNTR TO PPT PNTR IN AC +15056 025033 5 4 IRS PPTGET /SKIP=SUCCESS +15057 103033 5 4 JMP PPTGET I +15060 025156 5 4 PPTN1: IRS PPSLT /GET NEXT SLOT +15061 025157 5 4 IRS PPTRY +15062 003041 5 4 JMP PPTL1 /LOOP BACK +15063 103033 5 4 JMP PPTGET I /NO MATCH, NO SKIP + + LEV H2I +15064 000000 4 PPTPUT: 0 /PUT AN ENTRY INTO PPT - PNTR IN X +15065 004675 4 LDA HIP /TABLE IS PPTL DEEP FOR FAKE HOSTS +15066 040576 4 ARS 2 +15067 140407 4 TCA 0"A"NH /AND PPTL-1 DEEP FOR REAL HOSTS +15070 015524 4 ADD (0 1-PPTL) +15071 011157 4 STA PPTRY +15072 005522 4 LDA (PPT) +15073 011156 4 STA PPSLT +15074 105156 4 PPTL2: LDA PPSLT I +15075 100040 4 SZE /IS THIS SLOT FREE? +15076 003110 4 JMP PPTN2 /NO +15077 133156 4 STX PPSLT I /YES, SO PUT IN OUR PNTR +15100 044111 4 LDA BUFE X +15101 140500 4 SSM 0"A"TWOQ /MARK PACKET AS ON 2 QUEUES +15102 050111 4 DEFSTAT STA BUFE X, HS4 +00610 031266 4 +32004 015102 4 +32024 050111 4 +15103 004000 4 LDA 0 +15104 015525 4 ADD (HEAD3) +15105 072675 4 LDX HIP +15106 025064 4 IRS PPTPUT /SKIP=SUCCESS +15107 103064 4 JMP PPTPUT I +15110 025156 4 PPTN2: IRS PPSLT /GET NEXT SLOT +15111 025157 4 IRS PPTRY +15112 003074 4 JMP PPTL2 /LOOP BACK +15113 103064 4 JMP PPTPUT I /NO ROOM, NO SKIP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 136 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [H2I,T.O,BCK] + /TALLY TABLE SUBROUTINES - LOCK INTERRUPTS + /ARG PASSED IN A, AND X PRESERVED +15114 000000 4 TALLYG: 0 /GET AN ENTRY FROM TALLY +15115 011153 4 STA TALLYT /IMPNO TO MATCH IN A +15116 033154 4 STX TALLYX +15117 073526 4 LDX (TALLY-1) +15120 024000 4 TALLYK: IRS 0 +15121 004000 4 LDA 0 +15122 023155 4 CAS TALLYI /COMPARE WITH IN PNTR +15123 003150 4 JMP TALLYR +15124 003150 4 JMP TALLYR /NO MATCH, NO SKIP +15125 044000 4 LDA 0 X +15126 013153 4 ERA TALLYT +15127 100040 4 SZE /IS THIS ENTRY ONE WE WANT? +15130 003120 4 JMP TALLYK /NO, LOOP BACK +15131 004000 4 LDA 0 +15132 013527 4 ERA (TALLY) +15133 101040 4 SNZ /DID WE JUST GRAB THE OLDEST ALLOCA +15134 111530 4 STA (TALLYC) I /YES, SO RESET TALLY CLOCK +15135 044001 4 TALLYM: LDA 1 X +15136 050000 4 STA 0 X /MOVE REST OF TABLE UP BY ONE SLOT +15137 024000 4 IRS 0 +15140 004000 4 LDA 0 +15141 013155 4 ERA TALLYI +15142 100040 4 SZE /DONE YET? +15143 003135 4 JMP TALLYM /NO, LOOP BACK +15144 005155 4 LDA TALLYI /YES, NOW ADJUST IN PNTR +15145 016114 4 SUB ONE +15146 011155 4 STA TALLYI +15147 025114 4 IRS TALLYG /SKIP=SUCCFSS +15150 073154 4 TALLYR: LDX TALLYX /RESTORE X +15151 005153 4 LDA TALLYT /RESTORE A +15152 103114 4 JMP TALLYG I + + LEV VAR +15153 V TALLYT: BSS 1 /TEMP A +15154 V TALLYX: BSS 1 /TEMP X +15155 V TALLYI: BSS 1 /IN PNTR + +15156 V PPSLT: BSS 1 /PNTR TO PPT ENTRY +15157 V PPTRY: BSS 1 /NO OF TIMES TO LOOK +15160 V PPWANT: BSS 1 /MESSNO + IMPNO WE WANT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 137 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [H2I,BCK] +15161 000000 4 MESGET: 0 /GFT MESSNO, DEST IMP IN A +15162 033204 4 STX MESGX +15163 011203 4 STA MESGT +15164 140100 4 SSP 0"A"PRIBIT +15165 015531 4 ADD (TMESS) +15166 010000 4 STA 0 +15167 044000 4 LDA 0 X +15170 101100 4 SLN 0"A"MESBTS +15171 003201 4 JMP MESGND /MESS NO IN USE +15172 005203 4 LDA MESGT +15173 100400 4 SPL 0"A"PRIBIT /NEED A NEW ORD NO? +15174 021361 4 JST UPORD /YES +15175 021347 4 JST UPMESS +15176 007532 4 ANA (MESSNO 0 ORDNO) +15177 013533 4 ERA (TRNREP) /MARK AS TRANSMISSION +15200 025161 4 IRS MESGET /SKIP=SUCCESS +15201 073204 4 MESGND: LDX MESGX +15202 103161 4 JMP MESGET I + LEV VAR +15203 V MESGT: BSS 1 +15204 V MESGX: BSS 1 + + LEV [T.O,TSK,BCK] LCK H2I + /PENDING LEADER TABLE SUBROUTINES - LOCK INTERRUPTS +15205 000000 5 4 PLTGET: 0 /GET AN ENTRY FROM PLT +15206 011274 5 4 STA PLWANT /MATCH ON MESSNO AND IMPNO IN A +15207 005534 5 4 LDA (-PLTL) +15210 011273 5 4 STA PLTRY +15211 073535 5 4 LDX (PLT) +15212 044000 5 4 PLTL1: LDA PLT0 X +15213 101040 5 4 SNZ /IS THIS ENTRY EMPTY? +15214 003226 5 4 JMP PLTN1 /YES +15215 141044 5 4 CAR 0"A"MESSNO +15216 052014 5 4 ERA PLT1 X +15217 007523 5 4 ANA (0 0 177777"X"DESTI) +15220 052014 5 4 ERA PLT1 X +15221 013274 5 4 ERA PLWANT +15222 100040 5 4 SZE /MATCH ON MESSNO+IMPNO? +15223 003226 5 4 JMP PLTN1 /NO +15224 025205 5 4 IRS PLTGET /SKIP=SUCCESS +15225 103205 5 4 JMP PLTGET I /RETURN PNTR TO PLT ENTRY IN X +15226 024000 5 4 PLTN1: IRS 0 /GET NEXT ENTRY +15227 025273 5 4 IRS PLTRY +15230 003212 5 4 JMP PLTL1 /LOOP BACK +15231 005274 5 4 LDA PLWANT /RESTORE A +15232 103205 5 4 JMP PLTGET I /NO MATCH, NO SKIP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 138 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV H2I +15233 000000 4 PLTPUT: 0 /PUT AN ENTRY INTD PLT +15234 004000 4 LDA 0 /HOST NO IN A +15235 113536 4 ERA (HIH0 0 X) I +15236 007537 4 ANA (0 0 177777"X"MESSNO"X"REQALL) +15237 113536 4 ERA (HIH0 0 X) I +15240 013540 4 ERA (PLTUSE) /MARK PLT0 ENTRY IN USE +15241 011275 4 STA PLTH /SAVE PLT0 ENTRY +15242 105541 4 LDA (HIH1 0 X) I +15243 011276 4 STA PLTH1 /SAVE PLT1 ENTRY +15244 105542 4 LDA (HIH3 0 X) I +15245 011277 4 STA PLTH3 /SAVE PLT2 ENTRY +15246 005534 4 LDA (-PLTL) +15247 011273 4 STA PLTRY +15250 073535 4 LDX (PLT) +15251 044000 4 PLTL2: LDA PLT0 X +15252 100040 4 SZE /IS THIS ENTRY FREE? +15253 003267 4 JMP PLTN2 /NO +15254 005275 4 LDA PLTH /YES, SO PLANT PLT0,1,2 +15255 050000 4 STA PLT0 X +15256 005276 4 LDA PLTH1 +15257 050014 4 STA PLT1 X +15260 005277 4 LDA PLTH3 +15261 050030 4 DEFSTAT STA PLT2 X, HS5 +00611 031276 4 +32005 015261 4 +32025 050030 4 +15262 025233 4 IRS PLTPUT /SKIP=SUCCESS +15263 004000 4 PLTPX: LDA 0 +15264 015543 4 ADD (PLT2) +15265 072675 4 LDX HIP +15266 103233 4 JMP PLTPUT I +15267 024000 4 PLTN2: IRS 0 /GET NEXT ENTRY +15270 025273 4 IRS PLTRY +15271 003251 4 JMP PLTL2 /LOOP BACK +15272 003263 4 JMP PLTPX /NO ROOM, NO SKIP + + LEV VAR +15273 V PLTRY: BSS 1 +15274 V PLWANT: BSS 1 +15275 V PLTH: BSS 1 +15276 V PLTH1: BSS 1 +15277 V PLTH3: BSS 1 + +15300 V RALLYA: BSS 1 +15301 V RALLYI: BSS 1 +15302 V RALMRK: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 139 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /RALLY TABLE SUBROUTINES + LEV [I2H,TSK] +15303 000000 3 RALLYP: 0 /PUT AN ENTRY IN RALLY TABLE +15304 011300 3 STA RALLYA /A = MESSNO, ONEOR8, RFNM, SRCEI +15305 007544 3 ANA (SRCEI) +15306 015545 3 ADD (RALLY) +15307 011301 3 STA RALLYI /SET UP INPUT PNTR +15310 004121 3 LDA MINUS1 +15311 022000 3 CAS 0 /X = REGULAR. INCOMPLETE, OR DEAD +15312 141206 3 AOA /X=SIGN, DEAD +15313 141206 3 AOA /X=MINUS1, INCOMPLETE +15314 141206 3 AOA /X=0 OR X>0, REGULAR +15315 141206 3 AOA /MAKE INTO 11, 10, OR 01 +15316 041576 3 ALS 2 /SHIFT INTO POSITION +15317 011302 3 STA RALMRK /AND SAVE AS MARK BITS +15320 005300 3 LDA RALLYA +15321 141140 3 ICL 0"A"MESSNO +15322 006116 3 ANA THREE +15323 041576 3 ALS 2 +15324 140407 3 TCA +15325 015546 3 ADD (ALR 0 +15326 011331 3 STA RALPS1 /SET UP SHIFT +15327 011341 3 STA RALPS2 +15330 005547 3 LDA (17) +15331 3 RALPS1: BSS 1 +15332 107301 3 ANA RALLYI I +15333 100040 3 SZE /SOMETHING ALREADY THERE? +15334 003346 3 JMP RALPX /YES, A BUG +15335 005300 3 LDA RALLYA +15336 040672 3 ARR 6 0"A"[ONEOR8 0 RFNM] +15337 006116 3 ANA THREE /GET BITS +15340 013302 3 ERA RALMRK /MARK GOT-IT BIT +15341 3 RALPS2: BSS 1 /SHIFT THEM OVER +15342 113301 3 ERA RALLYI I /OR THE BITS IN +15343 111301 3 STA RALLYI I +15344 010477 3 STA RALLCF /COUNT AN ALLOCATE PENDING +15345 025303 3 IRS RALLYP /SKIP=SUCCESS +15346 103303 3 RALPX: JMP RALLYP I + + /FORMAT OF EACH RALLY WORD IS 4 4-BIT BYTES: A,B,C,D + /THIS TABLE RUNS IN PARALLEL WITH AMESS, THE NEXT MESSAGE + /NUMBER FOR WHICH A REPLY SHOULD BE RETURNED + /BYTE A IS FOR AMESS=3 MOD 4, B FOR AMESS=2 MOD 4 + /C= 1 MOD 4, D= 0 MOD 4 + /FORMAT OF EACH 4 -BIT BYTE IS TTMM: + /TT=00 NO ENTRY + /TT=01 RFNM OR RFNM/ALLOCATE + /TT=10 INCOMPLETE TRANSMISSION + /TT=11 DESTINATION DEAD + /FOR TT=10 OR TT=01: + /MM=00 8 PKT ALLOCATE + /MM=01 8 PKT RFNM/ALLOCATE + /MM=10 1 PKT ALLOCATE + /MM=11 1 PKT RFNM + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 140 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [H2I,T.O,TSK,BCK] +15347 000000 4 UPMESS: 0 /ADD ONE TO MESS NO +15350 044000 4 LDA 0 X /PNTR TO MESS TAB IN X +15351 007547 4 ANA (MESBTS) +15352 040477 4 LGR 1 /SHIFT BITS +15353 052000 4 ERA 0 X +15354 007547 4 ANA (MESBTS) +15355 052000 4 ERA 0 X +15356 015550 4 ADD (MESS1) 0"A"MESSNO +15357 050000 4 STA 0 X /INCREMENT MESS NO +15360 103347 4 JMP UPMESS I + +15361 000000 4 UPORD: 0 /ADD ONE TO ORDER NO +15362 044000 4 LDA 0 X /PNTR TO MESS TAB IN X +15363 015551 4 ADD (20) 0"A"ORDNO +15364 052000 4 ERA 0 X /INCREMENT ORDER NO +15365 007552 4 ANA (ORDNO) +15366 052000 4 ERA 0 X +15367 050000 4 STA 0 X +15370 103361 4 JMP UPORD I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 141 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV FRE + /PUT A TWO-WORD MESSAGE - LOCK INTERRUPTS + /CALLED BY I2H,H2I,T.O,TSK,BCK +15371 000000 0 OWPE: 0 +15372 033501 0 STX HNUM +15373 011502 0 STA ONEW +15374 005501 0 LDA HNUM +15375 022130 0 CAS PLNH /REAL HOST? +15376 003442 0 JMP OWPF /NO +15377 101000 0 NOP /TTY LIKE REAL HOST +15400 073553 0 LDX (SHBQ) +15401 004124 0 LDA MINUS4 +15402 011500 0 STA TPEE +15403 003411 0 JMP OWP4 +15404 010000 0 OWP0: STA 0 +15405 064003 0 IRS 3 X +15406 003462 0 JMP OWP3 +15407 004121 0 LDA MINUS1 +15410 050003 0 STA 3 X +15411 025500 0 OWP4: IRS TPEE /ALLOWED TO HAVE ANOTHER BUFFER? +15412 003415 0 JMP OWP8 /YES +15413 025371 0 OWP7: IRS OWPE /NO +15414 003476 0 JMP OWP5 +15415 044000 0 OWP8: LDA 0 X +15416 100040 0 SZE +15417 003404 0 JMP OWP0 +15420 104324 0 LDA FREE I +15421 101040 0 SNZ +15422 003413 0 JMP OWP7 +15423 026324 0 IMA FREE +15424 024563 0 IRS NFS +15425 050000 0 STA 0 X +15426 011500 0 STA TPEE +15427 026000 0 IMA 0 +15430 050001 0 STA 1 X +15431 005554 0 LDA (-17.) /(DECIMAL) +15432 011503 0 STA OWT3 +15433 050003 0 STA 3 X +15434 140040 0 CRA +15435 050000 0 STA 0 X +15436 005500 0 LDA TPEE +15437 014117 0 ADD FOUR +15440 050002 0 STA 2 X +15441 003452 0 JMP OWP1 + +15442 012120 0 OWPF: ERA SEVEN /DISCARD? +15443 100040 0 SZE +15444 103371 0 JMP OWPE I /NO. +15445 005555 0 LDA (-300.) /YES, RESET SOFTWARE WDT. TO 3 MIN. +15446 010503 0 STA WDTIME +15447 030026 0 WDT /AND POKE THE HARDWARE +15450 103371 0 JMP OWPE I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 142 IMP,3050,IMP 7:20 PM 9/16/1973 + +15451 044000 0 OWP2: LDA 0 X +15452 010000 0 OWP1: STA 0 +15453 014117 0 ADD FOUR +15454 050000 0 STA 0 X +15455 005500 0 LDA TPEE +15456 050003 0 STA 3 X +15457 025503 0 IRS OWT3 +15460 003451 0 JMP OWP2 +15461 073500 0 LDX TPEE + +15462 144002 0 OWP3: LDA 2 XI +15463 066002 0 IMA 2 X +15464 073501 0 LDX HNUM +15465 150403 0 STA EHWQ XI +15466 050403 0 STA EHWQ X +15467 010000 0 STA 0 +15470 140040 0 CRA +15471 050000 0 STA 0 X +15472 005502 0 LDA ONEW +15473 050001 0 STA 1 X +15474 004515 0 LDA TWDP +15475 050002 0 STA 2 X +15476 073501 0 OWP5: LDX HNUM +15477 103371 0 JMP OWPE I + + LEV VAR +15500 V TPEE: BSS 1 +15501 V HNUM: BSS 1 +15502 V ONEW: BSS 1 +15503 V OWT3: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 143 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SUBROUTINE TO GET FROM A QUEUE - LOCK INTEPRUPTS + LEV [I2H,T.O,BCK] +15504 000000 3 GETQ: 0 +15505 044000 3 LDA 0 X +15506 101040 3 SNZ +15507 103504 3 JMP GETQ I /NOTHING ON QUEUE +15510 144000 3 LDA 0 XI +15511 101040 3 SNZ /IS THIS THE ONLY THING ON QUEUE? +15512 133556 3 STX (QUEUEE-QUEUEB X) I /YES, MAKE END POINT TO +15513 066000 3 IMA 0 X /REMOVE FROM QUEUE +15514 010000 3 STA 0 +15515 140040 3 CRA +15516 050000 3 STA 0 X /CLEAR CHAIN POINTER +15517 025504 3 IRS GETQ +15520 103504 3 JMP GETQ I + +15521 177770 C LEV CON CONSTANTS +15522 033457 C +15523 177700 C +15524 177771 C +15525 000010 C +15526 032260 C +15527 032261 C +15530 020210 C +15531 032271 C +15532 177460 C +15533 000004 C +15534 177764 C +15535 033477 C +15536 054137 C +15537 000277 C +15540 000200 C +15541 054147 C +15542 054167 C +15543 000030 C +15544 000077 C +15545 032571 C +15546 041700 C +15547 000017 C +15550 000400 C +15551 000020 C +15552 000060 C +15553 000337 C +15554 177757 C +15555 177324 C +15556 040051 C +02424 175566 C PAGEND 15,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 144 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /IMP TO HOST (IH) + + PAGI2H: + LEV I2H + +00076 016034 3 H1OTIL/ IH0E +00077 3 H2OTIL/ TIPDEF IH1E,TINT +02257 000077 3 +02307 016026 3 +02337 025061 3 +00070 016020 3 H3OTIL/ IH2E +00067 016012 3 H4OTIL/ IH3E + + PAGI2H/ + /HOST 3 INTERRUPT ROUTINE +16012 000000 3 0 IH3E: INT I2H +16013 033121 3 0 STX IHX +16014 073012 3 0 LDX IH3E +16015 033042 3 0 STX IHSB +16016 072116 3 0 LDX THREE +16017 003044 3 0 JMP IHSB2 + /HOST 2 INTERRUPT ROUTINE +16020 000000 3 0 IH2E: INT I2H +16021 033121 3 0 STX IHX +16022 073020 3 0 LDX IH2E +16023 033042 3 0 STX IHSB +16024 072115 3 0 LDX TWO +16025 003044 3 0 JMP IHSB2 + /HOST 1 INTERRUPT ROUTINE +16026 000000 3 0 IH1E: INT I2H +16027 033121 3 0 STX IHX +16030 073026 3 0 LDX IH1E +16031 033042 3 0 STX IHSB +16032 072114 3 0 LDX ONE +16033 003044 3 0 JMP IHSB2 + /HOST 0 INTERRUPT ROUTINE +16034 000000 3 0 IH0E: INT I2H +16035 033121 3 0 STX IHX /SAVE INDEX REGISTER +16036 073034 3 0 LDX IH0E +16037 033042 3 0 STX IHSB +16040 072113 3 0 LDX ZERO /NOTE HOST WHICH CAUSED INTERRUPT +16041 003044 3 0 JMP IHSB2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 145 IMP,3050,IMP 7:20 PM 9/16/1973 + + /FROM HERE ON IS COMMON TO ALL IMP-HOST INTERRUPT ROUTINES +16042 000000 3 0 IHSB: 0 +16043 033121 3 0 STX IHX +16044 000011 3 0 IHSB2: DXA +16045 003046 3 0 JMP . 1 +16046 011117 3 0 STA IHA /SAVE AC +16047 000043 3 0 INK +16050 011120 3 0 STA IHK /SAVE EX-MODE +16051 032676 3 0 STX IHP /SAVE CURRENT HOST +16052 004500 3 0 LDA IHM /SET UP NEW INTERRUPT MASK (177700) +16053 170120 3 0 SMK INTM /OUTPUT IT +16054 026134 3 0 IMA PRIM /SAVE IT IN PRIM +16055 011122 3 0 STA IHMS /SAVE OLD PRIM +16056 000401 3 0 ENB I2H +16057 143107 3 JMP IHLO XI /RESTART WHERE LAST LEFT OFF + +16060 000000 3 IHDB: 0 /DEBREAK +16061 004000 3 LDA 0 +16062 016130 3 SUB PLNH +16063 100400 3 SPL +16064 003071 3 JMP IHDO /REAL HOST - DO THE OCP +16065 004107 3 LDA M30SEC /FAKE HOSTS ALWAYS GET 2 MINUTES +16066 041576 3 ALS 2 +16067 051306 3 STA IHTT X +16070 100000 3 SKP /DON'T DO OCP FOR FAKE GUYS +16071 3 IHDO: BSS 1 +16072 005060 3 LDA IHDB +16073 051107 3 IHDONE: STA IHLO X +16074 005122 3 LDA IHMS /RESTORE INTERPUPT MASK +16075 001001 3 INH MSK +16076 170120 3 0 SMK INTM +16077 010134 3 0 STA PRIM +16100 000013 3 0 EXA +16101 005120 3 0 LDA IHK +16102 171020 3 0 OTK /RESTORE EX-MODE +16103 073121 3 0 LDX IHX /RESTORE IR +16104 005117 3 0 LDA IHA /RESTORE AC +16105 000401 3 0 ENB I2H +16106 103042 3 JMP IHSB I + + LEV VAR + / IHLO INDICATES WHAT ROUTINES DID LAST + DEFPLC [IHLO] +16107 V IHLO: BSS TH /RETURN ADDRESSES WHERE IH LEFT OFF +16117 V IHA: BSS 1 /AC SAVE +16120 V IHK: BSS 1 /K SAVE +16121 V IHX: BSS 1 /IR SAVE +16122 V IHMS: BSS 1 /OLD PRIM SAVE +16123 V IHAR: BSS 1 /ADD RET SAVE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 146 IMP,3050,IMP 7:20 PM 9/16/1973 + + /IMP-TO-HOST ROUTINES LOCAL STORAGE + LEV CON +16124 030270 C IHED: H1FOUT /FINAL OUTPUT INSTRUCTIONS +16125 030260 C H2FOUT +16126 C TIPDEF H3FOUT, NOP +02260 016126 C +02310 030250 C +02340 101000 C +16127 030251 C H4FOUT +16130 016205 C OWOP: OWO /PNTRS TO TWO WORD OUTPUT AREAS +16131 016207 C OWO+2 +16132 016211 C OWO+4 +16133 016213 C OWO+6 +16134 016215 C OWO+10 +16135 000044 C IHB1: H1OTBP /DMC OUTPUT PNTRS +16136 000046 C H2OTBP +16137 C TIPDEF H3OTBP, TIPLNK +02261 016137 C +02311 000054 C +02341 000770 C +16140 000030 C H4OTBP +16141 017407 C IHBB +16142 017410 C IHBB+1 +16143 017411 C IHBB+2 +16144 017412 C IHBB+3 +16145 000045 C IHB2: H1OTBP+1 /DMC OUTPUT END PNTRS +16146 000047 C H2OTBP+1 +16147 C TIPDEF H3OTBP+1, TIPLNK+1 +02262 016147 C +02312 000055 C +02342 000771 C +16150 000031 C H4OTBP+1 +16151 017413 C IHBC +16152 017414 C IHBC+1 +16153 017415 C IHBC+2 +16154 017416 C IHBC+3 + LEV VAR + /IN IHSP: + /0 ==> NOTHING IS GOING OUT + /100000 ==> LEADER ONLY (2-WRD MSG) GOING + /2000-37777 ==> PACKET 1S GOING OUT + /102000-137777 ==> PACKET WITH BAD CKSUM IS GOING OUT +16155 V IHSP: BSS TH /SAVED BUFFER POINTERS +16165 V IHWQ: BSS TH /SAVED QUEUE POINTERS +16175 V IHLSTP: BSS TH /MINUS IF LAST PKT + DEFPLC [IH - 2 WORD OUTPUT AREA] +16205 V OWO: BSS [[NH+1]"T"2] /TWO WORD OUTPUT AREA + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 147 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK LCK INI /INITIALIZATION ROUTINE +16217 000000 7 0 IHIN: 0 +16220 140040 7 0 CRA +16221 051155 7 0 STA IHSP X +16222 151135 7 0 STA IHB1 XI /FOR FAKE HOSTS +16223 011042 7 0 STA IHSB /IN CASE NON-DXA IMP RELOADS FROM 1 +16224 140500 7 0 SSM /BLOCK INPUT! +16225 111575 7 0 STA (HINWAT 0 X) I +16226 005576 7 0 LDA (IHBEG) +16227 021273 7 0 JST IHST +16230 103217 7 0 JMP IHIN I + + LEV I2H +16231 000000 3 IHS1: 0 /DISCARD BUFFERS FROM QUEUE +16232 014676 3 ADD IHP +16233 011303 3 STA IHT2 +16234 015577 3 ADD (NHS+0-SHQ) +16235 011304 3 STA IHT3 +16236 004676 3 LDA IHP +16237 012120 3 ERA SEVEN +16240 101040 3 SNZ /DISCARD? +16241 103231 3 JMP IHS1 I /YES, DO NOT DISCARD DISCARD +16242 105303 3 IHS1A: LDA IHT2 I +16243 101040 3 SNZ /ANYTHING ON THIS QUEUE? +16244 103231 3 JMP IHS1 I /NO, QUIT +16245 010000 3 STA 0 +16246 005305 3 LDA IHS1F /=0, FLUSH ALL, ELSE, FLUSH TIMEOL' +16247 101040 3 SNZ /DISCARD ALL? +16250 003261 3 JMP IHS1B /YES +16251 004416 3 LDA TIMES /GFT TIME IN SLOW TICKS +16252 056003 3 SUB INCH X /NO, CHECK TIME +16253 100400 3 SPL /TOO OLD? +16254 003267 3 JMP IHS1C /NO, SO SAVE TIME LEFT +16255 004676 3 LDA IHP +16256 016130 3 SUB PLNH +16257 101400 3 SMI /FAKE HOST? +16260 103231 3 JMP IHS1 I /YES, HAVE MERCY +16261 073303 3 IHS1B: LDX IHT2 +16262 121600 3 JST (GETQ) I +16263 103231 3 JMP IHS1 I /SHOULDNT HAPPEN +16264 121601 3 JST (IHS5) I +16265 125304 3 IRS IHT3 I +16266 003242 3 JMP IHS1A + +16267 023305 3 IHS1C: CAS IHS1F /PICK MIN TIME LEFT +16270 011305 3 STA IHS1F /FOR OLDEST PKT ON PRI OR REG QUEUE +16271 101000 3 NOP /IF NOTHING THERE, USE 30 SECS +16272 103231 3 JMP IHS1 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 148 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O /RESTART ROUTINE +16273 000000 5 IHST: 0 /HERE AT INIT AND WHEN HOST READY DT +16274 051107 5 STA IHLO X /THROW AWAY ALL MESSAGES +16275 001001 5 INH SIN +16276 000013 5 0 EXA /BUT DO NOT FLAP IMP'S READY LINE +16277 021042 5 0 JST IHSB RET T.O +16300 001001 5 INH ALL +16301 120672 5 0 JST DODXA I RET T.O +16302 103273 5 JMP IHST I + + LEV VAR +16303 V IHT2: BSS 1 /TEMP +16304 V IHT3: BSS 1 /TEMP +16305 V IHS1F: BSS 1 /0=FLUSH ALL, ELSE=FLUSH TIMEOUTS + /ALSO KEEPS ALARM CLOCK TIME FOR [ 1 +16306 V IHTT: BSS TH /TIME OUT CHECK FLAGS + + LEV CON +16316 030570 C HENABT: H1ENAB +16317 030560 C H2ENAB +16320 030550 C H3ENAB +16321 030551 C H4ENAB + + LEV I2H +16322 000000 3 IHW640: 0 /SUBR TO WAIT 640 MS +16323 011324 3 STA .+1 /SET UP READY LINE OCP +16324 3 BSS 1 /DO IT +16325 004121 3 LDA MINUS1 /AND WAIT 640 MS FOR RELAY TO SETTL1 +16326 051306 3 STA IHTT X +16327 005322 3 LDA IHW640 +16330 003073 3 JMP IHDONE + +16331 004110 3 IHBEG: LDA PTICKS /A LITTLE MORE THAN TWICE PTICKS +16332 016120 3 SUB SEVEN +16333 041577 3 ALS 1 /WAIT FOR LINES TO COME UP AND ROUT +16334 051306 3 STA IHTT X +16335 005602 3 LDA (IHWAIT) +16336 003073 3 JMP IHDONE +16337 005603 3 IHWT1: LDA (NOP) +16340 021322 3 JST IHW640 + DEFPLC [IH - WAITING FOR INITIALIZATION DELAY] +16341 004172 3 IHWAIT: LDA RUT+BBNIMP +16342 100400 3 SPL 0"A"RUTDED /IS NCC UP YET? +16343 003347 3 JMP IHWT2 /NEVER COMING UP...GO AHEAD +16344 007604 3 ANA (RUTCMU) /COMING UP? +16345 100040 3 SZE +16346 003337 3 JMP IHWT1 /YES, WAIT SOME MORE +16347 004116 3 IHWT2: LDA THREE 0"A"HSTOFF /OK, START UP HOSTS +16350 003357 3 JMP IHR11 /HOLD DOWN RDY FOR 60 SECS AT INIT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 149 IMP,3050,IMP 7:20 PM 9/16/1973 + +16351 004000 3 IHR2: LDA 0 /HERE TO FLUSH ALL/FLAP READY LINE +16352 016120 3 SUB SEVEN /DON'T FLUSH STUFF ON DISCARD QUEUE +16353 101040 3 SNZ +16354 103605 3 JMP (IH62) I +16355 111575 3 STA (HINWAT 0 X) I /DISCARD STUFF ON OTHER O1 +16356 004115 3 LDA TWO 0"A"HSTTRD +16357 050504 3 IHR11: STA HIHD X /MARK HOST AS TARDY (DEAD) +16360 121606 3 IHR1: JST (OWGE) I /HERE TO FLUSH ALL/NO READY LINE FL +16361 100000 3 SKP /THROW AWAY ALL 2 WORD MESSAGES +16362 003360 3 JMP IHR1 +16363 140040 3 CRA /FLUSH BUFFER CURRENTLY IN INTERFACI +16364 151145 3 STA IHB2 XI +16365 151135 3 STA IHB1 XI +16366 067155 3 IMA IHSP X +16367 140100 3 SSP /IF 0, NOTHING GOING +16370 101040 3 SNZ /IF SIGN BIT ONLY, TWO WORD GOING +16371 003400 3 JMP IS40 /IN EITHER CASE, NOTHING TO FLUSH +16372 024541 3 IRS NREA +16373 011305 3 STA IHS1F /SAVE PKT PNTR IN TEMP +16374 045175 3 LDA IHLSTP X /PICK UP LST PKT BIT +16375 073305 3 LDX IHS1F /GET PKT PNTR +16376 050007 3 STA HEAD2 X /AND RESTORE LST PKT BIT TO PKT +16377 121601 3 JST (IHS5) I +16400 140040 3 IS40: CRA /SET TO DISCARD ALL BUFFERS ON QU[ +16401 011305 3 STA IHS1F +16402 005607 3 LDA (SHQ) /GET REGULAR QUEUE +16403 021231 3 JST IHS1 +16404 005610 3 LDA (SHPQ) /GET PRIORITY QUEUE +16405 021231 3 JST IHS1 +16406 072676 3 LDX IHP +16407 004000 3 LDA 0 +16410 016130 3 SUB PLNH +16411 101400 3 SMI /FAKE HOST? +16412 003422 3 JMP IS30 /YES, DO NOT DROP READY LINE +16413 105575 3 LDA (HINWAT 0 X) I /WE BLOCKING INPUT? +16414 101040 3 SNZ +16415 003422 3 JMP IS30 /NO, DON'T DROP READY LINE +16416 105611 3 LDA (HUNXPT 0 X) I +16417 021322 3 JST IHW640 /WAIT FOR 640 MS + DEFPLC [IH - WAITING FOR READY LINE TO DROP] +16420 045316 3 LDA HENABT X +16421 021322 3 JST IHW640 /WAIT FOR 640 MS + DEFPLC [IH - WAITING FOR READY LINE TO GO UP] +16422 004123 3 IS30: LDA MINUS3 +16423 011303 3 STA IHT2 +16424 000401 3 IS10: ENB I2H +16425 005612 3 LDA (CNOP) +16426 001001 3 INH FRE +16427 120670 3 0 JST OWP I /PUT 3 NOPS ON HOST TWO WORD QUEUE +16430 101000 3 0 NOP +16431 025303 3 0 IRS IHT2 +16432 003424 3 0 JMP IS10 +16433 005613 3 0 LDA (CRESET) +16434 120670 3 0 JST OWP I /PUT AN IMP-TO-HOST RESET MESS ON ' +16435 101000 3 0 NOP +16436 000401 3 0 ENB I2H + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 150 IMP,3050,IMP 7:20 PM 9/16/1973 + +16437 140040 3 CRA /RELEASE INPUT +16440 111575 3 STA (HINWAT 0 X) I +16441 005603 3 IH00: LDA (NOP) +16442 021322 3 JST IHW640 RET I2H + DEFPLC [IH - NOTHING TO DO] +16443 004107 3 IH1: LDA M30SEC /SET TO DISCARD TIMED-OUT BUFFERS +16444 011305 3 STA IHS1F /AND SAVE TIME LEFT ON OLDEST +16445 005607 3 LDA (SHQ) +16446 021231 3 JST IHS1 /CHECK REG QUEUE FOR OLD MESS +16447 005610 3 LDA (SHPQ) +16450 021231 3 JST IHS1 /AND PRI QUEUE ALSO +16451 072676 3 LDX IHP +16452 121606 3 JST (OWGE) I /IS THERE ENTRY ON ONE WORD QUEUE +16453 003503 3 JMP IH2 /NO +16454 151130 3 STA OWOP XI /(OWO+2*IR) PUT WORD IN OUTPUT ARE +16455 045130 3 LDA OWOP X /GET POINTER TO FRONT OF AREA +16456 151135 3 STA IHB1 XI /BUILD FIRST BUFFER CONTROL WORD +16457 141206 3 DEFSTAT AOA,HS3 +00612 031113 3 +32006 016457 3 +32026 141206 3 +16460 151145 3 STA IHB2 XI /BUILD SECOND BUFFER CONTROL WORD +16461 051155 3 STA IHSP X +16462 004516 3 LDA TWDG +16463 151155 3 STA IHSP XI /PUT OUT SECOND WORD +16464 045124 3 LDA IHED X +16465 011071 3 STA IHDO /DO OUTPUT + END +16466 004112 3 LDA SIGN +16467 051155 3 STA IHSP X +16470 051175 3 STA IHLSTP X /SO SUCK AND TIP WILL WORK PROPER1 +16471 005305 3 LDA IHS1F /USE MIN TIME LEFT FOR PKTS ON QUEU +16472 051306 3 STA IHTT X /OR 30 SECS IF BOTH QUEUES EMPTY +16473 021060 3 JST IHDB + / WAITING FOR INTERRUPT AFTER OUTPUT OF 2 WORD MESSAGE + DEFPLC [IH - SENDING 2 WORD MSG] +16474 140040 3 CRA +16475 151135 3 STA IHB1 XI +16476 051155 3 STA IHSP X +16477 045306 3 LDA IHTT X +16500 101040 3 SNZ /DID HARDWARE INTERRUPT? +16501 003351 3 JMP IHR2 /NO, ALARM CLOCK WENT OFF- HOST TAR +16502 003443 3 JMP IH1 /YES, NORMAL OUTPUT COMPLETE + +16503 044302 3 IH2: LDA SHPQ X /IS THERE SOMETHING IN THE PRIORITY +16504 101040 3 SNZ +16505 003510 3 JMP .+3 /NO +16506 005610 3 LDA (SHPQ) +16507 003514 3 JMP IH19 +16510 044272 3 LDA SHQ X /IS THERE SOMETHING IN THE REGULAR +16511 101040 3 SNZ +16512 003441 3 JMP IH00 +16513 005607 3 LDA (SHQ) +16514 014000 3 IH19: ADD 0 +16515 051165 3 STA IHWQ X /SAVE POINTER TO QUEUE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 151 IMP,3050,IMP 7:20 PM 9/16/1973 + +16516 004115 3 LDA TWO 0"A"[DATA-HEAD2] +16517 111614 3 STA (FPSW 0 X) I +16520 145165 3 IH21: LDA IHWQ XI +16521 051155 3 STA IHSP X /SAVE POINTER TO BUFFER +16522 045165 3 LDA IHWQ X +16523 010000 3 STA 0 +16524 144000 3 LDA 0 XI /UPDATE QUEUE START POINTER +16525 050000 3 STA 0 X +16526 101040 3 SNZ /IS THIS LAST ENTRY ON QUEUE +16527 133615 3 STX (EHQ-SHQ X) I /MAKE START PTR POINTED TT +16530 064251 3 IRS NHS-SHQ X +16531 072676 3 LDX IHP +16532 172700 3 LDX IHXX I +16533 005616 3 LDA (IHCKAD) +16534 026111 3 IMA ADDRET +16535 011123 3 STA IHAR +16536 004000 3 LDA 0 +16537 056111 3 SUB BUFE X +16540 015617 3 ADD (ADDBOT+ACKH) +16541 140100 3 SSP 0"A"TWOQ +16542 011545 3 STA IHCKAJ +16543 017620 3 SUB (ADDBOT) /-NO OF WORDS +16544 103545 3 JMP IHCKAJ I +16545 3 IHCKAJ: BSS 1 +16546 100040 3 IHCKAD: SZE +16547 003553 3 JMP IHBAD +16550 005123 3 LDA IHAR +16551 010111 3 STA ADDRET +16552 103621 3 JMP (IHNOCK) I + +16553 027123 3 IHBAD: IMA IHAR /TEMP FOR CKSUM ERROR +16554 010111 3 STA ADDRET /AND RESTORE OWNER +16555 004676 3 LDA IHP +16556 012120 3 ERA SEVEN + DEFPLC [NOP HERE TO TURN OFF I2H CHECKSUM CHECK] +16557 101040 3 SNZ +16560 103621 3 JMP (IHNOCK) I /DON'T REPORT DISCARD ERRORS +16561 005123 3 LDA IHAR +16562 001001 3 INH ALL + DEFHLT [HOST OUTPUT DETECTED INTRA-IMP CKSUM ERROR] +16563 021564 3 0 JST .+1 /NOW TRAP TO NCC +16564 000000 3 0 0 +16565 120745 3 0 JST HLTNCC I +16566 000401 3 0 ENB I2H +16567 072676 3 LDX IHP +16570 045155 3 LDA IHSP X +16571 140500 3 SSM /FLAG PACKET TO GO TO DIAGTT +16572 051155 3 STA IHSP X +16573 140100 3 SSP +16574 103622 3 JMP (IHNOC2) I /AND CONTINUE ANYWAY + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 152 IMP,3050,IMP 7:20 PM 9/16/1973 + +16575 053343 C LEV CON CONSTANTS +16576 016331 C +16577 000251 C +16600 015504 C +16601 017237 C +16602 016341 C +16603 101000 C +16604 000340 C +16605 017143 C +16606 017250 C +16607 000272 C +16610 000302 C +16611 041170 C +16612 002000 C +16613 005000 C +16614 057203 C +16615 040051 C +16616 016546 C +16617 001562 C +16620 001556 C +16621 017062 C +16622 017064 C +02425 175632 C PAGEND 16,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 153 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +17056 030070 C IHOT: H1ROUT /REGULAR OUTPUT INSTRUCTIONS +17057 030060 C H2ROUT +17060 C TIPDEF H3ROUT, NOP +02263 017060 C +02313 030050 C +02343 101000 C +17061 030051 C H4ROUT + + LEV I2H /MORE IMP-TO-HOST CODE +17062 072676 3 IHNOCK: LDX IHP +17063 105424 3 LDA (IHSP 0 X) I +17064 015425 3 IHNOC2: ADD (DATA) +17065 057203 3 SUB FPSW X /BUILD FIRST BUFFER CONTROL WORD +17066 111426 3 STA (IHB1 0 XI) I +17067 172700 3 LDX IHXX I +17070 131040 3 RDCLOK +17071 003070 3 JMP .-1 +17072 050001 3 STA ST X +17073 140040 3 CRA +17074 050000 3 STA 0 X /CLEAR CHAIN PNTR +17075 044111 3 LDA BUFE X +17076 140100 3 SSP 0"A"TWOQ +17077 016114 3 SUB ONE /STRIP CHECKSUM/DUMMY WRD +17100 072676 3 LDX IHP +17101 111427 3 STA (IHB2 0 XI) I /MAKE SECOND BUFFER CONTR +17102 024565 3 IRS NRES /UPDATE REASSEMBLY COUNT +17103 172700 3 LDX IHXX I +17104 044007 3 LDA HEAD2 X /TURN OFF BITS FOR HOSTS +17105 007430 3 ANA (FRMIMP 0 FRMOCT SRCEHI) +17106 066007 3 IMA HEAD2 X 0"A"[LSTPKT 0 ENDBIT] +17107 072676 3 LDX IHP +17110 111431 3 STA (IHLSTP 0 X) I /SAVE LAST PKT FLAG +17111 100400 3 SPL 0"A"LSTPKT /IS THIS LAST PACKET OF M +17112 003115 3 JMP IH4 /YES +17113 045056 3 LDA IHOT X +17114 100000 3 SKP +17115 105432 3 IH4: DEFSTAT LDA (IHED 0 X) I, HS1 +00613 031076 3 +32007 017115 3 +32027 105432 3 +17116 111433 3 STA (IHDO) I /DO OUTPUT +17117 021127 3 JST IH6 +17120 105431 3 LDA (IHLSTP 0 X) I +17121 121434 3 JST (HTPPF) I /COUNT A PACKET OF THROUGHPUT +17122 105431 3 LDA (IHLSTP 0 X) I +17123 101400 3 SMI /DID WE JUST PUT OUT LAST PKT? +17124 103435 3 JMP (IH21) I /NO +17125 121436 3 JST (HTPMF) I /COUNT A MESSAGE OF THROUGHPUT +17126 103437 3 JMP (IH1) I /YES + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 154 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV I2H /MORE DF IMP-TO-HOST +17127 000000 3 IH6: 0 /SEND OUT A PKT +17130 172700 3 LDX IHXX I +17131 004416 3 LDA TIMES /GET TIME IN SLOW TICKS +17132 056003 3 SUB INCH X +17133 072676 3 LDX IHP +17134 111440 3 STA (IHTT 0 X) I +17135 100400 3 SPL +17136 003143 3 JMP IH62 /SOME TIME LEFT - GO USE IT +17137 004000 3 LDA 0 /RUN OUT - FAKE HOST? +17140 016130 3 SUB PLNH +17141 100400 3 SPL +17142 103441 3 JMP (IHR2) I /NO - HAVE NO MERCY +17143 121442 3 IH62: JST (IHDB) I + DEFPLC [IH - SENDING OUT A PKT] +17144 140040 3 CRA +17145 111426 3 STA (IHB1 0 XI) I +17146 105440 3 LDA (IHTT 0 X) I +17147 101040 3 SNZ /DID HARDWARE INTERRUPT? +17150 103441 3 JMP (IHR2) I /NO, ALARM CLOCK WENT OFF - HOST TA +17151 172700 3 LDX IHXX I /YES, NORMAL OUTPUT COMPLETE +17152 044002 3 LDA PTRT X +17153 001001 3 INH M2I +17154 100040 3 0 SZE /MUST WE TRACE HIM? +17155 121443 3 0 JST (TRCDUN) I /YES +17156 072676 3 0 LDX IHP /MUST FOLLOW TRCDUN CALL +17157 000401 3 0 ENB I2H +17160 140040 3 CRA +17161 067203 3 IMA FPSW X /RESET FIRST PKT SWITCH +17162 172700 3 LDX IHXX I +17163 100040 3 SZE /IS THIS THE FIRST PKT? +17164 003214 3 JMP IH63 /YES +17165 072676 3 IH6F: LDX IHP +17166 140040 3 CRA +17167 126700 3 IMA IHXX I /CLEAR OUT IHSP +17170 010000 3 STA 0 +17171 001001 3 INH FRE +17172 100400 3 0 SPL +17173 003177 3 0 JMP IH6B /WAS BAD PACKET. PUT ON DIAG Q +17174 120671 3 0 JST FLUSHI I /FLUSH PACKET +17175 072676 3 0 IH6F1: LDX IHP +17176 103127 3 0 JMP IH6 I + +17177 140100 3 0 IH6B: SSP +17200 026342 3 0 IMA DIAGQ /PUT ON DIAG Q +17201 050000 3 0 STA 0 X +17202 003175 3 0 JMP IH6F1 + + LEV VAR +17203 V FPSW: BSS TH /FIRST PACKET SWITCH +17213 V IH6INC: BSS 1 /MINUS IF RFNM IS FOR INC TRN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 155 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV I2H +17214 044006 3 IH63: LDA HEAD1 X /THIS CODE IS FOR MULTI-PKT MESS FO: +17215 007444 3 ANA (PKTNO) /THAT WAS ON IH Q TOO LONG IN MID. ] +17216 100040 3 SZE /IS THIS FIRST PACKET? +17217 003165 3 JMP IH6F /NO, THE RFNM HAS BEEN SENT ALREADY +17220 044005 3 LDA HEAD X /NORMAL CASE, SEND BACK RFNM-ALLOC +17221 007445 3 ANA (INCTRN) +17222 100040 3 SZE +17223 004121 3 LDA MINUS1 +17224 011213 3 STA IH6INC +17225 044005 3 LDA HEAD X +17226 007446 3 ANA (MESSNO 0 ONEOR8) +17227 013447 3 ERA (RFNM) +17230 052007 3 ERA HEAD2 X +17231 007450 3 ANA (0 0 177777"X"SRCEI) +17232 052007 3 ERA HEAD2 X +17233 073213 3 LDX IH6INC /SET UP AS INCTRN OR NOT +17234 121451 3 JST (RALLYP) I /PUT IN RALLY TABLE +17235 101000 3 NOP /ENTRY ALREADY THERE - BAD +17236 003165 3 JMP IH6F + + + LEV I2H +17237 000000 3 IHS5: 0 +17240 044005 3 LDA HEAD X +17241 007452 3 ANA (0 0 177777"X"INCTRN) +17242 013445 3 ERA (INCTRN) +17243 050005 3 STA HEAD X +17244 132352 3 STX EHQ+NH+3 I +17245 032352 3 STX EHQ+NH+3 +17246 024526 3 IRS NHA+NH+3 +17247 103237 3 JMP IHS5 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 156 IMP,3050,IMP 7:20 PM 9/16/1973 + + /ROUTINE TO GET WORD OFF ONE WORD MESSAGE QUEUE TO HOST + /CALLING SEQUENCE + + /INDEX REGISTER CONTAINS HOST NUMBER + / JST OWG I + / + / + + LEV I2H +17250 000000 3 OWGE: 0 +17251 033337 3 STX OWGY +17252 044332 3 LDA SHWQ X /GET START OF HOST ONE WORD QUEUE +17253 100040 3 SZE +17254 003260 3 JMP OWGL /RETURN IF NOTHING ON QUEUE +17255 073337 3 OWGX: LDX OWGY +17256 005340 3 LDA OWGA /GET DATA IN AC +17257 103250 3 JMP OWGE I /RETURN +17260 011341 3 OWGL: STA OWGS /SAVE START OF QUEUE FOR LATER USE +17261 004000 3 LDA 0 +17262 022130 3 CAS PLNH /REAL HOST? +17263 003255 3 JMP OWGX /NO +17264 101000 3 NOP /TTY LIKE REAL HOST +17265 025250 3 IRS OWGE /PREPARE TO TAKE SECOND RETURN +17266 073341 3 LDX OWGS /PUT START OF QUEUE IN INDEX REGI[*1 +17267 044001 3 LDA 1 X +17270 011340 3 STA OWGA +17271 044002 3 LDA 2 X +17272 010516 3 STA TWDG +17273 044003 3 LDA 3 X /GET POINTER TO POINTER TO HEAD OF +17274 011342 3 STA OWGT /SAVE FOP LATER USE +17275 073337 3 LDX OWGY /GET HOST NUMBER +17276 144332 3 LDA SHWQ XI +17277 050332 3 STA SHWQ X /UPDATE QUEUE POINTER +17300 100040 3 SZE +17301 003305 3 JMP OWG1 +17302 005453 3 LDA (SHWQ) +17303 014000 3 ADD 0 +17304 050403 3 STA EHWQ X /IF QUEUE NOW EMPTY FIX THINGS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 157 IMP,3050,IMP 7:20 PM 9/16/1973 + +17305 073342 3 OWG1: LDX OWGT /GET POINTER TO HEAD OF BUFFER +17306 044002 3 LDA 2 X /GET FREE STORAGE POINTER FOR THIS I +17307 111341 3 STA OWGS I +17310 005341 3 LDA OWGS /PUT THREE WORD BLOCK ON FREE STORA1 +17311 050002 3 STA 2 X +17312 044003 3 LDA 3 X /GET FREE BLOCK COUNT +17313 016114 3 SUB ONE +17314 050003 3 STA 3 X /UPDATE FREE BLOCK COUNT +17315 023454 3 CAS (-18.) /IS BUFFER EMPTY +17316 003255 3 JMP OWGX /IF NO, RETURN +17317 044001 3 LDA 1 X /IF YES, PUT IT ON FREE LIST +17320 054000 3 ADD 0 X +17321 017455 3 SUB (SHBQ) /CHECK FOR LAST BUFFER ON QUEUE +17322 101040 3 SNZ +17323 003255 3 JMP OWGX /IF YES, RETURN +17324 044000 3 LDA 0 X /TAKE BUFFER OUT OF USE FOR ONE WORI +17325 150001 3 STA 1 XI +17326 044001 3 LDA 1 X +17327 064000 3 IRS 0 X +17330 150000 3 STA 0 XI +17331 140040 3 CRA 0"A"TWOQ +17332 050111 3 STA BUFE X +17333 001001 3 INH FRE +17334 120671 3 0 JST FLUSHI I +17335 000401 3 0 ENB I2H +17336 003255 3 JMP OWGX + + LEV VAR +17337 V OWGY: BSS 1 +17340 V OWGA: BSS 1 +17341 V OWGS: BSS 1 +17342 V OWGT: BSS 1 + + LEV ALL + /CALLED BY VDI,T.O,TSK,PCK +17343 000000 0 .DODXA: 0 /DISABLE EXTENDED ADDRESSING +17344 000011 0 DXA /CALLED WITH INTERRUPTS LOCKED +17345 000401 0 ENB ALL /RETURNS WITH INTERRUPTS ENABLED +17346 103343 0 JMP .DODXA I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 158 IMP,3050,IMP 7:20 PM 9/16/1973 + + /IMP TO FAKE HOST (SUCK) + /SIMULATE IMP-TO-HOST INTERFACE HARDWARE FOR FAKE HOSTS: + /1- IF THE DMC OUTPUT AND OUTPUT END POINTERS CROSS, + / GIVE OUTPUT COMPLETED INTERRUPT + /2- FETCH NEXT WORD THROUGH THE DMC OUTPUT POINTER + /3- INCREMENT THE DMC OUTPUT POINTER, AND IF THE POINTERS C'1 + / AND IF THIS IS A FINAL OUTPUT, SET THE LAST BIT INDICATOI + /4- SEND THE WORD TO THE HOST + /5- GO TO 1 + /IHBB SERVES AS THE DMC OUTPUT POINTER + /IHBC SERVES AS THE DMC OUTPUT END POINTER + /CALLING SEQUENCE + /FAKE HOST NUMBER IN X REG - 0=TTY,1=DDT.2=PARAM CHANGE,3=DI1 + /JST SUCK - GET NEXT WORD FROM IMP FOR THIS FAKE HOST + / - IMPLICIT BACKGROUND WAIT UNTIL WORD IS READY + /R1 - WORD IN A REG + /R2 - WORD IN A REG IS LAST WORD OF CURRENT MESSAGE + LEV BCK +17347 000000 7 SUC: 0 +17350 045407 7 SUC1: LDA IHBB X /IS THERE ANY OUTPUT TO GO? +17351 101040 7 SNZ +17352 003366 7 JMP SUC2 /NO, WAIT ONE BACKGROUND LOOP +17353 057413 7 SUB IHBC X +17354 022113 7 CAS ZERO /HAVE PNTRS CROSSED? +17355 003374 7 JMP SUC4 /YES +17356 003362 7 JMP SUC3 /ALMOST, THIS IS LAST WORD IN BUFFE1 +17357 145407 7 SUC5: LDA IHBB XI /FETCH NEXT WORD FROM OUTPUT PNTR +17360 065407 7 IRS IHBB X /INCREMENT OUTPUT PNTR +17361 103347 7 JMP SUC I /NOW RETURN WITH DATA + +17362 105456 7 SUC3: LDA (IHLSTP+NH X) I /YES +17363 100400 7 SPL 0"A"LSTPKT /IS THIS THE LAST PKT? +17364 025347 7 IRS SUC /YES, SO GIVE SKIP RETURN=LAST BIT +17365 003357 7 JMP SUC5 + +17366 005347 7 SUC2: LDA SUC +17367 051420 7 STA SUCT X /SAVE RETURN ADDRESS +17370 120667 7 JST WAIT I /COROUTINE RETURN TO BACKGROUND + DEFPLC [SUCK CALL TO WAIT] +17371 045420 7 LDA SUCT X +17372 011347 7 STA SUC /RESTORE RETURN ADDRESS +17373 003350 7 JMP SUC1 + +17374 033417 7 SUC4: STX SUCX /YES, SO INTERRUPT ON OUTPUT COMPLE +17375 004000 7 LDA 0 +17376 014130 7 ADD PLNH +17377 010000 7 STA 0 /SET UP X REG FOR THIS FAKE HOST +17400 001001 7 INH SIN /SOFTWARE INTERRUPT IMP-TO-HOST +17401 000013 7 0 EXA +17402 121457 7 0 JST (IHSB) I RET BCK +17403 001001 7 INH ALL +17404 120672 7 0 JST DODXA I RET BCK +17405 073417 7 LDX SUCX +17406 003350 7 JMP SUC1 /NOW GO BACK FOR MORE OUTPUT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 159 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR +17407 V IHBB: BSS FH /DMC OUTPUT PNTRS FOR FAKE HOSTS +17413 V IHBC: BSS FH /DMC OUTPUT END PNTRS FOR FAKE HOE : +17417 V SUCX: BSS 1 + DEFPLC [SUCT] +17420 V SUCT: BSS FH /TABLE OF RETURN ADDRESSES + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 160 IMP,3050,IMP 7:20 PM 9/16/1973 + +17424 056155 C LEV CON CONSTANTS +17425 000011 C +17426 156135 C +17427 156145 C +17430 050377 C +17431 056175 C +17432 056124 C +17433 016071 C +17434 022462 C +17435 016520 C +17436 022451 C +17437 016443 C +17440 056306 C +17441 016351 C +17442 016060 C +17443 011144 C +17444 003400 C +17445 000010 C +17446 177600 C +17447 000100 C +17450 177700 C +17451 015303 C +17452 177767 C +17453 000332 C +17454 177756 C +17455 000337 C +17456 056201 C +17457 016042 C +02426 174464 C PAGEND 17,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 161 IMP,3050,IMP 7:20 PM 9/16/1973 + + + TO: LEV T.O +00102 020022 5 CLOKIL/ TO +20022 000000 5 0 TO/ INT T.O /TIMEOUT INTERRUPT ENTRANCE +20023 000011 5 0 DXA +20024 003025 5 0 JMP . 1 +20025 033145 5 0 STX TOT +20026 025143 5 0 IRS TOSLOW /IS THIS REALLY A SLOW TICK? +20027 003034 5 0 JMP TO1 /NO +20030 073574 5 0 LDX (-25.) /YES, RESET CLOCK +20031 033143 5 0 STX TOSLOW /EVERY 25TH TICK +20032 072114 5 0 LDX ONE +20033 100000 5 0 SKP +20034 072113 5 0 TO1: LDX ZERO /CHOOSE APPROPRIATE X +20035 051146 5 0 STA TOA X /SAVE AC +20036 045160 5 0 LDA TOM X +20037 170120 5 0 SMK INTM +20040 026134 5 0 IMA PRIM +20041 051156 5 0 STA TOMK X +20042 000043 5 0 INK +20043 051150 5 0 STA TOCK X +20044 005145 5 0 LDA TOT +20045 051152 5 0 STA TOX X +20046 005022 5 0 LDA TO /SAVE RETURN +20047 051154 5 0 STA TOC X +20050 024415 5 0 IRS TIME /COUNT LOCAL TIME +20051 101000 5 0 NOP +20052 024417 5 0 IRS SYNC /COUNT GLOBAL TIME +20053 101000 5 0 NOP +20054 030026 5 0 WDT /** TAKE THIS AWAY WHEN ALGORITHM ' +20055 143162 5 0 JMP TOS XI + + LEV T.O +20056 001001 5 TOR: INH MSK +20057 045154 5 0 LDA TOC X +20060 011022 5 0 STA TO +20061 045152 5 0 LDA TOX X +20062 011145 5 0 STA TOT +20063 045156 5 0 LDA TOMK X +20064 170120 5 0 SMK INTM +20065 010134 5 0 STA PRIM +20066 000013 5 0 EXA +20067 045150 5 0 LDA TOCK X +20070 171020 5 0 OTK +20071 045146 5 0 LDA TOA X +20072 073145 5 0 LDX TOT +20073 000401 5 0 ENB T.O +20074 103022 5 JMP TO I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 162 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK LCK INI +20075 000000 7 0 TOI: 0 /TIMEOUT INITIALIZATION +20076 004127 7 0 LDA MICH +20077 010141 7 0 STA HTPAR +20100 072113 7 0 LDX ZERO +20101 140040 7 0 TOIL: CRA +20102 111575 7 0 STA (E123 0 X) I /CLEAR LINE ERROR +20103 004115 7 0 LDA TWO +20104 051300 7 0 STA RMBIT X /TIMER BIT FOR VAR FRQ RM'S +20105 005576 7 0 LDA (1000 SHD RMINIT) /101006, 50 KB LINE FULL 1 +20106 111577 7 0 STA (RMFLG 0 X) I /AND INIT FLAG IN EACH RM] +20107 005600 7 0 LDA (RMCLKS+2) /POINT ALL LINES AT 50KB TIME +20110 111601 7 0 STA (RMCLKP 0 X) I +20111 004110 7 0 LDA PTICKS +20112 111602 7 0 STA (LINDT 0 X) I +20113 004121 7 0 LDA MINUS1 +20114 051452 7 0 STA LTR X +20115 021354 7 0 TOIL2: JST DEDL /SET SLT MINUS, KILL LINE +20116 024000 7 0 IRS 0 +20117 024141 7 0 IRS HTPAR /ENDS UF BY SETTING HTPAR TO 0 +20120 003101 7 0 JMP TOIL +20121 004121 7 0 LDA MINUS1 +20122 011143 7 0 STA TOSLOW /START WITH SLOW TICK +20123 010142 7 0 STA HLNM /CLEAR HOST INTERFACE TEST +20124 111603 7 0 STA (HLNMS) I +20125 111604 7 0 STA (RTSSNT) I +20126 011210 7 0 STA TALLYC /DO THIS OR BACK2 WONT WORK RIGHT +20127 111605 7 0 STA (RALTRY) I +20130 111606 7 0 STA (GODWNC) I +20131 111607 7 0 STA (COMUPC) I +20132 111610 7 0 STA (MESST) I + /THIS CODE IS TO START ALL LINES W/ROUTING MSG SYNC-ED W/SLO +20133 011277 7 0 STA RMCLKS+NSPD-1 +20134 004122 7 0 LDA MINUS2 +20135 073611 7 0 LDX (-NSPD+1) +20136 051277 7 0 TOIL1: STA RMCLKS+NSPD-1 X +20137 024000 7 0 IRS 0 +20140 003136 7 0 JMP TOIL1 +20141 030040 7 0 CLKON +20142 103075 7 0 JMP TOI I + + LEV VAR +20143 V TOSLOW: BSS 1 +20144 V TOK: BSS 1 +20145 V TOT: BSS 1 +20146 V TOA: BSS 2 +20150 V TOCK: BSS 2 +20152 V TOX: BSS 2 +20154 V TOC: BSS 2 +20156 V TOMK: BSS 2 + LEV CON +20160 177774 C TOM: -4 /LOCK OUT T.O IN JOBF +20161 177774 C -4 /ENB T.O IN JOBS **TEMP NOT** +20162 020170 C TOS: JOBF +20163 021075 C JOBS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 163 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +20164 005160 5 JOBF1: LDA TOM /DONE WITH SLOW TICK +20165 170120 5 SMK INTM +20166 010134 5 STA PRIM /LOCK OUT T.O +20167 072114 5 LDX ONE /REMEMBER IT IS A SLOW TICK + /FAST TIMEOUT JOBS - RESTART EVERYBODY +20170 033144 5 JOBF: STX TOK /SAVE TYPE OF TICK +20171 021211 5 JST RSTOUT /MUST PRECEDE IMTC +20172 021305 5 JST IMTC RET T.O /ATTEMPT TO RESTART MODEI +20173 021327 5 JST HITC /ATTEMPT TO RESTART HOST INS +20174 121612 5 JST (SWCH) I /MONITOR THINGS +20175 021200 5 JST TALLYB /TIME OUT OLDEST ALLOCATE WE HAVE +20176 073144 5 LDX TOK +20177 003056 5 JMP TOR + +20200 000000 5 TALLYB: 0 /BUMP TALLY CLOCK EVERY 25 MS +20201 005613 5 LDA (TALLY) +20202 113614 5 ERA (TALLYI) I +20203 101040 5 SNZ /IS THE TALLY TABLE EMPTY? +20204 011210 5 STA TALLYC /YES, HOLD TALLYC AT 1 WHILE QUIESC +20205 025210 5 IRS TALLYC /BUMP TALLY CLOCK +20206 101000 5 NOP /IN CASE BACK ISNT GOING +20207 103200 5 JMP TALLYB I + + LEV VAR +20210 V TALLYC: BSS 1 /TALLY CLOCK - COUNTS FROM 0 TO 5 + + LEV T.O +20211 000000 5 RSTOUT: 0 +20212 025274 5 IRS RMCLKS /CHECK TO SEND ROUTING MSGS +20213 100000 5 SKP /...RUN CLKS FOR EACH POSS LINE SPD +20214 003255 5 JMP RSTR50 /2 SLOW TICKS +20215 025275 5 IRS RMCLKS+1 +20216 100000 5 SKP +20217 003257 5 JMP RSTR25 /RESET (1 SLOW TICK) +20220 025276 5 IRS RMCLKS+2 +20221 100000 5 SKP +20222 003261 5 JMP RSTR5 /5 FAST TICKS [RMCLKS+3 IS FAST T.O + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 164 IMP,3050,IMP 7:20 PM 9/16/1973 + +20223 072127 5 RSTR0: LDX MICH +20224 004121 5 LDA MINUS1 +20225 123615 5 RSTO2: CAS (RMCLKP+CH XI) I /TIME UP TEST +20226 100000 5 SKP +20227 003233 5 JMP RSTO4 /YES, DO ROUTING CHECK +20230 024000 5 RSTO3: IRS 0 /NO, GO TO NEXT LINE +20231 003225 5 JMP RSTO2 +20232 103211 5 JMP RSTOUT I /DONE + +20233 045305 5 RSTO4: LDA RMBIT+CH X /ADVANCE BIT POINTER +20234 040677 5 ARR 1 +20235 100400 5 SPL /TIME TO WRAP? +20236 005616 5 LDA (20) /YES, RESET TO 5TH BIT +20237 051305 5 STA RMBIT+CH X +20240 107617 5 ANA (RUTFRQ+CH XI) I /GET RIGHT BIT OUT OF RI 1 +20241 101040 5 SNZ /TIME TO SEND ROUTING? +20242 003253 5 JMP RSTO5 /NO, GO TO NEXT LINE +20243 100100 5 SLZ +20244 003264 5 JMP RSTDL +20245 001001 5 RSTO6: INH I2M /SEND ROUTING +20246 044272 5 2 LDA SLT+CH X +20247 101040 5 2 SNZ /NO ROUTING IF HELD DEAD OR BUSY +20250 004115 5 2 LDA TWO /ALWAYS SEND NULL W/ROUTING +20251 050272 5 2 STA SLT+CH X +20252 000401 5 2 ENB T.O +20253 004121 5 RSTO5: LDA MINUS1 /ON TO NEXT LINE +20254 003230 5 JMP RSTO3 + + +20255 005620 5 RSTR50: LDA (-50.) +20256 011274 5 STA RMCLKS +20257 005574 5 RSTR25: LDA (-25.) +20260 011275 5 STA RMCLKS+1 +20261 004125 5 RSTR5: LDA MINUS5 +20262 011276 5 STA RMCLKS+2 +20263 003223 5 JMP RSTR0 + +20264 033273 5 RSTDL: STX RSTDT /SAVE X +20265 004000 5 LDA 0 +20266 016127 5 SUB MICH /CONVERT NEG X TO POS X +20267 010000 5 STA 0 +20270 021354 5 JST DEDL /CALL DEDL FOR HELLO-IHY AT BASIC * +20271 073273 5 LDX RSTDT /RESTORE X +20272 003245 5 JMP RSTO6 + + LEV VAR +20273 V RSTDT: BSS 1 /TEMP X +20274 V RMCLKS: BSS NSPD /1 CLOCK/SPD +20300 V RMBIT: BSS CH /5 BIT ROTATE BIT 1/LINE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 165 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +20305 000000 5 IMTC: 0 /WAKE UP IDLE MODEMS +20306 072113 5 LDX ZERO +20307 004127 5 LDA MICH /DO FOR ALL MODEMS +20310 011353 5 STA IMTK +20311 001001 5 IMTCL: INH SIN +20312 044440 5 0 LDA NONE X /CHECK STATUS OF MODEM +20313 100040 5 0 SZE /WAITING FOR HARDWARE INTERRUPT? +20314 003324 5 0 JMP I2MTC2 +20315 121621 5 0 I2MTC0: JST (I2MSB) I RET T.O /NO, SO GIVE SOFTWARE INT] +20316 001001 5 INH ALL +20317 120672 5 0 JST DODXA I RET T.O +20320 024000 5 I2MTC1: IRS 0 +20321 025353 5 IRS IMTK +20322 003311 5 JMP IMTCL +20323 103305 5 JMP IMTC I + + LEV T.O LCK SIN +20324 064440 5 0 I2MTC2: IRS NONE X +20325 003320 5 0 JMP I2MTC1 +20326 003315 5 0 JMP I2MTC0 + + LEV T.O +20327 000000 5 HITC: 0 /TIMEOUT CHECK ROUTINE +20330 004131 5 LDA MITH +20331 011352 5 STA HITK /ATTEMPT TO WAKE UP ALL HOST-TO-IMP +20332 005352 5 HITZ: LDA HITK +20333 012415 5 ERA TIME /USE A RANDOM WAKEUP ORDER +20334 006120 5 ANA SEVEN /TO FACILITATE RESOURCE SHARING +20335 010000 5 STA 0 +20336 001001 5 INH [SIN,H2I,TPC] +20337 105622 5 0 LDA (HITT 0 X) I +20340 100040 5 0 SZE /IS THIS HOST WAITING TO WAKE UP? +20341 125622 5 0 IRS (HITT 0 X) I /YES, TIME TO WAKE HIM YF +20342 003346 5 0 JMP HITZL /NO +20343 000013 5 0 EXA /YES. SOFTWARE INTERRUPT HOST-TO-I' +20344 121623 5 0 JST (HISB) I RET T.O +20345 001001 5 INH ALL +20346 120672 5 0 HITZL: JST DODXA I RET T.O +20347 025352 5 IRS HITK +20350 003332 5 JMP HITZ +20351 103327 5 JMP HITC I + + LEV VAR +20352 V HITK: BSS 1 +20353 V IMTK: BSS 1 /TEMP COUNTER + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 166 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +20354 000000 5 DEDL: 0 /INVESTIGATE FOR LINE STATUS +20355 044265 5 LDA SLT X +20356 100400 5 SPL /IS THIS LINE IN DEAD STATE? +20357 003445 5 JMP HEL4 /YES, GO NO FURTHER +20360 140040 5 CRA +20361 127575 5 IMA (E123 0 X) I +20362 101040 5 SNZ /DID WE GET ANY ROUTING MSGS? +20363 003367 5 JMP DED1 /NO +20364 064421 5 IRS SIHY X /YES, COUNT ONE AS AN HELLO +20365 065457 5 IRS RTRCVD X /AND RETURN AN I-HEARD-YOU +20366 101000 5 NOP +20367 125624 5 DED1: IRS (RTSSNT 0 X) I /COUNT HELLO SENT +20370 101000 5 NOP +20371 044426 5 LDA LAC X /CHECK LINE ALIVE COUNT +20372 101040 5 SNZ /DID WE GET AN I-HEARD-YOU? +20373 003416 5 JMP NOC /NO INPUT ON THIS CHANNEL +20374 016114 5 SUB ONE /YES, CAN ONLY GET ONE (TWO IN CAI' +20375 100040 5 SZE /PER BASIC INTERVAL +20376 004114 5 LDA ONE +20377 050426 5 STA LAC X +20400 044433 5 LDA LINE X +20401 101040 5 SNZ +20402 003414 5 JMP DED3 /LINE WAS ALREADY ALIVE +20403 065452 5 IRS LTR X +20404 103354 5 JMP DEDL I /NOT TIME TO BRING LINE UP YET +20405 140040 5 CRA +20406 050433 5 STA LINE X +20407 044160 5 LDA NEIGHB X /FOR DETECTING PACKETS ON LOOPED LI +20410 016106 5 SUB MINE +20411 006112 5 ANA SIGN /1=I AM THE HIGHER NUMBER IMP +20412 040672 5 ARR 6 0"A"ENDBIT +20413 111625 5 STA (LEND 0 X) I /SAVE FOR USE IN PACKET +20414 004125 5 DED3: LDA MINUS5 +20415 003431 5 JMP HEL1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 167 IMP,3050,IMP 7:20 PM 9/16/1973 + +20416 044433 5 NOC: LDA LINE X +20417 100040 5 SZE /WAS LINE ALIVE? +20420 003433 5 JMP DED4 /LINE STILL IS DEAD +20421 065452 5 IRS LTR X /CURRENTLY UP, SHOULD IT BE? +20422 003440 5 JMP HEL3 /NOT TIME TO KILL LINE YET +20423 001001 5 INH M2I +20424 121626 5 0 JST (KILLIN) I +20425 000401 5 0 ENB T.O +20426 105602 5 HELD: LDA (LINDT 0 X) I +20427 111625 5 STA (LEND 0 X) I /MARK LINE DOWN +20430 050433 5 HEL0: STA LINE X +20431 051452 5 HEL1: STA LTR X +20432 103354 5 JMP DEDL I + +20433 045452 5 DED4: LDA LTR X /LINE IS DEAD +20434 123602 5 CAS (LINDT 0 X) I /IS IT AT MAX DEAD COUNT? +20435 016114 5 SUB ONE /NOT YET. COUNT DOWN +20436 003430 5 JMP HEL0 /AND RETURN +20437 003426 5 JMP HELD /PAST MAX!? RESET + +20440 045452 5 HEL3: LDA LTR X /LINE IS DYING +20441 022123 5 CAS MINUS3 /IS IT TIME TO GIVE FAKE ROUTING? +20442 100000 5 SKP /NO +20443 121627 5 JST (RSTINP) I /YES,CALL ROUTING INPUT W/ DUMMY F +20444 103354 5 JMP DEDL I + +20445 023630 5 HEL4: CAS (-KILTIM+1) /LINE HAS BEEN KILLED +20446 100000 5 SKP /IS IT TIME TO GIVE FAKE ROUTING? +20447 121627 5 JST (RSTINP) I /YES, CALL ROUT INPUT W/ DUMMY MSG +20450 021464 5 JST JSRT +20451 003426 5 JMP HELD + + LEV VAR +20452 V LTR: BSS CH +20457 V RTRCVD: BSS CH /COUNT OF HELLO'S RCVD + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 168 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +20464 000000 5 JSRT: 0 +20465 004112 5 LDA SIGN /TURN OFF I2MTC CLOCK WAKEUP +20466 050440 5 STA NONE X /FOR DEAD OR NON-EXISTENT LINES +20467 004000 5 LDA 0 +20470 014127 5 ADD MICH +20471 023544 5 CAS VDHNO +20472 100000 5 SKP /IS THIS MODEM STOLEN BY VDH? +20473 103464 5 JMP JSRT I /YES +20474 023545 5 CAS MODNO +20475 103464 5 JMP JSRT I /IS THIS MODEM STOLEN BY HOST? +20476 103464 5 JMP JSRT I +20477 115631 5 ADD (SATNO) I +20500 101040 5 SNZ +20501 103543 5 JMP SATGCI I +20502 064265 5 IRS SLT X /YES, TIME TO START BRINGING IT UP? +20503 103464 5 JMP JSRT I /NO +20504 001001 5 INH I2M +20505 033546 5 2 STX SENR +20506 005632 5 2 JSRT2: LDA (SMPQ) +20507 021547 5 2 JSRT3: JST JSRTS +20510 005633 5 2 JSRT4: LDA (SMQ) +20511 021547 5 2 JST JSRTS +20512 073546 5 2 LDX SENR +20513 005634 5 2 LDA (ACKTAB) +20514 050646 5 2 STA RSEX X +20515 050653 5 2 STA CHFREE X +20516 044622 5 2 LDA I2MTAB X +20517 111635 5 2 STA (I2MLST 0 X) I +20520 050627 5 2 STA I2MEND X +20521 005636 5 2 LDA (-NACH) +20522 050634 5 2 STA I2MNXT X +20523 140040 5 2 NACKL: CRA +20524 050641 5 2 STA TSEX X /ZERO THIS - LOOP UNNECESSARY +20525 050440 5 2 STA NONE X /ZERO THIS - LOOP UNNECESSARY +20526 166627 5 2 IMA I2MEND XI +20527 010000 5 2 STA 0 +20530 023637 5 2 CAS (1777) +20531 021557 5 2 JST RQSUB +20532 101000 5 2 NOP /NOTHING THERE OR JUST A DUMMY +20533 073546 5 2 LDX SENR +20534 064627 5 2 IRS I2MEND X +20535 064634 5 2 IRS I2MNXT X +20536 003523 5 2 JMP NACKL +20537 005640 5 2 LDA (JMP+0+1000+M2I0"A"777) +20540 111641 5 2 STA (M2IOK 0 XI) I +20541 000401 5 2 ENB T.O +20542 103464 5 JMP JSRT I + + LEV VAR +20543 V SATGCI: SATDEF [0 0 JSRT I] +02264 020543 V +02314 120464 V +02344 120464 V +20544 V VDHNO: BSS 1 /0 FOR NO VDH, ELSE M.N-5 +20545 V MODNO: BSS 1 /0=5 MODS, -1=4 MODS, -2=3 MODS +20546 V SENR: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 169 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O LCK I2M +20547 000000 5 2 JSRTS: 0 +20550 015546 5 2 ADD SENR +20551 011573 5 2 STA JSRTQ +20552 073573 5 2 JSRTS1: LDX JSRTQ +20553 121642 5 2 JST (GETQ) I +20554 103547 5 2 JMP JSRTS I +20555 021557 5 2 JST RQSUB +20556 003552 5 2 JMP JSRTS1 + +20557 000000 5 2 RQSUB: 0 +20560 132402 5 2 STX ERQ I +20561 032402 5 2 STX ERQ +20562 024564 5 2 IRS NSFS /TASK WILL FLUSH IF DEST WENT DEAD +20563 044002 5 2 LDA PTRT X +20564 101040 5 2 SNZ +20565 103557 5 2 JMP RQSUB I +20566 010000 5 2 STA 0 +20567 005643 5 2 LDA (140000) +20570 052012 5 2 ERA TDONE X +20571 050012 5 2 STA TDONE X +20572 103557 5 2 JMP RQSUB I + LEV VAR +20573 V JSRTQ: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 170 IMP,3050,IMP 7:20 PM 9/16/1973 + +20574 177747 C LEV CON CONSTANTS +20575 045565 C +20576 101006 C +20577 052620 C +20600 020276 C +20601 051353 C +20602 051361 C +20603 022273 C +20604 022303 C +20605 004601 C +20606 027263 C +20607 027264 C +20610 021561 C +20611 177775 C +20612 022320 C +20613 032261 C +20614 015155 C +20615 151360 C +20616 000020 C +20617 167274 C +20620 177716 C +20621 012604 C +20622 053137 C +20623 013106 C +20624 062303 C +20625 050254 C +20626 011133 C +20627 026120 C +20630 177767 C +20631 005153 C +20632 000317 C +20633 000312 C +20634 000377 C +20635 052660 C +20636 177770 C +20637 001777 C +20640 003231 C +20641 150247 C +20642 015504 C +20643 140000 C +02427 175651 C PAGEND 20,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 171 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O LCK ALL + /SLOW TIMEOUT JOBS +21075 021460 5 0 JOBS: JST IHTC RET T.O /ATTEMPT TO RESTART HOST T +21076 021362 5 JST DEDH /ESTABLISH HOST UP/DOWN STATUS +21077 021432 5 JST JED /COMPUTE EFFECTIVE DELAY +21100 121672 5 JST (RUTCLK) I + /THESE FIRST FOUR SHOULD PRECEDE THE ROUTING COMPUTATION +21101 121673 5 JST (RUTOUT) I /COMPUTE ROUTING +21102 021564 5 JST HTEST /OCP INTERFACES IF NECESSARY +21103 021640 5 JST HPOKE /TEST HOST INTERFACE +21104 021134 5 JST DEDI /DEAD IMP CLEANUP - AFTER ROUTING C +21105 021500 5 JST JUQC /ADJUST QUEUE COUNTERS +21106 000401 5 ENB T.O +21107 021526 5 JST MESSTO /TIMEOUT INCOMPLETE MESSAGE NUMBERS +21110 073674 5 LDX (0 0 -ADDBOT-1+ADDTOP) /CHECK ADD CH: +21111 005675 5 LDA (ADD BUFE+4 X) /BASIC INSTRUCTION +21112 123676 5 ADDCH1: CAS (ADDBOT+1 X) I +21113 100000 5 SKP /BAD +21114 100000 5 SKP /GOOD + RELOAD [ADD CHAIN BROKEN] +21115 120061 5 JST SWDTIL I /BAD, GO RELOAD +21116 016114 5 SUB ONE /MODIFY INSTR IN A +21117 024000 5 IRS 0 +21120 003112 5 JMP ADDCH1 +21121 005677 5 LDA (JMP ADDRET I) /CHECK RETURN INSTR +21122 113676 5 ERA (ADDBOT+1 X) I +21123 100040 5 SZE + RELOAD [ADD CHAIN RETURN BROKEN] +21124 120061 5 JST SWDTIL I /BAD, GO RELOAD +21125 010452 5 STA LUUP /BLINK LOOPED LIGHT +21126 101000 5 VDH3: NOP /VDH TIMEOUT CALL +21127 001001 5 INH ALL +21130 024416 5 0 IRS TIMES /COUNT TIME IN SLOW TICKS +21131 024503 5 0 IRS WDTIME /CHECK SOFTWARE W.D.T. +21132 103700 5 0 JMP (JOBF1) I /NOW DO FAST STUFF. + RELOAD [SOFTWARE WDT FIRED] +21133 120061 5 0 JST SWDTIL I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 172 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +21134 000000 5 DEDI: 0 /TIMEOUT COMES HERE TO CLEAN UP +21135 005701 5 LDA (TMESS) +21136 011356 5 STA DMSTAB +21137 072113 5 LDX ZERO +21140 033355 5 IMPD: STX DEDIMP /NO OF IMP WHICH DIED +21141 044165 5 LDA RUT X +21142 101400 5 SMI 0"A"RUTDED /IS THIS IMP DEAD? +21143 003274 5 JMP IMPD7 /NO, GO ON TO NEXT ONE +21144 073356 5 LDX DMSTAB /FIRST CLEAN UP TRANSMIT SIDE +21145 001001 5 INH ALL +21146 044000 5 0 LDA 0 X +21147 007702 5 0 ANA (MESBTS) +21150 013702 5 0 ERA (MESBTS) +21151 101040 5 0 SNZ /ARE THERE ANY OUTSTANDING MESSAGE +21152 003232 5 0 JMP IMPD2A /NO, GO ON TO CLEAN UP OTHER THINGS +21153 004124 5 0 LDA MINUS4 +21154 011357 5 0 STA DEDTRY /LOOK AT 4 POSSIBLE MESS FOR DEAD 1 +21155 044000 5 0 LDA 0 X +21156 017703 5 0 SUB (0 0 3"T"400) 0"A"MESSNO +21157 050000 5 0 STA 0 X /ROLL BACK 4 MESS NOS +21160 100100 5 0 IMPD0: SLZ /IS THIS MESS NO WAITING FOR REPLY? +21161 003226 5 0 JMP IMPD2 /NO +21162 141044 5 0 CAR 0"A"MESSNO /YES, SO LOOK FOR IT +21163 013355 5 0 ERA DEDIMP +21164 121704 5 0 JST (PPTGET) I +21165 003203 5 0 JMP IMPD1 /NOT IN PPT +21166 010000 5 0 STA 0 /GOT IT IN PPT +21167 140040 5 0 CRA +21170 066000 5 0 IMA PPT0 X +21171 140100 5 0 SSP 0"A"RETRAN +21172 010000 5 0 STA 0 +21173 120671 5 0 JST FLUSHI I /IF ON 2 QUEUES, RQSUB WILL FLUSH +21174 044010 5 0 LDA HEAD3 X +21175 141044 5 0 CAR 0"A"CIMPD +21176 010515 5 0 STA TWDP +21177 044007 5 0 LDA HEAD2 X +21200 121705 5 0 JST (HOSTNO) I +21201 044006 5 0 LDA HEAD1 X +21202 003221 5 0 JMP IMPDP +21203 105356 5 0 IMPD1: LDA DMSTAB I +21204 141044 5 0 CAR 0"A"MESSNO +21205 013355 5 0 ERA DEDIMP +21206 121706 5 0 JST (PLTGET) I +21207 003226 5 0 JMP IMPD2 /MUST HAVE BEEN A GIVE BACK +21210 010000 5 0 STA 0 +21211 140040 5 0 CRA +21212 066000 5 0 IMA PLT0 X /CLEAR PLT ENTRY +21213 006120 5 0 ANA SEVEN +21214 011361 5 0 STA IMPDLH +21215 044030 5 0 LDA PLT2 X +21216 141044 5 0 CAR 0"A"CIMPD +21217 010515 5 0 STA TWDP +21220 044014 5 0 LDA PLT1 X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 173 IMP,3050,IMP 7:20 PM 9/16/1973 + +21221 007707 5 0 IMPDP: ANA (0 0 177777"X"LSTPKT"X"HICODE) +21222 013710 5 0 ERA (CDESTD) /RETURN A DEST IMP DEAD +21223 073361 5 0 LDX IMPDLH +21224 120670 5 0 JST OWP I +21225 101000 5 0 NOP +21226 073356 5 0 IMPD2: LDX DMSTAB +21227 121711 5 0 JST (UPMESS) I +21230 025357 5 0 IRS DEDTRY +21231 003160 5 0 JMP IMPD0 +21232 005355 5 0 IMPD2A: LDA DEDIMP +21233 121712 5 0 JST (TALLYG) I /FLUSH ALL ALLOCATES FROM HIM +21234 100000 5 0 SKP +21235 003232 5 0 JMP IMPD2A +21236 073713 5 0 LDX (SHRQ) /NOW CLEAN UP RECEIVE SIDE +21237 044000 5 0 IMPD3: LDA 0 X /GET ALL REAS BLOCKS BACK +21240 101040 5 0 SNZ +21241 003244 5 0 JMP IMPD3A +21242 021303 5 0 JST DREAS +21243 003237 5 0 JMP IMPD3 +21244 073714 5 0 IMPD3A: LDX (MESSTK) /GET ALL MESSTK ENTRIES BACK +21245 044000 5 0 IMPD4: LDA 0 X +21246 101040 5 0 SNZ +21247 003271 5 0 JMP IMPD6 /END OF MESSTK +21250 100400 5 0 SPL /REAS BLOCK? +21251 003267 5 0 JMP IMPD5 /YES +21252 033360 5 0 STX DTEND +21253 010000 5 0 STA 0 +21254 044007 5 0 LDA HEAD2 X +21255 013355 5 0 ERA DEDIMP +21256 007715 5 0 ANA (SRCEI) +21257 100040 5 0 SZE /FROM DEAD IMP? +21260 003245 5 0 JMP IMPD4 /NO +21261 044000 5 0 LDA 0 X /YES, REMOVE FROM MESSTK +21262 111360 5 0 STA DTEND I +21263 120671 5 0 JST FLUSHI I /AND FREE BUFFER +21264 024565 5 0 IRS NRES /ADJUST REAS COUNT +21265 073360 5 0 LDX DTEND +21266 003245 5 0 JMP IMPD4 +21267 021303 5 0 IMPD5: JST DREAS +21270 003245 5 0 JMP IMPD4 +21271 073355 5 0 IMPD6: LDX DEDIMP +21272 121716 5 0 JST (MESINI) I +21273 000401 5 0 ENB T.O +21274 024000 5 IMPD7: IRS 0 +21275 025356 5 IRS DMSTAB +21276 004000 5 LDA 0 +21277 014132 5 ADD MINIMP +21300 100400 5 SPL /HAVE WE DONE ALL IMPS YET? +21301 003140 5 JMP IMPD /NOT YET, CYCLE BACK +21302 103134 5 JMP DEDI I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 174 IMP,3050,IMP 7:20 PM 9/16/1973 + + LCK ALL +21303 000000 5 0 DREAS: 0 /TRY TO FREE A REAS BLOCK +21304 140100 5 0 SSP +21305 033360 5 0 STX DTEND +21306 010000 5 0 STA 0 +21307 044001 5 0 LDA RID X +21310 013355 5 0 ERA DEDIMP +21311 007715 5 0 ANA (SRCEI) +21312 100040 5 0 SZE /FROM DEAD IMP? +21313 103303 5 0 JMP DREAS I /NO +21314 044000 5 0 LDA 0 X /YES, REMOVE FROM MESSTK OR SHRQ +21315 111360 5 0 STA DTEND I +21316 021321 5 0 JST REASF /FREE REAS BLOCK AND PKTS +21317 073360 5 0 LDX DTEND +21320 103303 5 0 JMP DREAS I + +21321 000000 5 0 REASF: 0 /FREE REAS BLOCK AND ANY PKTS +21322 004000 5 0 LDA 0 +21323 026326 5 0 IMA RASF +21324 110326 5 0 STA RASF I /RETURN REAS BLOCK TO REAS FREE LIS +21325 005717 5 0 LDA (-8) 0"A"8PKTS +21326 011353 5 0 STA INCN +21327 140040 5 0 CRA +21330 050013 5 0 STA RSF X +21331 044002 5 0 LDA RMAX X +21332 100400 5 0 SPL /DID WE GET LAST PKT? +21333 004120 5 0 LDA SEVEN 0"A"8PKTS /NO +21334 141206 5 0 AOA +21335 014565 5 0 ADD NRES +21336 010565 5 0 STA NRES /ADJUST REAS COUNT +21337 140040 5 0 INCFRE: CRA +21340 066003 5 0 IMA REAS X +21341 101040 5 0 SNZ /DID WE GET THIS PKT? +21342 003347 5 0 JMP INCNXT /NO +21343 033354 5 0 STX INCX +21344 010000 5 0 STA 0 /YES, SO FREE IT +21345 120671 5 0 JST FLUSHI I +21346 073354 5 0 LDX INCX +21347 024000 5 0 INCNXT: IRS 0 +21350 025353 5 0 IRS INCN +21351 003337 5 0 JMP INCFRE +21352 103321 5 0 JMP REASF I + + LEV VAR +21353 V INCN: BSS 1 +21354 V INCX: BSS 1 +21355 V DEDIMP: BSS 1 /NO OF A DEAD IMP +21356 V DMSTAB: BSS 1 /PNTR TO HIS TMESS TABLE +21357 V DEDTRY: BSS 1 +21360 V DTEND: BSS 1 /TEMP Q PNTR +21361 V IMPDLH: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 175 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +21362 000000 5 DEDH: 0 /TEST FOR DEAD HOSTS +21363 004131 5 LDA MITH +21364 011430 5 STA DHC +21365 072113 5 LDX ZERO +21366 045662 5 TDH1: LDA SKST X +21367 011372 5 STA TDH4 +21370 001001 5 INH [I2H,H2I] +21371 044504 5 3 LDA HIHD X +21372 5 3 TDH4: BSS 1 +21373 015720 5 3 ADD (TDHDN-0-TDHUP) /READY LINE DOWN +21374 015721 5 3 ADD (JMP TDHUP 0 I) /READY LINE DOWN +21375 011376 5 3 STA .+1 +21376 5 3 BSS 1 + +21377 021423 5 3 TDHUP: TDH5 /STEADY-STATE UP +21400 021423 5 3 TDH5 /READY LINE UP, HOST GOING DOWN +21401 021423 5 3 TDH5 /READY LINE UP, HOST TARDY +21402 021411 5 3 TDH3 /READY LINE JUST WENT UP, WAS DOWN +21403 021423 5 3 TDH5 /IGNORE HOST IF IMP NOT UP + +21404 021421 5 3 TDHDN: TDH2 /READY LINE JUST WENT DOWN, WAS UP +21405 021423 5 3 TDH5 /READY LINE DOWN, HOST GOING DOWN +21406 021421 5 3 TDH2 /READY LINE JUST WENT DOWN, WAS T: +21407 021423 5 3 TDH5 /STEADY-STATE DOWN +21410 021423 5 3 TDH5 /IGNORE HOST IF IMP NOT UR + +21411 140040 5 3 TDH3: CRA +21412 050504 5 3 STA HIHD X +21413 104700 5 3 LDA IHXX I /NOW TRULY UP +21414 101040 5 3 SNZ /IS THERE AN OUTPUT IN PROGESS? +21415 003423 5 3 JMP TDH5 /NO +21416 004107 5 3 LDA M30SEC /YES - MOST LIKELY A NOP +21417 111722 5 3 STA (IHTT 0 X) I /GIVE FULL 30 SECS +21420 003423 5 3 JMP TDH5 + +21421 005723 5 3 TDH2: LDA (IHWAIT) /HOST WENT DOWN, DO NOT DROP IMP RE +21422 121724 5 3 JST (IHST) I RET T.O / CLEAR OUT HIS QUEUES +21423 000401 5 TDH5: ENB T.O +21424 024000 5 IRS 0 +21425 025430 5 IRS DHC +21426 003366 5 JMP TDH1 +21427 103362 5 JMP DEDH I + + LEV VAR +21430 V DHC: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 176 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR +21431 000000 V HLRCVD: 0 /= OF CORRECT RESPONSES + + /* COMPUTE OUR EFFECTIVE CHANNEL DELAY + / S= 20L + (100+S) E/T WHERE T=20 + /S' = [(L+5)(256/(20-E))-64] + LEV T.O +21432 000000 5 JED: 0 +21433 072127 5 LDX MICH +21434 001001 5 ED1: INH I2M +21435 004116 5 2 LDA THREE +21436 111455 5 2 STA PCED I +21437 005717 5 2 LDA (-NACH) +21440 011457 5 2 STA JEDC +21441 044627 5 2 LDA I2MTAB+CH X +21442 011456 5 2 STA JEDP +21443 105456 5 2 JEDL: LDA JEDP I +21444 100040 5 2 SZE +21445 125455 5 2 IRS PCED I +21446 025456 5 2 IRS JEDP +21447 025457 5 2 IRS JEDC +21450 003443 5 2 JMP JEDL +21451 000401 5 2 ENB T.O +21452 024000 5 IRS 0 +21453 003434 5 JMP ED1 +21454 103432 5 JMP JED I + LEV CON +21455 066505 C PCED: CED+CH X + LEV VAR +21456 V JEDP: BSS 1 +21457 V JEDC: BSS 1 + + LEV T.O +21460 000000 5 IHTC: 0 /TIME OUT CHECK ROUTINE +21461 004131 5 LDA MITH +21462 011477 5 STA IHTK +21463 072113 5 LDX ZERO /ATTEMPT TO WAKE UP ALL IMP-TO-HOST +21464 125722 5 IHTY: IRS (IHTT 0 X) I /TIME TO WAKE HIM YET? +21465 003473 5 JMP IHTZ /NO +21466 001001 5 INH SIN /YES, SOFTWARE INTERRUPT IMP-TO-HOS +21467 000013 5 0 EXA +21470 121725 5 0 JST (IHSB) I RET T.O +21471 001001 5 INH ALL +21472 120672 5 0 JST DODXA I RET T.O +21473 024000 5 IHTZ: IRS 0 +21474 025477 5 IRS IHTK +21475 003464 5 JMP IHTY +21476 103460 5 JMP IHTC I + LEV VAR +21477 V IHTK: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 177 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV T.O +21500 000000 5 JUQC: 0 +21501 073726 5 LDX (-COUNTL) +21502 001001 5 QC1: INH ALL +21503 044543 5 0 LDA COUNTA+COUNTL X +21504 056567 5 0 SUB COUNTS+COUNTL X +21505 101400 5 0 SMI /NEGATIVE +21506 003513 5 0 JMP QC2 /NO + DEFHLT [QUEUE COUNTER WENT NEGATIVE] +21507 021510 5 0 JST CNTHLT +21510 000000 5 0 CNTHLT: 0 +21511 120745 5 0 JST HLTNCC I +21512 140040 5 0 CRA /RESET COUNT TOT ZERO +21513 050543 5 0 QC2: STA COUNTA+COUNTL X +21514 140040 5 0 CRA +21515 050567 5 0 STA COUNTS+COUNTL X +21516 000401 5 0 ENB T.O +21517 024000 5 IRS 0 +21520 003502 5 JMP QC1 +21521 001001 5 INH ALL +21522 125727 5 0 IRS (SNTALL) I /ARE WE ALLOCATE-IDLE? +21523 103500 5 0 JMP JUQC I /NO +21524 010542 5 0 STA NALA /YES, FREE UP ALLOCATE STORE +21525 103500 5 0 JMP JUQC I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 178 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +21526 000000 5 MESSTO: 0 /TIMEOUT MESS NO IN 34-51 SECS +21527 025561 5 IRS MESST /TIME TO LOOK YET? +21530 103526 5 JMP MESSTO I /NO +21531 072132 5 LDX MINIMP +21532 001001 5 MESST1: INH H2I +21533 105730 5 4 LDA (TMESS+NIMP 0 X) I +21534 007702 5 4 ANA (MESBTS) +21535 013702 5 4 ERA (MESBTS) +21536 101040 5 4 SNZ /ANY MESSAGES OUTSTANDING? +21537 003550 5 4 JMP MESST2 /NOTHING TO TIME OUT +21540 105730 5 4 LDA (TMESS+NIMP 0 X) I +21541 007731 5 4 ANA (MSTO1 0 MSTO2) +21542 013731 5 4 ERA (MSTO1 0 MSTO2) +21543 101040 5 4 SNZ +21544 003550 5 4 JMP MESST2 /ALREADY TIMED OUT +21545 005732 5 4 LDA (MSTO1) +21546 115730 5 4 ADD (TMESS+NIMP 0 X) I +21547 111730 5 4 STA (TMESS+NIMP 0 X) I +21550 000401 5 4 MESST2: ENB T.O +21551 024000 5 IRS 0 +21552 003532 5 JMP MESST1 +21553 004107 5 LDA M30SEC /17 SECS +21554 040575 5 ARS 3 +21555 014107 5 ADD M30SEC +21556 040577 5 ARS 1 +21557 011561 5 STA MESST /BETWEEN LOOKS +21560 103526 5 JMP MESSTO I + + LEV VAR +21561 V MESST: BSS 1 +21562 V HTOLD: BSS 1 +21563 V HTINTF: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 179 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +21564 000000 5 HTEST: 0 +21565 101000 5 HTMIN: NOP +21566 005733 5 LDA (NOP) /RESET MXIN/NOP INSTRUCTION +21567 011565 5 STA HTMIN +21570 004141 5 LDA HTPAR +21571 013562 5 ERA HTOLD +21572 101040 5 SNZ +21573 103564 5 JMP HTEST I /NO CHANGE, NOTHING TO DO +21574 004141 5 LDA HTPAR +21575 006120 5 ANA SEVEN /GET FUNCTION +21576 101040 5 SNZ +21577 003626 5 JMP HTX /FUNCTION ZERO?! +21600 010000 5 STA 0 +21601 004141 5 LDA HTPAR +21602 040575 5 ARS 3 /GET INTERFACE +21603 006752 5 ANA C77 +21604 011563 5 STA HTINTF +21605 055630 5 ADD HTTAB-1 X +21606 011624 5 STA HT5 /CORRECT OCP +21607 004000 5 LDA 0 +21610 022116 5 CAS THREE +21611 003624 5 JMP HT5 /HOST FUNCTION...DO IT +21612 100000 5 SKP /MODEM UNPATCH...MORE TO DO +21613 003621 5 JMP HT1 /MODEM OTHER...SET UP IN +21614 073563 5 LDX HTINTF +21615 001001 5 INH I2M +21616 044437 5 2 LDA NONE-1 X /MODEM BUSY? +21617 100040 5 2 SZE +21620 103564 5 2 JMP HTEST I /YES, COME AGAIN +21621 005563 5 2 HT1: LDA HTINTF /SET UP IN FOR NEXT T.O. TO DO +21622 015734 5 2 ADD (M1IN-1) +21623 011565 5 2 STA HTMIN +21624 5 2 HT5: BSS 1 +21625 000401 5 2 ENB T.O +21626 004141 5 HTX: LDA HTPAR /RESET HTOLD +21627 011562 5 STA HTOLD +21630 103564 5 JMP HTEST I + + LEV CON + /HTPAR HAS VALUE DDF - DEVICE IS DD AND FUNCTION IS F + /D=1,2,3,4,5 FOR MODEMS 1,2,3,4,5 (F=1,2,OR 3) + /D=70,60,50,51 FOR HOSTS 1,2,3,4 (F=4,5,OR 6) +21631 030270 C HTTAB: M1LXP-1 /1 - LINE CROSSPATCH +21632 030370 C M1IXP-1 /2 - INTERFACE CROSSPATCH +21633 030170 C M1UNXP-1 /3 - UNPATCH (RESTORE) +21634 030300 C H1XP-70 /4 - CROSSPATCH HOST INTERFACE +21635 030500 C H1ENAB-70 /5 - ENABLE NORMAL HOST TRAFFIC +21636 030400 C H1UNXP-70 /6 - UNPATCH (CLEAR) HOST INTERFACE +21637 101000 C NOP /7 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 180 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +21640 000000 5 HPOKE: 0 /TEST HOST INTERFACE +21641 001001 5 INH FRE +21642 004142 5 0 LDA HLNM /TESTER TURNED ON? +21643 100400 5 0 SPL +21644 003656 5 0 JMP HPOKE2 /OFF +21645 010000 5 0 STA 0 +21646 044332 5 0 LDA SHWQ X /ROOM FOR ANOTHER TEST PROD? +21647 100040 5 0 SZE +21650 003656 5 0 JMP HPOKE2 /NO +21651 004143 5 0 LDA HL2WD +21652 010515 5 0 STA TWDP +21653 005735 5 0 LDA (CNOP) +21654 120670 5 0 JST OWP I +21655 025660 5 0 IRS HLSNT /COUNT ANOTHER POKE +21656 000401 5 0 HPOKE2: ENB T.O +21657 103640 5 JMP HPOKE I + LEV VAR +21660 V HLSNT: BSS 1 + LEV CON +21661 037454 C VDH3.: VD.TO + +21662 070170 C SKST: H1RDY +21663 070160 C H2RDY +21664 C TIPSKP: TIPDEF H3RDY, NOP +02265 021664 C +02315 070150 C +02345 101000 C +21665 070151 C H4RDY +21666 100000 C SKP +21667 100000 C SKP +21670 100000 C SKP +21671 100000 C SKP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 181 IMP,3050,IMP 7:20 PM 9/16/1973 + +21672 027112 C LEV CON CONSTANTS +21673 026512 C +21674 177666 C +21675 054115 C +21676 041557 C +21677 102111 C +21700 020164 C +21701 032271 C +21702 000017 C +21703 001400 C +21704 015033 C +21705 007244 C +21706 015205 C +21707 070377 C +21710 003400 C +21711 015347 C +21712 015114 C +21713 000340 C +21714 000327 C +21715 000077 C +21716 002374 C +21717 177770 C +21720 000005 C +21721 103377 C +21722 056306 C +21723 016341 C +21724 016273 C +21725 016042 C +21726 177754 C +21727 004161 C +21730 072371 C +21731 000300 C +21732 000100 C +21733 101000 C +21734 030470 C +21735 002000 C +02430 176745 C PAGEND 21,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 182 IMP,3050,IMP 7:20 PM 9/16/1973 + + + + LEV BCK + /TROUBLE REPORTS TO NCC AT HOST 0 AT BBN +22057 005524 7 TRBL: LDA (301) /*SEND TRBL REPT CODE +22060 011301 7 STA NTRCKS /INIT THE CHECKSUM COUNTER +22061 121525 7 JST (GIVE) I +22062 073526 7 LDX (-NH) +22063 001001 7 INH ALL /USING B REG - MUST LOCK INTERRUPT' +22064 044510 7 0 NTR6: LDA HIHD+NH X +22065 100040 7 0 SZE +22066 004112 7 0 LDA SIGN +22067 140024 7 0 CHS +22070 041277 7 0 LLR 1 +22071 024000 7 0 IRS 0 +22072 003064 7 0 JMP NTR6 +22073 040274 7 0 LRR NH +22074 013272 7 0 ERA SWS /*SEND ANOMALY WORD - HOSTS + SWIT ] +22075 021310 7 0 JST NTGIVE RET BCK +22076 127527 7 IMA (RSFNCC) I /*SEND RESTART-RELOAD INDICATOR +22077 021310 7 JST NTGIVE +22100 026746 7 IMA HLTLOC /*SEND HALT PC REG +22101 021310 7 JST NTGIVE +22102 004747 7 LDA HLTA /*SEND HALT A REG +22103 021310 7 JST NTGIVE +22104 004750 7 LDA HLTX /*SEND HALT X REG +22105 021310 7 JST NTGIVE +22106 072124 7 LDX MINUS4 /*SEND COUNTS FOR +22107 001001 7 NTR7: INH ALL /FREE, REAS, S+F, AND ALLOCATE +22110 044543 7 0 LDA NFA+4 X +22111 056567 7 0 SUB NFS+4 X +22112 021310 7 0 JST NTGIVE RET BCK +22113 024000 7 IRS 0 +22114 003107 7 JMP NTR7 +22115 004105 7 LDA VERS /*SEND IMP VERSION NO +22116 021310 7 JST NTGIVE +22117 105530 7 LDA (HOST34) I /*SEND HOST34 CONFIGURATOR WORD +22120 021310 7 JST NTGIVE +22121 000013 7 EXA +22122 105531 7 LDA (TIPVER) I /*SEND TIP VERSION NO +22123 001001 7 INH [ALL] +22124 120672 7 0 JST DODXA I RET BCK +22125 021310 7 JST NTGIVE +22126 004142 7 LDA HLNM /*SEND NO OF HOST INTERFACE BEING T +22127 021310 7 JST NTGIVE +22130 127532 7 IMA (HLSNT) I /*SEND TEST MESS SENT COUNT +22131 021310 7 JST NTGIVE +22132 127533 7 IMA (HLRCVD) I /*SEND TEST MESS RECVD COUNT +22133 021310 7 JST NTGIVE +22134 011277 7 STA NTRTM1 /ZERO LINE-SPEEDS WORD +22135 072127 7 LDX MICH /TAKE A SNAPSHOT OF LINE ERRORS +22136 001001 7 NTR1: INH [T.O,TSK] /A=0 NOW + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 183 IMP,3050,IMP 7:20 PM 9/16/1973 + +22137 140040 7 5 CRA +22140 127534 7 5 IMA (RTRCVD+CH 0 X) I +22141 057310 7 5 SUB RTSSNT+CH X /SUBTRACT ROUTING MESS E , +22142 140407 7 5 TCA /COMPUTE NO OF ROUTING MESS MISSED +22143 100400 7 5 SPL +22144 140040 7 5 CRA /MUST BE A POSITIVE NUMBER +22145 023535 7 5 CAS (377) +22146 005535 7 5 LDA (377) +22147 101000 7 5 NOP +22150 011302 7 5 STA E321 /SAVE AS ERROR COUNT FOR THIS LINE +22151 004121 7 5 LDA MINUS1 +22152 067310 7 5 IMA RTSSNT+CH X /*SEND NO OF ROUTING MEI +22153 023535 7 5 CAS (377) +22154 005535 7 5 LDA (377) +22155 101000 7 5 NOP +22156 021310 7 5 JST NTGIVE RET BCK +22157 044440 7 LDA LINE+CH X /NOW ERROR+THROUGHPUT COUNTS FOR EAT +22160 100040 7 SZE +22161 005536 7 LDA (200) +22162 052165 7 ERA NEIGHB+CH X /PICK UP NEIGHBOR IMP NUMT +22163 022106 7 CAS MINE /IS LINE LOOPED? +22164 100000 7 SKP /NO +22165 012753 7 ERA C100 /YES, PUT IN LOOPED BIT +22166 141340 7 ICA +22167 013302 7 ERA E321 /*SEND NO OF ROUTING MESS MISSED +22170 021310 7 JST NTGIVE +22171 105537 7 LDA (RMFLG+CH X) I /GET LINE SPEED BITS +22172 141340 7 ICA +22173 006116 7 ANA THREE 0"A"SPDTYP +22174 013277 7 ERA NTRTM1 +22175 041676 7 ALR 2 +22176 011277 7 STA NTRTM1 +22177 024000 7 IRS 0 +22200 003136 7 JMP NTR1 +22201 041674 7 ALR 4 /LEFT ADJUST +22202 021310 7 JST NTGIVE /*SEND LINE SPEEDS +22203 072123 7 LDX MINUS3 +22204 105540 7 LDA (37777 0 X) I /*SEND TRAP INFO (P, A, X +22205 021310 7 JST NTGIVE +22206 024000 7 IRS 0 +22207 003204 7 JMP .-3 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 184 IMP,3050,IMP 7:20 PM 9/16/1973 + +22210 027301 7 IMA NTRCKS /A=0 NOW +22211 140407 7 TCA +22212 121525 7 JST (GIVE) I /*SEND CHECKSUM +22213 140040 7 CRA +22214 027276 7 IMA TRBSTF /FIRED BY SYNC OR SWCH? +22215 100040 7 SZE +22216 103541 7 JMP (GIVLST) I /*SEND PADDING--FIRED BY SWCH +22217 073542 7 LDX (100003) /END OUR OWN MESSAGE +22220 004112 7 LDA SIGN +22221 120664 7 JST JAM I /*PADDING AND END OF MESSAGE +22222 105543 7 LDA (TRBD) I /*NCC DEST +22223 121525 7 JST (GIVE) I +22224 105544 7 LDA (TRBD+0+TLNK-TDST) I /*NCC LINK +22225 121525 7 JST (GIVE) I +22226 005545 7 LDA (302) /*STAT MESSAGE CODE +22227 021310 7 JST NTGIVE +22230 072127 7 LDX MICH /SEND LINE STATS +22231 127546 7 NTR8: IMA (THRUPT+CH X) I +22232 021310 7 JST NTGIVE /*PACKET THRUPUT +22233 127547 7 IMA (THRUPW+CH X) I +22234 021310 7 JST NTGIVE /*WORD THRUPUT +22235 024000 7 IRS 0 +22236 003231 7 JMP NTR8 +22237 073526 7 LDX (-NH) /NOW HOST THROUGHPUTS FOR EACH HO1' +22240 005550 7 NTR5: LDA (-10.) /AND FOR EACH OF 10 FLAVORS +22241 011277 7 STA NTRTM1 +22242 005551 7 LDA (NTRTAB 0 I) +22243 011300 7 STA NTRTM2 +22244 140040 7 NTR4: CRA +22245 127300 7 IMA NTRTM2 I /*SEND HOST THROUGHPUT COUNT +22246 021310 7 JST NTGIVE +22247 025300 7 IRS NTRTM2 +22250 025277 7 IRS NTRTM1 +22251 003244 7 JMP NTR4 +22252 024000 7 IRS 0 +22253 003240 7 JMP NTR5 +22254 027301 7 IMA NTRCKS /A=0 NOW +22255 140407 7 TCA +22256 121525 7 JST (GIVE) I /*SEND CKSUM +22257 103541 7 JMP (GIVLST) I /*SEND PADDING + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 185 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON + +22260 073563 C NTRTAB: HTPMTN+NH X +22261 073567 C HTPMFN+NH X +22262 073573 C HTPPTN+NH X +22263 073577 C HTPPFN+NH X +22264 073603 C NTRT1: HTPMTL+NH X +22265 073607 C NTRT3: HTPMFL+NH X +22266 073613 C NTRT2: HTPPTL+NH X +22267 073617 C NTRT4: HTPPFL+NH X +22270 073623 C HTPWTI+NH X +22271 073627 C HTPWFI+NH X + + LEV VAR +22272 V SWS: BSS 1 /ANOMALIES +22273 V HLNMS: BSS 1 +22274 V SWCHTM: BSS 1 +22275 003014 V HERSAV: JMP 0 1000 777"A"HITEST +22276 V TRBSTF: BSS 1 +22277 V NTRTM1: BSS 1 +22300 V NTRTM2: BSS 1 +22301 V NTRCKS: BSS 1 /CHECKSUM FOR TROUBLE REPT +22302 V E321: BSS 1 /NO OF ERRORS ON EACH LINE +22303 V RTSSNT: BSS CH /NO OF HELLO'S SENT + + LEV BCK +22310 000000 7 NTGIVE: 0 /BUILD CHECKSUM +22311 000401 7 ENB BCK +22312 027301 7 IMA NTRCKS +22313 015301 7 ADD NTRCKS +22314 027301 7 IMA NTRCKS +22315 121525 7 JST (GIVE) I /AND GIVE A WORD TO IMP VIA JAM +22316 140040 7 CRA +22317 103310 7 JMP NTGIVE I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 186 IMP,3050,IMP 7:20 PM 9/16/1973 + + /BITS IN SWS (TROUBLE REPORT ANOMALIES): + / 100000 - HOST 0 UP (NOT KEPT IN SWS) + / 40000 - HOST 1 UP (NOT KEPT IN SWS) + / 20000 - HOST 2 UP (NOT KEPT IN SWS) + / 10000 - HOST 3 UP (NOT KEPT IN SWS) + / 4000 - VDH SOFTWARE IS UP + / 2000 - M.GENERATOR IS ON + / 1000 - STATISTICS IS ON + / 400 - SNAPSHOT IS ON + / 200 - TRACE IS ON + / 100 - MEM PROTECT IS OFF + / 40 - SPARE + / 20 - OVERRIDE IS ON + / 10 - SS 1 IS ON + / 4 - SS 2 IS ON + / 2 - SS 3 IS ON + / 1 - SS 4 IS ON + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 187 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV T.O +22320 000000 5 SWCH: 0 /SET UP SWITCH SETTINGS FOR TROUBLE +22321 005552 5 LDA (4000) /SET UP FREQ FOR NCC TRBL REPTS +22322 111553 5 STA (TRBF) I /DEST IS SET IN BACK +22323 072121 5 LDX MINUS1 +22324 105527 5 LDA (RSFNCC) I +22325 101040 5 SNZ +22326 105554 5 LDA (HLTLOC) I +22327 100040 5 SZE /IF RSFLAG OR HLTLOC NON-ZERO +22330 033272 5 STX SWS /FIRE OFF A TRBL REPT NOW +22331 004142 5 LDA HLNM +22332 027273 5 IMA HLNMS +22333 023273 5 CAS HLNMS +22334 100000 5 SKP /CHANGE IN HOST TEST STATUS? +22335 003345 5 JMP SWCH0 /NO +22336 033272 5 STX SWS +22337 010000 5 STA 0 /RICK HOST NO GOING OFF +22340 005275 5 LDA HERSAV +22341 127555 5 IMA (HER 0 X) I /INTERCHANGE PATCH REGIST +22342 072142 5 LDX HLNM /PICK HOST NO COMING ON +22343 127555 5 IMA (HER 0 X) I +22344 011275 5 STA HERSAV 0"A"HER0 +22345 004753 5 SWCH0: LDA C100 +22346 111556 5 STA (1777) I /ATTEMPT TO CHANGE WORD ON PROT P: +22347 140040 5 CRA +22350 127556 5 IMA (1777) I /IF SUCCESSFUL, PUT IN MP OFF BIT +22351 012473 5 ERA OVRDF /OVRDF=20 IF ON, =0 IF OFF +22352 100020 5 SR1 +22353 012751 5 ERA TEN +22354 100010 5 SR2 +22355 012117 5 ERA FOUR +22356 100004 5 SR3 +22357 012115 5 ERA TWO +22360 100002 5 SR4 +22361 012114 5 ERA ONE +22362 072124 5 LDX MINUS4 +22363 011274 5 SWCH4: STA SWCHTM +22364 105557 5 LDA (PARAMT+4 X) I +22365 100040 5 SZE +22366 105560 5 LDA (SWCHB+4 X) I /SET THE BIT +22367 013274 5 ERA SWCHTM +22370 024000 5 IRS 0 +22371 003363 5 JMP SWCH4 +22372 012567 5 ERA VDHUPF /=4000 IF VDH IS UP +22373 027272 5 IMA SWS +22374 013272 5 ERA SWS +22375 101040 5 SNZ +22376 103320 5 JMP SWCH I +22377 011276 5 STA TRBSTF /TELL TRBL RPTS THAT SWS FIRED IT +22400 004417 5 LDA SYNC +22401 117553 5 SUB (TRBF) I +22402 111561 5 STA (TRBOLD) I +22403 103320 5 JMP SWCH I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 188 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV [M2I,VDI,I2H,T.O,TSK] +22404 000000 0 HLTWRD: 0 +22405 010747 0 STA HLTA +22406 032750 0 STX HLTX +22407 004122 0 LDA MINUS2 +22410 015404 0 ADD HLTWRD +22411 010746 0 STA HLTLOC +22412 104746 0 LDA HLTLOC I +22413 010746 0 STA HLTLOC /SAVE LOC OF HLT +22414 103404 0 JMP HLTWRD I + + LEV H2I /8-WAY BREAKDOWN OF HOST THROUGHPUT +22415 000000 4 HTPMT: 0 /COUNT MESSAGES TO NET +22416 012106 4 ERA MINE +22417 100040 4 SZE /INTER- OR INTRA-NODE? +22420 005562 4 LDA (HTPMTN+0-HTPMTL) +22421 015264 4 ADD NTRT1 +22422 001001 4 INH I2H +22423 021505 4 3 JST HTPIRS RET H2I +22424 101000 4 NOP +22425 103415 4 JMP HTPMT I + +22426 000000 4 HTPPT: 0 /COUNT PACKETS TO NET +22427 012106 4 ERA MINE +22430 100040 4 SZE /INTER- OR INTRA-NODE? +22431 005562 4 LDA (HTPPTN+0-HTPPTL) +22432 015266 4 ADD NTRT2 +22433 001001 4 INH I2H +22434 021505 4 3 JST HTPIRS RET H2I +22435 103426 4 JMP HTPPT I /R1==>FH - DON'T GET LENGTH +22436 172677 4 LDX HIXX I +22437 044111 4 LDA BUFE X +22440 016000 4 SUB 0 +22441 140100 4 SSP 0"A"TWOQ +22442 017563 4 SUB (DATA) /GOT PACKET LENGTH, NOT COUNTING LE +22443 072675 4 LDX HIP +22444 115564 4 ADD (HTPWTI 0 X) I +22445 100400 4 SPL +22446 004112 4 LDA SIGN /MARK OFLO +22447 111564 4 STA (HTPWTI 0 X) I +22450 103426 4 JMP HTPPT I + + LEV I2H +22451 000000 3 HTPMF: 0 /COUNT MESSAGES FROM NET +22452 012106 3 ERA MINE +22453 007565 3 ANA (SRCEI) +22454 100040 3 SZE /INTER- OR INTRA-NODE? +22455 005562 3 LDA (HTPMFN+0-HTPMFL) +22456 015265 3 ADD NTRT3 +22457 021505 3 JST HTPIRS +22460 101000 3 NOP +22461 103451 3 JMP HTPMF I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 189 IMP,3050,IMP 7:20 PM 9/16/1973 + +22462 000000 3 HTPPF: 0 /COUNT PACKETS FROM NET +22463 012106 3 ERA MINE +22464 007565 3 ANA (SRCEI) +22465 100040 3 SZE /INTER- OR INTRA-NODE? +22466 005562 3 LDA (HTPPFN+0-HTPPFL) +22467 015267 3 ADD NTRT4 +22470 021505 3 JST HTPIRS +22471 103462 3 JMP HTPPF I /R1==>FH +22472 172700 3 LDX IHXX I +22473 044111 3 LDA BUFE X +22474 016000 3 SUB 0 +22475 140100 3 SSP 0"A"TWOQ +22476 017563 3 SUB (DATA) /GOT PKT LENGTH +22477 072676 3 LDX IHP +22500 115566 3 ADD (HTPWFI 0 X) I +22501 100400 3 SPL +22502 004112 3 LDA SIGN /MARKING OVERFLOW +22503 111566 3 STA (HTPWFI 0 X) I +22504 103462 3 JMP HTPPF I + + /HOST THROOGHPUT TABLES AND COUNT ROUTINE +22505 000000 3 HTPIRS: 0 /TBL IN A, HOST NUM IN X +22506 016130 3 SUB PLNH +22507 011523 3 STA HTPIR1 +22510 004000 3 LDA 0 +22511 016130 3 SUB PLNH +22512 101400 3 SMI /FAKE HOST? +22513 003521 3 JMP HTPIR2 /YES, DO NOT COUNT TRAFFIC TO OR FR +22514 105523 3 LDA HTPIR1 I +22515 101400 3 SMI /OVERFLOWED--LEAVE AT 100000 +22516 141206 3 AOA /ADD ONE TO COUNTER +22517 111523 3 STA HTPIR1 I +22520 025505 3 IRS HTPIRS /R2==>REAL (NOT FAKE) HOST +22521 000401 3 HTPIR2: ENB I2H +22522 103505 3 JMP HTPIRS I + LEV VAR +22523 V HTPIR1: BSS 1 /PNTR INTO HTPTBL + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 190 IMP,3050,IMP 7:20 PM 9/16/1973 + +22524 000301 C LEV CON CONSTANTS +22525 030403 C +22526 177774 C +22527 003560 C +22530 001005 C +22531 040000 C +22532 021660 C +22533 021431 C +22534 060464 C +22535 000377 C +22536 000200 C +22537 052625 C +22540 077777 C +22541 030165 C +22542 100003 C +22543 030456 C +22544 030450 C +22545 000302 C +22546 050625 C +22547 050620 C +22550 177766 C +22551 122260 C +22552 004000 C +22553 030464 C +22554 000746 C +22555 053170 C +22556 001777 C +22557 070440 C +22560 041246 C +22561 030210 C +22562 177760 C +22563 000011 C +22564 073617 C +22565 000077 C +22566 073623 C +02431 175607 C PAGEND 22,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 191 IMP,3050,IMP 7:20 PM 9/16/1973 + + + /DDT CONTROL LANGUAGE INFORMATION + / + /************CURRENTLY IMPLEMENTED COMMANDS*****************, + / + /SHIFT-CONTROL-P (OR THE BREAK KEY) HAS THE FOLLOWING EFFE( : + /1- ANY DDT OUTPUT IS STOPPED + /2- THE CURRENTLY OPENED REGISTER IS CLOSED WITH NO NEW CONT1 + /3- DDT FORGETS WHATEVER NUMBER WAS BEING TYPED IN + /4- DDT TYPES A CARRAIGE RETURN-LINE FEED + /5- DDT IS UN-CROSSPATCHED - THAT IS YOU ARE NOW TYPING + / TO THE LOCAL DDT IF YOU WERE CROSSPATCHED BEFORE + / + / HAS THE FOLLOWING EFFECTS: + /1- DDT FORGETS WHATEVER NUMBER WAS BEING TYPED IN + /2- DDT TYPES "= " + / + /. HAS THE VALUE OF THE CURRENT REGISTER'S ADDRESS (14-BITI + / + / HAS THE VALUE OF THE LAST THING TYPED BY DDT + / + /* HAS THE VALUE OF THE CONTENTS OF THE REGISTER ADDRESSED B + /HAS BEEN ASSEMBLED AS THE CURRENT SYLLABLE. IT ALWAYS USES + /THE CURRENT SYLLABLE AS A 14 BIT ADDRESS AND CAN BE APPLI[ + /ITSELF OR TO ANY SYLLABLE + / + /T HAS THE VALUE OF THE IMP NUMBER OF THE LAST FOREIGN IMP + /TO SEND A TTY MESSAGE TO THIS IMP. USED IN T= OR TC. + / + /, SEPARATES ARGUMENTS TO MULTIPLE ARGUMENT COMMANDS + / + /A1/ OPENS REGISTER AT LOCATION A1 (14-BIT ADDRESS) + / + /A1 OPEN REGISTER AT LOCATION A1 (USED AS + /A 9 BIT RELATIVE ADDRESS TO THE PAGE . IS ON. + / + /A1 CLOSES THE CURRENTLY OPEN REGISTER (IF ANY) + /INSERTS A1 AS ITS NEW CONTENTS (IF SUPPLIED) + / + /A1- CLOSES THE CURRENTLY OPEN REGISTER (AS LINEFEED) AND + /THE PREVIOUS REGISTER + + /A1 CLOSES THE CURRENTLY OPEN REGISTER (AS LINEFEE + /OPENS THE NEXT REGISTER + / + / AND + BOTH MEAN ADDITION + / + /- MEANS SUBTRACTION + / + /D MEANS THE NUMBER FOLLOWING IS DECIMAL + / + /" MEANS THAT THE TWO CHARACTERS FOLLOWING ARE TO BE TAKEN + /AS LITERAL ASCII VALUES AND PACKED INTO A WORD LEFT HALF, R + / + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 192 IMP,3050,IMP 7:20 PM 9/16/1973 + + /= TYPES OUT THE OCTAL VALUE OF THE LAST INPUT + /EG: 3=3, 3+6=11, D11=13, "AB=40502, "AB+D10=40514, .=3033 + / + /> TYPES OUT THE ASCII VALUE OF THE LAST OUTPUT (IE AB + / + / + /A1.A2,A3Z CLEARS ["ZEROES"] CORE BETWEEN LIMITS - A1 IS T1 + /CONSTANT CORE WILL BE CLEARED TO. A2 AND A3 ARE THE (INCLL' + /LOWER AND UPPER LIMITS, REPECTIVELY. + / + /A1,A2W DUMPS OUT ["WRITES"] CORE BETWEEN LIMITS - A1 AN( + /ARE THE (INCLUSIVE) LOWER AND UPPER LIMITS. RESPECTIVELY. + / + /A1,A2,A3S STARTS UP A PROGRAM (I.E. CAUSE A TRANSFER TO + /LOCATION). A3 IS THE (14 BIT) ADDRESS AT WHICH THE PROGRAM + /IS TO BE STARTED. A2 SPECIFIES THE CONTENTS OF THE A REGIST1 + /WHEN THE PROGRAM IS STARTED UP. A1 SPECIFIES THE + /X REGISTER WHEN THE PROGRAM IS STARTED UP. + / + /A1C CROSSPATCHES DDT TO IMP A1. + /MESSAGES ARE THEN TRANSMITTED TO IMP A1 + /FOR EVERY CHARACTER THAT IS TYPED IN + / + /A1,A2H SETS UP THE HEADER FOR MESSAGE + /TRANSMISSION - MESSAGES ARE TRANSMITTED BY + /TYPING A SEMICOLON, THEN ALL THE CHARACTERS UP TO THE + /NEXT SEMICOLON ARE SENT OFF AS A MESSAGE TO + /DESTINATION AS DETERMINED BY THIS HEADER. + /A1 GIVES LEADER WORD 1 (DESTINATION) + /A2 GIVES LEADER WORD 2 (LINK =). + / + /A1$ SENDS AN IMP GOING DOWN MESSAGE TO ALL THE HOSTS + /AT THE SITE TO WHICH DDT IS CROSSPATCHED. + /A1 IS THE LINK DR SUB-CODE WORD AND MUST BE SUPPLIED + / + /Q TURNS DDT OUTPUT OFF AND ON - REVERSES THE CURRENT STAT + /IF DDT TYPES NOTHING BACK IT IS OFF ["QUIET"] + /OTHERWISE DDT WILL TYPE A CARRIAGE RETURN-LINE FEED + / + /I PRODUCES AN INTERRUPT PRINT + /A DUMP OF SOME INTERESTING INTERRUPT LOCATIONS + / + /1 PRODUCES A QUEUE PRINT + /A DUMP DF SOME INTERESTING QUEUE AND TABLE LOCATIONS + / + /A1,A2,A3,A4[E N] WORD SEARCHES: UNDER A MASK OF A1, DOT + /SEARCH FOR WORDS EQUAL (NOTEQUAL) TO A2 BETWEEN THE + /LIMITS A3 TO A4. + / + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 193 IMP,3050,IMP 7:20 PM 9/16/1973 + + / + /*****************SENSE SWITCH FOUR********************* + / + / HAVING SENSE SWITCH 4 DOWN INHIBITS ALL OF + /DDT'S COMMANDS WHICH COULD DESTROY THE PROGRAM BEING + /LSOKED AT. IF YOU ATTEMPT TO CHANGE CORE WITH SS4 DOWN, ( ' + /WILL TYPE "= " AT YOU AND COMPLETELY IGNORE THE COMMAND. + /THE COMMANDS AFFECTED ARE: S, Q, Z,S, AND LINEFEED, UPARRO' + /CARRIAGE RETURN IF TRYING TO SUPPLY NEW CONTENTS. + + /*****************NULL ARGUMENT CONVENTIONS*****************, + / + /FOR =,CR,LF,-, AND IF + /THE ARGUMENT A1 IS LEFT OUT, THE LAST NUMBER TYPED BY DDT W + /BE USED AS THE ARGUMENT. + / + /FOR E, N, Z AND W, IF EITHER (OR BOTH) OF THE LIMITS ARE LET + /DDT WILL USE THE LAST LIMITS SPECIFIED FOR EITHER A Z OR : 1 + /OR AN E OR AN N. + /IF THE VALUE IS LEFT OUT IN AN E, N OR Z COMMAND, THE LAST + /SPECIFIED IN ANY E, N, OR Z COMMAND WILL BE USED. IF THE + /IS LEFT OUT OF AN E OR N COMMAND IT WILL BE SUPPLIED FROM + /THE LAST E OR N DONE. OR -1 IF NO MASK HAS EVER + /BEEN SPECIFIED. + / + /FOR S, ANY ARGUMENTS LEFT OUT WILL BE SUPPLIED FROM THE LAS + /THOSE ARGUMENTS WERE SPECIFIED. + / + /*********************************************************** + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 194 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK + /DDT - STAND ALONE AND BACKGROUND + /THE SAME PROGRAM IS USED FOR STAND ALONE USE + /AND AS A BACKGROUND PROGRAM RUNNING WITH THE IMP SYSTEM + /THE ONLY DIFFERENCE IS IN THE INPUT AND OUTPUT PORTS + /CALLS TO INPUT A CHARACTER AND TO OUTPUT A CHARACTER + /ARE MADE INDIRECT THROUGH LDIN AND LDOT RESPECTIVELY + /STAND ALONE THESE POINT TO SIMPLE TTY I/O HANDLERS + /UNDER IMPSYS THESE POINT TO COMPLEX COROUTINES IN BACKGRO1 ] +23033 005633 7 DDSA: LDA (DDA3) /ENTRY TO STAND ALONE DDT +23034 011163 7 STA LDIN /SET UP STAND ALONE INPUT +23035 005634 7 LDA (DDA4) +23036 011164 7 STA LDOT /SET UP STAND ALONE OUTPUT +23037 005635 7 LDA (QNUL) +23040 011632 7 STA QPTR /TURN OFF QUIET MODE +23041 011162 7 STA BBNF /SET DEST TO NON-BBN +23042 140040 7 CRA +23043 010473 7 STA OVRDF /TURN OFF SOFTWARE SS4 +23044 000013 7 EXA +23045 003076 7 JMP DCLR /GO TO RESTART ENTRY + +23046 000000 7 DDA3: 0 /STAND ALONE DDT INPUT +23047 131004 7 TTINAC /GET INPUT CHAR +23050 003047 7 JMP .-1 +23051 007636 7 ANA (177) +23052 013637 7 ERA (200) /ALWAYS PUT IN PARITY BIT +23053 103046 7 JMP DDA3 I + +23054 000000 7 DDA4: 0 /STAND ALONE DDT OUTPUT +23055 070104 7 TTSNBZ +23056 003075 7 JMP DDA5 /BUSY, SO GET THE INPUT CHAR +23057 030104 7 TTSOM /GO INTO OUTPUT MODE +23060 170004 7 TTOTA /DO OUTPUT +23061 003060 7 JMP .-1 +23062 070004 7 TTSRDY +23063 003062 7 JMP .-1 +23064 030004 7 TTSIM /GO BACK TO INPUT MODE +23065 103054 7 JMP DDA4 I + + /START BACKGROUND DDT OUTPUT +23066 005640 7 DOTI: LDA (DOUT) +23067 011164 7 STA LDOT +23070 005641 7 LDA (DIN) +23071 011163 7 STA LDIN +23072 005635 7 LDA (QNUL) +23073 011632 7 STA QPTR +23074 103642 7 JMP (DOTI1) I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 195 IMP,3050,IMP 7:20 PM 9/16/1973 + + /DDT + /NOTE THAT DDT RUNS WITH INTERRUPTS LOCKED - PI OFF + /IT ALSO RUNS WITH EXTENDED ADDRESSING ENABLED - EA ON + /MAIN LISTEN LOOP + +23075 021046 7 DDA5: JST DDA3 + LCK ALL +23076 021165 7 0 DCLR: JST CRLF /RESTART ENTRY +23077 140040 7 0 CRA +23100 011145 7 0 STA PRS +23101 021261 7 0 LF: JST CLS +23102 005643 7 0 LDA (215) /TYPE A CR +23103 121164 7 0 JST LDOT I +23104 021215 7 0 CLSE: JST CSL +23105 140040 7 0 CRA +23106 011145 7 0 STA PRS +23107 011144 7 0 STA PAR1 +23110 121163 7 0 LSE: JST LDIN I +23111 006752 7 0 ANA C77 +23112 011161 7 0 STA CHARIN +23113 015644 7 0 ADD (DTAB) /DISPATCH TABLE +23114 010000 7 0 STA 0 +23115 044000 7 0 LDA 0 X +23116 100400 7 0 SPL +23117 003122 7 0 JMP DDTDIS /SIGN BIT MEANS ALWAYS DO IT +23120 005162 7 0 LDA BBNF /ELSE ONLY IF OVERRIDDEN OR BBN +23121 021126 7 0 JST SS4ON +23122 044000 7 0 DDTDIS: LDA 0 X +23123 010000 7 0 STA 0 +23124 005161 7 0 LDA CHARIN +23125 042000 7 0 JMP 0 X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 196 IMP,3050,IMP 7:20 PM 9/16/1973 + +23126 000000 7 0 SS4ON: 0 +23127 101040 7 0 SNZ /A IS 0 IF OK (E.G. BBNF) +23130 103126 7 0 JMP SS4ON I +23131 004473 7 0 LDA OVRDF /ELSE REQUIRE OVERRIDE ON +23132 101040 7 0 SNZ +23133 100002 7 0 SR4 /OR SS4 ON +23134 103126 7 0 JMP SS4ON I /ELSE FALL INTO RUB +23135 005645 7 0 RUB: LDA (243) /TYPE A # +23136 121164 7 0 RUB1: JST LDOT I +23137 021173 7 0 RUB2: JST TAB /AND THREE SPACES +23140 003104 7 0 JMP CLSE + + LEV VAR +23141 V BSS 1 /PARAMETERS STORAGE BLOCK +23142 V BSS 1 +23143 V BSS 1 +23144 V PAR1: BSS 1 +23145 V PRS: BSS 1 /PARAMETER SUPPLIED - 1=> YES (R I' +23146 V SYL: BSS 1 /LAST SYLLABLE TYPED IN +23147 000000 V LAST: 0 /LAST WORD TYPED (CURRENT VALUE OF +23150 000000 V PT: 0 /CURRENT VALUE OF . +23151 000000 V OPEN: 0 /ADDRESS OF OPEN REG (<0 IF NONE) +23152 000000 V DLO: 0 /LOW LIMIT +23153 000000 V DHI: 0 /HI LIMIT +23154 000000 V VAL: 0 /VALUE FOR CLEAR AND SEARCHES +23155 000000 V CNT: 0 /COUNT FOR LOOPING +23156 177777 V SMSK: -1 /MASK FOR SEARCHES +23157 000000 V SP: 0 /LAST DDT START ADDRESS +23160 000000 V SX: 0 /LAST DDT START X REG +23161 V CHARIN: BSS 1 /TEMP INPUT CHARACTER +23162 V BBNF: BSS 1 /0 IF DDT MESS FROM BBN + + LEV CON +23163 024052 C LDIN: DIN /DDT INPUT CHAR ROUTINE +23164 024163 C LDOT: DOUT /DDT OUTPUT CHAR ROUTINE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 197 IMP,3050,IMP 7:20 PM 9/16/1973 + + /UTILITY SUBROUTINES AND STUFF + + LEV BCK LCK ALL +23165 000000 7 0 CRLF: 0 +23166 005643 7 0 LDA (215) /TYPE A CARRIAGE RETURN +23167 121164 7 0 JST LDOT I +23170 005646 7 0 LDA (212) /AND A LINE FEED +23171 121164 7 0 JST LDOT I +23172 103165 7 0 JMP CRLF I + +23173 000000 7 0 TAB: 0 +23174 005647 7 0 LDA (240) /TYPE THREE SPACES +23175 121164 7 0 JST LDOT I +23176 121164 7 0 JST LDOT I +23177 121164 7 0 JST LDOT I +23200 103173 7 0 JMP TAB I + +23201 000000 7 0 GP: 0 /GET A PARAMETER +23202 007145 7 0 ANA PRS +23203 101040 7 0 DSNZ: SNZ /WAS PARAM SUPPLIED? +23204 025201 7 0 IRS GP /NO, SKIP +23205 045144 7 0 LDA PAR1 X /YES, RETURN VALUE +23206 103201 7 0 JMP GP I + +23207 000000 7 0 GP1: 0 /GET PARAMETER 1 +23210 072113 7 0 LDX ZERO +23211 004114 7 0 LDA ONE +23212 021201 7 0 JST GP +23213 025207 7 0 IRS GP1 /GOT VALUE, GIVE SKIP RETURN +23214 103207 7 0 JMP GP1 I + +23215 000000 7 0 CSL: 0 /COMBINE IN A SYLLABLE +23216 140040 7 0 CRA +23217 027146 7 0 IMA SYL +23220 100000 7 0 CSLX: SKP /SKP (DEFAULT) MEANS DO ADDITION +23221 140407 7 0 TCA /ELSE DO SUBTRACTION +23222 015144 7 0 ADD PAR1 /COMBINE WITH PARAM 1 +23223 011144 7 0 STA PAR1 /ACCUMULATE IN PARAM 1 +23224 004112 7 0 LDA SIGN +23225 011220 7 0 STA CSLX /RESET +/- FLAG +23226 103215 7 0 JMP CSL I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 198 IMP,3050,IMP 7:20 PM 9/16/1973 + +23227 000000 7 0 PAC: 0 /PRINT ADDRESS AND CONTENTS +23230 140100 7 0 SSP +23231 011244 7 0 STA OPN /SAVE ADDRESS OF REG TO BE PRINTE[ +23232 021165 7 0 JST CRLF /TYPE A CR - LF +23233 005244 7 0 LDA OPN +23234 021302 7 0 JST OPT /TYPE THE ADDRESS IN OCTAL +23235 005650 7 0 LDA (257) /TYPE A / +23236 121164 7 0 JST LDOT I +23237 021207 7 0 JST GP1 +23240 025145 7 0 IRS PRS +23241 005244 7 0 LDA OPN +23242 021244 7 0 JST OPN /OPEN REG AND TYPE CONTENTS +23243 103227 7 0 JMP PAC I + +23244 000000 7 0 OPN: 0 /OPEN A REGISTER AND TYPE ITS CONT 1 +23245 140100 7 0 SSP +23246 011151 7 0 STA OPEN +23247 021207 7 0 JST GP1 +23250 003253 7 0 JMP OPN1 /NO ARG, DON'T RESET . +23251 005151 7 0 LDA OPEN +23252 011150 7 0 STA PT +23253 021173 7 0 OPN1: JST TAB +23254 073151 7 0 LDX OPEN +23255 044000 7 0 LDA 0 X +23256 021302 7 0 JST OPT +23257 021173 7 0 JST TAB +23260 103244 7 0 JMP OPN I + +23261 000000 7 0 CLS: 0 /CLOSE A REGISTER +23262 005651 7 0 LDA (JMP DIG1) +23263 011355 7 0 STA DIG +23264 021215 7 0 JST CSL +23265 005151 7 0 LDA OPEN +23266 101400 7 0 SMI +23267 021207 7 0 JST GP1 +23270 003277 7 0 JMP CLS1 /NO NEW CONTENTS FOR THE REG +23271 011147 7 0 STA LAST +23272 004114 7 0 LDA ONE /REAL OVERRIDE NEEDED +23273 021126 7 0 JST SS4ON +23274 005147 7 0 LDA LAST +23275 073151 7 0 LDX OPEN +23276 050000 7 0 STA 0 X +23277 140500 7 0 CLS1: SSM +23300 011151 7 0 STA OPEN +23301 103261 7 0 JMP CLS I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 199 IMP,3050,IMP 7:20 PM 9/16/1973 + +23302 000000 7 0 OPT: 0 +23303 011147 7 0 STA LAST +23304 000201 7 0 IAB +23305 072125 7 0 LDX MINUS5 +23306 004121 7 0 LDA MINUS1 +23307 011333 7 0 STA OPTT +23310 005652 7 0 LDA (130) +23311 041077 7 0 LLL 1 +23312 023653 7 0 OPT1: CAS (260) /ZERO? +23313 100000 7 0 SKP +23314 003326 7 0 JMP OPT4 /SEE IF WE SHOULD SUPRESS IT +23315 025333 7 0 IRS OPTT +23316 101000 7 0 DNOP: NOP +23317 121164 7 0 OPT3: JST LDOT I +23320 005654 7 0 OPT2: LDA (26) +23321 041075 7 0 LLL 3 +23322 024000 7 0 IRS 0 +23323 003312 7 0 JMP OPT1 +23324 121164 7 0 JST LDOT I /ALWAYS PRINT LOWEST ORDER DIGIT +23325 103302 7 0 JMP OPT I +23326 025333 7 0 OPT4: IRS OPTT +23327 003317 7 0 JMP OPT3 +23330 004121 7 0 LDA MINUS1 /SUPRESS A ZERO +23331 011333 7 0 STA OPTT +23332 003320 7 0 JMP OPT2 +23333 7 0 OPTT: BSS 1 + +23334 021173 7 0 ASCOUT: JST TAB +23335 005147 7 0 LDA LAST +23336 141140 7 0 ICL +23337 121164 7 0 JST LDOT I +23340 005147 7 0 LDA LAST +23341 141050 7 0 CAL +23342 003136 7 0 JMP RUB1 + +23343 021215 7 0 COM: JST CSL /, DISPATCH +23344 140040 7 0 CRA +23345 027144 7 0 IMA PAR1 +23346 027143 7 0 IMA PAR1-1 +23347 027142 7 0 IMA PAR1-2 +23350 027141 7 0 IMA PAR1-3 +23351 005145 7 0 LDA PRS +23352 041477 7 0 LGL 1 +23353 011145 7 0 STA PRS +23354 003110 7 0 JMP LSE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 200 IMP,3050,IMP 7:20 PM 9/16/1973 + + /DISPATCHER ROUTINES +23355 7 0 DIG: BSS 1 /JMP DIG1 OR NOP +23356 015146 7 0 ADD SYL +23357 015146 7 0 ADD SYL +23360 040175 7 0 DIG1: LRS 3 /DIGITS DISPATCH +23361 015146 7 0 ADD SYL +23362 041175 7 0 LLS 3 +23363 017655 7 0 SUB (60) +23364 011146 7 0 DIG2: STA SYL +23365 021207 7 0 JST GP1 +23366 025145 7 0 IRS PRS +23367 003110 7 0 JMP LSE + +23370 005316 7 0 DECIN: LDA DNOP +23371 011355 7 0 STA DIG +23372 003110 7 0 JMP LSE + +23373 021215 7 0 EQS: JST CSL /EQUALS DISPATCH +23374 005144 7 0 LDA PAR1 +23375 021302 7 0 JST OPT +23376 003137 7 0 JMP RUB2 + +23377 021215 7 0 PLUS: JST CSL /ADDITION DISPATCH +23400 003110 7 0 JMP LSE + +23401 021215 7 0 MIN: JST CSL /MINUS DISPATCH +23402 005316 7 0 LDA DNOP +23403 011220 7 0 STA CSLX +23404 003110 7 0 JMP LSE + +23405 005150 7 0 PTOP: LDA PT /. DISPATCH +23406 003364 7 0 JMP DIG2 + +23407 073146 7 0 STAR: LDX SYL /* DISPATCH +23410 044000 7 0 LDA 0 X +23411 003364 7 0 JMP DIG2 + +23412 005147 7 0 BARR: LDA LAST / DISPATCH +23413 003364 7 0 JMP DIG2 + +23414 005656 7 0 BOP: LDA (IHTT) /HOST OUTPUT TIMER +23415 003364 7 0 JMP DIG2 /FOR WBB - HOST INTERFACE DEBUG + +23416 105657 7 0 TOP: LDA (WHOTTY) I /TTY OUTPUT SOURCE +23417 003364 7 0 JMP DIG2 /FOR NCC OPS- WHO IS TYPING ON TTY + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 201 IMP,3050,IMP 7:20 PM 9/16/1973 + +23420 021215 7 0 SLH: JST CSL // DISPATCH +23421 021207 7 0 JST GP1 +23422 005147 7 0 LDA LAST +23423 021244 7 0 SLH2: JST OPN +23424 003104 7 0 JMP CLSE + +23425 021215 7 0 BS: JST CSL /BACKSLASH DISPATCH +23426 021207 7 0 JST GP1 +23427 005147 7 0 LDA LAST +23430 011147 7 0 STA LAST +23431 007660 7 0 ANA (1000) /GET PAGE BIT +23432 100040 7 0 SZE /PAGE 0? +23433 005150 7 0 LDA PT /NO, THIS PAGE +23434 013147 7 0 ERA LAST +23435 007661 7 0 ANA (77000) +23436 013147 7 0 ERA LAST +23437 003423 7 0 JMP SLH2 + +23440 021261 7 0 UA: JST CLS /- DISPATCH +23441 004121 7 0 LDA MINUS1 +23442 003445 7 0 JMP CR1 + +23443 021261 7 0 CR: JST CLS /CARRIAGE RETURN DISPATCH +23444 004114 7 0 LDA ONE +23445 015150 7 0 CR1: ADD PT +23446 011150 7 0 STA PT +23447 021227 7 0 JST PAC +23450 003104 7 0 JMP CLSE + +23451 121163 7 0 ASCIN: JST LDIN I +23452 141240 7 0 ICR +23453 011147 7 0 STA LAST +23454 121163 7 0 JST LDIN I +23455 013147 7 0 ERA LAST +23456 011147 7 0 STA LAST +23457 003364 7 0 JMP DIG2 + +23460 021215 7 0 S: JST CSL /S DISPATCH +23461 021207 7 0 JST GP1 +23462 100000 7 0 SKP +23463 011157 7 0 STA SP +23464 004114 7 0 LDA ONE /REAL OVERRIDE, NOT JUST BBNF +23465 021126 7 0 JST SS4ON +23466 072122 7 0 LDX MINUS2 +23467 004117 7 0 LDA FOUR +23470 021201 7 0 JST GP +23471 011160 7 0 STA SX +23472 072121 7 0 LDX MINUS1 +23473 004115 7 0 LDA TWO +23474 021201 7 0 JST GP +23475 101000 7 0 NOP +23476 073160 7 0 LDX SX +23477 103157 7 0 JMP SP I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 202 IMP,3050,IMP 7:20 PM 9/16/1973 + +23500 021126 7 0 Z: JST SS4ON /A NOT ZERO - REAL OVERRIDE +23501 005662 7 0 LDA (JMP Z1) +23502 003513 7 0 JMP SCH1 +23503 005154 7 0 Z1: LDA VAL +23504 050000 7 0 STA 0 X +23505 003553 7 0 JMP SCH2 + +23506 005526 7 0 W: LDA DSKP +23507 003513 7 0 JMP SCH1 /W DISPATCH +23510 005570 7 0 EQ: LDA DSZE +23511 003513 7 0 JMP SCH1 /E DISPATCH +23512 005203 7 0 NEQ: LDA DSNZ /N DISPATCH +23513 011546 7 0 SCH1: STA SXEC /SET UP TEST +23514 072123 7 0 LDX MINUS3 +23515 004751 7 0 LDA TEN +23516 021201 7 0 JST GP +23517 011156 7 0 STA SMSK /FIRST PARAM - MASK +23520 072122 7 0 LDX MINUS2 +23521 004117 7 0 LDA FOUR +23522 021201 7 0 JST GP +23523 011154 7 0 STA VAL /SECOND PARAM - VALUE +23524 021215 7 0 JST CSL +23525 021207 7 0 JST GP1 +23526 100000 7 0 DSKP: SKP +23527 011153 7 0 STA DHI /FOURTH PARAM - HI BOUND +23530 072121 7 0 LDX MINUS1 +23531 004115 7 0 LDA TWO +23532 021201 7 0 JST GP +23533 011152 7 0 STA DLO /THIRD PARAM - LO BOUND +23534 005152 7 0 LDA DLO +23535 017153 7 0 SUB DHI +23536 016114 7 0 SUB ONE +23537 011155 7 0 STA CNT /LEAVE COUNT IN CNT +23540 101400 7 0 SMI +23541 003135 7 0 JMP RUB /INVERTED BLOCK +23542 073152 7 0 LDX DLO +23543 044000 7 0 SCH3: LDA 0 X +23544 013154 7 0 ERA VAL /COMPARE +23545 007156 7 0 ANA SMSK /MASK OFF BITS TO BE IGNORED +23546 7 0 SXEC: BSS 1 /TEST - SET UP BY CALLS +23547 003553 7 0 JMP SCH2 /FAILURE +23550 004000 7 0 LDA 0 +23551 021227 7 0 JST PAC +23552 073151 7 0 LDX OPEN +23553 024000 7 0 SCH2: IRS 0 +23554 025155 7 0 IRS CNT +23555 003543 7 0 JMP SCH3 +23556 003076 7 0 JMP DCLR + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 203 IMP,3050,IMP 7:20 PM 9/16/1973 + +23557 021126 7 0 DOWNM: JST SS4ON /A NOT ZERO +23560 021215 7 0 JST CSL /S DISPATCH +23561 021207 7 0 JST GP1 +23562 003135 7 0 JMP RUB /MUST HAVE SS4 ON AND GIVE A PARAM +23563 120672 7 0 JST DODXA I RET BCK +23564 121663 7 JST (IHDOWN) I /TELL ALL HOSTS IMP GOING DOWN +23565 000013 7 EXA +23566 003076 7 JMP DCLR + + LCK ALL +23567 004473 7 0 OVRD: LDA OVRDF /O DISPATCH +23570 100040 7 0 DSZE: SZE +23571 003575 7 0 JMP OVRD1 /LEAVING OVERRIDE MODE +23572 005162 7 0 LDA BBNF /FROM BBN +23573 021126 7 0 JST SS4ON +23574 140040 7 0 CRA /THEN YOU CAN ENTER OVERRIDE +23575 013664 7 0 OVRD1: ERA (20) +23576 010473 7 0 STA OVRDF +23577 040677 7 0 ARR 1 +23600 013665 7 0 ERA (306) /MAKE AN N OR AN F +23601 121164 7 0 JST LDOT I /TYPE ON OR OFF +23602 003076 7 0 JMP DCLR + +23603 021215 7 0 C: JST CSL +23604 021207 7 0 JST GP1 /CROSSPATCH +23605 003135 7 0 JMP RUB +23606 007666 7 0 ANA (0 0 177777"X"HICODE) +23607 013667 7 0 ERA (PRIBIT 0 FORIMP) +23610 111670 7 0 STA (HED0) I /SET "FOP IMP" BIT +23611 003076 7 0 JMP DCLR + +23612 021215 7 0 H: JST CSL /SET UP A HEADER +23613 072121 7 0 LDX MINUS1 +23614 004115 7 0 LDA TWO +23615 021201 7 0 JST GP +23616 111671 7 0 STA (MHD0) I +23617 021207 7 0 JST GP1 +23620 100000 7 0 SKP +23621 111672 7 0 STA (MHD1) I +23622 003076 7 0 JMP DCLR + +23623 021126 7 0 QDSP: JST SS4ON +23624 005632 7 0 LDA QPTR /QUIET MODE CONTROL +23625 027164 7 0 IMA LDOT +23626 011632 7 0 STA QPTR +23627 003076 7 0 JMP DCLR + +23630 000000 7 0 QNUL: 0 /NULL SUBROUTINE +23631 103630 7 0 JMP .-1 I + LEV VAR +23632 V QPTR: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 204 IMP,3050,IMP 7:20 PM 9/16/1973 + +23633 023046 C LEV CON CONSTANTS +23634 023054 C +23635 023630 C +23636 000177 C +23637 000200 C +23640 024163 C +23641 024052 C +23642 024157 C +23643 000215 C +23644 024400 C +23645 000243 C +23646 000212 C +23647 000240 C +23650 000257 C +23651 003360 C +23652 000130 C +23653 000260 C +23654 000026 C +23655 000060 C +23656 016306 C +23657 025506 C +23660 001000 C +23661 077000 C +23662 003503 C +23663 003525 C +23664 000020 C +23665 000306 C +23666 170377 C +23667 140000 C +23670 025165 C +23671 025166 C +23672 025167 C +02432 176700 C PAGEND 23,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 205 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +24012 120666 7 DIN4: JST SUCK I +24013 140500 7 SSM 0"A"PRIBIT +24014 011050 7 STA DSRC +24015 007500 7 ANA (FRMIMP 0 SRCEHI) +24016 013501 7 ERA (FRMIMP 0 BBNIMP) +24017 100040 7 SZE /SET FLAG IF MESS FROM BBN IMP TTY +24020 013502 7 ERA (0 0 BBNIMP"X"BBNTIP) +24021 100040 7 SZE /SET FLAG IF MESS FROM BBN TIP TTY +24022 013503 7 ERA (FRMIMP 0 BBNTIP"X"PDP1D) +24023 111504 7 STA (BBNF) I /SET FLAG IF MESS FROM BBN IMP HOST +24024 120666 7 JST SUCK I +24025 011051 7 STA DSRC+1 +24026 120666 7 DIN1: JST SUCK I +24027 003040 7 JMP DIN2 +24030 011047 7 STA DINW +24031 141050 7 CAL +24032 101040 7 SNZ +24033 003036 7 JMP DIN3 /NOTHING AT ALL IN THIS WORD +24034 005047 7 LDA DINW +24035 021076 7 JST DINR +24036 025067 7 DIN3: IRS DEND /HAVE OUTPUT CLOSE OFF THEIR MESSAG1 +24037 003012 7 JMP DIN4 /GO BACK FOR NEXT MESSAGE + +24040 011047 7 DIN2: STA DINW /FEED DDT A WORD +24041 021076 7 JST DINR +24042 005047 7 LDA DINW +24043 141340 7 ICA +24044 021076 7 JST DINR +24045 003026 7 JMP DIN1 + + LEV VAR +24046 V DINC: BSS 1 +24047 V DINW: BSS 1 +24050 V DSRC: BSS 2 /DDT DEST/SOURCE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 206 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +24052 000000 7 DIN: 0 /DDT CALLS HERE TO GET A CHARACTER +24053 072114 7 DIN7: LDX ONE +24054 001001 7 INH ALL +24055 120672 7 0 JST DODXA I RET BCK +24056 100000 7 SKP +24057 120665 7 DIN8: JST DOZE I +24060 140040 7 CRA +24061 027067 7 IMA DEND /TIME TO END A MESSAGE? +24062 101040 7 SNZ +24063 003070 7 JMP DIN9 /NO +24064 005505 7 LDA (DIN7) /CLOSE A MESSAGE +24065 011163 7 STA DOUT +24066 003116 7 JMP DOT2 +24067 7 DEND: BSS 1 + +24070 027046 7 DIN9: IMA DINC /INPUT CHAR READY? +24071 101040 7 SNZ +24072 003057 7 JMP DIN8 +24073 001001 7 INH ALL +24074 000013 7 0 EXA +24075 103052 7 0 JMP DIN I + + LEV BCK +24076 000000 7 DINR: 0 /ROUTINE CALLS HERE TO FEED A CHAR +24077 101400 7 SMI +24100 103076 7 JMP DINR I +24101 140100 7 SSP +24102 141140 7 ICL +24103 100040 7 SZE +24104 003110 7 JMP DINA +24105 010472 7 STA DDTI /WE ARE GIVING DDT A "BREAK" +24106 005335 7 LDA LRET +24107 011052 7 STA DIN +24110 011046 7 DINA: STA DINC +24111 120667 7 JST WAIT I /LET DDT GRAB THE CHAR +24112 005046 7 LDA DINC +24113 100040 7 SZE +24114 003111 7 JMP .-3 +24115 103076 7 JMP DINR I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 207 IMP,3050,IMP 7:20 PM 9/16/1973 + +24116 005207 7 DOT2: LDA DOTW /START HERE TO CLOSE OFF LAST MESSA[ +24117 073506 7 DOT5: LDX (100001) +24120 120664 7 JST JAM I +24121 004112 7 DOT6: LDA SIGN /START HERE WITH EMPTY WORLD +24122 021176 7 JST DOTR +24123 072114 7 LDX ONE +24124 005050 7 LDA DSRC /*SEND DEST HOST +24125 120664 7 JST JAM I /(=SOURCE OF LAST MESS RECVD) +24126 005051 7 LDA DSRC+1 /*SEND DEST LINK +24127 120664 7 JST JAM I /(=LINK OF LAST MESS RECVD) +24130 005507 7 LDA (-500.) /NUMBER OF WORDS PER MESSAGE +24131 011213 7 STA DCNT +24132 005210 7 LDA DOTA +24133 007510 7 ANA (177) +24134 000201 7 IAB +24135 041050 7 DOT3: LLL 24. +24136 013511 7 ERA (100200) +24137 021176 7 JST DOTR +24140 004472 7 LDA DDTI /DDT BEING INTERRUPTED? +24141 100040 7 SZE +24142 003152 7 JMP DOT4 /YES, SUPRESS OUTPUT +24143 000201 7 IAB +24144 072114 7 LDX ONE +24145 120664 7 JST JAM I /*SEND TWO CHARS PER WORD +24146 025213 7 IRS DCNT +24147 003154 7 JMP DOT7 +24150 004112 7 LDA SIGN +24151 003117 7 JMP DOT5 + +24152 005512 7 DOT4: LDA (LSE) +24153 011163 7 STA DOUT +24154 004112 7 DOT7: LDA SIGN +24155 021176 7 JST DOTR +24156 003135 7 JMP DOT3 + +24157 005335 7 DOTI1: LDA LRET +24160 011163 7 STA DOUT +24161 011067 7 STA DEND +24162 003121 7 JMP DOT6 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 208 IMP,3050,IMP 7:20 PM 9/16/1973 + +24163 000000 7 DOUT: 0 /DDT CALLS HERE WITH A CHAR TO TYPE +24164 011210 7 STA DOTA +24165 007510 7 ANA (177) +24166 013207 7 ERA DOTW +24167 000201 7 IAB +24170 011211 7 STA DOTB +24171 033212 7 STX DOTX +24172 001001 7 INH ALL +24173 120672 7 0 JST DODXA I RET BCK +24174 072114 7 LDX ONE +24175 103176 7 JMP DOTR I + +24176 000000 7 DOTR: 0 /ROUTINES CALL HERE TO RETURN TO DD +24177 011207 7 STA DOTW +24200 005211 7 LDA DOTB +24201 000201 7 IAB +24202 005210 7 LDA DOTA +24203 073212 7 LDX DOTX +24204 001001 7 INH ALL +24205 000013 7 0 EXA +24206 103163 7 0 JMP DOUT I + + LEV VAR +24207 V DOTW: BSS 1 +24210 V DOTA: BSS 1 +24211 V DOTB: BSS 1 +24212 V DOTX: BSS 1 +24213 V DCNT: BSS 1 /NUMBER OF WORDS LEFT IN OUTPUT PAC + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 209 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK LCK ALL +24214 005337 7 0 QP: LDA QPC1 /QUEUE PRINT +24215 011360 7 0 STA QT1 +24216 005340 7 0 QPQ1: LDA QPC2 +24217 015360 7 0 ADD QT1 +24220 011361 7 0 STA QT2 +24221 010000 7 0 STA 0 +24222 044000 7 0 LDA 0 X +24223 101040 7 0 SNZ +24224 003244 7 0 JMP QPQ3 +24225 121332 7 0 JST QPCR I +24226 004000 7 0 LDA 0 +24227 121333 7 0 JST QPOP I +24230 121334 7 0 JST QPTB I +24231 005513 7 0 LDA (-10) +24232 011362 7 0 STA QT3 +24233 073361 7 0 QPQ2: LDX QT2 +24234 044000 7 0 LDA 0 X +24235 101040 7 0 SNZ +24236 003244 7 0 JMP QPQ3 +24237 011361 7 0 STA QT2 +24240 121333 7 0 JST QPOP I +24241 121334 7 0 JST QPTB I +24242 025362 7 0 IRS QT3 +24243 003233 7 0 JMP QPQ2 +24244 025360 7 0 QPQ3: IRS QT1 +24245 003216 7 0 JMP QPQ1 +24246 005357 7 0 LDA QTB3 +24247 011360 7 0 STA QT1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 210 IMP,3050,IMP 7:20 PM 9/16/1973 + +24250 073360 7 0 QPB1: LDX QT1 +24251 045350 7 0 LDA QTB1+QTBL X +24252 011361 7 0 STA QT2 +24253 045357 7 0 LDA QTB2+QTBL X +24254 011362 7 0 STA QT3 +24255 073362 7 0 QPB2: LDX QT3 +24256 044000 7 0 LDA 0 X +24257 101040 7 0 SNZ +24260 003305 7 0 JMP QPB4 +24261 011363 7 0 STA QT4 +24262 005362 7 0 LDA QT3 +24263 010000 7 0 STA 0 +24264 101400 7 0 SMI +24265 003275 7 0 JMP QPB3 +24266 025362 7 0 IRS QT3 +24267 044001 7 0 LDA 1 X +24270 023506 7 0 CAS (100001) +24271 100000 7 0 SKP +24272 003305 7 0 JMP QPB4 +24273 017514 7 0 SUB (BUFE 0 I) +24274 011363 7 0 STA QT4 +24275 121332 7 0 QPB3: JST QPCR I +24276 005362 7 0 LDA QT3 +24277 140100 7 0 SSP +24300 121333 7 0 JST QPOP I +24301 121334 7 0 JST QPTB I +24302 005363 7 0 LDA QT4 +24303 121333 7 0 JST QPOP I +24304 121334 7 0 JST QPTB I +24305 025362 7 0 QPB4: IRS QT3 +24306 025361 7 0 IRS QT2 +24307 003255 7 0 JMP QPB2 +24310 025360 7 0 IRS QT1 +24311 003250 7 0 JMP QPB1 +24312 103335 7 0 JMP QPND I + +24313 073515 7 0 IP: LDX (-IPL) /INTERRUPT PRINT +24314 045400 7 0 IP1: LDA IPT+IPL X +24315 033360 7 0 STX QT1 +24316 121336 7 0 JST QPAC I /PRINT SOME KEY PARAMETERS +24317 073360 7 0 LDX QT1 +24320 024000 7 0 IRS 0 +24321 003314 7 0 JMP IP1 +24322 073516 7 0 LDX (STDIL-0-TASKIL) +24323 044104 7 0 IP2: LDA TASKIL+1 X +24324 033360 7 0 STX QT1 +24325 121336 7 0 JST QPAC I /PRINT ALL INTERRUPT ENTRANCES +24326 073360 7 0 LDX QT1 +24327 024000 7 0 IRS 0 +24330 003323 7 0 JMP IP2 +24331 103335 7 0 JMP QPND I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 211 IMP,3050,IMP 7:20 PM 9/16/1973 + +24332 023165 7 0 QPCR: CRLF /QUEUE PRINT CONSTANTS AND VARIABLE: +24333 023302 7 0 QPOP: OPT +24334 023173 7 0 QPTB: TAB + LRET: /SAME AS QPND +24335 023076 7 0 QPND: DCLR +24336 023227 7 0 QPAC: PAC +24337 177727 7 0 QPC1: -QUEUEL +24340 000343 7 0 QPC2: QUEUEB+QUEUEL + +24341 177770 7 0 QTB1: -PPTL +24342 177770 7 0 -TH +24343 177770 7 0 -TH +24344 177730 7 0 -[CH"T"NACH] +24345 177774 7 0 -CH+0+1 +24346 177730 7 0 0 0 -2"T"COUNTL +24347 177720 7 0 -PLTNUM +24350 033457 7 0 QTB2: PPT +24351 013333 7 0 HISP +24352 016155 7 0 IHSP +24353 032030 7 0 I2MB0 +24354 100020 7 0 100020 +24355 000517 7 0 COUNTA +24356 033477 7 0 PLT + QTBL=QTB2-0-QTB1 +24357 177771 7 0 QTB3: -QTBL + + LEV VAR +24360 V QT1: BSS 1 +24361 V QT2: BSS 1 +24362 V QT3: BSS 1 +24363 V QT4: BSS 1 + + LEV CON +24364 000134 C IPT: PRIM /INTERRUPT PRINT LOCS +24365 000674 C MP +24366 012654 C OCHN +24367 012604 C I2MSB +24370 000675 C HIP +24371 013106 C HISB +24372 000676 C IHP +24373 016042 C IHSB +24374 020144 C TOK +24375 003412 C FAKENO +24376 004420 C BACKNO +24377 000111 C ADDRET + IPL=.-0-IPT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 212 IMP,3050,IMP 7:20 PM 9/16/1973 + + + DDOK=100000 + /SIGNBIT ON (DDOK) ==> NON-PRIVELEGED DISPATCH + + LEV CON +24400 123076 C DTAB: DCLR+0+DDOK /@ +24401 123110 C LSE+0+DDOK /A +24402 023414 C BOP /B +24403 123603 C C+0+DDOK /C +24404 023370 C DECIN /D +24405 023510 C EQ /E +24406 123110 C LSE+0+DDOK /F +24407 123110 C LSE+0+DDOK /G +24410 123612 C H+0+DDOK /H +24411 024313 C IP /I +24412 023101 C LF /J - 12 - LINEFEED +24413 123110 C LSE+0+DDOK /K +24414 123612 C H+0+DDOK /L +24415 023443 C CR /M - 15 - CR +24416 023512 C NEQ /N +24417 123567 C OVRD+0+DDOK /O +24420 123110 C LSE+0+DDOK /P +24421 023623 C QDSP /Q +24422 123110 C LSE+0+DDOK /R +24423 023460 C S /S +24424 123416 C TOP+0+DDOK /T +24425 123110 C LSE+0+DDOK /U +24426 123110 C LSE+0+DDOK /V +24427 023506 C W /W +24430 123110 C LSE+0+DDOK /X +24431 123110 C LSE+0+DDOK /Y +24432 023500 C Z /Z +24433 123110 C LSE+0+DDOK /[ +24434 023425 C BS / +24435 123110 C LSE+0+DDOK /] +24436 023440 C UA /~ +24437 023412 C BARR / + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 213 IMP,3050,IMP 7:20 PM 9/16/1973 + +24440 123377 C PLUS+0+DDOK / +24441 024214 C QP /! +24442 023451 C ASCIN /" +24443 123110 C LSE+0+DDOK /# +24444 023557 C DOWNM /$ +24445 123110 C LSE+0+DDOK /% +24446 123110 C LSE+0+DDOK /& +24447 123110 C LSE+0+DDOK /' +24450 123110 C LSE+0+DDOK /( +24451 123110 C LSE+0+DDOK /) +24452 023407 C STAR /* +24453 123377 C PLUS+0+DDOK /+ +24454 123343 C COM+0+DDOK /, +24455 123401 C MIN+0+DDOK /- +24456 023405 C PTOP /. +24457 023420 C SLH // +24460 123355 C DIG+0+DDOK /0 +24461 123355 C DIG+0+DDOK /1 +24462 123355 C DIG+0+DDOK /2 +24463 123355 C DIG+0+DDOK /3 +24464 123355 C DIG+0+DDOK /4 +24465 123355 C DIG+0+DDOK /5 +24466 123355 C DIG+0+DDOK /6 +24467 123355 C DIG+0+DDOK /7 +24470 123355 C DIG+0+DDOK /8 +24471 123355 C DIG+0+DDOK /9 +24472 123110 C LSE+0+DDOK /: +24473 123110 C LSE+0+DDOK /; +24474 123110 C LSE+0+DDOK /< +24475 123373 C EQS+0+DDOK /= +24476 023334 C ASCOUT /> +24477 023135 C RUB /? - 177 - RUBOUT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 214 IMP,3050,IMP 7:20 PM 9/16/1973 + +24500 040377 C LEV CON CONSTANTS +24501 040005 C +24502 000033 C +24503 040333 C +24504 023162 C +24505 024053 C +24506 100001 C +24507 177014 C +24510 000177 C +24511 100200 C +24512 023110 C +24513 177770 C +24514 100111 C +24515 177764 C +24516 177760 C +02433 174523 C PAGEND 24,UNCON,4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 215 IMP,3050,IMP 7:20 PM 9/16/1973 + + + TINT: LEV TTY /TTY INTERRUPT +00063 025061 0 STDIL/ TINT +25061 000000 0 TINT/ INT TTY +25062 011115 0 STA TINA /SAVE A REG +25063 070004 0 TTSRDY +25064 003077 0 JMP TTRT /NOT REALLY A TTY INTERRUPT +25065 140040 0 CRA +25066 022474 0 CAS TTFG /IS TTFG = -1,0,1? +25067 003112 0 JMP TIN1 /-1 WE JUST TYPED A BACKSLASH +25070 003104 0 JMP TIN2 / 0 NORMAL INTERRUPT +25071 030104 0 TTSOM / 1 WE MUST TYPE A BACKSLASH +25072 005511 0 LDA (334) +25073 170004 0 TTOTA +25074 003112 0 JMP TIN1 +25075 004121 0 LDA MINUS1 /SET TTFG TO -1 +25076 010474 0 TIN3: STA TTFG +25077 000043 0 TTRT: INK +25100 171020 0 OTK +25101 005115 0 LDA TINA /RESTORE A REG +25102 000401 0 ENB TTY +25103 103061 0 JMP TINT I + +25104 005503 0 TIN2: LDA OTGO /CHECK HALF-DUPLEX FLAG +25105 100040 0 SZE /ARE WE IN INPUT MODE? +25106 003112 0 JMP TIN1 /NO, THIS IS AN OUTPUT INTERRUPT +25107 131004 0 TTINAC /YES, GET INPUT CHAR +25110 003107 0 JMP .-1 +25111 011116 0 STA TTCR /SAVE IT +25112 030004 0 TIN1: TTSIM +25113 004114 0 LDA ONE /SET TTFG TO 1 +25114 003076 0 JMP TIN3 + LEV VAR +25115 V TINA: BSS 1 /TTY INT SAVED A REG +25116 V TTCR: BSS 1 /RAW TTY INPUT CHAR + + /OTGO IS THE STATE OF THE HALF-DUPLEX INTERFACE + /0=EXPECTING INPUT, 1=HAVE DONE OUTPUT + + /TTFG IS THE COMMUNICATION FLAG BETWEEN + /THE TTY INTERRUPT HANDLER AND THE BACKGROUND TTY PROCESSING + /AT INTERRUPT TIME: + /-1= LAST ACTION WAS TO TYPE A BACKSLASH, NOW 1=>TTFG + / 0= NORMAL - BACKGROUND IS READY FOR TTY INT, NOW 1=>TTFG + / 1= A SECOND TTY INT CAME IN BEFORE BACKGROUND CAUGHT UP + / SO TYPE A BACKSLASH, NOW -1=>TTFG + /AT BACKGROUND LEVEL: + /USE A CRA, IMA TTFG SEQUENCE TO INTERROGATE TTY + /0=>TTFG, USE CHAR IF TTFG WAS = 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 216 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +25117 140040 7 TTYI: CRA /TELETYPE INPUT STARTS HERE +25120 011503 7 STA OTGO +25121 010673 7 STA HSFG +25122 011504 7 STA HSGO +25123 011163 7 STA TTCH +25124 111512 7 STA (DINC) I +25125 004106 7 LDA MINE +25126 013513 7 ERA (PRIBIT 0 FORIMP) +25127 111514 7 STA (DSRC) I +25130 012753 7 ERA C100 +25131 011165 7 STA HED0 +25132 005515 7 LDA (40) +25133 170020 7 SMK 20 /ENABLE TTY INTERRUPTS ONLY +25134 003174 7 JMP TTI3 /GO FIRE OFF A DUMMY MSG TO DDT + +25135 005170 7 IND1: LDA TTI2 +25136 011160 7 STA INDB +25137 000401 7 TTI1: ENB BCK +25140 072113 7 LDX ZERO +25141 120665 7 JST DOZE I /WAIT FOR NEXT INPUT CHAR +25142 005503 7 LDA OTGO /OUTPUT ACTIVE? +25143 100040 7 SZE +25144 003137 7 JMP TTI1 /YES +25145 001001 7 INH TTY +25146 026474 7 0 IMA TTFG /TTY HAVE SOMETHING FOR US?? +25147 101400 7 0 SMI /IF TTFG= -1, NO +25150 101040 7 0 SNZ /IF TTFG= 0, NO +25151 003137 7 0 JMP TTI1 /NO +25152 005116 7 0 LDA TTCR /IF TTFG= 1, YES +25153 007516 7 0 ANA (177) /PUT IN PARITY BIT +25154 013517 7 0 ERA (200) +25155 011163 7 0 STA TTCH +25156 000401 7 0 ENB BCK +25157 103160 7 JMP INDB I /GO PROCESS THE CHAR + +25160 000000 7 INDB: 0 /COME HERE TO GET NEXT CHAR FROM TT +25161 011164 7 STA TTIW /SAVE THE INPUT WORD SO FAR +25162 003137 7 JMP TTI1 + + LEV VAR +25163 V TTCH: BSS 1 /RAW TTY INPUT CHAR+PARITY BIT +25164 V TTIW: BSS 1 +25165 V HED0: BSS 1 /CROSSPATCH HEADER +25166 V MHD0: BSS 1 /MESSAGE HEADER +25167 V MHD1: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 217 IMP,3050,IMP 7:20 PM 9/16/1973 + + MSGT=273 /SEMI + NUMB=272 /COLON + LEV BCK +25170 025171 7 TTI2: .+1 /PLACE TO START BUILDING NEW MESSAGI +25171 023520 7 CAS (MSGT) /IS IT A MESSAGE INITIATOR? +25172 100000 7 SKP +25173 003221 7 JMP MSG /YES + + /SEND A SINGLE CHAR MESSAGE +25174 005165 7 TTI3: LDA HED0 /*SEND CROSSPATCH HEADER +25175 120664 7 JST JAM I +25176 140040 7 CRA /*SEND ON LINK ZERO +25177 120664 7 JST JAM I +25200 005163 7 LDA TTCH +25201 013517 7 ERA (200) +25202 100040 7 SZE /IS THE CHAR TO SEND A BREAK? +25203 003207 7 JMP TTI5 /NO +25204 004106 7 LDA MINE /YES, RESET CROSSPATCH HEADER TO [ 1 +25205 013521 7 ERA (PRIBIT 0 FORIMP 100) +25206 011165 7 STA HED0 /DDT AT SELF - PRIORITY +25207 005163 7 TTI5: LDA TTCH +25210 140500 7 SSM +25211 141340 7 ICA +25212 011164 7 STA TTIW +25213 140040 7 CRA +25214 011504 7 STA HSGO +25215 005164 7 MSG2: LDA TTIW /*SEND 1 CHAR MESSAGE +25216 072112 7 LDX SIGN /CLOSE OFF THE MESSAGE +25217 120664 7 JST JAM I +25220 003135 7 JMP IND1 + + /SEND A SEMICOLON MESSAGE - MULTI-CHARACTER +25221 004673 7 MSG: LDA HSFG /SEND A MESSAGE +25222 011504 7 STA HSGO +25223 005166 7 LDA MHD0 /*SEND MESSAGE HOST +25224 120664 7 JST JAM I +25225 005167 7 LDA MHD1 /*SEND MESSAGE LINK +25226 120664 7 JST JAM I +25227 004112 7 MSG0: LDA SIGN +25230 021277 7 JST MSG1 /GET ONE CHAR +25231 140500 7 SSM /PUT IN PARITY +25232 141340 7 ICA /SAVE +25233 021277 7 JST MSG1 /GET OTHER CHAR +25234 013517 7 ERA (200) /PUT IN PARITY +25235 013164 7 ERA TTIW +25236 120664 7 JST JAM I /*SEND NEXT TWO CHARS +25237 003227 7 JMP MSG0 /GO BACK FOR MORE + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 218 IMP,3050,IMP 7:20 PM 9/16/1973 + +25240 140040 7 MSG3: CRA /BUILD A NUMBER +25241 021277 7 MSG4: JST MSG1 /GET NEXT CHAR +25242 023522 7 CAS (215) /CR? +25243 100000 7 SKP /NO +25244 003253 7 JMP MSG5 /YES, END OF THE NUMBER +25245 001001 7 INH ALL /USING B REG - MUST LOCK INTS +25246 040075 7 0 LRL 3 +25247 005164 7 0 LDA TTIW +25250 041075 7 0 LLL 3 +25251 000401 7 0 ENB BCK +25252 003241 7 JMP MSG4 + +25253 070104 7 MSG5: TTSNBZ /ECHO CR WITH A LF +25254 003274 7 JMP MSG6 /FORGET IT +25255 030104 7 TTSOM +25256 005523 7 LDA (212) +25257 170004 7 TTOTA +25260 003257 7 JMP .-1 +25261 025503 7 IRS OTGO +25262 120665 7 MSG7: JST DOZE I /WAIT FOR CHAR TO TYPE OUT +25263 140040 7 CRA +25264 026474 7 IMA TTFG +25265 101040 7 SNZ /HAS TTY INTERRUPTED? +25266 003262 7 JMP MSG7 /NOT YET, WAIT +25267 005503 7 LDA OTGO /NOW UNSTEP OUTPUT FLAG +25270 016114 7 SUB ONE +25271 100400 7 SPL +25272 140040 7 CRA +25273 011503 7 STA OTGO +25274 005164 7 MSG6: LDA TTIW /ADD NUMBER TO MESSAGE +25275 120664 7 JST JAM I +25276 003227 7 JMP MSG0 + +25277 000000 7 MSG1: 0 /SUBR TO GET NEXT CHAR FOR MESSAGE +25300 021160 7 JST INDB /GET THE CHAR +25301 023520 7 CAS (MSGT) /IS IT MESSAGE TERMINATOR? +25302 100000 7 SKP /NO +25303 003215 7 JMP MSG2 /YES, DONE - LEAP INTO INDB CODE +25304 023524 7 CAS (NUMB) /IS IT NUMBER INDICATOR? +25305 103277 7 JMP MSG1 I /NO, RETURN WITH CHAR +25306 003240 7 JMP MSG3 /YES, PUT AN OCTAL NUMBER IN THE ME +25307 103277 7 JMP MSG1 I /NO, RETURN WITH CHAR + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 219 IMP,3050,IMP 7:20 PM 9/16/1973 + +25310 072113 7 TTO0: LDX ZERO /TELETYPE OUTPUT ROUTINES +25311 033505 7 STX TTNM /CLEAR FLAG +25312 120666 7 JST SUCK I /WAIT FOR SOME OUTPUT TO HAPPEN +25313 025503 7 IRS OTGO /GRAB THE TTY +25314 011501 7 STA TTOW +25315 007525 7 ANA (SRCEHI) +25316 022106 7 CAS MINE /NOT IF FROM US +25317 022752 7 CAS C77 /NOT IF NON-TTY +25320 003323 7 JMP TTO01 +25321 101000 7 NOP +25322 011506 7 STA WHOTTY /LAST FOREIGN IMP TTY TO SEND TO TT' +25323 120667 7 TTO01: JST WAIT I +25324 005501 7 LDA TTOW +25325 041475 7 LGL 3 0"A"FOROCT +25326 011502 7 STA OCTL +25327 101400 7 SMI +25330 005504 7 LDA HSGO + /MAKE A SKP TO SEE ALL I2H MESSAGES - RFNMS FOR SINGLE CHA[ +25331 101040 7 SNZ +25332 003353 7 JMP TTO2 +25333 005522 7 LDA (215) +25334 021450 7 JST SEND +25335 005523 7 LDA (212) +25336 021450 7 JST SEND +25337 005523 7 LDA (212) +25340 021450 7 JST SEND +25341 005501 7 LDA TTOW +25342 021412 7 JST OCTO +25343 120666 7 JST SUCK I +25344 100000 7 SKP +25345 003350 7 JMP TTO7 +25346 021412 7 JST OCTO +25347 003356 7 JMP TTO3 + +25350 025505 7 TTO7: IRS TTNM /SET END FLAG +25351 021412 7 JST OCTO +25352 003370 7 JMP TTO5 + +25353 120666 7 TTO2: JST SUCK I /FROM DDT: SKIP OVER REST OF LEAD[ +25354 100000 7 SKP +25355 003437 7 JMP TTO8 +25356 120666 7 TTO3: JST SUCK I +25357 003374 7 JMP TTO4 /MORE MESSAGE +25360 025505 7 IRS TTNM +25361 011501 7 STA TTOW /DONE +25362 141050 7 CAL +25363 101040 7 SNZ +25364 003370 7 JMP TTO5 +25365 005501 7 LDA TTOW /GET LAST CHAR +25366 141140 7 ICL +25367 021450 7 JST SEND +25370 140040 7 TTO5: CRA +25371 011503 7 STA OTGO +25372 011502 7 STA OCTL +25373 003310 7 JMP TTO0 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 220 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +25374 011501 7 TTO4: STA TTOW /SEND ANOTHER WORD OF THE MESSAGE +25375 005502 7 LDA OCTL +25376 100400 7 SPL +25377 003407 7 JMP TTO6 +25400 005501 7 LDA TTOW +25401 141140 7 ICL +25402 021450 7 JST SEND +25403 005501 7 LDA TTOW +25404 141050 7 CAL +25405 021450 7 JST SEND +25406 003356 7 JMP TTO3 + +25407 005501 7 TTO6: LDA TTOW +25410 021412 7 JST OCTO +25411 003356 7 JMP TTO3 + +25412 000000 7 OCTO: 0 /OCTAL OUTPUT +25413 000201 7 IAB +25414 004126 7 LDA MINUS6 +25415 011507 7 STA OCO1 +25416 005526 7 LDA (130) +25417 041077 7 LLL 1 +25420 000201 7 OCO2: IAB +25421 011510 7 STA OCO3 +25422 000201 7 IAB +25423 021450 7 JST SEND +25424 005510 7 LDA OCO3 +25425 000201 7 IAB +25426 005527 7 LDA (26) +25427 041075 7 LLL 3 +25430 025507 7 IRS OCO1 +25431 003420 7 JMP OCO2 +25432 005522 7 LDA (215) +25433 021450 7 JST SEND +25434 005523 7 LDA (212) +25435 021450 7 JST SEND +25436 103412 7 JMP OCTO I + +25437 025505 7 TTO8: IRS TTNM +25440 005501 7 LDA TTOW +25441 007530 7 ANA (IHCODE) +25442 013531 7 ERA (CINCTR) +25443 100040 7 SZE /BLOCKED OR LOST? +25444 003370 7 JMP TTO5 /NO +25445 005511 7 LDA (334) /YES, TYPE A BACKSLASH SINCE OUR ME +25446 021450 7 JST SEND +25447 003370 7 JMP TTO5 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 221 IMP,3050,IMP 7:20 PM 9/16/1973 + +25450 000000 7 SEND: 0 /SUBR TO TYPE OUT A CHAR +25451 023517 7 CAS (200) /'200 BIT SET? +25452 101000 7 NOP +25453 100000 7 SKP +25454 103450 7 JMP SEND I /NO, IGNORE THE CALL +25455 072113 7 LDX ZERO +25456 070104 7 TTSNBZ +25457 003472 7 JMP SND2 /INTERRUPTING OUTPUT! +25460 030104 7 TTSOM +25461 170004 7 TTOTA +25462 003472 7 JMP SND2 +25463 120667 7 SND3: JST WAIT I /WAIT FOR CHAR TO GO OUT +25464 140040 7 CRA +25465 026474 7 IMA TTFG +25466 101400 7 SMI +25467 101040 7 SNZ +25470 003463 7 JMP SND3 +25471 103450 7 JMP SEND I + +25472 005505 7 SND2: LDA TTNM /AT END OF MSG? +25473 100040 7 SZE +25474 003370 7 JMP TTO5 /YES, NO MSG TO SKIP +25475 120666 7 JST SUCK I /SKIP REST OF MESSAGE +25476 003472 7 JMP SND2 +25477 010472 7 STA DDTI +25500 003370 7 JMP TTO5 /AND CONTINUE LOOKING FOR A NEW MES + + LEV VAR +25501 V TTOW: BSS 1 +25502 V OCTL: BSS 1 +25503 V OTGO: BSS 1 +25504 V HSGO: BSS 1 +25505 V TTNM: BSS 1 /END OF MSG IF NON ZERO +25506 000000 V WHOTTY: 0 /LAST FOREIGN TYPIST ON THIS TTY +25507 V OCO1: BSS 1 +25510 V OCO3: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 222 IMP,3050,IMP 7:20 PM 9/16/1973 + +25511 000334 C LEV CON CONSTANTS +25512 024046 C +25513 140000 C +25514 024050 C +25515 000040 C +25516 000177 C +25517 000200 C +25520 000273 C +25521 140100 C +25522 000215 C +25523 000212 C +25524 000272 C +25525 000377 C +25526 000130 C +25527 000026 C +25530 007400 C +25531 004400 C +02434 174532 C PAGEND 25,UNCON + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 223 IMP,3050,IMP 7:20 PM 9/16/1973 + + + + /NEW ROUTING + /THESE ROUTINES BUILD TWO MAIN TABLES + + + /RUT - ROUTE USE TABLE, THE BEST LINE DIRECTORY + /RST - ROUTE SEND TABLE, THE HOPS/DELAY INFORMATION UPDATE M[ + /THE NEW VALUE OF HOPS AND DELAY ON THE BEST LINES FOR EAC1 , + /RSTN - THE RST NEW TABLE + / THE IDENTITY OF THE BEST LINE FOR EACH IS KEPT IN + /RUTW - THE RUT WORKING TABLE + + /A NAMING CONVENTION -- TAGS LIKE RST.N AND RST.W ARE INDIRET + /POINTERS [FOR '.' READ "POINT"], POST-INDEXED BY NEGATIVE 1 + /RST.N IS THUS THE RST POINTER TO THE NEW TABLE + + /BITS IN RUT + RUTDED=100000 /THIS IMP IS DOWN,UNREACHABLE OR NO1 + RUTGOD=60000 /GOING-DOWN DELAY CNTR - EVERY 4TH ] + RUTGD1=20000 /LOW ORDER BIT OF RUTGOD + RUTHPC=17400 /LINE # +1 OF SHORTEST HOP PATH + RUTCMU=340 /COMING-UP DELAY COUNTER - EVERY 8T1 + RUTCM1=40 /LOW ORDER BIT OF RUTCMU + RUTDLC=37 /LINE # +1 OF BEST DELAY PATH + RUTUS=0 + + /BITS IN RUTW + RUTHPH=60000 /HOLD-DOWN TIMER FOR MIN HOP PATH + RTHPH1=20000 /LOW ORDER BIT OF RUTHPH + RUTDLH=140 /HOLD-DOWN TIMER FOR MIN DELAY PATH + RTDLH1=40 /LOW ORDER BIT OF RUTDLH + + /BITS IN RST, RSTN + HOPS=174000 /5 BITS OF HOP COUNT + HOPS1=4000 /LOW ORDER BIT OF HOPS + DELS=3777 /11 BITS OF DELAY COUNT + + /BITS IN ROUTING MSG + /IN HEAD1 + RMSN=177400 /RM SERIAL # + RMSN1=400 /LOW-ORDER BIT IF SER # + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 224 IMP,3050,IMP 7:20 PM 9/16/1973 + + /RUTINI IS AN INITIALIZATION ROUTINE TO SET UP + /THE ROUTING TABLES + LEV BCK LCK INI +26070 000000 7 0 RUTINI: 0 +26071 005645 7 0 LDA (RST 0 NIMP X) +26072 010660 7 0 STA RST.O +26073 005646 7 0 LDA (RST1 0 NIMP X) +26074 010661 7 0 STA RST.F +26075 005647 7 0 LDA (RST2 0 NIMP X) +26076 010662 7 0 STA RST.N +26077 073346 7 0 LDX NEGIMP /LOOP OVER ALL IMPS +26100 005637 7 0 RUTINL: LDA CDEAD /(100000) +26101 050265 7 0 STA RUT+NIMP X 0"A"RUTDED +26102 140040 7 0 CRA +26103 051500 7 0 STA RUTW+NIMP X +26104 005640 7 0 LDA CMAXHD /(177777) +26105 110660 7 0 STA RST.O I +26106 110661 7 0 STA RST.F I +26107 110662 7 0 STA RST.N I +26110 024000 7 0 IRS 0 +26111 003100 7 0 JMP RUTINL +26112 072106 7 0 LDX MINE +26113 140040 7 0 CRA 0"A"RUTUS +26114 011644 7 0 STA RSTSN /START SER # AT 0 +26115 050165 7 0 STA RUT X /CLEAR RUT +26116 111650 7 0 STA (RST2 0 X) I /AND RSTN +26117 103070 7 0 JMP RUTINI I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 225 IMP,3050,IMP 7:20 PM 9/16/1973 + + /RSTINP IS A ROUTINE TO COPY A RECIEVED ROUTING MESSAGE INTO + /RSTN, RSTW AND RUTW TABLES. + CHK=0 + LEV T.O +26120 000000 5 RSTINP: 0 +26121 033365 5 RSTCK1: K STX LINEX /SAVE LINE# +26122 011372 5 K STA RST.I /SAVE AC FLAG +26123 073342 5 K LDX RSTCKX /(RSTCK1-0-RSTCK2-1) +26124 140040 5 K CRA /CALCULATE CHECKSUM FOR THIS CODE +26125 055365 5 K ADD RSTCK2+1 X +26126 024000 5 K IRS 0 +26127 003125 5 K JMP .-2 +26130 100040 5 K SZE /DIFFERENT? + RELOAD [RUTINP CODE BROKEN] +26131 120061 5 K JST SWDTIL I /YES, RELOAD +26132 073365 5 K LDX LINEX /RESTORE LINE # IN X +26133 045500 5 K LDA CED X /PICK UP COMPUTED EFFECTIVE DELAY +26134 141206 5 K AOA +26135 011366 5 K STA DELOUR /AND SAVE IT +26136 004000 5 K LDA 0 +26137 141206 5 K AOA +26140 011367 5 K STA CHANR /SAVE CHAN=+1 IN RT HALF +26141 141340 5 K ICA +26142 011370 5 K STA CHANL /ALSO IN LEFT HALF +26143 013367 5 K ERA CHANR +26144 011371 5 K STA CHANB /SAVE CHAN=+1 IN BOTH HALVES +26145 005372 5 K LDA RST.I /PICK UP FLAG +26146 101040 5 K SNZ /WERE WE CALLED BY TASK? +26147 003152 5 K JMP RSTI1 /YES, TRUE INPUT +26150 005344 5 K LDA DUMYIN /NO, MAKE UP DUMMY INPUT OF ALL 1: +26151 003167 5 K JMP RSTI2 +26152 044433 5 RSTI1: K LDA LINE X +26153 100040 5 K SZE /IS LINE DOWN? +26154 103120 5 K JMP RSTINP I /YES, IGNORE ROUTING +26155 072514 5 K LDX THIS /GET PKT PTR +26156 044006 5 K LDA HEAD1 X /TO RM +26157 141044 5 K CAR 0"A"RMSN /EXTRACT SERIAL # +26160 073365 5 K LDX LINEX +26161 067505 5 K IMA RSTSNI X /SAVE AS LATEST INPUT # +26162 053505 5 K ERA RSTSNI X /COMPARE W/ PREV # +26163 101040 5 K SNZ /NEW? +26164 103120 5 K JMP RSTINP I /NO, WE SAW IT BEFORE***NOP ON REI' +26165 004514 5 K LDA THIS /BUILD POST INDEXED PTR TO PKT +26166 015343 5 K ADD RSTCP1 /(HEAD2 0 NIMP X) +26167 011372 5 RSTI2: K STA RST.I +26170 073346 5 K LDX NEGIMP /LOOP OVER ALL IMPS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 226 IMP,3050,IMP 7:20 PM 9/16/1973 + +26171 105372 5 COPYL: K LDA RST.I I /GET ENTRY FROM RECEIVED ROUTING +26172 007347 5 K ANA HOPM /(174000) +26173 015353 5 K ADD HOPM1 /(4000) ADD IN OUR HOP +26174 101040 5 K SNZ /MAX VALUE? +26175 005347 5 K LDA HOPM /YES +26176 011373 5 K STA HOPIN /SAVE RECEIVED HOP COUNT +26177 141340 5 K ICA +26200 011374 5 K STA HOPINS +26201 105372 5 K LDA RST.I I /EXTRACT RECEIVED DELAY +26202 007350 5 K ANA DELM +26203 015366 5 K ADD DELOUR /ADD IN LOCAL DELAY +26204 023350 5 K CAS DELM /(3777) +26205 005350 5 K LDA DELM /TRUNCATE AT MAX DELAY +26206 101000 5 K NOP +26207 011375 5 K STA DELIN /SAVE TOTAL DELAY +26210 005371 5 K LDA CHANB /COMPARE THIS LINE # +26211 052265 5 K ERA RUT+NIMP X /...WITH PREVIOUS BEST FO1 +26212 007363 5 K ANA CHANM /(17437)EXTRACT LINE FIELDS ONLY +26213 023352 5 K CAS BSTDEL /(37)THIS MIN HOP LINE? +26214 003262 5 K JMP COPY11 /NO, SEE IF IT HAS GOOD DATA +26215 101000 5 K NOP +26216 011376 5 K STA CHANS /SAVE + /THIS LINE IS PREVIOUS BEST FOR HOPS +26217 104662 5 COPY1: K LDA RST.N I +26220 007350 5 K ANA DELM /EXTRACT OLD DELAY +26221 013373 5 K ERA HOPIN /PUT IN NEW HOPS +26222 126662 5 K IMA RST.N I /SAVE IN RSTN +26223 007347 5 K ANA HOPM +26224 141340 5 K ICA +26225 017374 5 K SUB HOPINS /COMPARE +26226 100400 5 K SPL /CHANGED? +26227 003252 5 K JMP HOLD1 /YES, IF HOPS WORSE DO HOLD-DOWN +26230 005376 5 COPY2: K LDA CHANS /LOOK AI OUR CHAN +26231 100040 5 K SZE /IS IT THE BEST DELAY? +26232 003320 5 K JMP COPY21 /NO + /THIS LINE PREVIOUS BEST FOR DELAY +26233 104662 5 K LDA RST.N I /YES +26234 007347 5 K ANA HOPM /EXTRACT OLD HOPS +26235 013375 5 K ERA DELIN /PUT IN NEW DELAY +26236 126662 5 K IMA RST.N I /SAVE IN RSTN +26237 007350 5 K ANA DELM +26240 017375 5 K SUB DELIN /COMPARE +26241 015351 5 K ADD DELCLP /ALLOW FOR SMALL CHANGE W/O HLDDWN +26242 100400 5 K SPL /DELAY GET MUCH WORSE? +26243 003310 5 K JMP HOLD2 /Y, DO HOLD-DOWN +26244 024000 5 COPYI: K IRS 0 /LOOP OVFR ALL IMPS +26245 003171 5 K JMP COPYL +26246 025377 5 K IRS RSTINC /COUNT ANOTHER INPUT COPY COMPLETE +26247 101000 5 K NOP +26250 073365 5 K LDX LINEX /RESTORE X +26251 103120 5 K JMP RSTINP I /RETURN TO TASK + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 227 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THIS LINE WAS PREVIOUS BEST FOR HOPS, HOPS CHANGED +26252 045500 5 HOLD1: K LDA RUTW+NIMP X /HOPS GOT WORSE +26253 007356 5 K ANA HLDH /GET HOLD-DOWN TIMER +26254 100040 5 K SZE /ON? +26255 003230 5 K JMP COPY2 /Y, GO ON TO DELAY +26256 005356 5 K LDA HLDH /N, TURN IT ON +26257 053500 5 K ERA RUTW+NIMP X /...AND SAVE IN RUTW +26260 051500 5 K STA RUTW+NIMP X +26261 003230 5 K JMP COPY2 + + /THIS LINE WAS NOT PREVIOUS BEST FOR HOPS +26262 007352 5 COPY11: K ANA BSTDEL /TURN OFF HOP CHAN BITS +26263 011376 5 K STA CHANS /SAVE IN CHANS +26264 045500 5 K LDA RUTW+NIMP X +26265 007356 5 K ANA HLDH /GET HOLD-DOWN TIMER FOR HOPS +26266 100040 5 K SZE +26267 003230 5 K JMP COPY2 /NOT 0, GO DO DELAY NEXT + /NOT PREVIOUS BEST HOPS, NOT HOLDING +26270 104662 5 K LDA RST.N I +26271 007347 5 K ANA HOPM /EXTRACT CURRENT HOPS ON BEST +26272 141340 5 K ICA +26273 023374 5 K CAS HOPINS /COMPARE W/ RCVD HOPS +26274 003277 5 K JMP COPY13 /RCVD HOPS BETTER +26275 003230 5 K JMP COPY2 /NO BETTER, DO DELAY NEXT +26276 003230 5 K JMP COPY2 /DITTO + + /NOT PREVIOUS BEST HOPS, NOT HOLDING, BETTER THAN PREVIOUS +26277 141340 5 COPY13: K ICA +26300 112662 5 K ERA RST.N I /EXTRACT OLD BEST DELAY +26301 013373 5 K ERA HOPIN /PUT IN NEW HOPS +26302 110662 5 K STA RST.N I /SAVE IN RSTN +26303 044265 5 K LDA RUT+NIMP X +26304 007361 5 K ANA CHANML /(160377)EXTRACT CHAN OF MIN DELA1 +26305 013370 5 K ERA CHANL /UPDATE CHAN OF MIN HOPS +26306 050265 5 K STA RUT+NIMP X /SAVE IN RUT +26307 003230 5 K JMP COPY2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 228 IMP,3050,IMP 7:20 PM 9/16/1973 + + /THIS LINE WAS PREVIOUS BEST FOR DELAY, DELAY GOT WORSE +26310 045500 5 HOLD2: K LDA RUTW+NIMP X /DELAY GOT WORSE +26311 007357 5 K ANA HLDD /GET DELAY HOLD-DOWN TIMER +26312 100040 5 K SZE /IS IT ON? +26313 003244 5 K JMP COPYI /YES, GO ON TO NEXT IMP +26314 005357 5 K LDA HLDD /NO, TURN IT ON +26315 053500 5 K ERA RUTW+NIMP X /SAVE IN RUTW +26316 051500 5 K STA RUTW+NIMP X +26317 003244 5 K JMP COPYI + + /THIS LINE WAS NOT PREVIOUS BEST FOR DELAY +26320 045500 5 COPY21: K LDA RUTW+NIMP X +26321 007357 5 K ANA HLDD /GET DELAY HOLD-DOWN TIMER +26322 100040 5 K SZE +26323 003244 5 K JMP COPYI /NOT 0, GO TO NEXT IMP + /NOT PREVIOUS BEST DELAY, NOT HOLDING +26324 104662 5 K LDA RST.N I +26325 007350 5 K ANA DELM /EXTRACT CURRENT DELAY ON BEST +26326 023375 5 K CAS DELIN /COMP W/ RCVD DELAY +26327 003332 5 K JMP COPY23 /RCVD DELAY BETTER +26330 003244 5 K JMP COPYI /NO BETTER. GO ON TO NEXT IMP +26331 003244 5 K JMP COPYI /DITTO + + /NOT PREV BEST DELAY, NOT HOLDING, BETTER THAN PREVIOUS +26332 112662 5 COPY23: K ERA RST.N I /EXTRACT OLD BEST HOP COUNT +26333 013375 5 K ERA DELIN /PUT IN NEW DELAY +26334 110662 5 K STA RST.N I /SAVE IN RSTN +26335 044265 5 K LDA RUT+NIMP X +26336 007360 5 K ANA CHANMR /(177740)EXTRACT CHAN OF MIN HOP +26337 013367 5 K ERA CHANR /UPDATE CHAN OF BEST DELAY +26340 050265 5 K STA RUT+NIMP X /SAVE IN RUT +26341 003244 5 K JMP COPYI /GO ON TO NEXT IMP + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 229 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +26342 177534 C RSTCKX: K RSTCK1-0-RSTCK2-1 +26343 040107 C RSTCP1: K HEAD2 0 NIMP X +26344 026345 C DUMYIN: K .+1 /PTR TO DUMMY MAX INPUT +26345 177777 C K HOPS+0+DELS +26346 177700 C NEGIMP: K -NIMP +26347 174000 C HOPM: K HOPS +26350 003777 C DELM: K DELS +26351 000010 C DELCLP: K 10 /SMALL CHANGE TO DELAY IS OK +26352 000037 C BSTDEL: K RUTDLC +26353 004000 C HOPM1: K HOPS1 /4000 +26354 020000 C HLDH1: K RTHPH1 /20000 +26355 000040 C HLDD1: K RTDLH1 /40 +26356 060000 C HLDH: K RUTHPH /60000 +26357 000140 C HLDD: K RUTDLH /140 +26360 177740 C CHANMR: K 0 0 177777"X"RUTDLC +26361 160377 C CHANML: K 0 0 177777"X"RUTHPC +26362 160340 C CHANMB: K 0 0 177777"X"RUTDLC"X"RUTHPC +26363 017437 C CHANM: K 0 0 RUTDLC"X"RUTHPC +26364 104676 C RSTCK2: -CHK + + LEV VAR +26365 V LINEX: BSS 1 /INPUT LINE= (0 TO CH-1) +26366 V DELOUR: BSS 1 /OUR LOCAL DELAY OUT OF THIS LINE +26367 V CHANR: BSS 1 /THIS LINE # +1, IN RIGHT HALF +26370 V CHANL: BSS 1 / LEFT +26371 V CHANB: BSS 1 / BOTH HALVES +26372 V RST.I: BSS 1 /RST POINTER TO INPUT MESSAGE +26373 V HOPIN: BSS 1 /RCVD HOP COUNT TO THIS IMP +26374 V HOPINS: BSS 1 /HOPIN WITH HALVES SWAPPED +26375 V DELIN: BSS 1 /RCVD DELAY TO THIS IMP PLUS LOCAL +26376 V CHANS: BSS 1 /TEMP = XOR(INPUT LINE, RUT ENTRY) +26377 V RSTINC: BSS 1 /COUNTER OF CALLS OF RSTIN FOR AL1 +26400 V RUTW: BSS NIMP +26500 V CED: BSS CH /COMPUTED EFFECTIVE DELAY +26505 V RSTSNI: BSS CH /SERIAL # OF LAST RM INPUT + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 230 IMP,3050,IMP 7:20 PM 9/16/1973 + + CHK=0 + LEV T.O +26512 000000 5 RUTOUT: 0 +26513 073627 5 RUTCK1: K LDX RUTCKX /(RUTCK1-0-RUTCK2-1) +26514 140040 5 K CRA +26515 055642 5 K ADD RUTCK2+1 X +26516 024000 5 K IRS 0 /CHECKSUM THIS CODE +26517 003515 5 K JMP .-2 +26520 100040 5 K SZE /DIFFERENT? + RELOAD [RUTOUT CODE BROKEN] +26521 120061 5 K JST SWDTIL I /YES, RELOAD +26522 073630 5 K LDX CRSTC /(-NIMP-HEAD2-ACKH) +26523 033642 5 K STX RSTC /INIT CKSUM=-# OF WORDS +26524 110660 5 K STA RST.O I /INIT ACK HEADER AT ZERO +26525 024000 5 K IRS 0 +26526 015642 5 K ADD RSTC /ADD INTO MSG CKSUM +26527 011642 5 K STA RSTC +26530 004106 5 K LDA MINE /THIS IMP # +26531 141340 5 K ICA +26532 141206 5 K AOA 0"A"LINETS /PUT IN ROUTING MSG BIT +26533 110660 5 K STA RST.O I /INIT HEADER +26534 024000 5 K IRS 0 +26535 015642 5 K ADD RSTC /ADD INTO MSG CKSUM +26536 011642 5 K STA RSTC +26537 005644 5 K LDA RSTSN +26540 015631 5 K ADD CRMSN1 /INCREMENT SER # +26541 011644 5 K STA RSTSN +26542 110660 5 K STA RST.O I +26543 024000 5 K IRS 0 +26544 015642 5 K ADD RSTC /ADD INTO MSG CKSUM +26545 011642 5 K STA RSTC + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 231 IMP,3050,IMP 7:20 PM 9/16/1973 + +26546 044265 5 COMPL: K LDA RUT+NIMP X +26547 100400 5 K SPL 0"A"RUTDED /THIS IMP DEAD? +26550 003602 5 K JMP RTDEAD /YES +26551 104662 5 K LDA RST.N I +26552 007347 5 K ANA HOPM /GET HOP COUNT +26553 141340 5 K ICA +26554 023633 5 K CAS CMAXH /COMPARE W/ MAX VALUE +26555 003614 5 K JMP RTDIED /TOO BIG, THIS IMP HAS DIED +26556 003614 5 K JMP RTDIED /DITTO +26557 044265 5 K LDA RUT+NIMP X +26560 007636 5 K ANA NOGODN /THIS IMP UP, CLEAR GOING DOWN +26561 050265 5 K STA RUT+NIMP X +26562 033643 5 K STX THDTMP /THIS IMP UP, SAVE AS HIGHEST # SO T +26563 104662 5 NWRST1: K LDA RST.N I +26564 110660 5 NEWRST: K STA RST.O I /SAVE IN RST +26565 015642 5 K ADD RSTC /ADD IN ROUTING MSG CKSUM +26566 011642 5 K STA RSTC /AND PUT IT BACK +26567 024000 5 K IRS 0 /LOOP OVER ALL IMPS +26570 003546 5 K JMP COMPL +26571 140407 5 K TCA /PICK UP FINAL CKSUM ANDCOMPLEMENT +26572 110660 5 K STA RST.O I /STORE AS LAST WRD OF MSG +26573 073643 5 K LDX THDTMP /PICK UP HIGHEST # IMP +26574 044265 5 K LDA RUT+NIMP X +26575 007632 5 K ANA HOPCHM /EXTRACT OUR MIN HOP PATH TO IT +26576 141340 5 K ICA +26577 016114 5 K SUB ONE +26600 010420 5 K STA THD /SAVE IN THD, FOR SYNC ACQUISITIO: +26601 103512 5 K JMP RUTOUT I /AND RETURN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 232 IMP,3050,IMP 7:20 PM 9/16/1973 + +26602 104662 5 RTDEAD: K LDA RST.N I /THIS IMP WAS DEAD +26603 007347 5 K ANA HOPM /EXTRACT BEST HOPS THIS TIME +26604 141340 5 K ICA +26605 023633 5 K CAS CMAXH /COMPARE WITH MAX +26606 003624 5 K JMP RTDOWN /STILL TOO MANY. DEAD +26607 003624 5 K JMP RTDOWN /DITTO +26610 044265 5 RTNOTD: K LDA RUT+NIMP X /GET BEST LINES +26611 007363 5 K ANA CHANM 0"A"RUTDED /TURN OFF RUTDED BIT +26612 013634 5 K ERA COMUPM /PUT IN INITIAL COME-UP DELAY +26613 003622 5 K JMP NWRST2 /PUT IN RUT, THEN SET UF RST + +26614 044265 5 RTDIED: K LDA RUT+NIMP X +26615 007635 5 K ANA GODWNM /IMP WAS UP +26616 100040 5 K SZE /IS IT MARKED AS GOING DOWN? +26617 003563 5 K JMP NWRST1 /YES +26620 005635 5 K LDA GODWNM /NO, MARK IT NOW +26621 052265 5 K ERA RUT+NIMP X +26622 050265 5 NWRST2: K STA RUT+NIMP X +26623 003563 5 K JMP NWRST1 + +26624 005640 5 RTDOWN: K LDA CMAXHD /REPORT AS DOWN TO NEIGHBORS +26625 110662 5 K STA RST.N I /AND KEEP MAX VAL FOR US +26626 003564 5 K JMP NEWRST /...BY SETTING RST TO MAX VALUE + + LEV CON +26627 177651 C RUTCKX: K RUTCK1-0-RUTCK2-1 +26630 177675 C CRSTC: K -NIMP-HEAD2+ACKH +26631 000400 C CRMSN1: K RMSN1 /400 +26632 017400 C HOPCHM: K RUTHPC /17400 +26633 000260 C CMAXH: K 0 0 MAXH"T"8. /260 +26634 000340 C COMUPM: K RUTCMU /340 +26635 060000 C GODWNM: K RUTGOD /60000 +26636 117777 C NOGODN: K 0 0 177777"X"RUTGOD /117777 +26637 100000 C CDEAD: K RUTDED /100000 +26640 177777 C CMAXHD: K 0 0 HOPS"X"DELS /177777 +26641 125362 C RUTCK2: -CHK + + LEV VAR +26642 V RSTC: BSS 1 /ROUTING MESSAGE CHECKSUM +26643 V THDTMP: BSS 1 /TEMP FOR THD + +26644 V RSTSN: BSS 1 /SERIAL # OF LAST RM COMPUTATION + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 233 IMP,3050,IMP 7:20 PM 9/16/1973 + +26645 073106 C LEV CON CONSTANTS +26646 073212 C +26647 073316 C +26650 073216 C +02435 175666 C PAGEND 26,UNCON,15 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 234 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV T.O + CHK=0 +27112 000000 5 RUTCLK: 0 +27113 073261 5 RTCLK1: K LDX RTCLKX +27114 140040 5 K CRA +27115 055263 5 K ADD RTCLK2+1 X +27116 024000 5 K IRS 0 +27117 003115 5 K JMP .-2 +27120 100040 5 K SZE + RELOAD [RUTCLK CODE BROKEN] +27121 120061 5 K JST SWDTIL I +27122 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR HOLD-DOWN +27123 105241 5 HLDC1: K LDA RUT.W I +27124 007243 5 K ANA HOLDH +27125 101040 5 K SNZ /ARE WE HOLDING DOWN MIN HOP PATH? +27126 003132 5 K JMP HLDC2 /NO +27127 105241 5 K LDA RUT.W I +27130 017251 5 K SUB HOLDH1 /DECREMENT TIMER +27131 111241 5 K STA RUT.W I +27132 105241 5 HLDC2: K LDA RUT.W I /NO +27133 007244 5 K ANA HOLDD +27134 101040 5 K SNZ /HOLDING DOWN MIN DELAY PATH? +27135 003141 5 K JMP HLDC3 /NC +27136 105241 5 K LDA RUT.W I +27137 017252 5 K SUB HOLDD1 /DECREMENT TIMER +27140 111241 5 K STA RUT.W I +27141 024000 5 HLDC3: K IRS 0 +27142 003123 5 K JMP HLDC1 /NEXT +27143 025263 5 K IRS GODWNC /IS IT TIME TO DO GOING DOWN DELA' +27144 003170 5 K JMP CMUC0 /NO +27145 005237 5 K LDA GODWNK /YES, EVERY 4TH TICK +27146 011263 5 K STA GODWNC +27147 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR GOING DOWNS +27150 044265 5 GODC1: K LDA RUT+NIMP X +27151 007245 5 K ANA MGODWN +27152 101040 5 K SNZ /THIS IMP GOING DOWN? +27153 003166 5 K JMP GODC2 /NO +27154 044265 5 K LDA RUT+NIMP X /YES +27155 017246 5 K SUB MGODW1 /DECREMENT TIMER +27156 050265 5 K STA RUT+NIMP X +27157 007245 5 K ANA MGODWN +27160 100040 5 K SZE /IS IT COMPLETELY DOWN? +27161 003166 5 K JMP GODC2 /NO +27162 005235 5 K LDA MAXRST /YES. HE IS REALLY DEAD +27163 111242 5 K STA RST.N2 I /SET UP RSTN +27164 005236 5 K LDA MAXRUT +27165 050265 5 K STA RUT+NIMP X /AND RUT +27166 024000 5 GODC2: K IRS 0 +27167 003150 5 K JMP GODC1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 235 IMP,3050,IMP 7:20 PM 9/16/1973 + +27170 025264 5 CMUC0: K IRS COMUPC /IS IT TIME TO DO COMING-UP DELAYS +27171 003206 5 K JMP RMVFRQ /NO, DO VBL FRQ CMPTNS +27172 005240 5 K LDA COMUPK /YES, EVERY TENTH TICK +27173 011264 5 K STA COMUPC +27174 073230 5 K LDX NIMPMI /LOOP OVER ALL IMPS FOR COMING UP +27175 044265 5 CMUC1: K LDA RUT+NIMP X +27176 007247 5 K ANA MCOMUP +27177 101040 5 K SNZ /IS THIS IMP COMING UP? +27200 003204 5 K JMP CMUC2 /NO +27201 044265 5 K LDA RUT+NIMP X /YES +27202 017250 5 K SUB MCOMU1 /DECREMENT TIMER +27203 050265 5 K STA RUT+NIMP X /SAVE IN RUT(IF HE CAME [ +27204 024000 5 CMUC2: K IRS 0 +27205 003175 5 K JMP CMUC1 +27206 073231 5 RMVFRQ: K LDX RMMICH /-CH +27207 140040 5 RMVFRC: K CRA +27210 011266 5 K STA RMVT +27211 127232 5 K IMA CTIMK I /CLEAR CUMTIM AND COMPUTE EXTRAS +27212 017234 5 RMVFRA: K SUB MS132K +27213 100400 5 K SPL +27214 003217 5 K JMP RMVFRB +27215 025266 5 K IRS RMVT +27216 003212 5 K JMP RMVFRA +27217 005233 5 RMVFRB: K LDA RMFOUR +27220 017266 5 K SUB RMVT +27221 100400 5 K SPL +27222 140040 5 K CRA +27223 015260 5 K ADD CRMVTB +27224 051274 5 K STA RUTFRQ+CH X +27225 024000 5 K IRS 0 +27226 003207 5 K JMP RMVFRC /LOOP OVER ALL LINES +27227 103112 5 K JMP RUTCLK I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 236 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +27230 177700 C NIMPMI: K -NIMP +27231 177773 C RMMICH: K -CH +27232 052632 C CTIMK: K CUMTIM CH X +27233 000004 C RMFOUR: K 4 +27234 002450 C MS132K: K 2450 +27235 177777 C MAXRST: K HOPS+0+DELS +27236 100000 C MAXRUT: K RUTDED +27237 177772 C GODWNK: K -6 +27240 177767 C COMUPK: K -9. +27241 066500 C RUT.W: K RUTW+NIMP X +27242 073316 C RST.N2: K RST2+NIMP X +27243 060000 C HOLDH: K RUTHPH +27244 000140 C HOLDD: K RUTDLH +27245 060000 C MGODWN: K RUTGOD +27246 020000 C MGODW1: K RUTGD1 +27247 000340 C MCOMUP: K RUTCMU +27250 000040 C MCOMU1: K RUTCM1 +27251 020000 C HOLDH1: K RTHPH1 +27252 000040 C HOLDD1: K RTDLH1 + /RMVTAB USED BY RSTOUT +27253 000001 C RMVTAB: K 1 /1BIT IN 5 (# OF EXTRA +1 RM'S TO S1 +27254 000005 C K 5 /2 IN 5 (I.E. 1 EXTRA) +27255 000015 C K 15 +27256 000033 C K 33 +27257 000037 C K 37 +27260 027253 C CRMVTB: K RMVTAB +27261 177630 C RTCLKX: K RTCLK1-0-RTCLK2-1 +27262 147750 C RTCLK2: -CHK + + LEV VAR +27263 V GODWNC: BSS 1 /COUNTER - EVERY 4TH TICK +27264 V COMUPC: BSS 1 /COUNTER - EVERY 10TH TICK +27265 V HOLDT: BSS 1 /TEMP +27266 V RMVT: BSS 1 /TEMP +27267 V RUTFRQ: BSS CH /# OF EXTRA RM'S PERMITTED AS PER + + LEV CON CONSTANTS +02436 172274 C PAGEND 27,UNCON + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 237 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV BCK + /STATISTICS PROGRAMS + /ALL CALLS TO DEFSTAT MUST PRECEDE THIS PAGE +30056 004114 7 STTI: LDA ONE +30057 011213 7 STA SOFO /BEGIN BY SAVING COPY OF SON +30060 005436 7 BKST: LDA SON /PICK UP 10-SEC STAT ON-OFF FLAG +30061 027213 7 IMA SOFO /KEEP A COPY +30062 023436 7 CAS SON /ANY CHANGE IN STATUS? +30063 100000 7 SKP /YES, MUST CHANGE STATISTICS LOCATI1 +30064 003104 7 JMP SP2 /NO +30065 101040 7 SNZ /WAS 10-SEC STAT JUST TURNED ON? +30066 003075 7 JMP SP1 /YES +30067 073575 7 LDX (-NSTATS) /NO, JUST TURNED OFF +30070 105576 7 LDA (SC1+NSTATS 0 X) I /PICK UP STANDARD CONTE:'1 +30071 111577 7 STA (SB1+NSTATS 0 XI) I /AND PLANT IN DESIGNATED ] +30072 024000 7 IRS 0 /THIS RESTORES PROGRAM TO ITS DEFAUT +30073 003070 7 JMP .-3 +30074 003104 7 JMP SP2 +30075 021256 7 SP1: JST CLST /CLEAR OUT 10-SEC STAT TABLES +30076 073575 7 LDX (-NSTATS) +30077 005600 7 LDA (JST SW1 I) /PLANT JST'S TO STATISTIC +30100 111577 7 STA (SB1+NSTATS 0 XI) I +30101 141206 7 AOA /THIS PUTS BREAKPOINT-LIKE CODE +30102 024000 7 IRS 0 /IN KEY PLACES THROUGHOUT THE PROGR +30103 003100 7 JMP .-3 +30104 005601 7 SP2: LDA (50000+0+DIAGTT) +30105 011455 7 STA DIAGD +30106 005602 7 LDA (DIAGQ 0 I) +30107 011440 7 STA DIAGON /DIAG IS ALWAYS ON +30110 005603 7 LDA (TRON 0 I) +30111 011212 7 STA SP81 /INDIRECT POINTER FOR ON FLAGS +30112 072125 7 LDX MINUS5 /SO THAT NCC TRBL REPTS ALWAYS GO[ +30113 033441 7 STX TPON /TURN ON NCC TRBL REPTS +30114 033211 7 SP3: STX SP8 /LOOP HERE FOR EACH STAT PROGRAM +30115 105212 7 LDA SP81 I +30116 101040 7 SNZ /IS THIS STAT PROGRAM TURNED ON? +30117 003170 7 JMP SP91 /NO +30120 004417 7 LDA SYNC /PICK UP CURRENT TIME +30121 057211 7 SUB OLDS+5 X /COMPARE WITH THE LAST TIME THIS PR +30122 100400 7 SPL /CORRECT FOR TIMER OVERFLOW +30123 140407 7 TCA /EVERY 30 MINUTES +30124 057465 7 SUB STATF+5 X /LOOK AT INTERVAL BETWEEN PROGRAM R +30125 100400 7 SPL /IS IT TIME TO ACTIVATE THIS PROG? +30126 003170 7 JMP SP91 /NO +30127 140040 7 CRA /YES +30130 011214 7 STA SKEWT /INIT A TIME-SKEWING TEMP +30131 004000 7 LDA 0 +30132 012124 7 ERA MINUS4 +30133 100040 7 SZE /ARE WE DOING 10-SEC STAT? +30134 003153 7 JMP STAT6 /NO + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 238 IMP,3050,IMP 7:20 PM 9/16/1973 + +30135 045465 7 LDA STATF+5 X /YES, SKEW REPORTS BY IMP NUMBER +30136 040572 7 ARS 6 0"A"NIMP /DIV BY 100 = IMPNO +30137 101040 7 SNZ +30140 003153 7 JMP STAT6 /TOO SMALL AN INTERVAL TO SKEW +30141 140407 7 TCA +30142 011215 7 STA COUNT1 /BUILD MULTIPLY LOOP +30143 004106 7 STAT4: LDA MINE +30144 140407 7 TCA +30145 011216 7 STA COUNT2 +30146 025214 7 STAT5: IRS SKEWT /COMPUTE SKEWT=(MINE/100)*STATF +30147 025216 7 IRS COUNT2 +30150 003146 7 JMP STAT5 +30151 025215 7 IRS COUNT1 +30152 003143 7 JMP STAT4 +30153 045465 7 STAT6: LDA STATF+5 X +30154 140407 7 TCA +30155 006417 7 ANA SYNC +30156 015214 7 ADD SKEWT +30157 051211 7 STA OLDS+5 X +30160 045457 7 LDA STATD+5 X /*SEND STAT DEST +30161 021403 7 JST GIVE +30162 045451 7 LDA STATL+5 X /*SEND STAT LINK +30163 021403 7 JST GIVE +30164 143204 7 JMP CAWL+5 XI /CALL STAT PROGRAM + +30165 073604 7 GIVLST: LDX (100003) /TERMINATE STAT MESSAGE +30166 004112 7 LDA SIGN /*SEND PADDING +30167 120664 7 JST JAM I +30170 073211 7 SP91: LDX SP8 /LOOP BACK OVER EACH STAT PROG +30171 025212 7 IRS SP81 +30172 024000 7 IRS 0 +30173 003114 7 JMP SP3 +30174 072116 7 LDX THREE +30175 120665 7 JST DOZE I +30176 003060 7 JMP BKST + + LEV CON +30177 030217 C CAWL: SNAP /SNAPSHOT STATISTICS PROGRAM +30200 030243 C SEST /CUMULATIVE STATISTICS PROGRAM +30201 030267 C GENM /MESSAGE GENERATOR +30202 030347 C DIAG /DIAGNOSTIC SENDER +30203 022057 C TRBL /NCC TROUBLE REPORT PROGRAM + LEV VAR +30204 000000 V OLDS: 0 +30205 000000 V 0 +30206 000000 V 0 +30207 000000 V 0 +30210 000000 V TRBOLD: 0 + +30211 V SP8: BSS 1 /COUNTER FOR WHICH STAT PROG TO RUN +30212 V SP81: BSS 1 /STAT FLAGS INDIRECT PTR +30213 V SOFO: BSS 1 /SAVED COPY OF SON +30214 V SKEWT: BSS 1 /AMOUNT OF TIME TO SKEW STAT REPTS +30215 V COUNT1: BSS 1 +30216 V COUNT2: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 239 IMP,3050,IMP 7:20 PM 9/16/1973 + + /SEND SNAPSHOT STATISTICS + LEV BCK +30217 005605 7 SNAP: LDA (5) /*SEND SNAPSHOT CODE +30220 021403 7 JST GIVE +30221 004415 7 LDA TIME /*SEND LOCAL TIME +30222 021403 7 JST GIVE +30223 073606 7 LDX (-COUNTL) +30224 001001 7 SNP2: INH ALL +30225 044543 7 0 LDA COUNTA+COUNTL X /*SEND QUEUE LENGTHS +30226 056567 7 0 SUB COUNTS+COUNTL X +30227 000401 7 0 ENB BCK +30230 021403 7 JST GIVE +30231 024000 7 IRS 0 +30232 003224 7 JMP SNP2 +30233 072132 7 LDX MINIMP +30234 044265 7 SNP3: LDA RUT+NIMP X /*SEND ROUTE USE TABLE +30235 021403 7 JST GIVE +30236 105607 7 LDA (RST+NIMP 0 X) I /*SEND ROUTE SEND TABLE +30237 021403 7 JST GIVE +30240 024000 7 IRS 0 +30241 003234 7 JMP SNP3 +30242 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE + + /SEND 10 SECOND (CUMULATIVE) STATISTICS +30243 004115 7 SEST: LDA TWO /*SEND 10-SEC STAT CODE +30244 021403 7 JST GIVE +30245 004417 7 LDA SYNC /*SEND NETWORK-WIDE TIME +30246 021403 7 JST GIVE +30247 073610 7 LDX (-NST) +30250 105611 7 LDA (STTB+NST X) I /*SEND 10-SEC STAT TABLE +30251 021403 7 JST GIVE +30252 024000 7 IRS 0 +30253 003250 7 JMP .-3 +30254 021256 7 JST CLST /CLEAR THE 10-SEC STAT TABLES +30255 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE + + LEV BCK + /CLEAR ALL ENTRIES IN 10-SEC STAT TABLES +30256 000000 7 CLST: 0 +30257 073610 7 LDX (-NST) +30260 140040 7 CRA +30261 001001 7 INH ALL +30262 111611 7 0 STA (STTB+NST X) I +30263 024000 7 0 IRS 0 +30264 003262 7 0 JMP .-2 +30265 000401 7 0 ENB BCK +30266 103256 7 JMP CLST I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 240 IMP,3050,IMP 7:20 PM 9/16/1973 + + /MESSAGE GENERATOR +30267 072116 7 GENM: LDX THREE /FAKE HOST 3 - STATISTICS +30270 005465 7 LDA MGNL /PICK UP LENGTH OF MESSAGE +30271 007612 7 ANA (777) +30272 101040 7 SNZ +30273 003301 7 JMP GENM1 +30274 140407 7 TCA /GIVES RIGHT NUMBER, EXCLUDING PADD +30275 011346 7 STA MGCNT +30276 120664 7 JST JAM I /*SEND MGNL WORDS +30277 025346 7 IRS MGCNT +30300 003276 7 JMP .-2 +30301 131040 7 GENM1: RDCLOK +30302 003301 7 JMP .-1 + /CRA FOR ALL REG, LDA ONE FOR ALL PRI, ANA ONE FOR RANDOM MI +30303 140040 7 CRA +30304 100040 7 SZE +30305 004112 7 LDA SIGN +30306 013454 7 ERA MGD +30307 011454 7 STA MGD +30310 005446 7 LDA MGLK +30311 101000 7 NOP /"SKP" TO RUN LINK CYCLER +30312 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE +30313 101040 7 SNZ +30314 003333 7 JMP LC1 +30315 015613 7 LC3: ADD (400) +30316 011446 7 STA MGLK +30317 100040 7 SZE +30320 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE +30321 004415 7 LDA TIME +30322 017345 7 SUB OTIM +30323 111343 7 STA PLAC I +30324 025343 7 IRS PLAC +30325 005465 7 LDA MGNL +30326 015342 7 ADD IGTH +30327 011465 7 STA MGNL +30330 017344 7 SUB LIMT +30331 101400 7 SMI +30332 003337 7 JMP LC44 +30333 004415 7 LC1: LDA TIME +30334 011345 7 STA OTIM +30335 005446 7 LDA MGLK +30336 003315 7 JMP LC3 + +30337 140040 7 LC44: CRA /WHEN DONE, SHUT MGEN OFF +30340 011437 7 STA MGON +30341 003165 7 JMP GIVLST /*SEND PADDING AND END MESSAGE + + LEV VAR +30342 000010 V IGTH: 10 /LENGTH INCREMENT +30343 030000 V PLAC: 30000 /CORE POINTER FOR TABLE BUILDING +30344 000760 V LIMT: 760 /LONGEST MESSAGE TO SEND +30345 V OTIM: BSS 1 /TEMP TO SAVE STARTING TIME OF BLOC +30346 V MGCNT: BSS 1 /TEMP COUNTER FOR MESS LENGTH + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 241 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK +30347 001001 7 DIAG: INH ALL /SEND BROKEN PACKETS TO NCC FOR DIAT +30350 104342 7 0 LDA DIAGQ I +30351 026342 7 0 IMA DIAGQ /GET PKT OFF DIAG QUEUE +30352 000401 7 0 ENB BCK +30353 011401 7 STA DIAGP /SAVE PNTR +30354 004746 7 LDA HLTLOC /*SEND HLT PC +30355 021403 7 JST GIVE +30356 004747 7 LDA HLTA /*SEND HLT A REG +30357 021403 7 JST GIVE +30360 004750 7 LDA HLTX /*SEND HLT X REG +30361 021403 7 JST GIVE +30362 005401 7 LDA DIAGP /*SEND PKT PNTR +30363 010000 7 STA 0 +30364 021403 7 JST GIVE +30365 005614 7 LDA (-BUFL) +30366 011402 7 STA DIAGC /SET UP SEND COUNTER +30367 044000 7 DIAG1: LDA 0 X /*SEND CONTENTS OF BAD PACKET +30370 021403 7 JST GIVE +30371 024000 7 IRS 0 +30372 025402 7 IRS DIAGC +30373 003367 7 JMP DIAG1 +30374 001001 7 INH ALL +30375 073401 7 0 LDX DIAGP +30376 120671 7 0 JST FLUSHI I +30377 000401 7 0 ENB BCK +30400 003165 7 JMP GIVLST + + LEV VAR +30401 V DIAGP: BSS 1 /PKT PNTR +30402 V DIAGC: BSS 1 /LOOP COUNTER + + LEV BCK +30403 000000 7 GIVE: 0 /STAT CALLS TO JAM +30404 033411 7 STX STT8 /SAVE X-REG +30405 072116 7 LDX THREE +30406 120664 7 JST JAM I +30407 073411 7 LDX STT8 +30410 103403 7 JMP GIVE I + LEV VAR +30411 V STT8: BSS 1 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 242 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK /FAKE IMP-TO-HOST 2 - PARAMETER CHANGE +30412 120666 7 BTR1: JST SUCK I /SKIP OVER REST OF MESSAGE +30413 003412 7 JMP BTR1 +30414 120666 7 BEST: JST SUCK I /BEGIN TO ACCEPT MESSAGE HERE +30415 120666 7 JST SUCK I /IGNORE LEADER +30416 120666 7 BTR4: JST SUCK I /GET NUMBER OF PARAM TO CHANGE +30417 100000 7 SKP /END OF MESSAGE? +30420 003414 7 JMP BEST /YES, GO BACK +30421 100400 7 SPL /IS NO OF PARAM ROSTIVE? +30422 003412 7 JMP BTR1 /NO, IGNORE REST OF MESSAGE +30423 007615 7 ANA (37) /YES, MASK DOWN TO 5 BITS +30424 015616 7 ADD (PARAMT) /BUILD PNTR TO PARAM TABLE +30425 011433 7 STA BTR2 +30426 120666 7 JST SUCK I /GET NEW VALUE FOR PARAMETER +30427 100000 7 SKP /END OF MESSAGE? +30430 003414 7 JMP BEST /YES, NO CHANGE TO THIS PARAM +30431 111433 7 STA BTR2 I /NO, PUT NEW VALUE IN PARAM +30432 003416 7 JMP BTR4 /AND GO BACK FOR MORE + LEV VAR +30433 000000 V BTR2: 0 + + DEFPLC [PARAMETERS TABLE] + PARAMT: + PARAML=32. +30434 V TRON: BSS 1 /0-TRACE ON +30435 V SNON: BSS 1 /1-SNAP ON +30436 V SON: BSS 1 /2-10-SEC STAT ON +30437 V MGON: BSS 1 /3-MESS GEN ON +30440 V DIAGON: BSS 1 /4-DIAG ON +30441 V TPON: BSS 1 /5-TRBL REPT ON +30442 V BSS 1 /6 + +30443 V TLNK: BSS 1 /7-TRACE LINK +30444 V STATL: BSS 1 /10-SNAP LINK +30445 V BSS 1 /11-10-SEC LINK +30446 V MGLK: BSS 1 /12-MESS GEN LINK +30447 V BSS 1 /13-DIAG LINK +30450 V BSS 1 /14-TRBL REPT LINK + +30451 V TDST: BSS 1 /15-TRACE DEST +30452 V STATD: BSS 1 /16-SNAP DEST +30453 V BSS 1 /17-10-SEC DEST +30454 V MGD: BSS 1 /20-MESS GEN DEST +30455 V DIAGD: BSS 1 /21-DIAG DEST +30456 V TRBD: BSS 1 /22-TRBL REPT DEST + +30457 V TF: BSS 1 /23-AUTO TRACE FREQ +30460 V STATF: BSS 1 /24-SNAP FREQ +30461 V BSS 1 /25-10-SEC FREQ +30462 V BSS 1 /26-MESS GEN FREQ +30463 V BSS 1 /27-DIAG FREQ +30464 V TRBF: BSS 1 /30-TRBL REPT FREQ + +30465 V MGNL: BSS 1 /31-MESS GEN LENGTH +30466 V BSS PARAMT+1+PARAML-. + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 243 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV BCK /FAKE IMP-TO-HOST 3 - DISCARD +30474 120666 7 STXY: JST SUCK I /GET EACH WORD AS IT IS READY +30475 003474 7 JMP .-1 /AND RETURN IMMEDIATELY FOR MORE +30476 003474 7 JMP .-2 /EVEN ON END OF MESSAGE + + /FAKE HOST-TO-IMP 2 - TRACE +30477 140500 7 BTRE: SSM /START HERE +30500 003515 7 JMP BTRF + + LCK TSK +30501 000401 7 6 BTD: ENB BCK +30502 005572 7 LDA T3BX +30503 101040 7 SNZ +30504 003527 7 JMP BTRD +30505 004112 7 LDA SIGN +30506 073617 7 LDX (100002) +30507 120664 7 JST JAM I +30510 120665 7 BTRC: JST DOZE I /WAIT ONE BACKGROUND LOOP +30511 004341 7 LDA STRQ /START HERE +30512 101040 7 SNZ /ANYTHING TO SEND? +30513 003510 7 JMP BTRC /QUIT IF TRACE QUEUE EMPTY +30514 140040 7 CRA +30515 011572 7 BTRF: STA T3BX +30516 005451 7 LDA TDST /*SEND TRACE DEST +30517 120664 7 JST JAM I +30520 005443 7 LDA TLNK /*SEND TRACE LINK +30521 120664 7 JST JAM I +30522 004114 7 LDA ONE /*SEND TRACE CODE +30523 120664 7 JST JAM I +30524 140040 7 CRA /RESET OVERFLOW FLAG +30525 026414 7 IMA TTO /*SEND STATE OF OVERFLOW FLAG +30526 120664 7 JST JAM I +30527 072115 7 BTRD: LDX TWO +30530 120665 7 JST DOZE I +30531 005621 7 BRL2: LDA ((STRQ)) +30532 011573 7 STA OLD2 +30533 001001 7 INH TSK + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 244 IMP,3050,IMP 7:20 PM 9/16/1973 + +30534 105573 7 6 BTRL: LDA OLD2 I /SEARCH TRACE QUEUE +30535 011573 7 6 STA OLD2 +30536 105573 7 6 LDA OLD2 I +30537 011574 7 6 STA OLD1 +30540 101040 7 6 SNZ +30541 003501 7 6 JMP BTD /JUMP IF DONE WITH TRACE QUEUE +30542 010000 7 6 STA 0 +30543 044012 7 6 LDA TDONE X +30544 101400 7 6 SMI /IS THIS TRACE BLOCK COMPLETE? +30545 003534 7 6 JMP BTRL /NO +30546 044000 7 6 LDA 0 X /YES, PICK UP ITS CHAIN PNTR +30547 111573 7 6 STA OLD2 I /REMOVE FROM TRACE QUEUE +30550 000401 7 6 ENB BCK +30551 025572 7 IRS T3BX +30552 005622 7 LDA (-TDONE) +30553 011571 7 STA T2BX +30554 072115 7 LDX TWO +30555 025574 7 IRS OLD1 +30556 105574 7 LDA OLD1 I +30557 120664 7 JST JAM I /*SEND TRACE BLOCK +30560 025571 7 IRS T2BX +30561 003555 7 JMP .-4 +30562 005574 7 LDA OLD1 +30563 015622 7 ADD (-TDONE) +30564 001001 7 INH TSK +30565 026325 7 6 IMA TTF /PUT DN FREE TRACE QUEUE +30566 110325 7 6 STA TTF I +30567 000401 7 6 ENB BCK +30570 003531 7 JMP BRL2 /LOOP SEARCHING TRACE QUEUE + + LEV VAR +30571 V T2BX: BSS 1 /COPY LOOP COUNTER +30572 V T3BX: BSS 1 /COUNT OF NUMBER OF BLOCKS COPIED +30573 V OLD2: BSS 1 /QUEUE PNTR - USED IN SEARCH +30574 V OLD1: BSS 1 /PACKET PNTR - USED IN COPY + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 245 IMP,3050,IMP 7:20 PM 9/16/1973 + +30575 177760 C LEV CON CONSTANTS +30576 072030 C +30577 172010 C +30600 120574 C +30601 050057 C +30602 100342 C +30603 130434 C +30604 100003 C +30605 000005 C +30606 177754 C +30607 073106 C +30610 177423 C +30611 071716 C +30612 000777 C +30613 000400 C +30614 177666 C +30615 000037 C +30616 030434 C +30617 100002 C +30620 000341 C +30621 030620 C +30622 177766 C +02437 175631 C PAGEND 30,UNCON,3 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 246 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV H2I + /HOST TO IMP STATISTICS +31055 000000 4 HS0: 0 +31056 005753 4 LDA (STTB) +31057 001001 4 INH [I2M,I2H] +31060 011121 4 2 STA WHER +31061 004675 4 2 LDA HIP +31062 021123 4 2 JST SUB1 +31063 015356 4 2 ADD TOT1 +31064 011356 4 2 STA TOT1 +31065 000401 4 2 ENB H2I +31066 072675 4 LDX HIP +31067 172677 4 LDX HIXX I +31070 044007 4 LDA HEAD2 X +31071 103055 4 JMP HS0 I + + / HOST TO IMP ALL MESSAGES +31072 000000 4 HS2: 0 +31073 065375 4 IRS CNT2 X +31074 101000 4 NOP +31075 103754 4 JMP (HIH0 0 XI) I + + LEV I2H + / IMP TO HOST STATISTICS +31076 000000 3 HS1: 0 +31077 005755 3 LDA (XGP) +31100 001001 3 INH I2M +31101 011121 3 2 STA WHER +31102 004676 3 2 LDA IHP +31103 172700 3 2 LDX IHXX I +31104 021123 3 2 JST SUB1 +31105 015374 3 2 ADD TOT2 +31106 011374 3 2 STA TOT2 +31107 000401 3 2 ENB I2H +31110 072676 3 LDX IHP +31111 105756 3 LDA (IHED 0 X) I +31112 103076 3 JMP HS1 I + + / IMP TO HOST CONTROL MESSAGES +31113 000000 3 HS3: 0 +31114 141206 3 AOA +31115 065405 3 IRS CNT3 X +31116 101000 3 NOP +31117 103113 3 JMP HS3 I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 247 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR +31120 V WHERL: BSS 1 +31121 V WHER: BSS 1 +31122 V SUBL: BSS 1 + + LEV I2M +31123 000000 2 SUB1: 0 +31124 016130 2 SUB PLNH +31125 101400 2 SMI +31126 003156 2 JMP SP6 +31127 044111 2 LDA BUFE X +31130 016000 2 SUB 0 +31131 017757 2 SUB (DATA) +31132 140100 2 SSP 0"A"TWOQ +31133 011122 2 STA SUBL +31134 021717 2 JST LOG +31135 014120 2 ADD SEVEN /POINTS TO LAST-PACKET LENGTH COUNT] +31136 015121 2 ADD WHER /...IN CORRECT TABLE +31137 011120 2 STA WHERL +31140 125120 2 IRS WHERL I /AND GOOSE COUNTER +31141 101000 2 NOP +31142 044006 2 LDA HEAD1 X +31143 141340 2 ICA 0"A"PKTNO +31144 006120 2 ANA SEVEN +31145 101040 2 SNZ +31146 003154 2 JMP SP4 /NO SEPARATE COUNTER FOR 1PKT MSGS +31147 016114 2 SUB ONE /BACK OFF 1 +31150 015121 2 ADD WHER +31151 011121 2 STA WHER +31152 125121 2 IRS WHER I +31153 101000 2 NOP +31154 005122 2 SP4: LDA SUBL +31155 103123 2 JMP SUB1 I + +31156 073123 2 SP6: LDX SUB1 +31157 042002 2 JMP 2 X + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 248 IMP,3050,IMP 7:20 PM 9/16/1973 + + / IMP TO MODEM MESSAGES +31160 000000 2 IM1: 0 +31161 111760 2 STA (ACKWRD) I +31162 010000 2 STA 0 +31163 044105 2 LDA BUFE-ACKH X +31164 016000 2 SUB 0 +31165 016116 2 SUB THREE 0"A"[HEAD2-ACKH] +31166 140100 2 SSP 0"A"TWOQ +31167 011337 2 STA IMT1 +31170 021717 2 JST LOG +31171 173761 2 LDX (OCHN) I +31172 055331 2 ADD TUB1 X +31173 011340 2 STA IMT2 +31174 125340 2 IRS IMT2 I +31175 101000 2 NOP +31176 005337 2 LDA IMT1 +31177 055622 2 ADD ANS4 X +31200 051622 2 STA ANS4 X +31201 103160 2 JMP IM1 I + + LEV M2I + / MODEM TO INP DISCARD +31202 000000 0 MI1: 0 +31203 025627 0 IRS MTOT +31204 070471 0 M1ERR +31205 103202 0 JMP MI1 I +31206 025634 0 IRS CKSM +31207 025202 0 IRS MI1 +31210 101000 0 NOP +31211 103202 0 JMP MI1 I + + /TASK I HEARD YOU MESSAGES RECEIVED +31212 000000 0 TSKIH: 0 +31213 064426 0 IRS LAC X +31214 065641 0 IRS TSKIHY X +31215 101000 0 NOP +31216 103212 0 JMP TSKIH I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 249 IMP,3050,IMP 7:20 PM 9/16/1973 + + / MODEM TO IMP BUFFER TROUBLE +31217 000000 0 MI3: 0 +31220 100040 0 SZE +31221 025217 0 IRS MI3 +31222 101040 0 SNZ +31223 065646 0 IRS BUFT X +31224 101000 0 NOP +31225 103217 0 JMP MI3 I + + /MORE OF MODEM TO IMP DISCARD + +31226 000000 0 MI1A: 0 +31227 025630 0 IRS MTOT+1 +31230 070472 0 M2ERR +31231 103226 0 JMP MI1A I +31232 025635 0 IRS CKSM+1 +31233 025226 0 IRS MI1A +31234 101000 0 NOP +31235 103226 0 JMP MI1A I + +31236 000000 0 MI1B: 0 +31237 025631 0 IRS MTOT+2 +31240 070473 0 M3ERR +31241 103236 0 JMP MI1B I +31242 025636 0 IRS CKSM+2 +31243 025236 0 IRS MI1B +31244 101000 0 NOP +31245 103236 0 JMP MI1B I + +31246 000000 0 MI1C: 0 +31247 025632 0 IRS MTOT+3 +31250 070474 0 M4ERR +31251 103246 0 JMP MI1C I +31252 025637 0 IRS CKSM+3 +31253 025246 0 IRS MI1C +31254 101000 0 NOP +31255 103246 0 JMP MI1C I + +31256 000000 0 MI1D: 0 +31257 025633 0 IRS MTOT+4 +31260 070475 0 M5ERR +31261 103256 0 JMP MI1D I +31262 025640 0 IRS CKSM+4 +31263 025256 0 IRS MI1D +31264 101000 0 NOP +31265 103256 0 JMP MI1D I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 250 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV H2I +31266 000000 4 HS4: 0 +31267 050111 4 STA BUFE X +31270 173762 4 LDX (PPSLT) I +31271 131040 4 RDCLOK +31272 003271 4 JMP .-1 +31273 050010 4 STA PPT1 X /SAVE SENT TIME FOR 1 PKT MESS +31274 173763 4 LDX (PPSLT 0 I) I +31275 103266 4 JMP HS4 I + +31276 000000 4 HS5: 0 /SHOULD ONLY DO THIS ONCE, NEED A C+ +31277 050030 4 STA PLT2 X +31300 131040 4 RDCLOK +31301 003300 4 JMP .-1 +31302 050044 4 STA PLT3 X /SAVE SENT TIME FOR 8 PKT MESS +31303 103276 4 JMP HS5 I + + LEV TSK LCK FRE +31304 000000 6 0 HS6: 0 +31305 131040 6 0 RDCLOK +31306 003305 6 0 JMP .-1 +31307 173764 6 0 LDX (PPTASK) I +31310 056010 6 0 SUB PPT1 X +31311 021322 6 0 JST HSTIME /GET ROUND-TRIP TIME FOR 1 PKT ME1 +31312 103765 6 0 JMP (PPTFRE) I + +31313 000000 6 0 HS7: 0 +31314 131040 6 0 RDCLOK +31315 003314 6 0 JMP .-1 +31316 173764 6 0 LDX (PPTASK) I +31317 056044 6 0 SUB PLT3 X +31320 021322 6 0 JST HSTIME /GET ROUND-TRIP TIME FOR 8 PKT MESS +31321 103766 6 0 JMP (GUDRP0) I + +31322 000000 6 0 HSTIME: 0 +31323 040475 6 0 LGR 3 +31324 173767 6 0 LDX (SOURCE) I +31325 055415 6 0 ADD HS4R X +31326 051415 6 0 STA HS4R X +31327 065515 6 0 IRS HS4S X +31330 103322 6 0 JMP HSTIME I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 251 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +31331 031660 C TUB1: XGP1+0 +31332 031666 C XGP1+6 +31333 031674 C XGP1+12. +31334 031702 C XGP1+18. +31335 031710 C XGP1+24. +31336 031716 C XGP1+30. + LEV VAR +31337 V IMT1: BSS 1 +31340 V IMT2: BSS 1 + + + /CUMULATIVE STATS SENT IN THIS ORDER + /STATISTICS GATHERED BY H2I +31341 V STTB: BSS 13. /HISTOGRAM OF H2I MESS LENGTH - A1 +31356 V TOT1: BSS 1 /TOTAL # OF H2I WORDS + /STATISTICS GATHERED BY I2H +31357 V XGP: BSS 13. /HISTOGRAM OF I2H MESS LENGTH - A1 +31374 V TOT2: BSS 1 /TOTAL # OF I2H WORDS + /STATISTICS GATHERED BY H2I +31375 V CNT2: BSS TH /# OF H2I ALL MESSAGES PER HOST + /STATISTICS GATHERED BY I2H +31405 V CNT3: BSS TH /# OF I2H CONTROL MESSAGES PER HOST + /STATISTICS GATHERED BY TSK +31415 V HS4R: BSS NIMP /TOTAL ROUND TRIP TIME IN 800 MS PE1 +31515 V HS4S: BSS NIMP /# OF ROUND TRIPS MEASURED ABOVE + /STATISTICS GATHERED BY I2M +31615 V IMHS: BSS CH /# OF HELLOS SENT PER LINE +31622 V ANS4: BSS CH /# OF DATA WOSDS SENT PER LINE + /STATISTICS GATHERED BY M2I +31627 V MTOT: BSS CH /# OF INPUTS RECVD PER LINE +31634 V CKSM: BSS CH /# OF CHECKSUM ERRORS PER LINE + /STATISTICS GATHERED BY TSK +31641 V TSKIHY: BSS CH /# OF I HEARD YOUS RECVD PER LINE + /STATISTICS GATHERED BY M2I +31646 V BUFT: BSS CH /# OF INPUTS LOST DUE TO LACK OF [ +31653 V SLOW: BSS CH /UNUSED + /STATISTICS GATHERED BY I2M +31660 V XGP1: BSS CH+CH+CH+CH+CH+CH /HISTOGRAM OF I2M MESSA[ +31716 V EP20: BSS 1 /BEGINNING OF PATCH AREA + NST=0+0+EP20-STTB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 252 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV I2M + / LOG SUBROUTINE +31717 000000 2 LOG: 0 +31720 033742 2 STX LOGX +31721 022120 2 CAS SEVEN +31722 003731 2 JMP LOG1 +31723 101000 2 NOP +31724 100400 2 SPL +31725 003733 2 JMP LOG3 +31726 010000 2 STA 0 +31727 045743 2 LDA LOGT X +31730 003740 2 JMP LOG2 +31731 040575 2 LOG1: ARS 3 +31732 022120 2 CAS SEVEN +31733 004120 2 LOG3: LDA SEVEN +31734 101000 2 NOP +31735 010000 2 STA 0 +31736 045743 2 LDA LOGT X +31737 014116 2 ADD THREE +31740 073742 2 LOG2: LDX LOGX +31741 103717 2 JMP LOG I + + LEV VAR +31742 V LOGX: BSS 1 + LEV CON +31743 000000 C LOGT: 0 +31744 000000 C 0 +31745 000001 C 1 +31746 000001 C 1 +31747 000002 C 2 +31750 000002 C 2 +31751 000002 C 2 +31752 000002 C 2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 253 IMP,3050,IMP 7:20 PM 9/16/1973 + +31753 031341 C LEV CON CONSTANTS +31754 154137 C +31755 031357 C +31756 056124 C +31757 000011 C +31760 012655 C +31761 012654 C +31762 015156 C +31763 115156 C +31764 007131 C +31765 007213 C +31766 007215 C +31767 006673 C +31770 C SB1: BSS NSTATS /ADDRESSES FOR STAT INSTR +32010 C SC1: BSS NSTATS /NOMINAL CONTENTS + +02440 177030 C PAGEND 31,SC1+NSTATS + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 254 IMP,3050,IMP 7:20 PM 9/16/1973 + + + LEV VAR + TABZB: /THIS ENTIRE PAGE IS ZEROED AT INIT + /TABLES OF BUFFER PNTRS, NACH FOR EACH LINE +32030 V I2MB0: BSS NACH +32040 V I2MB1: BSS NACH +32050 V I2MB2: BSS NACH +32060 V I2MB3: BSS NACH +32070 V I2MB4: BSS NACH + /NULL AREAS +32100 V NULS1: BSS HEAD3-ACKH+1 /ACKS GO HERE +32105 V NULS2: BSS HEAD3-ACKH+1 /ACKS GO HERE +32112 V NULS3: BSS HEAD3-ACKH+1 /ACKS GO HERE +32117 V NULS4: BSS HEAD3-ACKH+1 /ACKS GO HERE +32124 V NULS5: BSS HEAD3-ACKH+1 /ACKS GO HERE + NTRCB=8 + TRACEL=TDONE+1 +32131 V TRACEQ: BSS NTRCB"T"TRACEL /TRACE STORE + TALLYL=8. +32261 V TALLY: BSS TALLYL /STACK OF TRANSMIT ALLOCATES WE HAVT + + DEFPLC [TRANSMIT, RECEIVE, AND ALLOCATE MESSAGE TABLES] +32271 V TMESS: BSS NIMP +32371 V RMESS: BSS NIMP +32471 V AMESS: BSS NIMP + DEFPLC [RALLY TABLE - ALLOCATES TO SEND] +32571 V RALLY: BSS NIMP + LEV CON +02441 176671 C PAGEND 32,-0 + + LEV VAR + /ROUTE SEND TABLES + /SEND ROUTING MESSAGE FROM HERE +33003 V RSTX: BSS 1 /ACKS +33004 V BSS 1 /HEADER +33005 V BSS 1 /SERIAL NO. (LH) +33006 V RST: BSS NIMP /ROUTE SEND TABLE +33106 V RSTCKS: BSS 1 /CHECKSUM + /END OF ROUTING MESSAGE + + /ALTERNATE ROUTING MESSAGE BUFFER 1 +33107 V RSTX1: BSS 1 /ACKS +33110 V BSS 1 /HEADER +33111 V BSS 1 /SERAIL NO. (LH) +33112 V RST1: BSS NIMP /ROUTE SEND TABLE +33212 V BSS 1 /CHECKSUM + + /ALTERNATE ROUTING MESSAGE BUFFER 2 +33213 V RSTX2: BSS 1 /ACKS +33214 V BSS 1 /HEADER +33215 V BSS 1 /SERIAL NO. (LH) +33216 V RST2: BSS NIMP /ROUTE SEND TABLE +33316 V BSS 1 /CHECKSUM + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 255 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VAR + NREAB=8 /8 - NEED MANY FOR <8 PKT MESSAGES + REASL=RSF+1 +33317 V REASQ: BSS NREAB"T"REASL /REASSEMBLY STORE + PPTL=8. /NUMBER OF ENTRIES IN PPT + PPTN=2 /NUMBER OF WORDS PER ENTRY IN PPT + PPTNUM=PPTL"T"PPTN + DEFPLC [PPT - PENDING PACKET TABLE] +33457 V PPT: BSS PPTNUM /TABLE OF PNTRS TO PENDING PACKET1 + PLTL=12. /NUMBER OF ENTRIES IN PLT + PLTN=4 /NUMBER OF WORDS PER ENTRY IN PLT + PLTNUM=PLTL"T"PLTN + DEFPLC [PLT - PENDING LEADER TABLE] +33477 V PLT: BSS PLTNUM /TABLE OF COPIED PENDING LEADERS + HTPTBL: /TABLE OF HOST THROUGHPUTS +33557 V HTPMTN: BSS NH /MESSAGES FROM HOST TO NET +33563 V HTPMFN: BSS NH /MESSAGES TO HOST FROM NET +33567 V HTPPTN: BSS NH /PACKETS FROM HOST TO NET +33573 V HTPPFN: BSS NH /PACKETS TO HOST FROM NET +33577 V HTPMTL: BSS NH /MESSAGES FROM HOST TO LOCAL HOST +33603 V HTPMFL: BSS NH /MESSAGES TO HOST FROM LOCAL HO1 +33607 V HTPPTL: BSS NH /PACKETS FROM HOST TO LOCAL HOST +33613 V HTPPFL: BSS NH /PACKETS TO HOST FROM LOCAL HOST +33617 V HTPWTI: BSS NH /WORDS FROM HOST TO IMP +33623 V HTPWFI: BSS NH /WORDS TO HOST FROM IMP + TABZE: + TABZL=TABZE+0-TABZB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 256 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON + IRP [PAGEN,,33,34,35,36] + PAGEND PAGEN,-0 + +02442 175627 C ENDIRP +02443 170053 C +02444 170061 C +02445 170067 C + + P36FB=FB + P36NB=NB +02446 170075 C PAGEND 37,-0 + P37NB=NB-1 /ALLOW FOR SAT CODE + P37FB=FB + + + 100003/ -0 VDHSTART VDHEND + .ASCII / VDH + + "Z"/ + NMAXS=4"T"CH + + 100001/ NBUFS-2 + .ASCII / TOTAL BUFFERS"Z"/ + + 100001/ P37NB + .ASCII / FEWER BUFFERS IF VDH PRESENT"Z"/ + + + 100001/ NMAXS + .ASCII / STORE AND FORWARD LIMIT"Z"/ + + 100001/ 0 0 [0 0 [NBUFS-NMAXS+10]"Q"10]"T"10+2 + .ASCII / REASSEMBLY LIMIT"Z"/ + + 100001/ NITB + .ASCII / IMP-TIP CONVERSION REGISTERS"Z"/ + + 100001/ NSTATS + .ASCII / STATISTICS GATHERING PLACES"Z"/ + + START + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 257 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST + 37000/ VDHSTART: + ITBVP=0 + /FILL IN THE VDH/IMP INITIALIZATION TABLE + + LEV CON +03366 C VDHD VDH2,JST VDH2. I,NOP +37717 121407 C +02346 101000 C +02361 003366 C +21126 C VDHD VDH3,JST VDH3. I,NOP +37720 121661 C +02347 101000 C +02362 021126 C + + + /BUILD INSTRUCTIONS DEPENDENT ON M.N & H.N AND FINISH TABLE + + IRPC [L,,1234] + REPEAT 1IF VZ L-1-H.N,[ + + VD.HOI=H'L'OTIL + VD.HII=H'L'INIL + VD.HIB=H'L'INBP + VD.IHB=H'L'OTBP + VDHD SKST H.N,NOP,H'L'RDY + VDHD IHED H.N,IRS VD.OT,H'L'FOUT + VDHD IHOT H.N,NOP,H'L'ROUT + VDHD HER H.N,NOP,H'L'ERR + VDHD HIN H.N,JMP HIFAKE,H'L'IN + VDHD EMIT H.N,SKP,H'L'EOM + VDHD HENABT H.N, IRS VD.RDY, H'L'ENAB + ] + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 258 IMP,3050,IMP 7:20 PM 9/16/1973 + + /END THE REPEAT +21663 C ENDIRP +37721 101000 C +02350 070160 C +02363 021663 C +16125 C +37722 024475 C +02351 030260 C +02364 016125 C +17057 C +37723 101000 C +02352 030060 C +02365 017057 C +13171 C +37724 101000 C +02353 070060 C +02366 013171 C +13201 C +37725 003531 C +02354 030160 C +02367 013201 C +13304 C +37726 100000 C +02355 070260 C +02370 013304 C +16317 C +37727 024476 C +02356 030560 C +02371 016317 C + /HOST34=0 + V.1=74000 + V.2=134000 + V.3=154000 + V.4=164000 + V.5=170000 + /HOST34>0 + V..1=70000 + V..2=130000 + V..3=150000 + V..4=160000 + V..5=170000 + /HOST34<0 + V...1=60000 + V...2=120000 + V...3=140000 + V...4=160000 + V...5=160000 + + IRPC [L,,12345] + + REPEAT 1IF VZ L-1-M.N,[ + + VD.IIM=V.'L + VD..IM=V..'L + VD...M=V...'L + VD.OIP=M'L'OTBP + VDHD 64 M.N,VD.II,M2I'L + + + VDHD 71 M.N,VD.OI,I2M'L + + ] /END OF REPEAT +00066 C ENDIRP +37730 037124 C +02357 010113 C +02372 000066 C +00073 C +37731 037331 C +02360 012117 C +02373 000073 C + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 259 IMP,3050,IMP 7:20 PM 9/16/1973 + + + + + /PACKET CONTROL WORD FORMAT + + /BITS MEANINGS + /1 LAST PACKET BIT + /2 PACKET'S ODD/EVEN BIT + /3-8 PACKET'S WORD COUNT + / 0 = ACKS ALONE + / 1-63 = NUMBER OF WORDS (INCLUDING LEADER) + /9 HOST/IMP BIT -- ONE FROM HOST + /10 UNUSED + /11-12 UNUSED (CHANNEL 3 < CHANNEL 2 ACKS) + /13 CHANNEL 1 ACK + /14 CHANNEL 0 ACK + /15 UNUSED (EXTENDED CHANNEL NUMBER) + /16 CHANNEL NUMBER + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 260 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST VARIABLES + VDHNC=2 /NUMBER OF CHANNELS + + LEV VAR +37000 V VD.TB: BSS VDHNC /TRANSMIT BUFFER POINTERS + /ZERO MEANS UNUSED + +37002 V VD.RB: BSS VDHNC /RECEIVE BUFFER POINTERS + /ZERO MEANS UNUSED + + VD.ZVB: /BEGINNING OF VARIABLES TO BE ZEROEI + +37004 000000 V VD.TFP: 0 /TRANSMIT FILL POINTER -- MUST "SEQ1 +37005 000000 V VD.TEP: 0 /TRANSMIT EMPTY POINTER + +37006 000000 V VD.REP: 0 /RECEIVE EMPTY POINTER -- MUST "SEQ1 + +37007 V VD.TOE: BSS VDHNC /TRANSMIT ODD/EVEN BITS + +37011 V VD.ROE: BSS VDHNC /RECEIVE ODD/EVEN BITS + +37013 000000 V VD.T: 0 /COUNTS IF TOO LONG WITHOUT ACK + /POSITIVE MEANS TOO LONG +37014 000000 V VD.R: 0 /COUNTS IF IT IS TIME TO SEND DUPL T + /POSITIVE MEANS SEND ON +37015 000000 V VD.D: 0 /COUNTS IF LINE HAS BEEN HELD DEAD T + /NEG MEANS NOT LONG ENOUGH + +37016 V VD.TE: BSS VDHNC /TRANSMIT LAST PACKET BIT +37020 V VD.RE: BSS VDHNC /RECEIVE LAST PACKET BIT + + + VD.ZVE: /END OF VARIABLES TO BE ZEROED + +37022 000000 V VD.HOL: 0 /EXPECTING OUTPUT OF LEADER FLAG + +37023 000000 V VD.RCN: 0 /RECEIVE CHANNEL NUMBER + +37024 000000 V VD.EXP: 0 /200 IF EXPECTING PKTS FROM HOST + /0 IF EXPECTING FROM SELF (LOOPED) + 15SECS=30 + 5SECS=10 + 2.5SECS=4 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 261 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST INITIALIZATION + + LEV BCK +37025 000000 7 VD.I: 0 +37026 005732 7 LDA (4000) +37027 026567 7 IMA VDHUPF /MARK VDH AS UP +37030 100040 7 SZE /WAS ALREADY UP? +37031 103025 7 JMP VD.I I /YES, JUST GO AWAY QUIETLY +37032 011000 7 STA VD.TB /ZERO RECEIVE AND TRANSMIT BUFFER ': +37033 011001 7 STA VD.TB 1 +37034 011002 7 STA VD.RB +37035 011003 7 STA VD.RB 1 +37036 005733 7 LDA (200) /BEGIN EXPECTING LINE UNLOOPED +37037 011024 7 STA VD.EXP +37040 001001 7 INH ALL +37041 121734 7 0 JST (GETFRE) I +37042 003112 7 0 JMP VD.I9 /NO BUFFERS FREE +37043 004000 7 0 LDA 0 +37044 015735 7 0 ADD (100000+CNTL+1) +37045 010024 7 0 STA M1INBP+2"T"M.N +37046 015736 7 0 ADD (BUFE-CNTL-1) +37047 010025 7 0 STA M1INBP+2"T"M.N+1 +37050 073737 7 0 LDX (-MAXVDH) +37051 045732 7 0 LDA ITBVDH+MAXVDH X /VDHDEFS +37052 111740 7 0 STA (ITBVDL+MAXVDH XI) I +37053 024000 7 0 IRS 0 +37054 003051 7 0 JMP .-3 +37055 030473 7 0 M1IN+M.N +37056 021060 7 0 JST VD.REI +37057 103025 7 0 JMP VD.I I + + LEV [VDI,T.O] LCK ALL +37060 000000 1 0 VD.REI: 0 /REINITIALIZE +37061 073741 1 0 LDX (VD.ZVB 0-VD.ZVE +37062 140040 1 0 CRA /ZERO VARIABLES WHICH NEED IT +37063 051022 1 0 STA VD.ZVE X +37064 024000 1 0 IRS 0 +37065 003063 1 0 JMP .-2 +37066 010036 1 0 STA VD.OIP /CLEAR OUTPUT INTERRUPT PENDING F1 +37067 072124 1 0 LDX MINUS4 /FREE ANY BUFFERS +37070 033022 1 0 STX VD.HOL /INITIALIZE TO NON-ZERO +37071 032475 1 0 STX VD.OT /FIX OUTPUT TYPE FLAG *TEMP* +37072 140040 1 0 VD.REK: CRA +37073 067004 1 0 IMA VD.TB 4 X +37074 101040 1 0 SNZ +37075 003103 1 0 JMP VD.REJ +37076 033114 1 0 STX VD.REX +37077 140100 1 0 SSP +37100 010000 1 0 STA 0 +37101 120671 1 0 JST FLUSHI I +37102 073114 1 0 LDX VD.REX +37103 024000 1 0 VD.REJ: IRS 0 +37104 003072 1 0 JMP VD.REK +37105 005742 1 0 LDA (-15SECS +37106 011015 1 0 STA VD.D /MARK TO HOLD LINE DEAD +37107 005743 1 0 LDA (NOP /DROP READY LINE +37110 111744 1 0 STA (SKST H.N) I + + +37111 103060 1 0 JMP VD.REI I /DONE, SO RETURN + +37112 024144 1 0 VD.I9: IRS VDHRSF /TRY AGAIN LATER +37113 003025 1 0 JMP VD.I + LEV VAR +37114 000000 V VD.REX: 0 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 262 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST INPUT INTERRUPT ROUTINE + LEV VAR +37115 000000 V VD.IK: 0 /SAVED KEYS +37116 000000 V VD.IIB: 0 /BUFFER POINTER +37117 000000 V VD.IA: 0 /SAVED A +37120 000000 V VD.IX: 0 /SAVED X +37121 000000 V VD.IM: 0 /SAVED MASK +37122 000000 V VD.RBL: 0 /RECEIVE BUFFER LENGTH +37123 000000 V VD.CWP: 0 /POINTER TO PACKET CONTROL WORD + +37124 000000 1 0 VD.II: INT VDI +37125 011117 1 0 STA VD.IA /SAVE MASK AND REGISTERS +37126 033120 1 0 STX VD.IX +37127 105745 1 0 LDA (HOST34) I +37130 073746 1 0 LDX (VD.IIM) /HOST34=0 +37131 100040 1 0 SZE +37132 073747 1 0 LDX (VD..IM) /HOST34>0 +37133 100400 1 0 SPL +37134 073750 1 0 LDX (VD...M) /HOST34<0 +37135 004000 1 0 LDA 0 +37136 170120 1 0 SMK INTM +37137 026134 1 0 IMA PRIM +37140 011121 1 0 STA VD.IM +37141 000043 1 0 INK +37142 011115 1 0 STA VD.IK +37143 120672 1 0 JST DODXA I RET VDI +37144 004025 1 LDA M1INBP+1 2"T"M.N /GET BUFFER POINTER +37145 140100 1 SSP +37146 017751 1 SUB (BUFE /SAVE BUFFER POINTER +37147 011116 1 STA VD.IIB +37150 015752 1 ADD (CNTL 1 +37151 011123 1 STA VD.CWP +37152 005015 1 LDA VD.D /IS LINE BEING HELD DEAD +37153 100400 1 SPL +37154 003171 1 JMP VD.II2 /YES +37155 070473 1 M1ERR M.N /ERROR? +37156 100000 1 SKP +37157 003171 1 JMP VD.II2 /YES +37160 105123 1 LDA VD.CWP I +37161 007733 1 ANA (200) +37162 013024 1 ERA VD.EXP /IS PACKET FROM WHOM EXPECTED? +37163 101040 1 SNZ +37164 003212 1 JMP VD.II1 /YES, GO PROCESS IT +37165 013024 1 ERA VD.EXP /NO, CHANGE STATE OF VD.EXP +37166 011024 1 STA VD.EXP +37167 001001 1 INH ALL + DEFHLT [VDH LOOP STATE CHANGED] +37170 021317 1 0 JST VD.APH + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 263 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VDI +37171 005116 1 VD.II2: LDA VD.IIB /DO INPUT +37172 015735 1 VD.II8: ADD (100000 CNTL 1 +37173 010024 1 STA M1INBP 2"T"M.N +37174 015736 1 ADD (BUFE-CNTL-1 +37175 010025 1 STA M1INBP+1 2"T"M.N +37176 030473 1 M1IN M.N +37177 073120 1 LDX VD.IX /RESTORE MASK AND REGISTERS +37200 001001 1 INH MSK +37201 005121 1 0 LDA VD.IM +37202 170120 1 0 SMK INTM +37203 010134 1 0 STA PRIM +37204 000013 1 0 EXA +37205 005115 1 0 LDA VD.IK +37206 171020 1 0 OTK +37207 005117 1 0 LDA VD.IA +37210 000401 1 0 ENB VDI +37211 103124 1 JMP VD.II I /RETURN + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 264 IMP,3050,IMP 7:20 PM 9/16/1973 + +37212 105123 1 VD.II1: LDA VD.CWP I /PROCESS ACKS +37213 072113 1 LDX ZERO /CHANNEL ZERO ACK +37214 040576 1 ARS 2 +37215 021273 1 JST VD.AP +37216 072114 1 LDX ONE /CHANNEL ONE ACK +37217 105123 1 LDA VD.CWP I +37220 040575 1 ARS 3 +37221 021273 1 JST VD.AP +37222 105123 1 LDA VD.CWP I /IS PACKET A DUPLICATE +37223 006114 1 ANA ONE +37224 011023 1 STA VD.RCN /SAVE CHANNEL # FOR LATER USE +37225 010000 1 STA 0 +37226 105123 1 LDA VD.CWP I /GET PACKET O/E BIT +37227 041676 1 ALR 2 +37230 053011 1 ERA VD.ROE X /MATCH AGAINST RECEIVE O/E BIT +37231 100100 1 SLZ +37232 003171 1 JMP VD.II2 /DUPLICATE +37233 105123 1 LDA VD.CWP I /IS THERE ANY DATA +37234 141340 1 ICA +37235 006752 1 ANA C77 +37236 101040 1 SNZ +37237 003171 1 JMP VD.II2 /NO +37240 011122 1 STA VD.RBL +37241 073023 1 LDX VD.RCN /IS THERE ROOM FOR THIS BUFFER +37242 045002 1 LDA VD.RB X +37243 100040 1 SZE +37244 003171 1 JMP VD.II2 /NO +37245 105123 1 LDA VD.CWP I /SAVE LAST PACKET BIT FOR BACKGROUN +37246 006112 1 ANA SIGN +37247 051020 1 STA VD.RE X +37250 001001 1 INH FRE /IS THERE A FREE BUFFER +37251 104324 1 0 LDA FREE I +37252 101040 1 0 SNZ /POSITIVE NO IN A REG +37253 003171 1 0 JMP VD.II2 /NO +37254 011014 1 0 STA VD.R /MARK THAT THERE IS ACK TO SEND +37255 045011 1 0 LDA VD.ROE X /COMPLEMENT O/E BIT +37256 012114 1 0 ERA ONE +37257 051011 1 0 STA VD.ROE X +37260 005116 1 0 LDA VD.IIB /USE NEW BUFFER FOR INPUT +37261 051002 1 0 STA VD.RB X /PASS RECEIVED BUFFER TO BACKGROUND +37262 010000 1 0 STA 0 /GET BUFFER LENGTH +37263 005122 1 0 LDA VD.RBL /PUT COUNT IN BUFE +37264 050111 1 0 STA BUFE X + LEV VDI +37265 001001 1 VD.II7: INH FRE +37266 024563 1 0 IRS NFS /GET A FREE BUFFER NFS +37267 104324 1 0 LDA FREE I +37270 026324 1 0 IMA FREE +37271 000401 1 0 ENB VDI +37272 003172 1 JMP VD.II8 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 265 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST ACKNOWLEDGE PROCESSOR + /CALL WITH ACK BIT IN AC + +37273 000000 1 VD.AP: 0 +37274 053007 1 ERA VD.TOE X /IS THIS A DUPLICATE ACK +37275 101100 1 SLN +37276 003312 1 JMP VD.AP1 /YES +37277 045007 1 LDA VD.TOE X /COMPLEMENT TRANSMIT O/E BIT +37300 012114 1 ERA ONE +37301 051007 1 STA VD.TOE X +37302 045000 1 LDA VD.TB X +37303 001001 1 INH ALL +37304 100040 1 0 SZE /SPURIOUS ACK? +37305 003307 1 0 JMP VD.AP2 /NO + DEFHLT [VDH SPURIOUS ACK] +37306 021317 1 0 JST VD.APH /YES +37307 000401 1 0 VD.AP2: ENB VDI +37310 140500 1 SSM /MARK CHANNEL UNUSED +37311 051000 1 STA VD.TB X +37312 005753 1 VD.AP1: LDA (-5SECS /RESET T +37313 011013 1 STA VD.T +37314 004112 1 LDA SIGN /BRING READY LINE UP +37315 111744 1 STA (SKST H.N) I +37316 103273 1 JMP VD.AP I + + LCK M2I +37317 000000 1 0 VD.APH: 0 +37320 120745 1 0 JST HLTNCC I +37321 021060 1 0 JST VD.REI +37322 003171 1 0 JMP VD.II2 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 266 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST OUTPUT INTERRUPT + LEV VAR +37323 000000 V VD.OK: 0 /SAVED KEYS +37324 000000 V VD.OA: 0 /SAVED A +37325 000000 V VD.OX: 0 /SAVED X +37326 000000 V VD.OM: 0 /SAVED MASK +37327 000000 V VD.OB: 0 /SAVED POINTER +37330 000000 V VD.CW: 0 /CONTROL WORD + +37331 000000 2 0 VD.OI: INT VDO +37332 011324 2 0 STA VD.OA /SAVE MASK AND REGISTERS +37333 004502 2 0 LDA MOM +37334 170120 2 0 SMK INTM +37335 026134 2 0 IMA PRIM +37336 011326 2 0 STA VD.OM +37337 000043 2 0 INK +37340 011323 2 0 STA VD.OK +37341 120672 2 0 JST DODXA I RET VDO +37342 033325 2 STX VD.OX +37343 140040 2 CRA +37344 010036 2 STA VD.OIP /CLEAR OUTPUT INT PENDING FLAG + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 267 IMP,3050,IMP 7:20 PM 9/16/1973 + +37345 005015 2 LDA VD.D /LINE BEING HELD DEAD? +37346 100400 2 SPL +37347 003364 2 JMP VD.OI2 /YES +37350 021407 2 JST VD.OIS /SERVICE ONE CHANNEL +37351 021407 2 JST VD.OIS /SERVICE ANOTHER CHANNEL +37352 005014 2 LDA VD.R /ACK WAITING TO GO BACK? +37353 100400 2 SPL +37354 003364 2 JMP VD.OI2 /NO +37355 021377 2 JST VD.OIT +37356 005754 2 LDA (VD.CW /SETUP OUTPUT POINTER TO SEND CW +37357 010036 2 STA M1OTBP 2"T"M.N +37360 010037 2 VD.OI3: STA M1OTBP+1 2"T"M.N +37361 005755 2 LDA (-2.5SECS /RESET R +37362 011014 2 STA VD.R +37363 030073 2 M1OUT M.N /DO OUTPUT + + +37364 073325 2 VD.OI2: LDX VD.OX /RESTORE MASK AND REGISTERS +37365 001001 2 INH MSK +37366 005326 2 0 LDA VD.OM +37367 170120 2 0 SMK INTM +37370 010134 2 0 STA PRIM +37371 000013 2 0 EXA +37372 005323 2 0 LDA VD.OK +37373 171020 2 0 OTK +37374 005324 2 0 LDA VD.OA +37375 000401 2 0 ENB VDO +37376 103331 2 JMP VD.OI I /RETURN + + +37377 000000 2 VD.OIT: 0 /BUILD ACKS +37400 001001 2 INH VDI +37401 005012 2 1 LDA VD.ROE 1 +37402 041577 2 1 ALS 1 +37403 013011 2 1 ERA VD.ROE +37404 041576 2 1 ALS 2 +37405 011330 2 1 STA VD.CW +37406 103377 2 1 JMP VD.OIT I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 268 IMP,3050,IMP 7:20 PM 9/16/1973 + + RET VDO +37407 000000 2 VD.OIS: 0 +37410 005005 2 LDA VD.TEP /TRY OTHER CHANNEL +37411 012114 2 ERA ONE +37412 011005 2 STA VD.TEP +37413 001001 2 INH VDI +37414 073005 2 1 LDX VD.TEP +37415 045000 2 1 LDA VD.TB X +37416 101040 2 1 SNZ +37417 103407 2 1 JMP VD.OIS I /NOTHING TO DO WITH CHANNEL +37420 100400 2 1 SPL +37421 003445 2 1 JMP VD.OI1 +37422 011327 2 1 STA VD.OB +37423 021377 2 1 JST VD.OIT +37424 045007 2 1 LDA VD.TOE X /SET UP MORE OF CONTROL WORD +37425 040676 2 1 ARR 2 +37426 013330 2 1 ERA VD.CW /O/E BIT +37427 013005 2 1 ERA VD.TEP /CHANNEL NUMBER +37430 053016 2 1 ERA VD.TE X /LAST PACKET BIT +37431 011330 2 1 STA VD.CW +37432 073327 2 1 LDX VD.OB /SET UP CONTROL WORD IN OUTPUT BUF*] +37433 044111 2 1 LDA BUFE X /PUT COUNT IN CW +37434 141240 2 1 ICR +37435 015330 2 1 ADD VD.CW +37436 050010 2 1 STA CNTL 1 X +37437 004000 2 1 LDA 0 /SET UP OUTPUT POINTERS +37440 015752 2 1 ADD (CNTL 1 +37441 010036 2 1 STA M1OTBP 2"T"M.N +37442 054111 2 1 ADD BUFE X +37443 140100 2 1 SSP 0"A"TWOQ +37444 003360 2 1 JMP VD.OI3 +37445 140040 2 1 VD.OI1: CRA +37446 067000 2 1 IMA VD.TB X +37447 140100 2 1 SSP /FREE BUFFER +37450 010000 2 1 STA 0 +37451 001001 2 1 INH FRE +37452 120671 2 0 JST FLUSHI I +37453 103407 2 0 JMP VD.OIS I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 269 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST TIMEOUT ROUTINE + + LEV T.O +37454 000000 5 VD.TO: 0 +37455 140040 5 CRA +37456 026476 5 IMA VD.RDY /DID IH FLAP READY LINE? +37457 100040 5 SZE +37460 003476 5 JMP VD.TO3 /YES +37461 005015 5 LDA VD.D /IS D COUNTING +37462 101400 5 SMI +37463 003471 5 JMP VD.TO1 /NO +37464 025015 5 IRS VD.D /WAITED LONG ENOUGH ? +37465 103454 5 JMP VD.TO I /NO +37466 005755 5 LDA (-2.5SECS /RESET R +37467 011014 5 STA VD.R +37470 103454 5 JMP VD.TO I +37471 005013 5 VD.TO1: LDA VD.T +37472 101400 5 SMI +37473 103454 5 JMP VD.TO I +37474 025013 5 IRS VD.T /HAS LINE GONE DEAD +37475 003501 5 JMP VD.TO2 /NO +37476 001001 5 VD.TO3: INH VDI +37477 021060 5 1 JST VD.REI /REINITIALIZE +37500 103454 5 1 JMP VD.TO I +37501 025014 5 1 VD.TO2: IRS VD.R /TIME TO SEND HELLO? +37502 101000 5 1 NOP +37503 103454 5 1 JMP VD.TO I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 270 IMP,3050,IMP 7:20 PM 9/16/1973 + + /VERY DISTANT HOST BACKGROUND ROUTINE + LEV VAR +37504 000000 V VD.BM: 0 /SAVED MASK +37505 000000 V VD.IB: 0 +37506 000000 V VD.BB: 0 +37507 000000 V VD.BBT: 0 +37510 000000 V VD.BBF: 0 + + LEV VDB +37511 000000 3 VD.B: 0 +37512 001001 3 INH MSK +37513 004500 3 0 LDA IHM +37514 170120 3 0 SMK INTM +37515 026134 3 0 IMA PRIM +37516 011504 3 0 STA VD.BM +37517 000401 3 0 ENB VDB +37520 105756 3 LDA (HITT H.N) I /IS HOST WAITING FOR INPU +37521 022121 3 CAS MINUS1 +37522 100000 3 SKP +37523 003612 3 JMP VD.B1 /ND +37524 005743 3 LDA (NOP +37525 111757 3 STA (EMFH H.N) I +37526 073006 3 LDX VD.REP /HAS THE NEXT SEQUENTIAL PACKET ARR +37527 045002 3 LDA VD.RB X +37530 101040 3 SNZ +37531 003612 3 JMP VD.B1 /NO +37532 011505 3 STA VD.IB /SAVE BUFFER POINTER FOR LATER USF +37533 004454 3 LDA HILO H.N +37534 013760 3 ERA (HIFRST /INITIAL INPUT EXPECTED BY HI +37535 101040 3 SNZ +37536 003605 3 JMP VD.B4 /YES +37537 013761 3 ERA (0 0 HIFRST"X"VD.1P /HI EXPECTING LEADER +37540 100040 3 SZE +37541 003560 3 JMP VD.B3 /NO +37542 073505 3 LDX VD.IB /SAVE LEADER IN HOST BUFFER +37543 044011 3 LDA DATA X +37544 110052 3 STA VD.HIB I +37545 044012 3 LDA DATA 1 X +37546 024052 3 IRS VD.HIB +37547 110052 3 STA VD.HIB I +37550 073006 3 LDX VD.REP /LAST PACKET IN MESSAGE +37551 045020 3 LDA VD.RE X +37552 100400 3 SPL +37553 003605 3 JMP VD.B4 /YES +37554 001001 3 VD.B53: INH FRE /FLUSH THE BUFFER THE LEADER CAME ' +37555 073505 3 0 LDX VD.IB +37556 120671 3 0 JST FLUSHI I +37557 003577 3 0 JMP VD.B13 + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 271 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV VDB +37560 005505 3 VD.B3: LDA VD.IB /SWAP RECEIVED BUFFER WITH HOST BUF[ +37561 127762 3 IMA (HISP H.N) I +37562 010000 3 STA 0 +37563 050111 3 STA BUFE X +37564 001001 3 INH FRE /RETURN HOST BUFFER TO FREE LIST +37565 120671 3 0 JST FLUSHI I +37566 073505 3 0 LDX VD.IB /SET UP HARDWARE BUFFER POINTER +37567 044111 3 0 LDA BUFE X +37570 015505 3 0 ADD VD.IB +37571 015763 3 0 ADD (DATA +37572 010052 3 0 STA VD.HIB +37573 073006 3 0 LDX VD.REP +37574 045020 3 0 LDA VD.RE X +37575 100400 3 0 SPL +37576 111757 3 0 STA (EMFH H.N) I +37577 073006 3 0 VD.B13: LDX VD.REP +37600 140040 3 0 CRA +37601 051002 3 0 STA VD.RB X /CLEAR CHANNEL +37602 005006 3 0 LDA VD.REP /SEQUENCE REP +37603 012114 3 0 ERA ONE +37604 011006 3 0 STA VD.REP + LEV VDB +37605 001001 3 VD.B4: INH SIN +37606 000013 3 0 EXA +37607 120101 3 0 JST VD.HII I RET VDB +37610 001001 3 INH ALL +37611 120672 3 0 JST DODXA I RET VDB + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 272 IMP,3050,IMP 7:20 PM 9/16/1973 + +37612 073004 3 VD.B1: LDX VD.TFP /IS NEXT SEQUENTIAL OUTPUT CHANNEL , +37613 045000 3 LDA VD.TB X +37614 100040 3 SZE +37615 003704 3 JMP VD.B2 /NO +37616 051016 3 STA VD.TE X /CLEAR LAST PACKET INDICATOR +37617 004046 3 LDA VD.IHB /IS THERE SOMETHING TO SEND FROM F'1 +37620 101040 3 SNZ +37621 003704 3 JMP VD.B2 /NO +37622 121734 3 JST (GETFRE) I LCK FRE /CAN WE HAVE A FREE BUFF T +37623 003704 3 0 JMP VD.B2 /NO +37624 000401 3 0 ENB VDB +37625 033506 3 STX VD.BB /PUT BUFFER IN OUTPUT CHANNEL +37626 027022 3 IMA VD.HOL /LEADER? +37627 100040 3 SZE +37630 003646 3 JMP VD.B6 /YES +37631 004047 3 LDA VD.IHB+1 /SAVE LENGTH +37632 016046 3 SUB VD.IHB +37633 141206 3 AOA +37634 050111 3 STA BUFE X +37635 104046 3 VD.B6N: LDA VD.IHB I /COPY A WORD +37636 050011 3 STA DATA X +37637 024000 3 IRS 0 +37640 024046 3 IRS VD.IHB +37641 004047 3 LDA VD.IHB+1 /DONE? +37642 016046 3 SUB VD.IHB +37643 101400 3 SMI +37644 003635 3 JMP VD.B6N /NO +37645 003662 3 JMP VD.B6D + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 273 IMP,3050,IMP 7:20 PM 9/16/1973 + +37646 104046 3 VD.B6: LDA VD.IHB I /COPY LEADER +37647 050011 3 STA DATA X +37650 024046 3 IRS VD.IHB +37651 104046 3 LDA VD.IHB I +37652 050012 3 STA DATA 1 X +37653 004115 3 LDA TWO /SET UP WORD COUNT +37654 050111 3 STA BUFE X +37655 004046 3 LDA VD.IHB +37656 024046 3 IRS VD.IHB +37657 016047 3 SUB VD.IHB 1 /ONLY LEADER IN MESSAGE? +37660 100040 3 SZE +37661 003676 3 JMP VD.B6K /NO +37662 140040 3 VD.B6D: CRA +37663 026475 3 IMA VD.OT /CLEAR FINAL OUT FLAG +37664 011022 3 STA VD.HOL /SET EXPECTING LEADER OR NOT +37665 100040 3 SZE +37666 004112 3 LDA SIGN /PASS LAST PACKET BIT TO OUTPUT +37667 073004 3 LDX VD.TFP +37670 051016 3 STA VD.TE X +37671 001001 3 INH SIN +37672 000013 3 0 EXA +37673 120077 3 0 JST VD.HOI I RET VDB /FAKE HOST INTERRUPT +37674 001001 3 INH SIN +37675 120672 3 0 JST DODXA I RET VDB +37676 073004 3 VD.B6K: LDX VD.TFP /FILL OUTPUT CHANNEL +37677 005506 3 LDA VD.BB +37700 051000 3 STA VD.TB X +37701 005004 3 LDA VD.TFP /SEQUENCE TFP +37702 012114 3 ERA ONE +37703 011004 3 STA VD.TFP + +37704 004036 3 VD.B2: LDA VD.OIP /OUTPUT INTERRUPT PENDING? +37705 001001 3 INH SIN +37706 000013 3 0 EXA +37707 101040 3 0 SNZ +37710 021331 3 0 JST VD.OI RET VDB /NO -- WAKE UP OUTPUT IT* +37711 001001 3 INH MSK +37712 005504 3 0 LDA VD.BM +37713 170120 3 0 SMK INTM +37714 010134 3 0 STA PRIM +37715 120672 3 0 JST DODXA I RET VDB +37716 103511 3 JMP VD.B I + + + + + *** THIS DOCUMENT MAY CONTAIN BBN PROPRIETARY INFORMATION. *** + *** FURNISHED FOR U. S. GOVERNMENT END USE ONLY. *** +PAGE 274 IMP,3050,IMP 7:20 PM 9/16/1973 + + LEV CON +37717 C ITBVDH: BSS MAXVDH +37732 004000 C CONSTANTS +37733 000200 C +37734 004372 C +37735 100010 C +37736 000101 C +37737 177765 C +37740 142374 C +37741 177762 C +37742 177750 C +37743 101000 C +37744 021663 C +37745 001005 C +37746 154000 C +37747 150000 C +37750 140000 C +37751 000111 C +37752 000010 C +37753 177770 C +37754 037330 C +37755 177774 C +37756 013140 C +37757 013314 C +37760 013400 C +37761 007453 C +37762 013334 C +37763 000011 C + VDHEND=37777 + START