ASMB,L,R,C
      HED NDTGN 91740-16021 REV 1805 (C) HEWLETT-PACKARD CO. 1978 
      NAM NDTGN,3 91740-16021 REV 1805 771123 
      SPC 2 
******************************************************************
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978. ALL RIGHTS      *
*  * RESERVED. NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       *
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
*  * THE PRIOR WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY.   *
******************************************************************
      SPC 2 
      SPC 2 
****************************************************************
* 
*     NDTGN, ROUTINE TO ALLOW THE OPERATOR TO ENTER AND FORMAT
*     THE NDT IN A FILE 
* 
*     SOURCE PART # 91805-18021 REV 1805
* 
*     REL PART #    91805-16021 REV 1805
* 
*     WRITTEN BY    JEAN-PIERRE BAUDOUIN
* 
*     DATE WRITTEN  MARCH 1976
* 
*     MODIFIED BY   CHW & CCH 
* 
*     DATE MODIFIED JULY 1976, MARCH 1977 
* 
*************************************************************** 
* 
*  MODIFIED TO HANDLE DVR07 ** NOV 1977 ** DMT
* 
*************************************************************** 
      SPC 1 
NODES EQU 512       MAXIMUM NODES IN NDT TABLE
      SPC 2 
*     THIS ROUTINE IS AN INTERACTIVE TABLE GENERATOR. 
*     THE TABLE GENERATED IS THE NETWORK DESCRIPTION
*     TABLE (NDT). THIS TABLE IS STORED IN A FILE BY
*     THE GENERATOR AND IT WILL BE USED AT SYSON TIME 
*     BY LSTEN. THE NAME OF THE TABLE IS SPECIFIED BY 
*     THE OPERATOR (AS THE ANSWER TO THE FIRST QUESTION)
*     THIS NAME MUST BE REMEMBERED SINCE IT WILL BE 
*     ASKED FOR BY LSTEN. 
*     THE FORMAT OF THE NDT IS: 
* 
*        RECORD #1: 
*          W0   : NEGATIVE NUMBER OF NODES IN THE NETWORK 
*          W1   : NODE NUMBER OF THE FIRST NODE 
*          :
*          :
*          WN   : NODE NUMBER OF NODE N 
* 
*        RECORD #N (WHERE 1<N<=TOTAL NUMBER OF NODES) 
*          W0      : RECORD SIZE -1 ( 2 * ADDRESSABLE NODES FROM N) 
*          W1      : NODE 1 
*          W2      : TIMEOUT/ LU USED TO GO FROM NODE N TO NODE 1 
*          W3      : NODE 2 
*          W4      : TIMEOUT/ LU USED TO GO FROM NODE N TO NODE 2 
*          :
*          :
*          W(2M-1) : NODE M 
*          W(2M)   : TIMEOUT/ LU USED TO GO FROM NODE N TO NODE M 
* 
      SPC 2 
      EXT $LIBR,$LIBX,$CVT3 
      EXT OPEN,WRITF,CLOSE,CREAT,RMPAR,EXEC 
      EXT PARSE,READF,REIO,PURGE
      IFN 
      EXT DBUG
      XIF 
      SPC 2 
A     EQU 0 
B     EQU 1 
      SUP 
      SPC 2 
PRAM  REP 5 
      NOP 
NDTGN JSB RMPAR     INPUT THE SCHEDULE PARAMETERS 
      DEF *+2 
      DEF PRAM
      SPC 2 
      IFN 
      JSB DBUG      INVOKE DEBUG
      DEF *+1 
      XIF 
      SPC 2 
      LDA PRAM      SEE IF PRAM IS SUPPLIED 
      LDB B1        IF NOT, DEFAULT TO LU 1 
      SZA           SUPPLIED? 
      LDB A         YES 
      ADA BM100     LU OR FILE? 
      SSA 
      CLA           LU...CLEAR FILE FLAG
      STA FILFG 
      STB RLU       SAVE AS READ LU 
      SZA           LU OR FILE? 
      JMP GN2       FILE
      JSB TTY?      CHECK READ
      DEF RLU        LU.
      SZB,RSS       INTERACTIVE?
      IOR B400      YES...SET IN ECHO BIT 
      STA RLU       SAVE AS INPUT LU
      STB TTYF      SAVE TTY FLAG 
      LDA PRAM+1
      SZA           IS ERROR LU SUPPLIED? 
      JMP GN2+1     YES 
      SZB,RSS       IS INPUT LU A TTY?
      LDA RLU       YES...SET IF FOR ERROR LU 
      SZA,RSS       STILL ZERO? 
GN2   LDA B1        YES...DEFAUT TO SYSTEM
      STA ERLU      SAVE ERROR LU 
      JSB TTY?      CHECK ERROR 
      DEF ERLU       LU.
      SZB           TTY?
      LDA B1        NO...SET TO SYSTEM TTY
      IOR B400
      STA ERLU
* 
      JSB CHCKN     SEE IF FILE 
      CLA,RSS       FILE...OPEN IT
      JMP GN3       NOT FILE
      LDB BLNKS     DOUBLE BLANKS 
      CPA PRAM+2    LAST 2 CHARS OF NAME SPECIFIED? 
      STB PRAM+2    NO, USE BLANKS
      CPA PRAM+1    3RD & 4TH SPECIFIED?
      STB PRAM+1    NO, USE BLANKS
* 
      JSB OPEN      OPEN THE FILE 
      DEF *+7 
      DEF INDCB 
      DEF TEMP1 
      DEF PRAM      FILE NAME 
      DEF D0
      DEF PRAM+3    SC
      DEF PRAM+4    CR
* 
      LDA TEMP1     ANY ERRORS? 
      SSA,RSS 
      JMP GN3       NO
      JSB SYSER     SYSTEM ERROR
      DEF TRFM      "TR FILE ERROR" 
      DEC 7 
      SPC 2 
GN3   CLA 
      STA ERFLG     CLEAR THE ERROR FLAG
      JSB PRINT     DISPLAY THE TITLE 
      DEF TITLE 
      DEC 23
GN8   LDA BUF1A     SET THE POINTER TO
      STA PNTR1      2ND WORD OF RECORD BUFFER
      HED NDTGN: PRELIMINARY QUEST. (C) HEWLETT-PACKARD CO. 1977
* 
      JSB PRINT     ASK FILE NAME QUESTION
      DEF NAME? 
      DEC 13
      JSB READ       GET THE ANSWER 
      DLD PARSB+1   GET 1ST 2 CHAR
      DST NAME      SAVE THEM 
      LDA PARSB+3   GET LAST
      STA NAME+2    SAVE IT 
      LDA PARSB+5 
      STA ISEC      SAVE POSSIBLE SEC. CODE 
      LDA PARSB+9 
      STA ICR       SAVE POSSIBLE CARTRIDGE REF # 
* 
      JSB OPEN      TRY TO OPEN FILE
      DEF *+7 
      DEF IDCB
      DEF IERR
      DEF NAME
      DEF D0
      DEF ISEC
      DEF ICR 
      LDA IERR
      CPA N6        DOES FILE ALREADY EXIST?
      JMP DOCPU     NO, WE'RE OK
* 
      JSB CLOSE     CLOSE FILE & NOTIFY USER THAT 
      DEF *+3        THE FILE NAME ALREADY EXISTS 
      DEF IDCB
      DEF IERR
      JMP GN5 
      HED NDTGN: DIRECTORY INPUT (C) HEWLETT-PACKARD CO. 1977 
DOCPU CLA 
      STA CNTR1     CLEAR THE CPU# COUNTER
      JSB PRINT     TITLE FOR CPU# INPUT PHASE
      DEF CPUTL 
      DEC 12
LOOP1 JSB PRINT     DISPLAY PROMPT
      DEF CPU#? 
      DEC 6 
      JSB READ      GET THE ANSWER
      CPA B1        NUMERIC?
      JMP OK1       YES 
      CPB /E        END OF ENTRY ?
      JMP DONE1     YES, EXIT THIS PHASE
      CPB /A
      JMP TERM
BAD1  JSB ERROR     NO
      DEF INV#M 
      DEC 7 
      JMP LOOP1     TRY AGAIN 
BAD2  JSB ERROR 
      DEF DUP#      DUPLICATE NODE #
      DEC 8 
      JMP LOOP1 
* 
OK1   SSB           CPU # <0 ?
      JMP BAD1      YES, ILLEGAL
      LDA CNTR1 
      SZA,RSS 
      JMP OK3 
      CMA,INA 
      STA CNTR2 
      LDA BUF1A 
LOOP5 CPB A,I       HAS THIS CPU # ALREADY BEEN USED ?
      JMP BAD2      YES, ILLEGAL
      INA           NEXT
      ISZ CNTR2 
      JMP LOOP5 
OK3   STB PNTR1,I   SAVE CURRENT INPUT
      ISZ PNTR1     PUSH THE POINTER ONE WORD 
      ISZ CNTR1     INCREMENT CPU COUNT 
      LDA CNTR1 
      CPA KMAX      MAX NUMBER OF NODES REACHED?
      RSS           YES 
      JMP LOOP1     NO, CONTINUE
* 
      JSB ERROR     YES, TELL OPERATOR
      DEF MAX#
      DEC 13
* 
*  THIS IS THE LU/TIMEOUT INPUT PHASE 
DONE1 LDA CNTR1     GET CPU COUNT 
      CMA,INA,SZA,RSS IF NO CPU GET OUT !!
      JMP TERM
      STA BUF1      SAVE -(#OF NODES) IN 1ST DIRECTORY WORD 
      CMA,INA 
      ALS 
      INA 
      STA NRLEN     SAVE LENGTH OF DATA RECORDS 
      ARS 
      INA 
      STA IL        SAVE LENGTH OF DIRECTORY RECORD 
      CLE 
      ERA           DIVIDE BY 2 
      SEZ           REMAINDER ? 
      INA           YES ADD ONE 
      STA ISIZE     SAVE FILE SIZE
      JSB CREAT     CREATE THE FILE 
      DEF *+8 
      DEF IDCB
      DEF IERR
      DEF NAME
      DEF ISIZE 
      DEF ITYPE 
      DEF ISEC
      DEF ICR 
      SSA,RSS       CHECK ON FMP ERRORS 
      JMP GN6       OK
* 
GN5   JSB ERROR 
      DEF FERM
      DEC 5 
      JMP GN8 
GN6   JSB WRITF     WRITE THE DIRECTORY RECORD
      DEF *+5 
      DEF IDCB
      DEF IERR
      DEF BUF1
      DEF IL
      HED NDTGN: VECTORS INPUT * (C) HEWLETT-PACKARD CO. 1977 
      JSB PRINT     PHASE MESSAGE 
      DEF RTM       WE START INPUTTING THE ROUTE VECTORS **** 
      DEC 14
      LDA BUF1A     SET THE POINTERS
      STA PNTR1 
      LDA BUF1
      STA CNTR1     SAVE VECTOR COUNTER 
* 
LOOP2 CCE           SET FOR DECIMAL CONVERSION
      LDA PNTR1,I   GET CPU # 
      JSB $LIBR     FENCE OFF TO USE $CVT3
      NOP 
      JSB $CVT3     CONVERT INTO ASCII
      LDB 0,I       GET 1ST TWO CHARS 
      STB VECT# 
      INA           STEP TO LAST 2 WORDS
      DLD A,I       GET THE RESULT
      JSB $LIBX     FENCE BACK ON 
      DEF *+1 
      DEF *+1 
      DST VECT#+1   SAVE IN MESSAGE BUFFER
      JSB PRINT     DISPLAY VECTOR TITLE
      DEF VECTM 
      DEC 27
      LDA BUF1A     SET THE POINTER IN DIRECTORY
      STA PNTR2     SAVE
      LDA BUF2A     SET POINTER IN DESTINATION BUFFER 
      STA PNTR3 
      LDA BUF1      GET N 
      STA CNTR2     AND SAVE AS ENTRY COUNTER IN VECTOR 
      CLA 
      STA CNTR3     INITIALIZE ADDRESSABLE NODES COUNT
* 
LOOP3 CLB,CCE       SET FOR DECIMAL CONVERSION
      LDA PNTR2,I   GET CPU#
      CPA PNTR1,I   IS IT THE LOCAL CPU ? 
      JMP STOLU+1   YES, NO NEED TO ASK A TRIVIAL QUESTION
      JSB $LIBR     FENCE OFF FOR $CVT3 
      NOP 
      JSB $CVT3 
      LDB 0,I       GET 1ST 2 ASCII CHARS 
      STB CPU#
      INA           STEP TO LAST 2 WORDS
      DLD A,I 
      JSB $LIBX     FENCE BACK ON 
      DEF *+1 
      DEF *+1 
      DST CPU#+1    SAVE THE RESULT IN MESSAGE
* 
LOOP4 JSB PRINT     DISPLAY PROMPT
      DEF CPUM
      DEC 9 
      JSB READ      GET THE ANSWER
      CPA B1        NUMERIC?
      JMP OK2 
      CPB /A        ABORT REQUEST?
      JMP ABORT     YES 
INERX JSB ERROR     INPUT ERROR 
      DEF INERR 
      DEC 6 
      JMP LOOP4     TRY AGAIN 
* 
OK2   CPB N1        IS THIS NODE ADDRESSABLE? 
      JMP NXTLU     NO, SKIP IT 
      SSB           NEGATIVE VALUE FOR LU?
      JMP INERX     YES, ERROR
      SZB,RSS       LU=0? 
      JMP INERX     YES, ERROR
      LDA 1 
      AND B77       TEST ENTERED LU 
      CPA 1         WITHIN RANGE? 
      RSS           YES 
      JMP INERX     NO, INPUT ERROR 
      LDB PARSB+1   RELOAD LU 
      LDA PARSB+4   2ND PARAMETER CAN BE TIMEOUT
      CPA D2        ASCII?
      JMP INERX     YES, ERROR
      SZA,RSS       WAS TIMEOUT ENTERED?
      JMP STOLU     NO, USE LU ONLY 
      LDA PARSB+5   GET TIMEOUT 
      SZA,RSS       0?
      JMP STOLU     YES, USE LU ONLY
      SSA           CHECK RANGE. < 0? 
      JMP INERX     YES, ERROR
      ADA N1276 
      SSA,RSS       > 1275? 
      JMP INERX     YES, ERROR
      LDA PARSB+5   NO, GET TIMEOUT AGAIN 
      CLB 
      DIV B5        CONVERT TO 5 SEC INTERVALS
      ADB N3
      SSB,RSS       REMAINDER > 2?
      INA           YES, ROUND UP 
      CMA,INA       MAKE NEGATIVE 
      SSA,RSS       USE 5 SECONDS 
      CCA            IF TOO LOW.
      ADA D256
      RAL,ALF 
      RAL           TIMEOUT IN BITS 13-6
      IOR PARSB+1   INCLUDE LU
      LDB 0 
STOLU LDA PNTR2,I   GET THIS NODE # 
      DST PNTR3,I   SAVE NODE/TIMEOUT/LU WORD PAIR
      ISZ CNTR3     BUMP ADDRESSABLE NODES COUNT
      ISZ PNTR3 
      ISZ PNTR3 
* 
NXTLU ISZ PNTR2 
      ISZ CNTR2     END OF THIS VECTOR ?
      JMP LOOP3     NO, CONTINUE
* 
      LDA CNTR3     YES, GET ADDRESSABLE NODES COUNT
      CMA,INA       NEGATE
      ALS           DOUBLE IT 
      STA BUF2      STORE IN 1ST WORD OF NRV RECORD 
* 
      JSB WRITF     WRITE THIS RECORD 
      DEF *+5 
      DEF IDCB
      DEF IERR
      DEF BUF2
      DEF NRLEN 
      ISZ PNTR1 
      ISZ CNTR1     END OF TABLE ?
      JMP LOOP2     NO, GET ANOTHER VECTOR
      JSB CLOSE     YES, CLOSE THE FILE 
      DEF *+3 
      DEF IDCB
      DEF IERR
* 
      JSB CHCKN     WAS THERE A FILE
      RSS           YES 
      JMP MSOK      NO
      JSB CLOSE     CLOSE FILE
      DEF *+3 
      DEF INDCB 
      DEF TEMP1 
      CLA 
      STA FILFG 
      ISZ ERFLG     TERM MESSAGE TO ERROR LU
MSOK  JSB PRINT     PRINT " END NDTGN"
      DEF OKMSG 
      DEC 5 
      JMP EXIT
      SPC 3 
* 
ABORT JSB PURGE     PURGE NDT FILE
      DEF *+4 
      DEF IDCB
      DEF IERR
      DEF NAME
      HED NDTGN: SUBROUTINES SECTION (C) HEWLETT-PACKARD CO, 1977 
*     HERE TO TERMINATE 
* 
TERM  JSB CHCKN     WAS THERE A FILE
      RSS           YES...FILE
      JMP TERM1     NO...DON'T CLOSE IT 
      JSB CLOSE 
      DEF *+3 
      DEF INDCB 
      DEF TEMP1 
      CLA 
      STA FILFG 
      ISZ ERFLG     ENSURE ABORT MSG GOES TO ERRLU
TERM1 JSB PRINT     DISPLAY ABORT MESSAGE 
      DEF TERMM 
      DEC 7 
EXIT  JSB EXEC
      DEF *+2 
      DEF D6
      SKP 
*     SUBROUTINE TO PRINT MESSAGES
*     IF WE ARE IN AN INTRACTIVE TERMINAL 
*     CALLING SEQUENCE
*     JSB PRINT 
*     DEF MESSAGE 
*     DEC MESSAGE LENGTH
* 
PRINT NOP 
      LDB PRINT,I   GET ADDRESS OF BUFFER TO BE PRINTED 
      STB PRNT1 
      ISZ PRINT     GET TO LENGTH WORD
      JSB CHCKN     FILE OR LU ?
      JMP PRNTA     FILE, FORGET IT 
      LDA TTYF      GET TTY FLAG
      LDB ERFLG     GET ERROR FLAG
      SZB,RSS       ERROR OR
      SZA,RSS       OR INTERACTIVE
      RSS           YES...PRINT MESSAGE 
      JMP PRNTA     NO ERROR AND NOT INTERACTIVE
      LDA RLU       GET INTERACTIVE LU
      SZB           ERROR?
      LDA ERLU      YES...ERROR LU
      STA PRTLU     SAVE AS PRINT LU
      JSB REIO      PRINT MESSAGE 
      DEF *+5 
      DEF B2
      DEF PRTLU     PRINT LU
PRNT1 NOP 
      DEF PRINT,I   LENGTH
PRNTA ISZ PRINT     GET TO RETURN ADDRESS 
      JMP PRINT,I   RETURN
      SPC 1 
B2    OCT 2 
PRTLU NOP 
      SPC 2 
* 
*     ROUTINE TO DECIDE WHICH TYPE OF INPUT DEVICE
*     EITHER FILE OR LU 
*     IF LU, A REG WILL CONTAIN LU TYPE 
*     CALLING SEQUENCE
*     JSB CHCKN 
*     FILE RETURN 
*     LU RETURN 
* 
CHCKN NOP 
      LDB FILFG     GET FILE FLAG 
      LDA TTYF      GET TTY FLAG
      SZB,RSS       LU OR FILE
      ISZ CHCKN     LU
      JMP CHCKN,I   AND RETURN
      SKP 
*  SUBROUTINE TO CHECK DRIVER TYPE
*   CALLING SEQUENCE:  JSB TTY? 
*                      DEF <LU> 
*    UPON RETURN, A-REG=LU NUMBER, B-REG=0 IF INTERACTIVE 
* 
TTY?  NOP 
      LDA TTY?,I    STORE ADDRESS OF
      STA CHKLU      LU IN EXEC CALL. 
      ISZ TTY?      SET RETURN ADDRESS. 
* 
      JSB EXEC      MAKE STATUS CALL. 
      DEF *+6 
      DEF D13 
CHKLU DEF *-* 
      DEF TEMP1 
      DEF TEMP
      DEF SBCNL 
* 
      LDA TEMP1     GET EQT WORD 5. 
      ALF,ALF       ISOLATE 
      AND B77        DRIVER TYPE. 
      LDB A 
      CPA B5        IF DVR05
      JMP SBCH?      OR 
      CPA B7          DVR07.
      JMP SBCH?         CHECK SUBCHANNEL. 
      JMP LSN1A 
SBCH? LDA SBCNL     ISOLATE 
      AND SUBMK      SUBCHANNEL.
      SZA,RSS       IF ZERO,
      CLB            IT'S INTERACTIVE.
LSN1A LDA CHKLU,I   A-REG := LU NUMBER. 
      JMP TTY?,I    RETURN. 
      SKP 
* 
*     SUBROUTINE TO READ FROM A SELECTED INPUT DEVICE 
*     WILL PARSE THE INPUT AND PLACE RESULT IN A BUFFER 
*     CALLED PARSB. 
*     CALLING SEQUENCE
*     JSB READ
*     UPON RETURN A REG=PARB, B REG=PASB+1
* 
READ  NOP 
      JSB CHCKN     FILE OR LU
      JMP READB     FILE
READA LDA RLU       GET READ LU 
      LDB ERFLG     IS THIS AN ERROR READ?
      SZB 
      LDA ERLU      YES...READ FOR ERRORDEVICE
      STA REDLU     SAVE READ LU
      JSB REIO      ISSUE THE READ
      DEF *+5 
      DEF B1
      DEF REDLU 
      DEF INBUF 
      DEF INBFS 
      SZB           EOF HIT?
      JMP READC     NO
      JSB ERROR 
      DEF EOFM      "EOF...INPUT NEEDED"
      DEC 9 
      JMP READA     TRY AGAIN 
      SPC 1 
READB JSB READF     READ FROM A FILE
      DEF *+6 
      DEF INDCB 
      DEF RSTAT 
      DEF INBUF 
      DEF INBFS 
      DEF ILEN
      LDB ILEN      GET LENGTH
      SSB,RSS 
      SZB,RSS       ZERO OR - ERROR 
      JMP TERM      ABORT 
READC CLE,ELB       CONVERT TO BYTE LENGTH
      STB ILEN      SAVE LENGTH 
      JSB PARSE     GO PARSE INPUT
      DEF *+4 
      DEF INBUF 
      DEF ILEN
      DEF PARSB 
      CLA           CLEAR OUT ERROR FLAG
      STA ERFLG 
      DLD PARSB     LOAD A AND B REG
      JMP READ,I    AND RETURN
      SPC 2 
REDLU NOP 
ILEN  NOP 
RSTAT NOP 
      SKP 
* 
*     ROUTINE TO PRINT ERROR MESSAGE IF WORKING FROM
*     AN LU, OTHERWISE ABORT PROGRAM
*     CALLING SEQUENCE
*     JSB ERROR 
*     DEF ERMESAGE
*     DEC LENGTH OF MESSAGE 
*     WILL SET ERROR FLAG FOR RETRY 
* 
ERROR NOP 
      JSB CHCKN     CHECK IF FILE 
      JMP TERM      FILE...ABORT
      LDA ERROR,I   GET MESSAGE ADDRESS 
      STA ERR1      SAVE ADDRESS
      ISZ ERROR     GET TO LENGTH 
      JSB EXEC
      DEF *+5 
      DEF B2
      DEF ERLU
ERR1  NOP 
      DEF ERROR,I 
      ISZ ERROR 
      ISZ ERFLG     SET ERROR FLAG
      JMP ERROR,I   AND RETURN
      SPC 2 
ERFLG NOP 
      SKP 
*     SUBROUTINE TO PRINT SYSTEM ERROR MESSAGES AND 
*     ABORT 
*     CALLING SEQUENCE
*     JSB SYSER 
*     DEF ERR MESSAGE 
*     DEC LENGTH
* 
SYSER NOP 
      LDA SYSER,I   GET MESSAGE ADDRESS 
      STA SYSR1 
      ISZ SYSER 
      JSB EXEC
      DEF *+5 
      DEF B2
      DEF B1
SYSR1 NOP 
      DEF SYSER,I 
      JMP TERM      AFTER MESSAGE...ABORT 
      SKP 
      HED NDTGN: CONSTANTS * (C) HEWLETT-PACKARD CO. 1977 
DRT   EQU 1652B 
NAME? OCT 6412
      ASC 12, FILE NAME FOR NDT ?   _ 
INV#M ASC 7, INVALID CPU #
CPU#? ASC 6, CPU # ?   _
CPUTL OCT 6412
      ASC 11,CPU-NUMBER INPUT PHASE 
FERM  ASC 5,FILE ERROR
RTM   OCT 6412
      ASC 13,ROUTE VECTORS INPUT PHASE
CPUM  ASC 3, CPU #
CPU#  BSS 3 
      ASC 3, ?   _
BLNKS EQU CPU#+4
DUP#  ASC 8, DUPLICATE CPU #
VECTM OCT 6412
      ASC 23,ENTER COMMUNICATIONS LU'S AND TIMEOUTS FOR CPU 
VECT# BSS 3 
TRFM  ASC 7, TR FILE ERROR
INERR ASC 6, INPUT ERROR
EOFM  ASC 9,EOF..INPUT MORE 
TITLE OCT 6412
      ASC 22,GENERAL-NETWORK-DESCRIPTION-TABLE GENERATOR
TERMM ASC 7, NDTGN ABORTED
MAX#  ASC 13, MAX # OF NODES ALLOWABLE
OKMSG ASC 5, END NDTGN
/E    ASC 1,/E
/A    ASC 1,/A
KMAX  ABS NODES 
CNTR1 NOP 
CNTR2 NOP 
CNTR3 NOP 
PNTR1 NOP 
PNTR2 NOP 
PNTR3 NOP 
BUF1A DEF BUF1+1
BUF2A DEF BUF2+1
ISIZE NOP 
      NOP 
ITYPE DEC 9 
IERR  NOP 
ISEC  NOP 
ICR   NOP 
NAME  REP 3 
      NOP 
IL    NOP 
NRLEN NOP 
FILFG NOP 
BUFS  EQU 20
INBFS ABS BUFS
INBUF BSS BUFS
RLU   NOP 
SBCNL NOP 
TEMP  NOP 
TEMP1 NOP 
TTYF  NOP 
ERLU  NOP 
D0    DEC 0 
D2    DEC 2 
D6    DEC 6 
D13   DEC 13
D256  DEC 256 
N1    DEC -1
N3    DEC -3
N6    DEC -6
N1276 DEC -1276 
BM100 OCT -100
B1    OCT 1 
B5    OCT 5 
B7    OCT 7 
B77   OCT 77
B400  OCT 400 
SUBMK OCT 37
* 
PARSB BSS 34
IDCB  BSS 144 
INDCB BSS 144 
BUF1  BSS NODES+1 
BUF2  BSS NODES+NODES+1 
      SPC 3 
      END NDTGN 
                                                                                                                                                                                                          