*DECK,LCN 
***       LCN - LOOSELY COUPLED NETWORK TEST
***       REVISION HISTORY
**
*         LCN - LOOSELY COUPLED NETWORK TEST
* 
*         AUTHOR - R. F. FELLRATH      MAY, 1981
* 
*         COPYRIGHT CONTROL DATA CORPORATION, 1981. 
* 
* 
*** 1.0   INTRODUCTION
**
*   1.0   INTRODUCTION
*         ------------
* 
*         THE LOOSELY COUPLED NETWORK IS ONE WHICH PROVIDES  CONNECTION 
*         AMONG  VARIOUS  MAINFRAMES  THROUGH  NETWORK  ACCESS  DEVICES 
*         (NADS-S) AND TRUNKS.
* 
*         LCN IS A CONFIDENCE TEST USED TO MAINTAIN THE LOOSELY COUPLED 
*         NETWORK.   IT  PERFORMS TRANSACTIONS INVOLVING THE HOST CYBER 
*         17X LOCAL NAD WITH CONTROLWARE EXECUTING IN IT, AND A  REMOTE 
*         NAD WITH CONTROLWARE EXECUTING IN IT. 
* 
*         THE FIRST  PORTION  OF  THE  LCN  TEST (MODULES LCN01 THROUGH 
*         LCN03) CONCENTRATES ON TRANSACTIONS BETWEEN  THE  HOST  CYBER 
*         17X  AND  THE  LOCAL  NAD.   THE  TRUNK IS NOT USED OR TESTED 
*         DURING THE EXECUTION OF THESE MODULES.
* 
*         THE SECOND PORTION OF THE LCN  TEST  (MODULES  LCN04  THROUGH 
*         LCN11)  CONCENTRATES  ON  TRANSACTIONS BETWEEN THE HOST CYBER 
*         17X AND THE LOCAL NAD.  IN ALL MODULES BUT  MODULE  LCN04,  A 
*         LOCAL  PATH  WILL  BE  CREATED  WITHIN THE CONTROLWARE IN THE 
*         LOCAL NAD.  TRANSACTIONS INVOLVING THE NAD COMMON CONTROLWARE 
*         ARE  THEN  EXECUTED  USING THIS LOCAL PATH. THIS TRUNK IS NOT 
*         USED OR TESTED DURING THE EXECUTION OF THESE MODULES. 
* 
*         THE THIRD PORTION OF THE  LCN  TEST  (MODULES  LCN12  THROUGH 
*         LCN15)  CONCENTRATES  ON  TRANSACTIONS BETWEEN THE HOST CYBER 
*         17X AND THE REMOTE NAD.  THE LOCAL NAD-S CONTROLWARE,  TRUNK, 
*         AND   REMOTE  NAD-S  CONTROLWARE  WILL  BE  USED  DURING  THE 
*         EXECUTION OF THESE MODULES.  THE CONTROLWARE IN  NEITHER  THE 
*         LOCAL NAD OR REMOTE NAD WILL BE DESTROYED BY THESE MODULES. 
* 
*         BOTH THE HARDWARE AND THE CONTROLWARE  RESIDING  IN  THE  NAD 
*         WILL  BE  EXERCISED  TO SOME EXTENT BY THIS TEST.  IT IS NOT, 
*         HOWEVER, INTENDED TO BE A COMPREHENSIVE TEST, BUT  RATHER,  A 
*         HARDWARE FAULT DETECTION TEST.
* 
* 
*** 1.1   RESTRICTIONS
**
*   1.1   RESTRICTIONS
*         ------------
* 
*         STANDARD NAD  CONTROLWARE  MUST RESIDE IN BOTH NAD-S INVOLVED 
*         IN THE TRANSACTION INITIATED BY THE LCN TEST.  ONLY TWO NAD-S 
*         ARE  USED  BY  THE  LCN  TEST.  HOWEVER IT IS POSSIBLE TO RUN 
*         MULTIPLE COPIES OF THE TEST IF  THE  TESTING  OF  MORE  NAD-S 
*         PSEUDO-SIMULTANEOUSLY IS REQUIRED.
* 
*         THE LCN CONFIDENCE TEST MUST  BE  RUN  STARTING  WITH  MODULE 
*         LCN01.
* 
* 
*** 1.2   CHARACTERISTICS 
**
*   1.2   CHARACTERISTICS 
*         --------------- 
* 
*         1.  PROGRAM NAME......................................LCN 
* 
*         2.  TEST/DIAG/UTILITY/SYSTEM.........................TEST 
* 
*         3.  VIRTUAL CODE/MICROCODE/PP CODE/OTHER............MALET 
* 
*         4.  RUN TIME (DEFAULT)............................45 SEC. 
* 
*         5.  RUN TIME/QUICK LOOK (DEFAULT).................45 SEC. 
* 
*         6.  LEVEL OF ISOLATION..........................DETECTION 
* 
*IF -DEF,CMSE17X
*         7.  ON-LINE/OFF-LINE/BOTH.........................ON-LINE 
*ENDIF
*IF DEF,CMSE17X 
*         7.  ON-LINE/OFF-LINE/BOTH........................OFF-LINE 
*ENDIF
* 
*IF -DEF,CMSE17X
*         8.  ON-LINE SYSTEM.............................NOS,NOS/BE 
*ENDIF
*IF DEF,CMSE17X 
*         8.  ON-LINE SYSTEM...................................NONE 
*ENDIF
* 
*IF -DEF,CMSE17X
*         9.  OFF-LINE SYSTEM..................................NONE 
*ENDIF
*IF DEF,CMSE17X 
*         9.  OFF-LINE SYSTEM..................................CMSE 
*ENDIF
* 
*         10. ASSEMBLY LANGUAGE...............................MALET 
* 
*         11. SOURCE CODE MAINTENANCE........................UPDATE 
* 
*** 2.0   APPLICABLE DOCUMENTS
**
*   2.0   APPLICABLE DOCUMENTS
*         --------------------
* 
*         CYBER 170 HOST NAD ENGINEERING SPEC. FW101-A        52681472
*         NAD ENGINEERING SPECIFICATION                       52681478
*         NAD COMMON CONTROLWARE ERS                          52653818
*         LOOSELY COUPLED NETWORK PROTOCOLS ERS               52653814
*         CYBER 170 HOST NAD CONTROLWARE ERS MG101            52653815
*         MALET REFERENCE MANUAL                              60456020
*IF -DEF,CMSE17X
*         CML REFERENCE MANUAL                                60455980
*ENDIF
*IF DEF,CMSE17X 
*         DEMOT REFERENCE MANUAL                              60456310
*         MSL100 REFERENCE MANUAL                             60455770
*ENDIF
*         MALET MODULE CODING SPEC.                           ARH3297 
*         LCN M/S DEVELOPMENT PLAN                            ARH3663 
* 
* 
*** 3.0   PROGRAM DESCRIPTION 
**
*   3.0   PROGRAM DESCRIPTION 
*         ------------------- 
* 
*** 3.1   LCN 
**
*   3.1   LCN 
*         --- 
* 
*** 3.1.1 ABSTRACT
**
*   3.1.1 ABSTRACT
*         --------
* 
*         THE LCN  TEST IS USED TO ESTABLISH A HIGH LEVEL OF CONFIDENCE 
*         THAT TWO OF THE NAD-S IN THE LOOSELY COUPLED NETWORK ARE FREE 
*         OF  HARDWARE  FAILURES AND THAT CONTROLWARE HAS BEEN PROPERLY 
*         LOADED INTO THEM. 
* 
*         AS CHARACTERISTIC OF A CONFIDENCE TEST, LCN RUNS  IN  A  VERY 
*         SHORT  TIME  (UNDER A MINUTE AND A HALF) AND DOES NOT REQUIRE 
*         ANY PARAMETERS TO BE ENTERED.  THE NORMAL MODE  OF  OPERATION 
*         WILL  BE  TO  RUN  ALL OF LCN-S MODULES BEGINNING WITH MODULE 
*         LCN01.
* 
*         THE ONLY MAINTENANCE AID PROVIDED WITHIN THE LCN  MODULES  IS 
*         REPEAT  MODULE.   REPEAT  CONDITION  OR  SCOPE  LOOPS ARE NOT 
*         PROVIDED IN THE MODULES OF THE LCN  CONFIDENCE  TEST.   OTHER 
*         MAINTENANCE  SOFTWARE  SHOULD  BE  USED  INSTEAD  OF  THE LCN 
*         CONFIDENCE TEST  IF  REPEAT  CONDITION  OR  SCOPE  LOOPS  ARE 
*         REQUIRED. 
* 
*         MODULES LCN01 THROUGH LCN03 WILL RUN USING A DEVICE  CODE  OF 
*         300  OR  301.   MODULES LCN04 THROUGH LCN15 REQUIRED A DEVICE 
*         CODE OF 301.  IF THE LCN  CONFIDENCE  TEST  IS  RUN  USING  A 
*         DEVICE  CODE  OF  300,  THE TEST WILL TERMINATE AFTER RUNNING 
*         MODULE LCN03. 
* 
* 
*         MODULE       DESCRIPTION
*         ------       -----------
* 
*         LCN01        ECHO DATA PATTERNS THROUGH  THE  NAD  CYBER  170 
*                      DEVICE  INTERFACE.   DATA PATTERNS OF ALL ZEROS, 
*                      ALL  ONES,  SLIDING  ONES,  SLIDING  ZEROS,  AND 
*                      ALTERNATING  ONES  WILL  BE  ECHOED  THROUGH THE 
*                      DEVICE INTERFACE.
* 
*         LCN02        READ THE HARDWARE AND CONTROLWARE STATUSES  FROM 
*                      THE LOCAL NAD AND CHECK THE STATUS WORDS READ. 
* 
*         LCN03        READ THE  GENERAL DETAILED STATUS FROM THE LOCAL 
*                      NAD AND VERIFY THAT THE FIRST WORD IN THE STATUS 
*                      BLOCK  CONTAINS  THE LOGICAL TRUCK ADDRESS (LTA) 
*                      OF THE LOCAL NAD.
* 
*         LCN04        ECHO CONTROL  MESSAGES  THROUGH  THE  LOCAL  NAD 
*                      USING  THE  SEND  CONTROL  MESSAGE  AND  INQUIRE 
*                      CONTROL MESSAGE TRANSACTIONS IN THE  NAD  COMMON 
*                      CONTROLWARE.  THE LENGTH OF THE CONTROL MESSAGES 
*                      WILL BE VARIED AND DATA PATTERNS OF  ALL  ZEROS, 
*                      ALL ONES, AND ALTERNATING ONES WILL BE USED. 
* 
*         LCN05        CONNECT A LOCAL PATH IN THE LOCAL NAD, READ  THE 
*                      PATH  STATUS  FOR  BOTH  END  OF  THE LOCAL PATH 
*                      CONNECTED, AND CHECK THE PATH STATUS  READ  FROM 
*                      EACH END OF THE LOCAL PATH.
* 
*         LCN06        CONNECT A  LOCAL  PATH IN THE LOCAL NAD AND ECHO 
*                      CODE THROUGH THE LOCAL NAD USING THE WRITE  CODE 
*                      AND  READ CODE TRANSACTIONS IN THE NAD CYBER 170 
*                      COMMON CONTROLWARE.  DATA PATTERNS OF ALL ZEROS, 
*                      ALL ONES, AND ALTERNATING ONES WILL BE USED. 
* 
*         LCN07        CONNECT A  LOCAL  PATH IN THE LOCAL NAD AND ECHO 
*                      SHORT CODE THROUGH THE LOCAL NAD USING THE WRITE 
*                      SHORT  CODE  AND READ SHORT CODE TRANSACTIONS IN 
*                      THE  NAD CYBER 170 COMMON CONTROLWARE.  THE DATA 
*                      PATTERNS USED IN THE MODULE WILL BE  A  COUNTING 
*                      PATTERN FROM 00 TO 37 OCTAL. 
* 
*         LCN08        CONNECT A LOCAL PATH IN THE LOCAL NAD  AND  ECHO 
*                      PARTIAL DATA BUFFERS THROUGH THE LOCAL NAD USING 
*                      THE  WRITE  DATA,  TRANSMIT,   AND   READ   DATA 
*                      TRANSACTIONS   IN   THE  CYBER  170  NAD  COMMON 
*                      CONTROLWARE.  THE LENGTH  OF  THE  DATA  BUFFERS 
*                      WILL  BE  VARIED  FROM  80  HEXADECIMAL  TO  780 
*                      HEXADECIMAL WORDS USING  DATA  PATTERNS  OF  ALL 
*                      ZEROS, ALL ONES AND ALTERNATING ONES.
* 
*         LCN09        CONNECT A  LOCAL  PATH IN THE LOCAL NAD AND ECHO 
*                      FULL DATA BUFFERS THROUGH THE  LOCAL  NAD  USING 
*                      THE   WRITE   DATA,   TRANSMIT,  AND  READ  DATA 
*                      TRANSACTIONS  IN  THE  CYBER  170   NAD   COMMON 
*                      CONTROLWARE.   DATA  BUFFERS  OF 810 HEXADECIMAL 
*                      WORDS WILL BE ECHOED THROUGH THE LOCAL NAD USING 
*                      DATA  PATTERNS  OF  ALL  ZEROS,  ALL  ONES,  AND 
*                      ALTERNATING ONES.
* 
*         LCN10        CONNECT A LOCAL PATH IN THE LOCAL NAD  AND  ECHO 
*                      PARTIAL DATA BUFFERS THROUGH THE LOCAL NAD USING 
*                      THE WRITE DATA, TRANSMIT  WITH  MARK,  AND  READ 
*                      DATA  TRANSACTIONS  IN  THE CYBER 170 NAD COMMON 
*                      CONTROLWARE.  THE LENGTH  OF  THE  DATA  BUFFERS 
*                      WILL  BE  VARIED  FROM  80  HEXADECIMAL  TO  780 
*                      HEXADECIMAL WORDS USING  DATA  PATTERNS  OF  ALL 
*                      ZEROS, ALL ONES AND ALTERNATING ONES.
* 
*         LCN11        CONNECT A  LOCAL  PATH IN THE LOCAL NAD AND ECHO 
*                      FULL DATA BUFFERS THROUGH THE  LOCAL  NAD  USING 
*                      THE  WRITE  DATA,  TRANSMIT  WITH MARK, AND READ 
*                      DATA TRANSACTIONS IN THE CYBER  170  NAD  COMMON 
*                      CONTROLWARE.   DATA  BUFFERS  OF 810 HEXADECIMAL 
*                      WORDS WILL BE ECHOED THROUGH THE LOCAL NAD USING 
*                      DATA  PATTERNS  OF  ALL  ZEROS,  ALL  ONES,  AND 
*                      ALTERNATING ONES.
* 
*         LCN12        CONNECT A MAINTENANCE PATH IN THE LOCAL  NAD  TO 
*                      THE  REMOTE NAD, READ THE PATH STATUS TABLE, AND 
*                      VERIFY THE STATUS WORDS IN THE PATH STATUS TABLE 
*                      ARE CORRECT. 
* 
*         LCN13        CONNECT  A  MAINTENANCE PATH IN THE LOCAL NAD TO 
*                      THE REMOTE NAD AND SEND A RESYNC COMMAND TO  THE 
*                      REMOTE   NAD   USING  THE  MAINTENANCE  FUNCTION 
*                      TRANSACTION  IN  THE  CYBER   170   NAD   COMMON 
*                      CONTROLWARE. 
* 
*         LCN14        CONNECT A MAINTENANCE PATH IN THE LOCAL  NAD  TO 
*                      THE  REMOTE NAD AND ECHO DATA FROM THE LOCAL NAD 
*                      THROUGH THE MEMORY IN THE REMOTE NAD,  AND  BACK 
*                      TO  THE  LOCAL  NAD  USING  THE TRUNK DIAGNOSTIC 
*                      FUNCTION IN THE HARDWARE.  DATA PATTERNS OF  ALL 
*                      ZEROS,  ALL  ONES,  AND ALTERNATING ONES WILL BE 
*                      TESTED.
* 
*         LCN15        CONNECT  A  MAINTENANCE PATH IN THE LOCAL NAD TO 
*                      THE REMOTE NAD AND  READ  THE  GENERAL  DETAILED 
*                      STATUS  FROM  THE  REMOTE  NAD  USING THE REMOTE 
*                      STATUS REQUEST TRANSACTION IN THE CYBER 170  NAD 
*                      COMMON  CONTROLWARE.   THE LOGICAL TRUNK ADDRESS 
*                      (LTA)  WILL  BE  CHECKED  IN  THE  REMOTE  NAD-S 
*                      GENERAL DETAILED STATUS. 
* 
* 
***       ERROR PROCESSING
**
*         ERROR PROCESSING
*         ----------------
* 
* 
*         LCN ERROR PROCESSING FLOWCHART. 
* 
*                  START
*                    V
*                    V
*         ----------------------- 
*         *         98A         * 
*         *                     * 
*         * . TEST TITLE        * 
*         * . MODULE TITLE      * 
*         ----------------------- 
*                    V
*                    V
*         ----------------------- 
*         *       98B-98D       * 
*         *                     * 
*         * . ABORT MESSAGE     * 
*         ----------------------- 
*                    V
*                    V
*         ----------------------- 
*         *         98E         * 
*         *                     * 
*         * . LAST FUNCTION     * 
*         * . WORDS TRANSFERRED *-----------V 
*         * . HARDWARE STATUS   *           V 
*         * . CONTROLWARE STATUS*           V 
*         * . DRIVER ERRORS     *           V 
*         -----------------------           V 
*                    V                      V 
*                    V                      V 
*         -----------------------           V 
*         *         98F         *           V 
*         *                     *           V 
*         * . MODULE ERROR      *           V 
*         *   MESSAGES          *-----------V 
*         * . REPORT FORMAT     *           V 
*         *   0 ERRORS          *           V 
*         -----------------------           V 
*                    V                      V 
*                    V                      V 
*         -----------------------           V 
*         *       98G-98H       *           V 
*         *                     *           V 
*         * . REPORT FORMAT     *           V 
*         *   1-5 ERRORS        *           V 
*         -----------------------           V 
*                    V                      V 
*                    -----------------------V 
*                                           V 
*                                          EXIT 
* 
* 
*** 3.1.2 DESCRIPTION DETAILED
**
*   3.1.2 DESCRIPTION DETAILED
*         --------------------
* 
* 
***       OPERATIONAL PROCEDURE 
**
*         OPERATIONAL PROCEDURE 
*         --------------------- 
* 
*         1.  REFER TO THE MALET REFERENCE  MANUAL  (PUB. NO. 60456020) 
*             FOR A DETAILED DESCRIPTION OF THE MALET LANGUAGE. 
* 
*IF -DEF,CMSE17X
*         2.  REFER TO THE CML REFERENCE MANUAL (PUB. NO. 60455980)  TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
*ENDIF
*IF DEF,CMSE17X 
*         2.  REFER TO THE DEMOT REFERENCE  MANUAL  (PUB. NO. 60456310) 
*             TO RUN DEMOT UNDER THE CMSE OPERATING SYSTEM. 
* 
*         3.  REFER TO THE  MSL100 OFF-LINE MAINTENANCE SYSTEM LIBRARY, 
*             VOLUME 1, REFERENCE MANUAL (PUB. NO. 60455770) TO RUN THE 
*             CMSE OFF-LINE MAINTENANCE SYSTEM. 
*ENDIF
* 
* 
***       LOADING PROCEDURE 
**
*         LOADING PROCEDURE 
*         ----------------- 
* 
*IF -DEF,CMSE17X
*         1.  REFER TO THE  CML REFERENCE MANUAL (PUB. NO. 60455980) TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
*ENDIF
*IF DEF,CMSE17X 
*         1.  REFER TO THE  DEMOT  REFERENCE MANUAL (PUB. NO. 60456310) 
*             TO RUN DEMOT UNDER THE CMSE OPERATING SYSTEM. 
* 
*         2.  REFER TO THE MSL100 OFF-LINE MAINTENANCE SYSTEM  LIBRARY, 
*             VOLUME 1, REFERENCE MANUAL (PUB. NO. 60455770) TO RUN THE 
*             CMSE OFF-LINE MAINTENANCE SYSTEM. 
*ENDIF
* 
* 
***       RUNNING PROCEDURE 
**
*         RUNNING PROCEDURE 
*         ----------------- 
* 
*IF -DEF,CMSE17X
*         1.  REFER TO THE CML REFERENCE MANUAL (PUB. NO. 60455980)  TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
*ENDIF
*IF DEF,CMSE17X 
*         1.  REFER TO THE DEMOT REFERENCE  MANUAL  (PUB. NO. 60456310) 
*             TO RUN DEMOT UNDER THE CMSE OPERATING SYSTEM. 
* 
*         2.  REFER TO THE  MSL100 OFF-LINE MAINTENANCE SYSTEM LIBRARY, 
*             VOLUME 1, REFERENCE MANUAL (PUB. NO. 60455770) TO RUN THE 
*             CMSE OFF-LINE MAINTENANCE SYSTEM. 
*ENDIF
* 
* 
***       PARAMETERS
**
*         PARAMETERS
*         ----------
* 
*         THE FOLLOWING PARAMETERS ARE USED BY LCN- 
* 
*         P0 - NOT USED.
* 
*         P1 - NOT USED.
* 
*         P2 - NOT USED.
* 
*         P3 - NOT USED.
* 
*         P4 - NOT USED.
* 
*         P5 - NOT USED.
* 
*         P6 - NOT USED.
* 
*         P7 - NOT USED.
* 
*         P8 - NOT USED.
* 
*         P9 - NOT USED.
* 
* 
***       MESSAGES
**
*         MESSAGES
*         --------
* 
***       NORMAL MESSAGES 
**
*         NORMAL MESSAGES 
*         --------------- 
* 
*         1.  LCNXX MODULE NAME 
*             THIS MESSAGE INDICATES THAT MODULE XX IS NOW RUNNING. 
* 
*         2.  LCNXX EC=EEEED, LC=CCCCD
*             THIS MESSAGE INDICATES THAT REPEAT MODULE IS SELECTED AND 
*             THAT  MODULE XX IS BEING REPEATED.  EEEE IS THE NUMBER OF 
*             ERRORS DETECTED BY THE MODULE SO FAR.  CCCC IS THE NUMBER 
*             OF TIMES THE MODULE HAS BEEN REPEATED SO FAR. 
* 
*         3.  LCN01 LOOP BACK LC=XXXXD
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN01  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN01 
*             HAS ECHOED 28 DECIMAL DATA PATTERNS THROUGH THE CYBER 170 
*             DEVICE INTERFACE. 
* 
*         4.  LCN02 LOCAL STATUS LC=XXXXD 
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN02  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN02 
*             HAS READ AND CHECKED THE CONTROLWARE STATUS AND  HARDWARE 
*             STATUS OF THE LOCAL NAD.
* 
*         5.  LCN03 GEN.  STATUS LC=XXXXD 
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN03  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN03 
*             HAS RESERVED THE  NAD  CHANNEL,  READ,  AND  CHECKED  THE 
*             GENERAL  DETAILED  STATUS  FROM THE LOCAL NAD TEN DECIMAL 
*             TIMES.
* 
*         6.  LCN04 CONTROL MSG LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN04 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN04 
*             HAS  SENT  AND READ FOUR CONTROL MESSAGES USING DIFFERENT 
*             DATA PATTERNS.
* 
*         7.  LCN05 CONNECT PATH LC=XXXXD 
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN05 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN05 
*             HAS CONNECTED A LOCAL PATH IN THE LOCAL NAD, AND READ AND 
*             CHECKED  THE  PATH  STATUS  OF  BOTH  ENDS  OF  THE  PATH 
*             CONNECTED FOUR TIMES. 
* 
*         8.  LCN06 ECHO CODE LC=XXXXD
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN06  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN06 
*             HAS  ECHOED  FOUR  CODES  THROUGH  THE  LOCAL  NAD  USING 
*             DIFFERENT DATA PATTERNS.
* 
*         9.  LCN07 SHORT CODE LC=XXXXD 
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN07  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN07 
*             HAS ECHOED 32 DECIMAL SHORT CODES THROUGH THE LOCAL  NAD. 
* 
*         10. LCN08 ECHO BUFFER LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN08 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN08 
*             HAS ECHOED FOUR PARTIAL BUFFERS OF DATA THROUGH THE LOCAL 
*             NAD USING DIFFERENT DATA PATTERNS.  XXXX  PLUS  ONE  ALSO 
*             INDICATES  THE  NUMBER OF 80 HEXADECIMAL WORD DATA BLOCKS 
*             USED TO CREATE THE PARTIAL BUFFER OF DATA.
* 
*         11. LCN09 ECHO BUFFER LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN09 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN09 
*             HAS  ECHOED  FOUR  FULL BUFFERS OF DATA THROUGH THE LOCAL 
*             NAD USING DIFFERENT DATA PATTERNS.
* 
*         12. LCN10 ECHO BUFFER LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN10 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN10 
*             HAS ECHOED FOUR PARTIAL BUFFERS OF DATA CONTAINING A MARK 
*             STATUS  THROUGH  THE  LOCAL  NAD  USING  DIFFERENT   DATA 
*             PATTERNS.   XXXX PLUS ONE ALSO INDICATES THE NUMBER OF 80 
*             HEXADECIMAL WORD DATA BLOCKS USED TO CREATE  THE  PARTIAL 
*             BUFFER OF DATA. 
* 
*         13. LCN11 ECHO BUFFER LC=XXXXD
*             THIS RUNNING MESSAGE INDICATES THAT MODULE LCN11  IS  NOW 
*             RUNNING.   XXXX  IS THE NUMBER OF TIMES THAT MODULE LCN11 
*             HAS ECHOED FOUR FULL BUFFERS OF DATA  CONTAINING  A  MARK 
*             STATUS   THROUGH  THE  LOCAL  NAD  USING  DIFFERENT  DATA 
*             PATTERNS. 
* 
*         14. LCN12 PATH STATUS LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN12 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN12 
*             HAS  READ  AND  CHECKED THE PATH STATUS TEN DECIMAL TIMES 
*             FOR A MAINTENANCE PATH IN THE LOCAL NAD.
* 
*         15. LCN13 RESYNC MSG LC=XXXXD 
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN13 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN13 
*             HAS  ISSUED  A  RESYNC  MAINTENANCE  COMMAND TO THE TRUNK 
*             CONTROL UNIT IN THE REMOTE NAD. 
* 
*         16. LCN14 TRUNK LOOP LC=XXXXD 
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN14 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN14 
*             HAS  ECHOED  FOUR  DATA  PATTERNS  THROUGH THE REMOTE NAD 
*             USING THE DIAGNOSTIC HARDWARE FEATURE IN THE TRUNK. 
* 
*         17. LCN15 REMOTE STATUS LC=XXXXD
*             THIS  RUNNING  MESSAGE INDICATES THAT MODULE LCN15 IS NOW 
*             RUNNING.  XXXX IS THE NUMBER OF TIMES THAT  MODULE  LCN15 
*             HAS  RESERVED  THE  NAD  CHANNEL, CONNECTED A MAINTENANCE 
*             PATH, SELECTED THE MAINTENANCE PATH,  AND  DONE  TEN  TEN 
*             READS  OF  THE  GENERAL  DETAILED  STATUS FROM THE REMOTE 
*             NAD.
* 
* 
***       DAYFILE MESSAGES
**
*         DAYFILE MESSAGES
*         ----------------
* 
*         1.  LCN01 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN01 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         2.  LCN02 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN02 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         3.  LCN03 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN03 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         4.  LCN04 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN04 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         5.  LCN05 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN05 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         6.  LCN06 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN06 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         7.  LCN07 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN07 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         8.  LCN08 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN08 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         9.  LCN09 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN09 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         10. LCN10 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN10 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         11. LCN11 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN11 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         12. LCN12 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN12 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         13. LCN13 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN13 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         14. LCN14 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN14 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         15. LCN15 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCN15 DETECTED 
*             XXXX  DECIMAL  NUMBER  OF  ERRORS  BY  THE  TIME  IT  HAD 
*             COMPLETED EXECUTION.
* 
*         16. // LCNXX TEST ABORTED 
*             THIS  MESSAGE  INDICATES  THAT  THE  EXECUTION OF THE LCN 
*             CONFIDENCE TEST HAS  BEEN  ABORTED  AFTER  AN  ERROR  WAS 
*             DETECTED  IN  MODULE  XX  BECAUSE  THE LOCAL NAD HARDWARE 
*             STATUS INDICATED THAT THE NAD PROCESSOR IS NOT RUNNING. 
* 
* 
***       ERROR MESSAGES
**
*         ERROR MESSAGES
*         --------------
* 
*         THE FOLLOWING DISPLAY FORMAT IS USED BY LCN TO REPORT PRODUCT 
*         OVERLAY ERRORS TO THE USER. 
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE FOLLOWING DISPLAY FORMAT ISSUED BY LCN TO REPORT HARDWARE 
*         AND CONTROLWARE STATUS ERROR DETECTED IN MODULE LCN02.
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07   (D-----------------------------------M)
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         D---M = DESCRIPTION OF ERRORING STATUS BIT
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE FOLLOWING  DISPLAY  FORMAT  IS  USED BY LCN TO REPORT ONE 
*         WORD COMPARE ERRORS TO THE USER.
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07   EXPECTED = EEEEB,  ACTUAL = AAAAB
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         AAAA  = ACTUAL DATA OR STATUS WORD. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         EEEE  = EXPECTED DATA OR STATUS WORD. 
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE FOLLOWING  ERROR  DISPLAY IS USED BY LCN TO REPORT ECHOED 
*         CODE DATA ERRORS TO THE USER. 
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07   EXPECTED = EEEE EEEE  (HEX.) 
*         10   ACTUAL   = AAAA AAAA  (HEX.) 
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         AAAA  = ACTUAL HEXADECIMAL SHORT CODE DATA. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         EEEE  = EXPECTED HEXADECIMAL SHORT CODE DATA. 
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE FOLLOWING  DISPLAY FORMAT IS USED BY LCN TO REPORT STATUS 
*         AND DATA ERRORS TO THE USER.
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07   COMPARE BUFFERS (HEX.),  WC = IIIIB
*         10   EXPECTED = EEEE EEEE EEEE EEEE 
*         11   ACTUAL   = AAAA AAAA AAAA AAAA 
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         NN    = MODULE NUMBER.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         AAAA  = ACTUAL HEXADECIMAL STATUS OR DATA WORD. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         EEEE  = EXPECTED HEXADECIMAL STATUS OR DATA WORD. 
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         IIII  = FIRST FAILING NAD WORD IN THE BUFFER. 
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE FOLLOWING  ERROR  DISPLAY IS USED BY LCN TO REPORT RESYNC 
*         RESPONSE ERRORS FROM THE REMOTE NAD.
* 
*         00  LCN - LOOSELY COUPLED NETWORK TEST
*         01  LCNNN - (M----------------------------T)
*         02
*         03  ABORTED ON .(C---------------M). COMMAND
*         04   LAST FUNCTION = FFFFB, WT = WWWWB
*         05   H/W STATUS = NNNNB, C/W STATUS = NNNNB 
*         06   LCNNN  EXXXX LYYY  (E----------------M)
*         07   TCI STATUS I  = NNNN HEX.
*         10   TCI STATUS II = NNNN HEX.
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         C/W   = CONTROLWARE STATUS. 
*         H/W   = HARDWARE STATUS.
*         YYY   = THE EA REGISTER WHEN THE ERROR OCCURRED.
*         C---M = COMMAND ON WHICH THE ABORT OCCURRED.
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         NNNN  = CONTENTS OF THE STATUS WORD.
*         WWWW  = NUMBER OF WORDS TRANSFERRED.
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
***       ERROR CODES 
**
*         ERROR CODES 
*         ----------- 
* 
*         MODULE  ERROR     ERROR 
*         NUMBER  CODE   DESCRIPTION
*         ------  -----  -----------
* 
*         LCN01   E0001  LXXX  ECHO CHECK COMPARE ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               DATA RETURN BY THE NAD CYBER 170 DEVICE 
*                               INTERFACE  WAS INCORRECT.  THE EXPECTED 
*                               AND ACTUAL DATA WORDS WILL BE DISPLAYED 
*                               ON   THE   LINE  FOLLOWING  THIS  ERROR 
*                               MESSAGE IN THE ERROR DISPLAY. 
* 
*         LCN02   E0002  LXXX  CONTROLWARE STATUS ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE    INDICATES    THAT 
*                               UNEXPECTED  BITS  WERE  DETECTED SET IN 
*                               THE  CONTROLWARE  STATUS   WORD.    THE 
*                               CONTROLWARE  STATUS  WORD  IS DISPLAYED 
*                               IN THE C/W STATUS IN THE ERROR DISPLAY. 
*                               THE  LINES FOLLOWING THIS ERROR MESSAGE 
*                               IN  THE  ERROR  DISPLAY  WILL  INDICATE 
*                               WHICH  OF  THE  CONTROLWARE STATUS BITS 
*                               WERE NOT EXPECTED TO BE  SET,  AND  THE 
*                               MEANING OF THE BITS.
* 
*         LCN02   E0003  LXXX  HARDWARE STATUS ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE    INDICATES    THAT 
*                               UNEXPECTED  BITS  WERE  DETECTED SET IN 
*                               THE HARDWARE STATUS WORD.  THE HARDWARE 
*                               STATUS  WORD  IS  DISPLAYED  IN THE H/W 
*                               STATUS IN THE ERROR DISPLAY.  THE LINES 
*                               FOLLOWING  THIS  ERROR  MESSAGE  IN THE 
*                               ERROR DISPLAY WILL  INDICATE  WHICH  OF 
*                               THE   HARDWARE  STATUS  BITS  WERE  NOT 
*                               EXPECTED TO BE SET AND THE  MEANING  OF 
*                               THE BITS. 
* 
*         LCN03   E0004  LXXX  GENERAL STATUS COMPARE ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               FIRST  WORD  OF  THE  GENERAL  DETAILED 
*                               STATUS FROM THE LOCAL NAD CHANGED WHILE 
*                               READING THE STATUS SEVERAL TIMES.   THE 
*                               EXPECTED  AND  ACTUAL STATUS WORDS WILL 
*                               BE DISPLAYED ON THE LINE FOLLOWING THIS 
*                               ERROR MESSAGE IN THE ERROR DISPLAY. 
* 
*         LCN04   E0005  LXXX  CONTROL MESSAGE COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE    INDICATES    THAT 
*                               CONTENTS   OF   THE   CONTROL   MESSAGE 
*                               RECEIVED  FROM  THE  LOCAL  NAD DID NOT 
*                               CONTAIN THE SAME DATA  AS  THE  CONTROL 
*                               MESSAGE  SENT  TO  THE  LOCAL NAD.  THE 
*                               LINES FOLLOWING THIS ERROR  MESSAGE  IN 
*                               THE  ERROR  DISPLAY WILL INDICATE WHICH 
*                               OF  THE  DATA  WORDS  IN  THE   CONTROL 
*                               MESSAGE   DID   NOT   COMPARE  AND  THE 
*                               CONTENTS OF THE DATA WORDS. 
* 
*         LCN05   E0006  LXXX  OUTPUT PATH STATUS ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE INDICATES  THAT  ONE 
*                               OR  MORE WORDS IN THE PATH STATUS TABLE 
*                               WAS NOT AS EXPECTED FOR A LOCAL PATH IN 
*                               THE  NAD.   THE PATH STATUS IS FROM THE 
*                               PATH WHICH INITIATED  THE  CONNECT  FOR 
*                               THE  LOCAL  PATH.   THE LINES FOLLOWING 
*                               THIS ERROR MESSAGE IN THE ERROR DISPLAY 
*                               WILL INDICATE WHICH OF THE STATUS WORDS 
*                               IN THE PATH STATUS DID NOT COMPARE  AND 
*                               THE CONTENTS OF THE STATUS WORDS. 
* 
*         LCN05   E0007  LXXX  INPUT PATH STATUS ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS  ERROR  MESSAGE INDICATES THAT ONE 
*                               OR MORE WORDS IN THE PATH STATUS  TABLE 
*                               WAS NOT AS EXPECTED FOR A LOCAL PATH IN 
*                               THE NAD.  THE PATH STATUS IS  FROM  THE 
*                               PATH  WHICH  WOULD  NORMALLY  BE IN THE 
*                               REMOTE NAD.  THE LINES  FOLLOWING  THIS 
*                               ERROR MESSAGE IN THE ERROR DISPLAY WILL 
*                               INDICATE WHICH OF THE STATUS  WORDS  IN 
*                               THE PATH STATUS DID NOT COMPARE AND THE 
*                               CONTENTS OF THE STATUS WORDS. 
* 
*         LCN06   E0010  LXXX  ECHO CODE COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE INDICATES  THAT  THE 
*                               CODE WORDS ECHOED THROUGH THE LOCAL NAD 
*                               DID NOT COMPARE  WITH  THE  CODE  WORDS 
*                               SENT  TO  THE  LOCAL NAD.  THE EXPECTED 
*                               AND ACTUAL CODE WORDS WILL BE DISPLAYED 
*                               ON   THE   LINE  FOLLOWING  THIS  ERROR 
*                               MESSAGE IN THE ERROR DISPLAY. 
* 
*         LCN07   E0011  LXXX  ECHO SHORT CODE COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE INDICATES  THAT  THE 
*                               SHORT  CODE  WORD  ECHOED  THROUGH  THE 
*                               LOCAL NAD  DID  NOT  COMPARE  WITH  THE 
*                               SHORT CODE  WORD SENT TO THE LOCAL NAD. 
*                               THE EXPECTED AND ACTUAL SHORT CODE WORD 
*                               WILL BE DISPLAYED ON THE LINE FOLLOWING 
*                               THIS  ERROR  MESSAGE   IN   THE   ERROR 
*                               DISPLAY.
* 
*         LCN08   E0012  LXXX  ECHO PART. BUF. COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               PARTIAL BUFFER OF DATA  ECHOED  THROUGH 
*                               THE  LOCAL NAD DID NOT COMPARE WITH THE 
*                               DATA PLACED IN THE  BUFFER  ORIGINALLY. 
*                               THE  LINES FOLLOWING THIS ERROR MESSAGE 
*                               IN  THE  ERROR  DISPLAY  WILL  INDICATE 
*                               WHICH  OF THE DATA WORDS IN THE PARTIAL 
*                               BUFFER DID NOT COMPARE AND THE CONTENTS 
*                               OF THE DATA WORDS.
* 
*         LCN09   E0013  LXXX  ECHO FULL BUFFER COMPARE ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               FULL BUFFER OF DATA ECHOED THROUGH  THE 
*                               LOCAL NAD DID NOT COMPARE WITH THE DATA 
*                               PLACED IN THE BUFFER  ORIGINALLY.   THE 
*                               LINES  FOLLOWING  THIS ERROR MESSAGE IN 
*                               THE ERROR DISPLAY WILL  INDICATE  WHICH 
*                               OF  THE  DATA  WORDS IN THE FULL BUFFER 
*                               DID NOT COMPARE AND THE CONTENTS OF THE 
*                               DATA WORDS. 
* 
*         LCN10   E0014  LXXX  PART. BUF./MARK COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               PARTIAL BUFFER  OF  DATA  WITH  A  MARK 
*                               ECHOED  THROUGH  THE  LOCAL NAD DID NOT 
*                               COMPARE WITH THE  DATA  PLACED  IN  THE 
*                               BUFFER ORIGINALLY.  THE LINES FOLLOWING 
*                               THIS ERROR MESSAGE IN THE ERROR DISPLAY 
*                               WILL  INDICATE  WHICH OF THE DATA WORDS 
*                               IN THE PARTIAL BUFFER DID  NOT  COMPARE 
*                               AND THE CONTENTS OF THE DATA WORDS. 
* 
*         LCN11   E0015  LXXX  FULL BUF./MARK COMPARE ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               FULL BUFFER OF DATA WITH A MARK  ECHOED 
*                               THROUGH  THE  LOCAL NAD DID NOT COMPARE 
*                               WITH THE  DATA  PLACED  IN  THE  BUFFER 
*                               ORIGINALLY.   THE  LINES FOLLOWING THIS 
*                               ERROR MESSAGE IN THE ERROR DISPLAY WILL 
*                               INDICATE WHICH OF THE DATA WORDS IN THE 
*                               FULL BUFFER DID  NOT  COMPARE  AND  THE 
*                               CONTENTS OF THE DATA WORDS. 
* 
*         LCN12   E0016  LXXX  MAINT. PATH STATUS ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT ONE 
*                               OR MORE WORDS IN THE PATH STATUS  TABLE 
*                               WHEN  READ  FROM THE LOCAL NAD WERE NOT 
*                               AS EXPECTED.  THE LINES FOLLOWING  THIS 
*                               ERROR MESSAGE IN THE ERROR DISPLAY WILL 
*                               INDICATE WHICH OF THE STATUS  WORDS  IN 
*                               THE PATH STATUS DID NOT COMPARE AND THE 
*                               CONTENTS OF THE STATUS WORDS. 
* 
*         LCN13   E0017  LXXX  RESYNC RESPONSE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE INDICATES  THAT  THE 
*                               TRUNK CONTROL INTERFACE CONTROL PACKAGE 
*                               WORD  STATUS  II  IN  THE   LOCAL   NAD 
*                               INDICATED THAT AN ERROR WAS DETECTED IN 
*                               RESPONSE TO A RESYNC COMMAND ISSUED  TO 
*                               THE  TRUNK  CONTROL  UNIT IN THE REMOTE 
*                               NAD.  THE LINES  FOLLOWING  THIS  ERROR 
*                               MESSAGE   IN  THE  ERROR  DISPLAY  WILL 
*                               INDICATE  THE  CONTENTS  OF  THE  TRUCK 
*                               CONTROL INTERFACE CONTROL PACKAGE WORDS 
*                               STATUS I AND STATUS  II  IN  THE  LOCAL 
*                               NAD.
* 
*         LCN14   E0020  LXXX  TRUNK LOOPBACK COMPARE ERROR 
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE INDICATES  THAT  THE 
*                               DATA  PATTERN ECHOED THROUGH THE REMOTE 
*                               NAD USING THE DIAGNOSTIC FEATURE IN THE 
*                               TRUNK HARDWARE DID NOT COMPARE WITH THE 
*                               DATA OUTPUTTED TO THE LOCAL  NAD.   THE 
*                               LINES  FOLLOWING  THIS ERROR MESSAGE IN 
*                               THE ERROR DISPLAY WILL  INDICATE  WHICH 
*                               OF  THE  DATA  WORDS IN THE ECHOED DATA 
*                               DID NOT COMPARE AND THE CONTENTS OF THE 
*                               DATA WORDS. 
* 
*         LCN15   E0021  LXXX  REMOTE NAD STATUS ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               THIS ERROR MESSAGE  INDICATES  THAT THE 
*                               FIRST  WORD  OF  THE  GENERAL  DETAILED 
*                               STATUS  FROM  THE  REMOTE  NAD  CHANGED 
*                               WHILE  READING   THE   STATUS   SEVERAL 
*                               TIMES.   THE EXPECTED AND ACTUAL STATUS 
*                               WORDS WILL BE  DISPLAYED  ON  THE  LINE 
*                               FOLLOWING  THIS  ERROR  MESSAGE  IN THE 
*                               ERROR DISPLAY.
* 
* 
***       MODULE DESCRIPTIONS 
**
*         MODULE DESCRIPTIONS 
*         ------------------- 
* 
   MODULE LCN01,LCN(300,301)LOCK
***       LCN01 - ECHO CHECK
**
*         LCN01 - ECHO CHECK
*         ------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT THE CYBER CHANNEL AND THAT THE DIAGNOSTIC PATH IN 
*         CYBER  170  NAD  DEVICE  INTERFACE  IS  WORKING  CORRECTLY BY 
*         ECHOING DATA PATTERNS THROUGH THE DEVICE INTERFACE. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         3.  INITIALIZE  THE  PATTERN  INDEX  REGISTER  B10  FOR   THE 
*             MODULE. 
*         4.  RESERVE THE CHANNEL TO THE NAD. 
*         5.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         6.  ECHO  A  DATA  WORD  THROUGH  THE  NAD  CYBER  170 DEVICE 
*             INTERFACE.
*         7.  REPEAT  STEPS 5 AND 6 UNTIL 28 DECIMAL DATA PATTERNS HAVE 
*             BEEN TESTED.
*         8.  REPEAT STEPS 3 THOUGH 7 FIFTY DECIMAL TIMES.
*         9.  IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 12.
*         10. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         11. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         12. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         13. EXIT THE MODULE.
* 
/ 
*         ENTRY-NONE. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(100) - ACTUAL DATA RETURN FROM THE ECHO CHECK. 
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         OB(40-73) - DATA PATTERNS TO BE USED IN THE CHECK CHECK.
*         OB(100) - EXPECTED DATA TO BE RETURN FROM THE ECHO CHECK. 
* 
* 
1  FORMAT LCN01 - ECHO CHECK. 
2  FORMAT LCN01 ERROR(S) = *DECD
3  FORMAT LCN01 EC=*DECD, LC=*DECD
4  FORMAT LCN01 ECHO CHECK LC=*DECD 
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(40),CON) 0000, 0001, 0002, 0004, 0010, 0020 
   DATA (OB(46),CON) 0040, 0100, 0200, 0400, 1000, 2000 
   DATA (OB(54),CON) 4000, 7777, 7776, 7775, 7773, 7767 
   DATA (OB(62),CON) 7757, 7737, 7677, 7577, 7377, 6777 
   DATA (OB(70),CON) 5777, 3777, 2525, 5252 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CLOOP=21, CRES=36 
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=01D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFER BASE ADDRESS
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 B10=0                     *INITIALIZE DATA PATTERN INDEX 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE LCN CHANNEL 
* 
/---------PERFORM ECHO CHECK TO TEST THE HARDWARE.
* 
36 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   OB(BA)=OB(B10+40)         *DATA PATTERN FOR TESTING
   B0=6666                   *PRESET DATA WORD RETURNED 
   B12=CLOOP                 *COMMAND=.LOOP BACK. 
   LOOP BACK OB(BA) TO B0,ABT 66  *LOOP DATA BACK 
   GOTO 36 WHILE (B10+1.LT.34)  *LOOP 34 DATA PATTERNS
   GOTO 34 WHILE (B11+1.NE.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS LOOP BACK COMMAND ABORT.
* 
66 IF(EC.NE.6034) GOTO 70    *IF NOT DATA COMPARE ERROR 
   ERROR 2/1                 *LOOP BACK COMPARE ERROR 
   WC=0 
   IB(BA)=B0
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN01 - ECHO CHECK. 
   MODULE LCN02,LCN(300,301)LOCK
***       LCN02 - LOCAL NAD STATUS
**
*         LCN02 - LOCAL NAD STATUS
*         ------------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT THE HARDWARE AND CONTROLWARE STATUSES CAN BE READ 
*         FROM THE LOCAL NAD AND THAT THE STATUSES READ ARE CORRECT.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         3.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         4.  RESERVE THE CHANNEL TO THE NAD. 
*         5.  INPUT  THE  HARDWARE  AND  CONTROLWARE  STATUSES FROM THE 
*             NAD.
*         6.  IF  THE LOWER 10 DECIMAL BITS OF THE HARDWARE STATUS WORD 
*             ARE NONZERO, REPORT AN ERROR. 
*         7.  IF  THE  UPPER 4 BITS FOR THE CONTROLWARE STATUS WORD ARE 
*             NONZERO, REPORT AND ERROR.
*         8.  IF AN ERROR WAS DETECTED, GO TO STEP 10.
*         9.  REPEAT STEPS 3 THROUGH 8 FIFTY DECIMAL TIMES. 
*         10. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 13.
*         11. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         12. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         13. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         14. EXIT THE MODULE.
* 
/ 
*         ENTRY-NONE. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
* 
* 
1  FORMAT LCN02 - LOCAL NAD STATUS. 
2  FORMAT LCN02 ERROR(S) = *DECD
3  FORMAT LCN02 EC=*DECD, LC=*DECD
4  FORMAT LCN02 LOCAL STATUS LC=*DECD 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CRES=36, CSTATC=44
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=02D                   *MODULE NUMBER 
* 
/---------READ AND CHECK CONTROLWARE AND HARDWARE STATUS. 
* 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   ERROR 0/0                 *INITIALIZE THE ERROR FLAG 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATC                *COMMAND=.STATUS CONTROL.
   STATUS CONTROL,ABT 66     *GET LCN CONTROLWARE STATUS
36 IF(SB(1).AND.7400.EQ.0) GOTO 40  *IF STATUS CORRECT
   ERROR 1/2                 *CONTROLWARE STATUS ERROR
   GOSUB 60                  *REPORT ERROR
40 IF(SB.AND.1777.EQ.0) GOTO 42  *IF HARDWARE STATUS CORRECT
   ERROR 1/3                 *HARDWARE STATUS ERROR 
   GOSUB 60                  *REPORT ERROR
42 IF(EC.NE.0) GOTO 50       *IF ERROR GO TO END THE MODULE 
   GOTO 34 WHILE (B11+1.LT.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------REPORT COMMAND AND MODULE ERRORS. 
* 
60 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) RETURN  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   CALL 98A                  *PROCESS ERROR 
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS ABORT ON STATUS CONTROL COMMAND.
* 
66 IF(EC.EQ.6027) GOTO 36    *IF ABNORMAL HARDWARE STATUS 
   IF(EC.EQ.6033) GOTO 36    *IF ABNORMAL CONTROL. STATUS 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 GOSUB 60                  *REPORT ERROR
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN02 - LOCAL NAD STATUS. 
   MODULE LCN03,LCN(300,301)LOCK
***       LCN03 - GENERAL DETAILED STATUS 
**
*         LCN03 - GENERAL DETAILED STATUS 
*         ------------------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT THE GENERAL DETAILED STATUS CAN BE READ FROM  THE 
*         LOCAL  NAD AND THAT THE LOGICAL TRUNK ADDRESS (LTA) CONTAINED 
*         IN THE FIRST WORD OF THE STATUS BLOCK IS CORRECT. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         3.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         4.  INITIALIZE  THE  INTERNAL LOOP COUNT REGISTER B10 FOR THE 
*             MODULE. 
*         5.  RESERVE THE CHANNEL TO THE NAD. 
*         6.  INPUT THE GENERAL DETAILED STATUS FROM THE LOCAL NAD  AND 
*             SAVE THE STATUS BLOCK IN THE OUTPUT BUFFER. 
*         7.  INPUT THE GENERAL DETAILED STATUS FROM THE LOCAL NAD. 
*         8.  IF  FIRST WORD OF THE STATUS LAST READ AND THE FIRST WORD 
*             OF THE STATUS BLOCK SAVED IN STEP 5 ARE NOT EQUAL, REPORT 
*             AND ERROR.
*         9.  REPEAT STEPS 7 AND 8 TEN DECIMAL TIMES. 
*         10. REPEAT STEPS 3 THROUGH 9 FIFTY DECIMAL TIMES. 
*         11. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 14.
*         12. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         13. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         14. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         15. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = INTERNAL LOOP COUNTER.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(100-125) - ORGINAL  GENERAL  DETAILED STATUS READ FROM THE 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(100-125) - ACTUAL  GENERAL  DETAILED  STATUS READ FROM THE 
*                       NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN03 - GENERAL DETAILED STATUS.
2  FORMAT LCN03 ERROR(S) = *DECD
3  FORMAT LCN03 EC=*DECD, LC=*DECD
4  FORMAT LCN03 GEN. STATUS LC=*DECD
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CRES=36, CSTATN=46
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=03D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
* 
/---------READ AND CHECK GENERAL DETAILED STATUS. 
* 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B10=0                     *INITIALIZE LOOP COUNT 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   COPY,SB(2) TO OB(BA) FOR 22D  *SAVE ORGINAL GENERAL STAT.
36 STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   COPY,SB(2) TO IB(BA) FOR 22D  *SAVE NEW GENERAL STATUS 
   WC=0 
   IF(OB(BA).NE.IB(BA)) ERROR 2/4 GOTO 70  *STATUS ERROR
   GOTO 36 WHILE (B10+1.LT.10D)  *LOOP TEN DECIMAL TIMES
   GOTO 34 WHILE (B11+1.LT.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   IF(DC.EQ.300) GOTO 77     *IF LOCAL NAD ASSIGNED 
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
77 END 30                    *END OF THE MODULE 
COMPILE                      *LCN03 - GENERAL DETAILED STATUS.
   MODULE LCN04,LCN(301)LOCK
***       LCN04 - SEND/INQUIRE CONTROL MESSAGE
**
*         LCN04 - SEND/INQUIRE CONTROL MESSAGE
*         ------------------------------------
* 
* 
*         PURPOSE-
*         VERIFY  THAT  CONTROL  MESSAGES  OF  VARIOUS LENGTHS AND DATA 
*         PATTERNS CAN BE ECHOED THROUGH THE LOCAL  NAD  BY  USING  THE 
*         LOGICAL   TRUNK  ADDRESS  (LTA)  OF  THE  LOCAL  NAD  AS  THE 
*         DESTINATION NAD ADDRESS IN THE CONTROL MESSAGE HEADER.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         3.  RESERVE THE CHANNEL TO THE NAD. 
*         4.  INPUT THE GENERAL DETAILED STATUS FROM THE LOCAL NAD  AND 
*             BUILD THE MESSAGE HEADER FOR A CONTROL MESSAGE. 
*         5.  CLEAR ANY CONTROL MESSAGES IN THE LOCAL NAD WITH THE PATH 
*             NAME *DA*.
*         6.  INITIALIZE  THE  PATTERN  INDEX  REGISTER  B10  FOR   THE 
*             MODULE. 
*         7.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         8.  GENERATE THE DATA PATTERN FOR THE CONTROL MESSAGE  TO  BE 
*             SENT TO THE LOCAL NAD.
*         9.  RESERVE THE CHANNEL TO THE NAD. 
*         10. SEND  THE CONTROL MESSAGE TO THE LOCAL NAD USING THE SEND 
*             CONTROL MESSAGE TRANSACTION.
*         11. INPUT  THE  CONTROL  MESSAGE FROM THE LOCAL NAD USING THE 
*             INQUIRE CONTROL MESSAGE TRANSACTION.
*         12. SEND A READY TO THE NAD USING THE READY TRANSACTION.
*         13. COMPARE THE CONTROL MESSAGE READ FROM THE  NAD  WITH  THE 
*             CONTROL MESSAGE SENT TO THE NAD AND REPORT ANY ERRORS.
*         14. REPEAT STEPS 7 THROUGH 13 FOR FOUR DATA  PATTERNS  (0000, 
*             FFFF, AAAA, AND 5555 HEXADECIMAL).
*         15. REPEAT STEPS 6 THROUGH 14 FOURTEEN DECIMAL TIMES. 
*         16. RESERVE THE CHANNEL TO THE NAD. 
*         17. CLEAR ANY CONTROL MESSAGES IN THE LOCAL NAD WITH THE PATH 
*             NAME *DA*.
*         18. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 21.
*         19. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         20. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         21. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         22. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         SB(42) CONTAINS THE UPPER BYTE OF THE ACCESS CODE.
*         SB(43) CONTAINS THE LOWER BYTE OF THE ACCESS CODE.
*         SB(51) CONTAINS THE TCU ENABLE BIT. 
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(100-177) - CONTROL  MESSAGE  RETURN  FROM  THE  NAD ON THE 
*                       INQUIRE CONTROL MESSAGE TRANSACTION.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(60-63) - DATA  PATTERNS  TO  BE  USED  IN  TESTING  BY THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  CONTROL MESSAGE 
*                     TRANSACTION.
*         OB(100-177) - EXPECTED  CONTROL  MESSAGE  TO BE RETURN BY THE 
*                       NAD ON THE INQUIRE CONTROL MESSAGE TRANSACTION. 
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN04 - SEND/INQUIRE CONTROL MESSAGE. 
2  FORMAT LCN04 ERROR(S) = *DECD
3  FORMAT LCN04 EC=*DECD, LC=*DECD
4  FORMAT LCN04 CONTROL MSG LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, AA55 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CCMP=4, CISCM=16, CRDY=33, CRES=36, CSEND=41
   EQUATE CSTATN=46 
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=04D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
* 
/---------INITIALIZE CONTROL MESSAGE HEADER.
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   OB(BA)=SB(2)              *LOCAL NAD LTA 
   OB(74)=SB(2) 
   OB(BA+1)=SB(51).LS.4      *TCU ENABLE BIT
   OB(75)=0 
   OB(BA+2)=SB(42)           *UPPER ACCESS CODE BYTE
   OB(BA+3)=SB(43)           *LOWER ACCESS CODE BYTE
   OB(BA+4)=104              *DATA PATH NAME DA 
   OB(BA+5)=101 
   OB(76)=104 
   OB(77)=101 
   GOSUB 56                  *CLEAR ANY CONTROL MESSAGES
* 
/---------SEND/INQUIRE CONTROL MESSAGE TO THE LOCAL NAD.
* 
34 B10=0                     *DATA PATTERN INDEX
   DUP 0 TO OB(112) FOR 28D  *INIT. OUTPUT BUFFER 
36 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   DUP OB(B10+60) TO OB(BA+12)FOR 66  *GENERATE DATA PATTERN
   WC=B11.LS.1+12            *INIT. WORD COUNT FOR THIS PASS
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE LCN CHANNEL 
   B12=CSEND                 *COMMAND=.SEND CONTROL MSG.
40 SEND CONTROL MSG WC WORDS FROM OB(BA),ABT 66  *SEND MSG
   DUP 7777 TO IB(BA) FOR 100  *INIT. INPUT BUFFER
   B0=0                      *INITIALIZE RETRY COUNTER
42 B12=CISCM                 *COMMAND=.INQUIRE SEL. CNT MSG.
   INQUIRE SELECTED CONTROL MSG OB(74) TO IB(BA),ABT 64 
   B12=CRDY                  *COMMAND=.READY. 
   READY,ABT 70              *SEND READY
   B0=BA+WC                  *SET INPUT BUFFER ADD. 
   DUP 0 TO IB(B0) FOR 28D   *CLEAR REMAINING BUFFER
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 62  *CHECK CNT MSG 
   GOTO 36 WHILE (B10+1.LT.4)  *LOOP 4 DATA PATTERNS
   GOTO 34 WHILE (B11+2.LT.28D)  *LOOP 14 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 RES,ABT 52                *RESERVE LCN CHANNEL 
   GOSUB 56                  *CLEAR ANY CONTROL MESSAGES
52 IF(ES.AND.RM.EQ.0) GOTO 54  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
54 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------CLEAR ANY CONTROL MESSAGES. 
* 
56 INQUIRE SELECTED CONTROL MSG OB(74) TO IB(BA),ABT 60 
   READY,ABT 60              *SEND READY
   GOTO 56                   *LOOP TO CLEAR ALL MESSAGES
60 RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS DATA MISCOMPARES. 
* 
62 ERROR 4/5 GOTO 70         *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS INQUIRE CONTROL MESSAGE COMMAND ABORT.
* 
64 IF(EC.NE.6036) GOTO 70    *IF NOT NAK STATUS ERROR 
   DELAY 500D USEC           *DELAY FOR CONTROL MESSAGE 
   GOTO 42 WHILE (B0+1.LT.12)  *IF NAK STATUS ERROR 
   GOTO 70                   *GO TO REPORT NAK STATUS ERROR 
* 
/---------PROCESS SEND CONTROL MESSAGE COMMAND ABORT. 
* 
66 IF(EC.NE.6033) GOTO 70    *IF NOT ABNORMAL STATUS
   IF(SB(1).AND.37.EQ.16) GOTO 40  *IF INITIALIZING STATUS
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30 
COMPILE                      *LCN04 - SEND/INQUIRE CONTROL MESSAGE. 
   MODULE LCN05,LCN(301)LOCK
***       LCN05 - CONNECT LOCAL PATH
**
*         LCN05 - CONNECT LOCAL PATH
*         --------------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER A LOCAL PATH IS CONNECTED IN THE LOCAL NAD, 
*         THE PATH STATUS OF BOTH ENDS OF THE PATH CAN BE READ AND THAT 
*         THE  PATH  STATUS  TABLES  FOR  BOTH  ENDS  OF THE LOCAL PATH 
*         CREATED CONTAIN THE CORRECT INFORMATION.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         3.  RESERVE  THE  CHANNEL  TO  THE  LOCAL  NAD  AND INPUT THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  INITIALIZE THE INTERNAL LOOP COUNT REGISTER B10  FOR  THE 
*             MODULE. 
*         6.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         7.  PLACE THE PATH CLARIFIER, RESOURCE PARAMETER,  AND  INPUT 
*             PATH  ID IN THE EXPECTED PATH STATUS TABLE FOR THE OUTPUT 
*             PATH STATUS.
*         8.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         9.  READ  THE  PATH  STATUS  FOR THE OUTPUT PATH AND SAVE THE 
*             SEND QCB ADDRESS, RECEIVE QCB ADDRESS,  OUTPUT  PATH  ID, 
*             SEND  CODE  UPPER,  AND  SEND  CODE LOWER IN THE EXPECTED 
*             OUTPUT PATH STATUS TABLE. 
*         10. READ  THE  PATH  STATUS  FOR THE OUTPUT PATH AND SAVE THE 
*             PATH STATUS TABLE IN THE INPUT BUFFER.
*         11. COMPARE  THE  EXPECTED  STATUS TABLE WITH THE STATUSES IN 
*             THE INPUT BUFFER AND REPORT ANY ERRORS. 
*         12. PLACE  THE PATH CLARIFIER, RESOURCE PARAMETER, AND OUTPUT 
*             PATH ID IN THE EXPECTED PATH STATUS TABLE FOR  THE  INPUT 
*             PATH STATUS.
*         13. SELECT THE INPUT DATA PATH NAMED *D0* IN  THE  LOCAL  NAD 
*             CONTROLWARE.
*         14. READ THE PATH STATUS FOR THE INPUT PATH AND SAVE THE SEND 
*             QCB  ADDRESS,  RECEIVE  QCB ADDRESS, OUTPUT PATH ID, SEND 
*             CODE UPPER, AND SEND CODE LOWER  IN  THE  EXPECTED  INPUT 
*             PATH STATUS TABLE.
*         15. READ THE PATH STATUS FOR THE INPUT PATH AND SAVE THE PATH 
*             STATUS TABLE IN THE INPUT BUFFER. 
*         16. COMPARE THE EXPECTED STATUS TABLE WITH  THE  STATUSES  IN 
*             THE INPUT BUFFER AND REPORT ANY ERRORS. 
*         17. REPEAT STEPS 6 THROUGH 16 FOUR TIMES. 
*         18. REPEAT STEPS 3 THOUGH 17 TEN DECIMAL TIMES. 
*         19. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         20. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         21. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         22. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         23. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = INTERNAL LOOP COUNT.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-155) - THE  ACTUAL  PATH STATUS AS READ FROM THE LOCAL 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(74-77) -  SELECT  VALUE  FOR  THE  INQUIRE  SELECTED  PATH 
*                      TRANSACTION. 
*         OB(100-155) - THE EXPECTED PATH STATUS TO BE  READ  FROM  THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN05 - CONNECT LOCAL PATH. 
2  FORMAT LCN05 ERROR(S) = *DECD
3  FORMAT LCN05 EC=*DECD, LC=*DECD
4  FORMAT LCN05 CONNECT PATH LC=*DECD 
* 
/---------EXPECTED PATH STATUS FOR THE MODULE.
* 
   DATA (OB(74),H) 0000, 4430 
   DATA (OB(100),H) 0200, 0000, 0000, 0200, 0000, 0000
   DATA (OB(114),H) 4430, 0001, 0000, FFFF, FFFF, 0000
   DATA (OB(130),H) 0000, 0000, 0000, 0000, 0000, 0000
   DATA (OB(144),H) 0000, 0001, 0000, 0001, 0000
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRES=33
   EQUATE CSELP=40, CSTATN=46, CSTATP=47
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=05D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   OB(110)=B0                *LOCAL NAD LTA 
   OB(111)=SB(51).LS.4       *TCU ENABLE
   OB(112)=SB(42)            *ACCESS CODE 
   OB(113)=SB(43) 
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE PATH.
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B10=0                     *INITIALIZE LOOP COUNTER 
* 
/---------READ AND CHECK OUTPUT/INPUT PATH STATUSES.
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   OB(101)=0                 *INITIALIZE PATH CLARIFIER 
   OB(116)=0                 *INITIALIZE RESOURCE PAR.
   OB(121)=B9                *INPUT PATH ID 
   B0=B8                     *OUTPUT PATH ID
   GOSUB 56                  *SELECT OUTPUT PATH
   OB(101)=1                 *INITIALIZE PATH CLARIFIER 
   OB(116)=B9                *INITIALIZE RESOURCE PAR.
   OB(121)=B8                *OUTPUT PATH ID
   B0=B9                     *INPUT PATH ID 
   GOSUB 56                  *SELECT INPUT PATH 
   GOTO 40 WHILE (B10+1.LT.4)  *LOOP 4 TIMES
   GOTO 34 WHILE (B11+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
56 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 56  *IF NOT THE PATH
   B1=0                      *INITIALIZE RETRY COUNTER
60 B12=CSTATP                *COMMAND=.STATUS PATH. 
   STATUS PATH,ABT 70        *READ PATH STATUS
   IF(IB.EQ.0) GOTO 62       *IF PATH CONNECTED 
   DELAY 100D USEC           *DELAY 
   GOTO 60 WHILE(B1+1.LE.20D)  *LOOP
* 
/---------MOVE UNPREDICTABLE STATUSES TO EXPECTED STATUS. 
* 
62 COPY IB(2) TO OB(102) FOR 6  *MOVE QCB ADDRESSES AND LOCAL BITS
   OB(120)=B0                *THIS PATH ID
   COPY IB(26) TO OB(126) FOR 4  *MOVE SEND CODE
   OB(154)=IB(54)            *MOVE CONNECT NUMBER 
   OB(155)=IB(55) 
   IF(B0.EQ.B8) OB(111)=SB(51).LS.4  *SET TCU FOR OUTPUT PATH 
   IF(B0.EQ.B9) OB(111)=IB(11)  *CLEAR TCU FOR INPUT PATH 
* 
/---------READ AND CHECK THE PATH STATUS. 
   COPY IB(26) TO OB(126) FOR 6  * MOVE SEND CODE 
   B12=CSTATP                *COMMAND=.STATUS PATH. 
   STATUS PATH,ABT 70        *READ PATH STATUS
   WC=56                     *PATH STATUS LENGTH
   COPY,IB TO IB(BA) FOR WC  *SAVE PATH STATUS
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 64  *CHECK STATUS
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 IF(B0.EQ.B8)ERROR 4/6 GOTO 70  *OUTPUT PATH STATUS ERROR 
   ERROR 4/7 GOTO 70         *INPUT PATH STATUS ERROR 
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 IF(IB.EQ.0)STATUS PATH,ABT 76  *READ PATH STATUS 
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN05 - CONNECT LOCAL PATH. 
   MODULE LCN06,LCN(301)LOCK
***       LCN06 - ECHO CODE 
**
*         LCN06 - ECHO CODE 
*         ----------------- 
* 
* 
*         PURPOSE-
*         VERIFY  THAT AFTER A LOCAL PATH IS CONNECTED WITHIN THE LOCAL 
*         NAD, 32 BIT CODE DATA PATTERNS  CAN  BE  ECHOED  THROUGH  THE 
*         LOCAL NAD.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         7.  GENERATE THE DATA PATTERN FOR THE CODE TO BE SEND.
*         8.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         9.  WRITE THE CODE WORDS TO THE LOCAL NAD.
*         10. SEND A READY TO THE LOCAL NAD.
*         11. SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         12. READ THE CODE WORDS FROM THE LOCAL NAD. 
*         13. COMPARE THE CODE WORDS READ WITH THE CODE WORDS  SENT  TO 
*             THE NAD AND REPORT ANY ERRORS.
*         14. REPEAT STEPS 6 THROUGH 13 TO DO FOUR DATA PATTERNS (0000, 
*             FFFF, 5555, AND AAAA HEXADECIMAL).
*         15. REPEAT STEPS 3 THROUGH 14 TEN DECIMAL TIMES.
*         16. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 19.
*         17. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         18. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         19. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         20. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-103) - 32 BIT CODE DATA RETURN FROM THE LOCAL NAD. 
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(60-63) - DATA PATTERNS  TO  BE  USED  IN  TESTING  BY  THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100-103) - 32 BIT CODE DATA SENT TO THE LOCAL NAD. 
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN06 - ECHO CODE.
2  FORMAT LCN06 ERROR(S) = *DECD
3  FORMAT LCN06 EC=*DECD, LC=*DECD
4  FORMAT LCN06 ECHO CODE LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, 55AA 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDCD=30 
   EQUATE CRDY=33, CRES=36, CSELP=40, CSTATN=46, CWRCD=57 
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=06D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(400),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(406)                *SAVE INPUT PATH ID
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO CODE DATA THROUGH THE LOCAL NAD. 
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   DUP 14 BITS OF OB(B10+60) TO OB(BA) FOR 4
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   B12=CWRCD                 *COMMAND=.WRITE CODE.
   WRITE CODE FROM OB(BA),ABT 70  *WRITE DATA CODE
   B12=CRDY                  *COMMAND=.READY. 
   READY,ABT 70              *SEND READY
   DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B0=0                      *INITIALIZE RETRY COUNT
42 B12=CRDCD                 *COMMAND=.READ CODE. 
   READ CODE TO IB(BA),ABT 70  *READ DATA WORDS 
   WC=4                      *MESSAGE WORD COUNT
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 40 WHILE (B10+1.LT.4)  *LOOP 4 DATA PATTERNS
   GOTO 34 WHILE (B11+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT THE PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 DELAY 500D USEC           *DELAY FOR CODE WORDS
   GOTO 42 WHILE (B0+1.LT.10D)  *IF RETRY COUNT NOT EXPIRED 
   ERROR 3/10 GOTO 70        *ECHO CODE COMPARE ERROR 
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN06 - ECHO CODE.
   MODULE LCN07,LCN(301)LOCK
***       LCN07 - ECHO SHORT CODE 
**
*         LCN07 - ECHO SHORT CODE 
*         ----------------------- 
* 
* 
*         PURPOSE-
*         VERIFY  THAT AFTER A LOCAL PATH IS CONNECTED WITHIN THE LOCAL 
*         NAD, 5 BIT CODE DATA PATTERNS CAN BE ECHOED THROUGH THE LOCAL 
*         NAD.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         2.  INITIALIZE THE PATTERN REGISTER B10 FOR THE MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  INITIALIZE THE PATTERN REGISTER B10 FOR THE MODULE. 
*         5.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         6.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         7.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         8.  WRITE THE SHORT CODE WORD TO THE LOCAL NAD. 
*         9.  SELECT  THE  INPUT  DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         10. READ THE SHORT CODE WORD FROM THE LOCAL NAD.
*         11. COMPARE THE SHORT CODE WORD READ WITH THE SHORT CODE WORD 
*             TO THE NAD AND REPORT ANY ERRORS. 
*         12. REPEAT STEPS 6 THROUGH 11 TO ECHO  DATA  PATTERNS  OF  00 
*             THROUGH 37 OCTAL THROUGH THE LOCAL NAD. 
*         13. REPEAT STEPS 3 THROUGH 12 TWO DECIMAL TIMES.
*         14. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 17.
*         15. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         16. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         17. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         18. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100) - 5 BIT CODE DATA RETURN FROM THE LOCAL NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100) - 5 BIT CODE DATA SENT TO THE LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN07 - ECHO SHORT CODE.
2  FORMAT LCN07 ERROR(S) = *DECD
3  FORMAT LCN07 EC=*DECD, LC=*DECD
4  FORMAT LCN07 SHORT CODE LC=*DECD 
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDSC=32 
   EQUATE CRES=36, CSELP=40, CSTATN=46, CWRSC=61
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=07D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO SHORT CODE DATA THROUGH THE LOCAL NAD. 
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   OB(BA)=B10                *INITIALIZE CODE WORD
   B12=CWRSC                 *COMMAND=.WRITE SHORT CODE.
   WRITE SHORT CODE FROM OB(BA),ABT 70  *WRITE SHORT CODE 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B0=0                      *INITIALIZE RETRY COUNT
42 B12=CRDSC                 *COMMAND=.READ SHORT CODE. 
   READ SHORT CODE,ABT 70    *READ SHORT CODE 
   WC=1                      *MESSAGE WORD COUNT
   IB(BA)=SB(1).AND.37       *MASK CODE WORD
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 40 WHILE (B10+1.LT.32D)  *LOOP 32 TIMES 
   GOTO 34 WHILE (B11+1.LT.2)    *LOOP 2 TIMES
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT THE PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 DELAY 500D USEC           *DELAY FOR SHORT CODE DATA 
   GOTO 42 WHILE (B0+1.LT.10D)  *IF RETRY COUNT NOT EXPIRED 
   ERROR 2/11 GOTO 70        *ECHO SHORT CODE COMPARE ERROR 
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN07 - ECHO SHORT CODE.
   MODULE LCN08,LCN(301)LOCK
***       LCN08 - ECHO PARTIAL BUFFER 
**
*         LCN08 - ECHO PARTIAL BUFFER 
*         --------------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER A LOCAL PATH IS CONNECTED IN THE LOCAL NAD, 
*         THAT DATA BUFFERS CONTAINING VARIOUS DATA PATTERNS OF VARIOUS 
*         LENGTHS CAN BE ECHOED THROUGH THE LOCAL NAD.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  TO  ZERO 
*             FOR THE MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  SELECT BINARY MODE. 
*         6.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         7.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         8.  GENERATE  A  400  OCTAL (80 HEXADECIMAL) WORD DATA BUFFER 
*             CONTAINING THE DATA PATTERN TO BE  TESTED.   THE  INITIAL 
*             DATA PATTERN WILL BE ALL ZEROS. 
*         9.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         10. USING THE WRITE DATA TRANSACTION, WRITE THE NUMBER OF 400 
*             OCTAL  WORD  BUFFERS  PLUS  ONE CONTAINED IN THE EXTERNAL 
*             LOOP COUNT REGISTER B11 TO THE LOCAL NAD. 
*         11. SEND A TRANSMIT TO THE LOCAL NAD. 
*         12. SELECT  THE  INPUT  DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         13. USING THE READ DATA TRANSACTION,  READ  400  OCTAL  WORDS 
*             FROM THE LOCAL NAD. 
*         14. COMPARE THE DATA WORDS READ WITH THE DATA WORDS  SENT  TO 
*             THE NAD AND REPORT ANY ERRORS.
*         15. REPEAT STEPS 13 AND 14 UNTIL THE NUMBER OF READS  IS  ONE 
*             GREATER  THAN  THE  NUMBER CONTAINED IN THE EXTERNAL LOOP 
*             COUNT REGISTER B11. 
*         16. REPEAT STEPS 7 THROUGH 15 TO DO FOUR DATA PATTERNS (0000, 
*             FFFF, 5555, AND AAAA HEXADECIMAL).
*         17. REPEAT STEPS 3 THROUGH 16 SIXTEEN DECIMAL TIMES.
*         18. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 21.
*         19. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         20. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         21. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, WITH EXCEPTION OF TRANSFER NOT READY (TNR)
*             ERRORS WHICH HAVE A 10D ERROR LIMIT, A MESSAGE IS 
*             SENT TO THE DAYFILE, DISPLAY, AND PRINT INDICATING
*             THE NUMBER OF ERRORS DETECTED BY THE MODULE.
*         22. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TNR ERROR COUNT 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B4  = BUFFER COUNTER. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-477) - INPUT DATA BUFFER FOR DATA READ FROM THE  LOCAL 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(60-63) - DATA PATTERNS  TO  BE  USED  IN  TESTING  BY  THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100-477) - OUTPUT DATA BUFFER FOR DATA TO BE SENT  TO  THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN08 - ECHO PARTIAL BUFFER.
2  FORMAT LCN08 ERROR(S) = *DECD
3  FORMAT LCN08 EC=*DECD, LC=*DECD
4  FORMAT LCN08 ECHO BUFFER LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, 55AA 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDDT=31 
   EQUATE CRES=36, CSELP=40, CSTATN=46, CTRAN=54, CWDDT=60
   EQUATE CSELBIN=62
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=08D                   *MODULE NUMBER 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 BA=100                    *DATA BUFFERS BASE ADDRESS 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B12=CSELBIN               *COMMAND=.SELECT BINARY. 
   SELECT BINARY,ABT 70      *SELECT BINARY MODE
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO PARTIAL DATA BUFFERS THROUGH THE LOCAL NAD.
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   WC=400                    *MESSAGE WORD COUNT
   DUP 14 BITS OF OB(B10+60) TO OB(BA) FOR WC 
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   B0=0                      *INITIALIZE BUFFER COUNTER 
   B12=CWDDT                 *COMMAND=.WRITE DATA.
42 WRITE DATA WC WORDS FROM OB(BA),ABT 70  *WRITE DATA
   GOTO 42 WHILE (B0+1.LE.B11)  *LOOP TO FILL BUFFER
   B12=CTRAN                 *COMMAND=.TRANS. 
   TRANS,ABT 70              *SEND TRANSMIT 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B4=0                      *INITIALIZE BUFFER COUNTER 
44 WC=400                    *MESSAGE WORD COUNT
   DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B12=CRDDT                 *COMMAND=.READ DATA. 
   READ DATA WC WORDS TO IB(BA),ABT 70  *READ DATA
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 44 WHILE (B4+1.LE.B11)  *LOOP TO READ BUFFER
   GOTO 40 WHILE (B10+1.LT.4 )  *LOOP 4 DATA PATTERNS 
   GOTO 34 WHILE (B11+1.LT.16D)  *LOOP 16 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT REQUESTED PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 4/12 GOTO 70        *DATA COMPARE ERROR
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 IF(SB(1).EQ.17B) GOTO 73  *IF TNR ERROR
71 B1=0 
   B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
   GOTO 74
73 B1=B1+1                   *INCREMENT ERROR COUNT 
   IF(B1.EQ.10D) GOTO 71     *TNR ERROR LIMIT 
   REL, ABT 71
   DELAY 500D USEC           *DELAY AFTER TNR ERROR 
   GOTO 34
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN08 - ECHO PART. BUFFER.
   MODULE LCN09,LCN(301)LOCK
***       LCN09 - ECHO FULL BUFFER
**
*         LCN09 - ECHO FULL BUFFER
*         ------------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER A LOCAL PATH IS CONNECTED IN THE LOCAL NAD, 
*         THAT  DATA  BUFFERS CONTAINING VARIOUS DATA PATTERNS THAT ARE 
*         810 HEXADECIMAL WORDS LONG CAN ECHOED THROUGH THE LOCAL  NAD. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 TO ZERO 
*             FOR THE MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  SELECT BINARY MODE. 
*         6.  INITIALIZE  THE  PATTERN  INDEX  REGISTER  B10  FOR   THE 
*             MODULE. 
*         7.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         8.  GENERATE A 400 OCTAL (80 HEXADECIMAL)  WORD  DATA  BUFFER 
*             CONTAINING  THE  DATA  PATTERN TO BE TESTED.  THE INITIAL 
*             DATA PATTERN WILL BE ALL ZEROS. 
*         9.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         10. USING THE WRITE DATA TRANSACTION, WRITE A 810 HEXADECIMAL 
*             DATA BUFFER IN THE LOCAL NAD.  DATA TRANSFERS WILL BE 400 
*             OCTAL  WORDS LONG EXCEPT FOR THE LAST DATA TRANSFER WHICH 
*             WILL BE 40 OCTAL WORDS LONG.
*         11. SEND A TRANSMIT TO THE LOCAL NAD. 
*         12. SELECT  THE  INPUT  DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         13. USING THE READ DATA TRANSACTION,  READ  400  OCTAL  WORDS 
*             FROM THE LOCAL NAD. 
*         14. COMPARE THE DATA WORDS READ WITH THE DATA WORDS  SENT  TO 
*             THE NAD AND REPORT ANY ERRORS.
*         15. REPEAT STEPS 13 AND 14 SIXTEEN DECIMAL  TIMES  USING  400 
*             OCTAL  WORD  TRANSFERS AND ONE TIME DOING A 40 OCTAL WORD 
*             TRANSFER. 
*         16. REPEAT STEPS 7 THROUGH 15 TO DO FOUR DATA PATTERNS (0000, 
*             FFFF, 5555, AND AAAA HEXADECIMAL).
*         17. REPEAT STEPS 3 THROUGH 16 TEN DECIMAL TIMES.
*         18. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 21.
*         19. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         20. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         21. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         22. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B4  = BUFFER COUNTER. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-477) - INPUT DATA BUFFER FOR DATA READ FROM THE  LOCAL 
*                       NAD.
*         OB(60-63) - DATA PATTERNS  TO  BE  USED  IN  TESTING  BY  THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100-477) - OUTPUT DATA BUFFER FOR DATA TO BE SENT  TO  THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN09 - ECHO FULL BUFFER. 
2  FORMAT LCN09 ERROR(S) = *DECD
3  FORMAT LCN09 EC=*DECD, LC=*DECD
4  FORMAT LCN09 ECHO BUFFER LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, 55AA 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDDT=31 
   EQUATE CRES=36, CSELP=40, CSTATN=46, CTRAN=54, CWDDT=60
   EQUATE CSELBIN=62
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=09D                   *MODULE NUMBER 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 BA=100                    *DATA BUFFERS BASE ADDRESS 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B12=CSELBIN               *COMMAND=.SELECT BINARY. 
   SELECT BINARY,ABT 70      *SELECT BINARY MODE
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO FULL DATA BUFFERS THROUGH THE LOCAL NAD. 
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   WC=400                    *MESSAGE WORD COUNT
   DUP 14 BITS OF OB(B10+60) TO OB(BA) FOR WC 
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   B0=0                      *INITIALIZE BUFFER COUNTER 
   B12=CWDDT                 *COMMAND=.WRITE DATA.
42 WRITE DATA WC WORDS FROM OB(BA),ABT 70  *WRITE DATA
   GOTO 42 WHILE (B0+1.LT.20)  *LOOP TO FILL BUFFER 
   WC=40                     *LAST BUFFER WORD COUNT
   IF(B0.EQ.20) GOTO 42      *IF LAST BUFFER NOT DONE 
   B12=CTRAN                 *COMMAND=.TRANS. 
   TRANS,ABT 70              *SEND TRANSMIT 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B4=0                      *INITIALIZE BUFFER COUNTER 
44 WC=400                    *MESSAGE WORD COUNT
46 DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B12=CRDDT                 *COMMAND=.READ DATA. 
   READ DATA WC WORDS TO IB(BA),ABT 70  *READ DATA
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 44 WHILE (B4+1.LT.20)  *LOOP TO READ BUFFER 
   WC=40                     *MESSAGE WORD COUNT
   IF(B4.EQ.20) GOTO 46      *IF LAST BUFFER NOT READ 
   GOTO 40 WHILE (B10+1.LT.4 )  *LOOP 4 DATA PATTERNS 
   GOTO 34 WHILE (B11+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT REQUESTED PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 4/13 GOTO 70        *DATA COMPARE ERROR
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN09 - ECHO FULL BUFFER. 
   MODULE LCN10,LCN(301)LOCK
***       LCN10 - ECHO PART.  BUF./MARK 
**
*         LCN10 - ECHO PART.  BUF./MARK 
*         ----------------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER A LOCAL PATH IS CONNECTED IN THE LOCAL NAD, 
*         THAT  DATA BUFFERS FOLLOWED BY A MARK CONTAINING VARIOUS DATA 
*         PATTERNS OF VARIOUS LENGTHS CAN BE ECHOED THROUGH  THE  LOCAL 
*         NAD.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  TO  ZERO 
*             FOR THE MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  SELECT BINARY MODE. 
*         6.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         7.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         8.  GENERATE  A  400  OCTAL (80 HEXADECIMAL) WORD DATA BUFFER 
*             CONTAINING THE DATA PATTERN TO BE  TESTED.   THE  INITIAL 
*             DATA PATTERN WILL BE ALL ZEROS. 
*         9.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         10. USING THE WRITE DATA TRANSACTION, WRITE THE NUMBER OF 400 
*             OCTAL  WORD  BUFFERS  PLUS  ONE CONTAINED IN THE EXTERNAL 
*             LOOP COUNT REGISTER B11 TO THE LOCAL NAD. 
*         11. SEND A TRANSMIT WITH MARK TO THE LOCAL NAD. 
*         12. SELECT  THE  INPUT  DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         13. USING THE READ DATA TRANSACTION,  READ  400  OCTAL  WORDS 
*             FROM THE LOCAL NAD. 
*         14. SEND A READY TO THE LOCAL NAD.
*         15. COMPARE THE DATA WORDS READ WITH THE DATA WORDS  SENT  TO 
*             THE NAD AND REPORT ANY ERRORS.
*         16. REPEAT STEPS 13 THROUGH 15 UNTIL THE NUMBER OF  READS  IS 
*             ONE  GREATER  THAN  THE  NUMBER CONTAINED IN THE EXTERNAL 
*             LOOP COUNT REGISTER B11.
*         17. REPEAT STEPS 7 THROUGH 16 TO DO FOUR DATA PATTERNS (0000, 
*             FFFF, 5555, AND AAAA HEXADECIMAL).
*         18. REPEAT STEPS 3 THROUGH 17 SIXTEEN DECIMAL TIMES.
*         19. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         20. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         21. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         22. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULES, WITH EXCEPTION OF TRANSFER NOT READY (TNR) 
*             ERRORS WHICH HAVE A 10D ERROR LIMIT, A MESSAGE IS 
*             SENT TO THE DAYFILE, DISPLAY, AND PRINT INDICATING
*             THE NUMBER OF ERRORS DETECTED BY  THE MODULE. 
*         23. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TNR ERROR COUNT 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B4  = BUFFER COUNTER. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-477) - INPUT DATA BUFFER FOR DATA READ FROM THE  LOCAL 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(60-63) - DATA PATTERNS  TO  BE  USED  IN  TESTING  BY  THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100-477) - OUTPUT DATA BUFFER FOR DATA TO BE SENT  TO  THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN10 - ECHO PART. BUF./MARK. 
2  FORMAT LCN10 ERROR(S) = *DECD
3  FORMAT LCN10 EC=*DECD, LC=*DECD
4  FORMAT LCN10 ECHO BUFFER LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, 55AA 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDDT=31 
   EQUATE CRDY=33, CRES=36, CSELP=40, CSTATN=46, CTRANM=55
   EQUATE CWDDT=60, CSELBIN=62
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=10D                   *MODULE NUMBER 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 BA=100                    *DATA BUFFERS BASE ADDRESS 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B12=CSELBIN               *COMMAND=.SELECT BINARY. 
   SELECT BINARY,ABT 70      *SELECT BINARY MODE
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO PARTIAL DATA BUFFERS THROUGH THE LOCAL NAD.
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   WC=400                    *MESSAGE WORD COUNT
   DUP 14 BITS OF OB(B10+60) TO OB(BA) FOR WC 
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   B0=0                      *INITIALIZE BUFFER COUNTER 
   B12=CWDDT                 *COMMAND=.WRITE DATA.
42 WRITE DATA WC WORDS FROM OB(BA),ABT 70  *WRITE DATA
   GOTO 42 WHILE (B0+1.LE.B11)  *LOOP TO FILL BUFFER
   B12=CTRANM                *COMMAND=.TRANS WITH MARK. 
   TRANS WITH MARK,ABT 70    *SEND TRANSMIT WITH MARK 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B4=0                      *INITIALIZE BUFFER COUNTER 
44 WC=400                    *MESSAGE WORD COUNT
   DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B12=CRDDT                 *COMMAND=.READ DATA. 
   READ DATA WC WORDS TO IB(BA),ABT 70  *READ DATA
   B12=CRDY                  *COMMAND=.READY. 
   READY,ABT 70              *SEND A READY TO THE NAD 
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 44 WHILE (B4+1.LE.B11)  *LOOP TO READ BUFFER
   GOTO 40 WHILE (B10+1.LT.4 )  *LOOP 4 DATA PATTERNS 
   GOTO 34 WHILE (B11+1.LT.16D)  *LOOP 16 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT REQUESTED PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 4/14 GOTO 70        *DATA COMPARE ERROR
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
* 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 IF(SB(1).EQ.17B) GOTO 73  *IF TNR ERROR
71 B1=0 
   B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
   GOTO 74
73 B1=B1+1                   *INCREMENT ERROR COUNT 
   IF(B1.EQ.10D) GOTO 71     *TNR ERROR LIMIT 
   REL, ABT 71
   DELAY 500D USEC           *DELAY AFTER TNR ERROR 
   GOTO 34
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN10 - ECHO PART. BUFFER.
   MODULE LCN11,LCN(301)LOCK
***       LCN11 - ECHO FULL BUF./MARK 
**
*         LCN11 - ECHO FULL BUF./MARK 
*         --------------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER A LOCAL PATH IS CONNECTED IN THE LOCAL NAD, 
*         THAT  DATA BUFFERS FOLLOWED BY A MARK CONTAINING VARIOUS DATA 
*         PATTERNS THAT ARE  810  HEXADECIMAL  WORDS  LONG  CAN  ECHOED 
*         THROUGH THE LOCAL NAD.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  TO  ZERO 
*             FOR THE MODULE. 
*         3.  RESERVE THE CHANNEL  TO  THE  LOCAL  NAD  AND  INPUT  THE 
*             GENERAL DETAILED STATUS.
*         4.  CREATE THE LOCAL DATA PATH NAMED *D0* IN THE LOCAL NAD BY 
*             DOING A CONNECT PATH TRANSACTION, INQUIRE  SELECTED  PATH 
*             TRANSACTION, AND ACCEPT TRANSACTION.
*         5.  SELECT BINARY MODE. 
*         6.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         7.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         8.  GENERATE  A  400  OCTAL (80 HEXADECIMAL) WORD DATA BUFFER 
*             CONTAINING THE DATA PATTERN TO BE  TESTED.   THE  INITIAL 
*             DATA PATTERN WILL BE ALL ZEROS. 
*         9.  SELECT  THE  OUTPUT DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         10. USING THE WRITE DATA TRANSACTION, WRITE A 810 HEXADECIMAL 
*             DATA BUFFER IN THE LOCAL NAD.  DATA TRANSFERS WILL BE 400 
*             OCTAL WORDS LONG EXCEPT FOR THE LAST DATA TRANSFER  WHICH 
*             WILL BE 40 OCTAL WORDS LONG.
*         11. SEND A TRANSMIT WITH MARK TO THE LOCAL NAD. 
*         12. SELECT  THE  INPUT  DATA PATH NAMED *D0* IN THE LOCAL NAD 
*             CONTROLWARE.
*         13. USING  THE  READ  DATA  TRANSACTION, READ 400 OCTAL WORDS 
*             FROM THE LOCAL NAD. 
*         14. SEND A READY TO THE LOCAL NAD.
*         15. COMPARE  THE  DATA WORDS READ WITH THE DATA WORDS SENT TO 
*             THE NAD AND REPORT ANY ERRORS.
*         16. REPEAT  STEPS  13  THROUGH 15 SIXTEEN DECIMAL TIMES USING 
*             400 OCTAL WORD TRANSFERS AND ONE TIME DOING  A  40  OCTAL 
*             WORD TRANSFER.
*         17. REPEAT STEPS 7 THROUGH 16 TO DO FOUR DATA PATTERNS (0000, 
*             FFFF, 5555, AND AAAA HEXADECIMAL).
*         18. REPEAT STEPS 3 THROUGH 17 TEN DECIMAL TIMES.
*         19. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         20. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         21. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         22. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULES, WITH EXCEPTION OF TRANSFER NOT READY (TNR) 
*             ERRORS WHICH HAVE A 10D ERROR LIMIT, A MESSAGE IS 
*             SENT TO THE DAYFILE, DISPLAY, AND PRINT INDICATING
*             THE NUMBER OF ERRORS DETECTED BY THE MODULE.
*         23. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         THE  LOGICAL  TRUNK  ADDRESS OF THE LOCAL NAD IS CONTAINED IN 
*         THE UPPER BYTE OF THE FIRST  WORD  OF  THE  GENERAL  DETAILED 
*         STATUS. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TNR ERROR COUNT 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B4  = BUFFER COUNTER. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B8  = OUTPUT PATH ID. 
*         B9  = INPUT PATH ID.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
          MMSG   ER.FLE,EC.FLE,(ADDR OUT OF FL),1 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(60-63) - DATA  PATTERNS  TO  BE  USED  IN  TESTING  BY THE 
*                     MODULE. 
*         OB(74-77) - SELECT  VALUE  FOR  THE  INQUIRE  SELECTED   PATH 
*                     TRANSACTION.
*         OB(100-477) - OUTPUT  DATA  BUFFER FOR DATA TO BE SENT TO THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN11 - ECHO FULL BUF./MARK.
2  FORMAT LCN11 ERROR(S) = *DECD
3  FORMAT LCN11 EC=*DECD, LC=*DECD
4  FORMAT LCN11 ECHO BUFFER LC=*DECD
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(60),H) 00FF, 55AA 
   DATA (OB(74),H) 0000, 4430 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CACPT=2, CCMP=4, CCNTPT=6, CISPT=17, CRDDT=31 
   EQUATE CRDY=33, CRES=36, CSELP=40, CSTATN=46, CTRANM=55
   EQUATE CWDDT=60, CSELBIN=62
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=11D                   *MODULE NUMBER 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 BA=100                    *DATA BUFFERS BASE ADDRESS 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=CSTATN                *COMMAND=.STATUS NAD.
   STATUS NAD,ABT 70         *GET NAD GENERAL STATUS
   B0=SB(2)                  *SAVE LOCAL NAD LTA
   OB(74)=B0
   B12=CCNTPT                *COMMAND=.CONNECT PATH.
   CONNECT PATH D0,BUFFER 1,LTA B0,ABT 70  *CONNECT PATH
   B8=SB(1).AND.177          *SAVE OUTPUT PATH ID 
   B0=0                      *INITIALIZE RETRY COUNTER
   B12=CISPT                 *COMMAND=.INQUIRE SEL. PATH. 
36 INQUIRE SELECTED PATH OB(74) TO IB(100),ABT 66  *INQUIRE 
   B12=CACPT                 *COMMAND=.ACCEPT.
   ACCEPT,ABT 70             *SEND ACCEPT FOR PATH
   B9=IB(106)                *SAVE INPUT PATH ID
   B12=CSELBIN               *COMMAND=.SELECT BINARY. 
   SELECT BINARY,ABT 70      *SELECT BINARY MODE
   B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------ECHO FULL DATA BUFFERS THROUGH THE LOCAL NAD. 
* 
40 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   WC=400                    *MESSAGE WORD COUNT
   DUP 14 BITS OF OB(B10+60) TO OB(BA) FOR WC 
   B0=B8                     *OUTPUT PATH ID
   GOSUB 60                  *SELECT OUTPUT PATH
   B0=0                      *INITIALIZE BUFFER COUNTER 
   B12=CWDDT                 *COMMAND=.WRITE DATA.
42 WRITE DATA WC WORDS FROM OB(BA),ABT 70  *WRITE DATA
   GOTO 42 WHILE (B0+1.LT.20)  *LOOP TO FILL BUFFER 
   WC=40                     *LAST BUFFER WORD COUNT
   IF(B0.EQ.20) GOTO 42      *IF LAST BUFFER NOT DONE 
   B12=CTRANM                *COMMAND=.TRANS WITH MARK. 
   TRANS WITH MARK,ABT 70    *SEND TRANSMIT WITH MARK 
   B0=B9                     *INPUT PATH ID 
   GOSUB 60                  *SELECT INPUT PATH 
   B4=0                      *INITIALIZE BUFFER COUNTER 
44 WC=400                    *MESSAGE WORD COUNT
46 DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B12=CRDDT                 *COMMAND=.READ DATA. 
   READ DATA WC WORDS TO IB(BA),ABT 70  *READ DATA
   B12=CRDY                  *COMMAND=.READY. 
   READY,ABT 70              *SEND A READY TO THE NAD 
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 64  *CHECK DATA
   GOTO 44 WHILE (B4+1.LT.20)  *LOOP TO READ BUFFER 
   WC=40                     *MESSAGE WORD COUNT
   IF(B4.EQ.20) GOTO 46      *IF LAST BUFFER NOT READ 
   GOTO 40 WHILE (B10+1.LT.4 )  *LOOP 4 DATA PATTERNS 
   GOTO 34 WHILE (B11+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------SELECT PATH FROM PATH ID IN B0. 
* 
60 B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH D0,ABT 70     *SELECT NORMAL PATH
   IF(SB(1).AND.177.NE.B0) GOTO 60  *IF NOT REQUESTED PATH
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 4/15 GOTO 70        *DATA COMPARE ERROR
* 
* 
/---------PROCESS INQUIRE COMMAND ABORT.
* 
66 IF(EC.NE.6036) GOTO 70    *ERROR IF NOT NAK STATUS 
   DELAY 500D USEC           *DELAY FOR CONNECT 
   GOTO 36 WHILE(B0+1.LT.20)  *RETRY 20 TIMES 
/---------PROCESS COMMAND ABORTS AND MODULE ERRORS. 
* 
70 IF(SB(1).EQ.17B) GOTO 73  *IF TNR ERROR
71 B1=0 
   B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
   GOTO 74
73 B1=B1+1                   *INCREMENT ERROR COUNT 
   IF(B1.EQ.10D) GOTO 71     *TNR ERROR LIMIT 
   REL, ABT 71
   DELAY 500D USEC           *DELAY AFTER TNR ERROR 
   GOTO 34
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN11 - ECHO FULL BUFFER. 
   MODULE LCN12,LCN(301)LOCK
***       LCN12 - MAINT. PATH STATUS
**
*         LCN12 - MAINT. PATH STATUS
*         ------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT THE AFTER A MAINTENANCE PATH IS CONNECTED TO  THE 
*         REMOTE  NAD,  THE  PATH  STATUS CAN BE READ AND THAT THE PATH 
*         STATUS BLOCK CONTAINS THE CORRECT INFORMATION.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXPECTED PATH STATUS TABLE WITH THE REMOTE 
*             NAD LOGICAL TRUNK ADDRESS, TRUNK CONTROL UNIT ENABLE, AND 
*             ACCESS CODE.
*         3.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         4.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         5.  RESERVE THE CHANNEL TO THE  LOCAL  NAD  AND  CONNECT  THE 
*             MAINTENANCE PATH NAMED *DA*.
*         6.  SELECT THE MAINTENANCE PATH NAMED *DA* IN THE  LOCAL  NAD 
*             CONTROLWARE  AND  SAVE  THE  MAINTENANCE  PATH  ID IN THE 
*             EXPECTED STATUS TABLE.
*         7.  READ  THE  PATH  STATUS  AND  SAVE  THE SEND QCB ADDRESS, 
*             RECEIVE QCB ADDRESS, SEND CODE UPPER, AND SEND CODE LOWER 
*             IN THE EXPECTED STATUS TABLE. 
*         8.  READ THE PATH STATUS OF THE  MAINTENANCE  PATH  AND  SAVE 
*             STATUS BLOCK IN THE INPUT BUFFER. 
*         9.  COMPARE THE EXPECTED STATUS TABLE WITH  THE  STATUSES  IN 
*             THE INPUT BUFFER AND REPORT ANY ERRORS. 
*         10. REPEAT STEPS 8 AND 9 TEN DECIMAL TIMES. 
*         11. REPEAT STEPS 4 THROUGH 10 FIFTY DECIMAL TIMES.
*         12. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 15.
*         13. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         14. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         15. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         16. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         SB(42)  CONTAINS  THE UPPER 8 BITS OF THE ACCESS CODE FOR THE 
*            NAD. 
*         SB(43)  CONTAINS  THE LOWER 8 BITS OF THE ACCESS CODE FOR THE 
*            NAD. 
*         SB(50)  CONTAINS  THE  LOGICAL  TRUNK  ADDRESS  (LTA) FOR THE 
*            REMOTE NAD.
*         SB(51) CONTAINS THE TCU ENABLE BIT. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = INTERNAL LOOP COUNT.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-155) - THE ACTUAL PATH STATUS AS READ FROM  THE  LOCAL 
*                       NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(100-155) - THE EXPECTED PATH STATUS TO BE  READ  FROM  THE 
*                       LOCAL NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN12 - MAINT. PATH STATUS. 
2  FORMAT LCN12 ERROR(S) = *DECD
3  FORMAT LCN12 EC=*DECD, LC=*DECD
4  FORMAT LCN12 PATH STATUS LC=*DECD
* 
/---------EXPECTED PATH STATUS FOR THE MODULE.
* 
   DATA (OB(100),H) 0201, 0000, 0000, 8000, 0000, 0000
   DATA (OB(114),H) 4441, 0001, 0000, FFFF, FFFF, 0000
   DATA (OB(130),H) 0000, 0000, 0000, 0000, 0000, 0000
   DATA (OB(144),H) 0000, 0000, 0000, 0000, 0000
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CCMP=4, CCNTMP=5, CSELP=40, CSTATP=47 
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=12D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
* 
/---------INITIALIZE EXPECTED STATUS TABLE. 
* 
   OB(110)=SB(50)            *REMOTE NAD LTA
   OB(111)=SB(51).LS.4       *TCU ENABLE
   OB(112)=SB(42)            *ACCESS CODE (UPPER BYTE)
   OB(113)=SB(43)            *ACCESS CODE (LOWER BYTE)
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
* 
/---------CONNECT AND SELECT MAINTENANCE PATH DA. 
* 
34 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B10=0                     *INITIALIZE STATUS LOOP COUNT
   B12=CCNTMP                *COMMAND=.RES MAINT PATH.
   RES MAINT PATH DA BUFFER 1,ABT 70  *RES PATH 
   DELAY 200D USEC           *DELAY 
   B12=CSELP                 *COMMAND=.SELECT PATH. 
   SELECT PATH DA,ABT 70     *SELECT MAINTENANCE PATH 
   OB(120)=SB(1).AND.177     *SAVE PATH ID
   B12=CSTATP                *COMMAND=.STATUS PATH. 
   STATUS PATH,ABT 70        *READ PATH STATUS
* 
/---------MOVE UNPREDICTABLE STATUSES TO EXPECTED STATUS. 
* 
   COPY IB(2) TO OB(102) FOR 6  *MOVE QCB ADDRESSES AND LOCAL BITS
   COPY IB(26) TO OB(126) FOR 4  *MOVE SEND CODE
   OB(154)=IB(54)            *MOVE CONNECT NUMBER 
   OB(155)=IB(55) 
* 
/---------READ AND CHECK THE PATH STATUS. 
   COPY IB(26) TO OB(126) FOR 6  * MOVE SEND CODE 
36 B12=CSTATP                *COMMAND=.STATUS PATH. 
   STATUS PATH,ABT 70        *READ PATH STATUS
   WC=56                     *PATH STATUS LENGTH
   COPY,IB TO IB(BA) FOR WC  *SAVE PATH STATUS
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 64  *CHECK STATUS
   GOTO 36 WHILE (B10+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
   GOTO 34 WHILE (B11+1.LT.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 4/16                *PATH STATUS ERROR 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN12 - MAINT.PATH STATUS.
   MODULE LCN13,LCN(301)LOCK
***       LCN13 - RESYNC MESSAGE
**
*         LCN13 - RESYNC MESSAGE
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER CONNECTING A MAINTENANCE PATH TO THE REMOTE 
*         NAD, THAT THE TRUNK CONTROL UNIT (TCU) IN THE REMOTE NAD WILL 
*         RESPOND TO A RESYNC COMMAND.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         3.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         4.  RESERVE  THE  CHANNEL  TO  THE  LOCAL  NAD,  CONNECT  THE 
*             MAINTENANCE  PATH  NAMED *DA*, AND SELECT THE MAINTENANCE 
*             PATH NAMED *DA* IN THE LOCAL NAD CONTROLWARE. 
*         5.  SEND A RESYNC MAINTENANCE FUNCTION TO THE REMOTE NAD. 
*         6.  IF THE TCU IN THE REMOTE NAD FAILED TO RESPOND CORRECTLY, 
*             REPORT AN ERROR.
*         7.  REPEAT STEPS 3 THROUGH 6 FIFTY DECIMAL TIMES. 
*         8.  IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 11.
*         9.  INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         10. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         11. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         12. EXIT THE MODULE.
* 
/ 
*         ENTRY-NONE. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(00-31) - MAINTENANCE FUNCTION RESPONCE TABLE.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN13 - RESYNC MESSAGE. 
2  FORMAT LCN13 ERROR(S) = *DECD
3  FORMAT LCN13 EC=*DECD, LC=*DECD
4  FORMAT LCN13 RESYNC MSG LC=*DECD 
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CCNTMP=5, CSYNC=53
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=13D                   *MODULE NUMBER 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
* 
/---------RESYNC THE TCU IN THE REMOTE NAD. 
* 
34 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=CCNTMP                *COMMAND=.RES MAINT PATH.
   RES MAINT PATH DA BUFFER 1,ABT 70  *CONNECT PATH 
   B0=0                      *INITIALIZE RETRY COUNTER
36 B12=CSYNC                 *COMMAND=.RESYNC.
   RESYNC,ABT 70             *RESYNC REMOTE TCU 
   B1=OB(3).RS.4.AND.7       *STATUS II 
   IF(B1.EQ.5) GOTO 40       *IF RESPONSE CORRECT 
   DELAY 500D USEC           *DELAY 
   GOTO 36 WHILE (B0+1.LE.20D)  *RETRY 20 DECIMAL TIMES 
   ERROR 5/17 GOTO 70        *RESYNC ERROR
40 GOTO 34 WHILE (B11+1.LT.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN13 - RESYNC MESSAGE. 
   MODULE LCN14,LCN(301)LOCK
***       LCN14 - TRUNK LOOPBACK
**
*         LCN14 - TRUNK LOOPBACK
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER CONNECTING A MAINTENANCE PATH TO THE REMOTE 
*         NAD, THAT VARIOUS DATA PATTERNS OF  VARYING  LENGTHS  CAN  BE 
*         ECHOED  THROUGH  THE MEMORY IN THE REMOTE NAD USING THE TRUNK 
*         LOOPBACK FUNCTION.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         3.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         4.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             110 OCTAL.
*         5.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         6.  RESERVE  THE  CHANNEL  TO  THE  LOCAL  NAD,  CONNECT  THE 
*             MAINTENANCE  PATH  NAMED *DA*, AND SELECT THE MAINTENANCE 
*             PATH NAMED *DA* IN THE LOCAL NAD CONTROLWARE. 
*         7.  GENERATE  THE  A DATA BUFFER CONTAINING THE DATA PATTERN. 
*             THE INITIAL DATA PATTERN WILL BE ALL ZEROS. 
*         8.  INITIALIZE THE INPUT BUFFER TO ALL ONES.
*         9.  LOOP  THE  DATA  PATTERN THROUGH THE REMOTE NAD USING THE 
*             TRUNK DIAGNOSTIC FUNCTION IN THE REMOTE NAD.
*         10. COMPARE THE DATA SENT TO THE REMOTE  NAD  WITH  THE  DATA 
*             RECEIVED  FROM THE REMOTE NAD AND REPORT ANY DATA ERRORS. 
*         11. REPEAT STEPS 4 THROUGH 10 FOUR DECIMAL TIMES TO  DO  FOUR 
*             DATA PATTERNS (0000, FFFF, 5555, AND AAAA HEXADECIMAL). 
*         12. REPEAT STEPS 3 THROUGH 11 TEN DECIMAL TIMES.
*         13. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 16.
*         14. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         15. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         16. IF  ANY  ERRORS  WERE  DETECTED  DURING  EXECUTION OF THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         17. EXIT THE MODULE.
* 
/ 
*         ENTRY-NONE. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TEMPORARY STORAGE.
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = PATTERN INDEX.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100-223) - INPUT  DATA ECHOED THROUGH THE REMOTE NAD USING 
*                       THE TRUNK DIAGNOSTIC HARDWARE FEATURE.
*         OB(00-31) - MAINTENANCE FUNCTION RESPONCE TABLE.
*         OB(000-123) - MESSAGE  HEADER  AND DATA SENT TO THE LOCAL NAD 
*                       TO BE ECHOED THROUGH THE REMOTE NAD  USING  THE 
*                       TRUNK DIAGNOSTIC FEATURE. 
*         OB(100-223) - EXPECTED INPUT DATA TO BE  ECHOED  THROUGH  THE 
*                       REMOTE  NAD USING THE TRUNK DIAGNOSTIC HARDWARE 
*                       FEATURE.
*         OB(360-363) - DATA PATTERNS TO BE  USED  IN  TESTING  BY  THE 
*                       MODULE. 
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN14 - TRUNK LOOPBACK. 
2  FORMAT LCN14 ERROR(S) = *DECD
3  FORMAT LCN14 EC=*DECD, LC=*DECD
4  FORMAT LCN14 TRUNK LOOP LC=*DECD 
* 
/---------DATA PATTERNS FOR THE MODULE. 
* 
   DATA (OB(360),H) 00FF, 55AA
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CCMP=4, CCNTMP=5, CTRNK=56
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=14D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 B10=0                     *INITIALIZE DATA PATTERN INDEX 
36 WC=110                    *MESSAGE WORD COUNT
* 
/---------LOOP DATA THROUGH THE REMOTE NAD. 
* 
   IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=CCNTMP                *COMMAND=.RES MAINT PATH.
   RES MAINT PATH DA BUFFER 1,ABT 70  *CONNECT PATH 
   DUP 0 TO OB FOR 12        *CLEAR FUNCTION HEADER TABLE 
   DUP 14 BITS OF OB(B10+360) TO OB(12)FOR WC  *DATA PATTERN
   DUP 7777 TO IB(BA) FOR WC  *INIT. INPUT BUFFER 
   B0=WC+14                  *INIT. WORD COUNT
   B12=CTRNK                 *COMMAND=.TRUNK LOOPBACK.
   B1=0                      *INIT. RETRY COUNTER 
40 TRUNK LOOPBACK TO IB(BA) B0 WORDS,ABT 64  *LOOP DATA 
   DUP 14 BITS OF OB(B10+360) TO OB(BA) FOR WC
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE IB(BA) TO OB(BA) FOR WC,ABT 66  *CHECK DATA
   GOTO 36 WHILE (B10+1.LT.4)  *LOOP 4 DATA PATTERNS
   GOTO 34 WHILE (B11+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS TRUNK LOOPBACK COMMAND ABORT. 
* 
64 IF(EC.NE.6032) GOTO 70    *IF NOT ERROR CODE 6032
   IF(OB(25).NE.204) GOTO 70  *IF NOT TCI ERROR 
   IF(OB(32).NE.0) GOTO 70   *IF WORD COUNT NONZERO 
   DELAY 500D USEC           *DELAY FOR TRUNK LOOPBACK
   GOTO 40 WHILE (B1+1.NE.20D)  *IF RETRY COUNT NOT 20D 
   GOTO 70                   *GO TO REPORT THE ERROR
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
66 ERROR 4/20                *TRUNK LOOPBACK COMPARE ERROR
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN14 - TRUNK LOOPBACK. 
   MODULE LCN15,LCN(301)LOCK
***       LCN15 - REMOTE NAD STATUS 
**
*         LCN15 - REMOTE NAD STATUS 
*         ------------------------- 
* 
* 
*         PURPOSE-
*         VERIFY THAT AFTER CONNECTING A MAINTENANCE PATH TO THE REMOTE 
*         NAD,  THAT  THE  GENERAL DETAILED STATUS CAN BE READ FROM THE 
*         REMOTE NAD, AND THAT THE  FIRST  WORD  OF  THE  STATUS  BLOCK 
*         CONTAINS THE LOGICAL TRUNK ADDRESS (LTA) OF THE REMOTE NAD. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  INITIALIZE THE EXTERNAL LOOP COUNT REGISTER B11  FOR  THE 
*             MODULE. 
*         3.  IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         4.  RESERVE  THE  CHANNEL  TO  THE  LOCAL  NAD,  CONNECT  THE 
*             MAINTENANCE  PATH  NAMED *DA*, AND SELECT THE MAINTENANCE 
*             PATH NAMED *DA* IN THE LOCAL NAD CONTROLWARE. 
*         5.  READ THE REMOTE GENERAL DETAILED STATUS FROM  THE  REMOTE 
*             NAD.
*         6.  SEND AN ABORT TO THE LOCAL NAD. 
*         7.  COMPARE  THE LOGICAL TRUNK ADDRESS (LTA) CONTAINED IN THE 
*             FIRST WORD OF THE GENERAL DETAILED STATUS FROM THE REMOTE 
*             NAD  WITH  THE  LTA CONTAINED ON THE MALET ASSIGN COMMAND 
*             AND REPORT ANY ERRORS.
*         8.  REPEAT STEPS 5 THROUGH 7 TEN DECIMAL TIMES. 
*         9.  REPEAT STEPS 3 THROUGH 8 FIFTY DECIMAL TIMES. 
*         10. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 13.
*         11. INCREMENT  THE  MODULE  LOOP COUNT IN THE B15 REGISTER BY 
*             ONE.
*         12. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 2. 
*         13. IF ANY ERRORS  WERE  DETECTED  DURING  EXECUTION  OF  THE 
*             MODULE, SEND A MESSAGE TO THE DAYFILE, DISPLAY, AND PRINT 
*             INDICATING THE NUMBER OF ERROR DETECTED BY THE MODULE.
*         14. EXIT THE MODULE.
* 
/ 
*         ENTRY-
*         SB(50) CONTAINS THE  LOGICAL  TRUNK  ADDRESS  (LTA)  FOR  THE 
*            REMOTE NAD.
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCN98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         B3  = ERROR LINE DISPLAY NUMBER FOR PRODUCT OVERLAY  DETECTED 
*               ERRORS. 
*         B5  = EA REGISTER.
*         B6  = EC REGISTER.
*         B7  = EM REGISTER.
*         B10 = INTERNAL LOOP COUNT.
*         B11 = EXTERNAL LOOP COUNTER.
*         B12 = NUMBER FOR THE COMMAND ABORTED. 
*         B13 = MODULE NUMBER (DECIMAL).
*         B14 = MODULE ERROR COUNT. 
*         B15 = MODULE LOOP COUNT.
*         BA  = COMPARE COMMAND BASE ADDRESS. 
*         WC  = WORD COUNT FOR COMMANDS.
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(00-55) - PATH STATUS TABLE.
*         IB(100) - ACTUAL LOGICAL TRUNK (LTA) RETURN  IN  THE  GENERAL 
*                   DETAILED STATUS BY THE REMOTE NAD.
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1)). 
*         IB(502) - LAST FUNCTION (LF REGISTER).
*         IB(503) - WORDS TRANSFERRED (WT REGISTER).
*         IB(504) - CURRENT HARDWARE STATUS.
*         OB(100) - EXPECTED LOGICAL TRUNK (LTA) TO BE  RETURN  IN  THE 
*                   GENERAL DETAILED STATUS BY THE REMOTE NAD.
*         SB(02-27) - NAD GENERAL DETAILED STATUS.
* 
* 
1  FORMAT LCN15 - REMOTE NAD STATUS.
2  FORMAT LCN15 ERROR(S) = *DECD
3  FORMAT LCN15 EC=*DECD, LC=*DECD
4  FORMAT LCN15 REMOTE STATUS LC=*DECD
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CABT=1, CCMP=4, CCNTMP=5, CSTATRN=50
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=15D                   *MODULE NUMBER 
   BA=100                    *DATA BUFFERS BASE ADDRESS 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
* 
/---------CONNECT AND SELECT MAINTENANCE PATH DA. 
* 
34 IF(ES.AND.RM.EQ.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B10=0                     *INITIALIZE STATUS LOOP COUNT
   B12=CCNTMP                *COMMAND=.RES MAINT PATH.
   RES MAINT PATH DA BUFFER 1,ABT 70  *CONNECT PATH 
* 
/---------INITIALIZE EXPECTED STATUS TABLE. 
* 
   OB(100)=SB(50)            *REMOTE NAD LTA
36 B12=CSTATRN               *COMMAND=.STATUS REMOTE NAD. 
   STATUS REMOTE NAD,ABT 70  *READ REMOTE NAD STATUS
   B12=CABT                  *COMMAND=.ABORT. 
   ABORT,ABT 70              *SEND ABORT
   WC=1                      *REMOTE STATUS LENGTH
   IB(BA)=SB(2) 
   B12=CCMP                  *COMMAND=.COMPARE. 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 64  *CHECK STATUS
   GOTO 36 WHILE (B10+1.LT.10D)  *LOOP 10 DECIMAL TIMES 
   GOTO 34 WHILE (B11+1.LT.50D)  *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
50 IF(ES.AND.RM.EQ.0) GOTO 52  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 32                   *GO TO REPEAT THE MODULE 
52 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   GOTO 77                   *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT.
* 
64 ERROR 2/21                *REMOTE NAD STATUS ERROR 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) ENDSUB GOTO 50  *IF SCOPING LOOP
   IB(500)=SB                *SAVE HARDWARE STATUS WORD 
   IB(501)=SB(1)             *SAVE CONTROLWARE STATUS WORD
   IB(502)=LF                *SAVE LAST FUNCTION WORD 
   IB(503)=WT                *SAVE WORDS TRANSFERRED
   B5=EA                     *SAVE ERROR ADDRESS
   B6=EC                     *SAVE ERROR CODE 
   B7=EM                     *SAVE ERROR MESSAGE
   B3=5                      *TERMINAL LINE NUMBER
   IF(ES.AND.TM.EQ.0) B3=6   *IF KL DIS. LINE NUMBER
   IF(EC.GT.4000)MSG EM TO LINE B3  *PROD. OVERLAY ERROR
   STATUS HARDWARE,ABT 72    *READ HARDWARE STATUS
72 IB(504)=SB                *SAVE CURRENT HARDWARE STATUS
   STATUS NAD,ABT 74         *READ NAD GENERAL STATUS 
74 STATUS PATH,ABT 76        *READ PATH STATUS
76 CALL 98A                  *PROCESS ERROR 
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
77 END 30                    *END OF THE MODULE 
COMPILE                      *LCN15 - REMOTE NAD STATUS.
   MODULE LCN98A,LCN(300,301)LOCK 
***       LCN98A - DISPLAY TEST AND MODULE TITLES 
**
*         LCN98A - DISPLAY TEST AND MODULE TITLES 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT THE TITLE LINE OF THE LCN TEST AND NAME OF THE  MODULE 
*         IN  WHICH  THE  ERROR  WAS  DETECTED INTO LINE 0 AND 1 OF THE 
*         ERROR DISPLAY.
* 
* 
*         METHOD- 
*         1.  PLACE THE LCN TEST TITLE MESSAGE  IN  LINE  ZERO  OF  THE 
*             ERROR DISPLAY.
*         2.  PLACE THE MODULE TITLE MESSAGE IN LINE ONE OF  THE  ERROR 
*             DISPLAY.
*         3.  INITIALIZE THE DISPLAY LINE NUMBER REGISTER B3  WITH  TWO 
*             IF  THE  TEST  IS  NOT BEING RUN USING THE KL DISPLAY, OR 
*             THREE IF THE TEST IS BEING RUN USING THE KL DISPLAY.
*         4.  IF THE COMMAND NUMBER IN THE B13 REGISTER IS GREATER THAT 
*             51 OCTAL, EXIT TO MODULE LCN98D.
*         5.  IF THE COMMAND NUMBER IN THE B13 REGISTER IS GREATER THAT 
*             24 OCTAL, EXIT TO MODULE LCN98C.
*         6.  EXIT TO MODULE LCN98B.
* 
/ 
*         ENTRY-
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         B13 REGISTER CONTAINS THE NUMBER OF THE MODULE THAT  DETECTED 
*            THE ERROR. 
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IF THE  ERROR  TO  BE  REPORTED IS A PRODUCT OVERLAY DETECTED 
*            ERROR, THE ERROR MESSAGE PLACED IN THE ERROR DISPLAY  LINE 
*            5  IF  RUNNING  FROM A TERMINAL OR LINE 6 IF RUNNING USING 
*            THE KL DISPLAY.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         LINE  ZERO  OF  THE ERROR DISPLAY CONTAINS THE LCN TEST TITLE 
*            MESSAGE AND LINE ONE CONTAINS THE NAME OF  THE  MODULE  IN 
*            WHICH THE ERROR WAS DETECTED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT TO MODULE LCN98B IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS THAN 25 OCTAL.
*         EXIT TO MODULE LCN98C IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS BETWEEN 25 AND 52 OCTAL.
*         EXIT TO MODULE LCN98B IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS GREATER THAN 51 OCTAL. 
* 
*         SUBMODULES CALLED-
*         LCN98B - DISPLAY COMMANDS 00-24 ABORTED.
*         LCN98C - DISPLAY COMMANDS 25-51 ABORTED.
*         LCN98D - DISPLAY COMMANDS 52-62 ABORTED.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT LCN - LOOSELY COUPLED NETWORK TEST. 
1  FORMAT LCN01 - LOOP BACK.
2  FORMAT LCN02 - LOCAL NAD STATUS. 
3  FORMAT LCN03 - GENERAL DETAILED STATUS.
4  FORMAT LCN04 - SEND/INQUIRE CONTROL MESSAGE. 
5  FORMAT LCN05 - CONNECT LOCAL PATH
6  FORMAT LCN06 - ECHO CODE.
7  FORMAT LCN07 - ECHO SHORT CODE.
10 FORMAT LCN08 - ECHO PARTIAL BUFFER.
11 FORMAT LCN09 - ECHO FULL BUFFER. 
12 FORMAT LCN10 - ECHO PART. BUF./MARK. 
13 FORMAT LCN11 - ECHO FULL BUF./MARK.
14 FORMAT LCN12 - MAINT. PATH STATUS. 
15 FORMAT LCN13 - RESYNC MESSAGE. 
16 FORMAT LCN14 - TRUNK ECHO CHECK. 
17 FORMAT LCN15 - REMOTE NAD STATUS.
* 
/---------DISPLAY THE TEST TITLE AND MODULE TITLE.
* 
30 MSG 0 TO LINE 0           *TEST TITLE
   MSG B13 TO LINE 1         *MODULE TITLE
   B3=2                      *NEXT TERMINAL LINE NUMBER 
   IF(ES.AND.TM.EQ.0) B3=3   *KL DISPLAY LINE NUMBER
* 
/---------EXIT TO NEXT MODULE TO DISPLAY COMMAND ABORTED. 
* 
   IF(B12.GE.52) EXIT TO 98D  *DIS. COMMANDS 52-61 ABORTED
   IF(B12.GE.25) EXIT TO 98C  *DIS. COMMANDS 25-51 ABORTED
   EXIT TO 98B               *DIS. COMMANDS 00-24 ABORTED 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98A - DISPLAY TEST AND MODULE TITLES 
   MODULE LCN98B,LCN(300,301)LOCK 
***       LCN98B - DISPLAY COMMANDS 00-24 ABORTED 
**
*         LCN98B - DISPLAY COMMANDS 00-24 ABORTED 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT THE LINE INDICATING THE COMMAND  ON  WHICH  THE  ABORT 
*         OCCURRED  INTO  THE ERROR DISPLAY IF THE COMMAND IS LESS THAT 
*         25 OCTAL. 
* 
* 
*         METHOD- 
*         1.  PLACE  THE  ABORTED  DISPLAY  MESSAGE  FOR   THE   NUMBER 
*             CONTAINED  IN  THE  B13 REGISTER IN THE LINE CONTAINED IN 
*             THE B3 REGISTER OF THE ERROR DISPLAY. 
*         2.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         3.  EXIT TO MODULE LCN98E.
* 
/ 
*         ENTRY-
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT   TO  MODULE  LCN98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCN98E - REPORT DRIVER ERRORS.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT ABORTED ON UNKNOWN COMMAND
1  FORMAT ABORTED ON .ABORT. COMMAND
2  FORMAT ABORTED ON .ACCEPT. COMMAND 
3  FORMAT ABORTED ON .AUTODMP. COMMAND
4  FORMAT ABORTED ON .COMPARE. COMMAND
5  FORMAT ABORTED ON .RES/CONNECT MAINT PATH. COMMAND 
6  FORMAT ABORTED ON .CONNECT PATH. COMMAND 
7  FORMAT ABORTED ON .DISCONN NAMED PATH. COMMAND 
10 FORMAT ABORTED ON .DISCONN PATH. COMMAND 
11 FORMAT ABORTED ON .DISCONN PATH/FLUSH. COMMAND 
12 FORMAT ABORTED ON .INQUIRE CONTROL MSG. COMMAND
13 FORMAT ABORTED ON .IMC. COMMAND
14 FORMAT ABORTED ON .INQUIRE PATH. COMMAND 
15 FORMAT ABORTED ON .INQUIRE REJECTED CONTROL MSG. COMMAND 
16 FORMAT ABORTED ON .INQUIRE SELECTED CONTROL MSG. COMMAND 
17 FORMAT ABORTED ON .INQUIRE SELECTED PATH. COMMAND
20 FORMAT ABORTED ON .LOAD. COMMAND 
21 FORMAT ABORTED ON .LOOP BACK. COMMAND
22 FORMAT ABORTED ON .MEMORY READ. COMMAND
23 FORMAT ABORTED ON .MEMORY WRITE. COMMAND 
24 FORMAT ABORTED ON .MAINT FUNCTION. COMMAND 
* 
/---------DISPLAY COMMAND ABORTED MESSAGE.
* 
30 MSG B12 TO LINE B3        *COMMAND ABORTED MESSAGE 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   EXIT TO 98E               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98B - DISPLAY COMMANDS 00-24 ABORTED 
   MODULE LCN98C,LCN(300,301)LOCK 
***       LCN98C - DISPLAY COMMANDS 25-51 ABORTED 
**
*         LCN98C - DISPLAY COMMANDS 25-51 ABORTED 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT  THE  LINE  INDICATING  THE COMMAND ON WHICH THE ABORT 
*         OCCURRED INTO THE ERROR DISPLAY  IF  THE  COMMAND  NUMBER  IS 
*         BETWEEN 24 AND 52 OCTAL.
* 
* 
*         METHOD- 
*         1.  SET  THE  B0  REGISTER  EQUAL  TO THE CONTENTS OF THE B13 
*             REGISTER MINUS 25 OCTAL.
*         2.  PLACE  THE  ABORTED  DISPLAY  MESSAGE  FOR   THE   NUMBER 
*             CONTAINED IN THE B0 REGISTER IN THE LINE CONTAINED IN THE 
*             B3 REGISTER OF THE ERROR DISPLAY. 
*         3.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         4.  EXIT TO MODULE LCN98E.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT   TO  MODULE  LCN98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCN98E - REPORT DRIVER ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT ABORTED ON .MAINT READ. COMMAND 
1  FORMAT ABORTED ON .PMC. COMMAND
2  FORMAT ABORTED ON .PURGE. COMMAND
3  FORMAT ABORTED ON .READ CODE. COMMAND
4  FORMAT ABORTED ON .READ DATA. COMMAND
5  FORMAT ABORTED ON .READ SHORT CODE. COMMAND
6  FORMAT ABORTED ON .READY. COMMAND
7  FORMAT ABORTED ON .REJECT. COMMAND 
10 FORMAT ABORTED ON .REL. COMMAND
11 FORMAT ABORTED ON .RES. COMMAND
12 FORMAT ABORTED ON .SELECT INPUT PATH. COMMAND
13 FORMAT ABORTED ON .SELECT PATH. COMMAND
14 FORMAT ABORTED ON .SEND CONTROL MSG. COMMAND 
15 FORMAT ABORTED ON .RESET. COMMAND
16 FORMAT ABORTED ON .SMC. COMMAND
17 FORMAT ABORTED ON .STATUS CONTROL. COMMAND 
20 FORMAT ABORTED ON .STATUS HARDWARE. COMMAND
21 FORMAT ABORTED ON .STATUS NAD. COMMAND 
22 FORMAT ABORTED ON .STATUS PATH. COMMAND
23 FORMAT ABORTED ON .STATUS REMOTE NAD. COMMAND
24 FORMAT ABORTED ON .STEP. COMMAND 
* 
/---------DISPLAY COMMAND ABORTED MESSAGE.
* 
30 B0=B12-25                 *SET FORMAT STATEMENT NUMBER 
   MSG B0 TO LINE B3         *COMMAND ABORTED MESSAGE 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   EXIT TO 98E               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98C - DISPLAY COMMANDS 25-51 ABORTED 
   MODULE LCN98D,LCN(300,301)LOCK 
***       LCN98D - DISPLAY COMMANDS 52-62 ABORTED 
**
*         LCN98D - DISPLAY COMMANDS 52-62 ABORTED 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT  THE  LINE  INDICATING  THE COMMAND ON WHICH THE ABORT 
*         OCCURRED INTO THE ERROR DISPLAY  IF  THE  COMMAND  NUMBER  IS 
*         GREATER THAN 51 OCTAL.
* 
* 
*         METHOD- 
*         1.  SET  THE  B0  REGISTER  EQUAL  TO THE CONTENTS OF THE B13 
*             REGISTER MINUS 52 OCTAL.
*         2.  PLACE  THE  ABORTED  DISPLAY  MESSAGE  FOR   THE   NUMBER 
*             CONTAINED IN THE B0 REGISTER IN THE LINE CONTAINED IN THE 
*             B3 REGISTER OF THE ERROR DISPLAY. 
*         3.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         4.  EXIT TO MODULE LCN98E.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B12  REGISTER  CONTAINS  THE  NUMBER  OF  THE  COMMAND  BEING 
*            EXECUTED WHICH WAS ABORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT   TO  MODULE  LCN98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCN98E - REPORT DRIVER ERRORS.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT ABORTED ON .START. COMMAND
1  FORMAT ABORTED ON .RESYNC. COMMAND 
2  FORMAT ABORTED ON .TRANS. COMMAND
3  FORMAT ABORTED ON .TRANS WITH MARK. COMMAND
4  FORMAT ABORTED ON .TRUNK LOOPBACK. COMMAND 
5  FORMAT ABORTED ON .WRITE CODE. COMMAND 
6  FORMAT ABORTED ON .WRITE DATA. COMMAND 
7  FORMAT ABORTED ON .WRITE SHORT CODE. COMMAND 
10 FORMAT ABORTED ON .SELECT BINARY. COMMAND
* 
/---------DISPLAY COMMAND ABORTED MESSAGE.
* 
30 B0=B12-52                 *SET FORMAT STATEMENT NUMBER 
   MSG B0 TO LINE B3         *COMMAND ABORTED MESSAGE 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   EXIT TO 98E               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98D - DISPLAY COMMANDS 52-62 ABORTED 
   MODULE LCN98E,LCN(300,301)LOCK 
***       LCN98E - REPORT DRIVER ERRORS 
**
*         LCN98E - REPORT DRIVER ERRORS 
*         ----------------------------- 
* 
* 
*         PURPOSE-
*         INSERT  THE  TWO LINES CONTAINING THE LAST FUNCTION AND WORDS 
*         TRANSFERRED AND THE HARDWARE AND  CONTROLWARE  STATUSES  INTO 
*         THE  ERROR  DISPLAY.   IF  A PRODUCT OVERLAY TYPE ERROR IS BE 
*         REPORTED, INSERT THE ERROR MESSAGE INTO THE ERROR DISPLAY AND 
*         REPORT THE ERROR. 
* 
* 
*         METHOD- 
*         1.  PLACE  THE  MESSAGE  CONTAINING THE LAST FUNCTION AND AND 
*             NUMBER OF WORDS TRANSFERRED IN THE LINE CONTAINED IN  THE 
*             B3 REGISTER OF THE ERROR DISPLAY. 
*         2.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         3.  IF THE ERROR TO BE REPORTED  IS  NOT  A  DRIVER  DETECTED 
*             ERROR, EXIT TO MODULE LCN98F. 
*         4.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         6.  REPORT THE ERROR TO THE USER. 
*         7.  SEND  A  LINE  OF  DASHES TO THE PRINT FILE AND BLANK THE 
*             ERROR DISPLAY.
*         8.  EXIT TO MODULE LCN98I.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(500) CONTAINS THE HARDWARE STATUS (SB(0)). 
*         IB(501) CONTAINS THE CONTROLWARE STATUS (SB(1)).
*         IB(502) CONTAINS THE LAST FUNCTION  ISSUED  TO  THE  NAD  (LF 
*            REGISTER). 
*         IB(503) CONTAINS THE NUMBER OF WORDS TRANSFERRED  TO  THE  OR 
*            FROM THE NAD (WT REGISTER).
*         IB(504) CONTAINS THE CURRENT HARDWARE STATUS (SB(0)). 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         ERROR REPORTED TO THE USER IF THE ERROR WAS A DRIVER DETECTED 
*            ERROR. 
*         EXIT  TO  MODULE  LCN98F IF THE ERROR BEING REPORTED IS NOT A 
*            DRIVER ERROR.
*         EXIT TO THE CALLING MODULE AFTER HAVING REPORTED THE ERROR TO 
*            THE USER IF THE ERROR BEING REPORTED WAS A DRIVER ERROR. 
* 
*         SUBMODULES CALLED-
*         LCN98F - REPORT FORMAT 0 MODULE ERRORS. 
*         LCN98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  LAST FUNCTION = *OCTB, WT = *OCTB
1  FORMAT  H/W STATUS = *OCTB,  C/W STATUS = *OCTB
27 FORMAT --------------------------------------------------
* 
/---------DISPLAY THE LAST FUNCTION AND WORDS TRANSFERRED.
* 
30 MSG 0 (IB(502),IB(503)) TO LINE B3  *DIS. FNC./WORD COUNT
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   IF(B6.NE.6033) GOTO 32    *IF NOT ABNORMAL CONTROL. STAT.
   IF(IB(500).EQ.0)IB(500)=IB(504)  *IF HARDWARE STATUS ZERO
* 
/---------DISPLAY THE HARDWARE AND CONTROLWARE STATUSES.
* 
32 MSG 1 (IB(500),IB(501)) TO LINE B3  *DIS. STATUSES 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   IF(B6.LT.4000) EXIT TO 98F  *IF NOT DRIVER ERROR 
* 
/---------DISPLAY THE PRODUCT OVERLAY DETECTED ERROR. 
* 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   PICTURE
   HALT                      *STOP ON ERROR 
   MSG 27 TO PRINT
   BLANK
   EXIT TO 98I               *EXIT TO CHECK NAD STATUS
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98E - REPORT DRIVER ERRORS 
   MODULE LCN98F,LCN(300,301)LOCK 
***       LCN98F - REPORT FORMAT 0 MODULE ERRORS
**
*         LCN98F - REPORT FORMAT 0 MODULE ERRORS
*         --------------------------------------
* 
* 
*         PURPOSE-
*         INSERT  THE MODULE TYPE DETECTED ERROR MESSAGE INTO THE ERROR 
*         DISPLAY AND REPORT THE ERROR IF IT IS A FORMAT 0  TYPE  ERROR 
*         (B7 REGISTER CONTAINS ZERO).
* 
* 
*         METHOD- 
*         1.  SET  THE  B0  REGISTER TO THE CONTENTS OF THE B6 REGISTER 
*             MINUS ONE.
*         2.  PLACE  THE  ERROR  MESSAGE  NUMBER  CONTAINED  IN  THE B0 
*             REGISTER IN THE LINE CONTAINED IN THE B3 REGISTER OF  THE 
*             ERROR DISPLAY.
*         3.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         4.  IF THE B7  REGISTER  IS  CONTAINS  ONE,  EXIT  TO  MODULE 
*             LCN98G. 
*         5.  IF THE B7  REGISTER  IS  CONTAINS  TWO,  EXIT  TO  MODULE 
*             LCN98H. 
*         6.  IF THE B7 REGISTER IS  CONTAINS  THREE,  EXIT  TO  MODULE 
*             LCN98H. 
*         7.  IF THE B7 REGISTER  IS  CONTAINS  FOUR,  EXIT  TO  MODULE 
*             LCN98H. 
*         8.  REPORT THE ERROR TO THE USER. 
*         9.  SEND  A  LINE  OF  DASHES TO THE PRINT FILE AND BLANK THE 
*             ERROR DISPLAY.
*         10. EXIT TO MODULE LCN98I.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B5 REGISTER CONTAINS THE CONTENTS  OF  EA  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B6 REGISTER CONTAINS THE CONTENTS  OF  EC  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         B7 REGISTER CONTAINS THE CONTENTS  OF  EM  REGISTER  FOR  THE 
*            ERROR TO BE REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT  TO MODULE LCN98G IF THE ERROR FORMAT IS A FORMAT 1 TYPE 
*            ERROR. 
*         EXIT  TO  MODULE LCN98H IF THE ERROR FORMAT IS A FORMAT 2, OR 
*            3, OR 4 TYPE ERROR.
*         EXIT TO THE CALLING MODULE AFTER HAVING REPORTED THE ERROR TO 
*            THE USER IF THE ERROR FORMAT WAS A FORMAT 0 TYPE ERROR.
* 
*         SUBMODULES CALLED-
*         LCN98G - REPORT FORMAT 1 MODULE ERRORS. 
*         LCN98H - REPORT FORMAT 2-5 MODULE ERRORS. 
*         LCN98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  LCN01  E0001 L*OC  ECHO CHECK COMPARE ERROR
1  FORMAT  LCN02  E0002 L*OC  CONTROLWARE STATUS ERROR
2  FORMAT  LCN02  E0003 L*OC  HARDWARE STATUS ERROR 
3  FORMAT  LCN03  E0004 L*OC  GENERAL STATUS COMPARE ERROR
4  FORMAT  LCN04  E0005 L*OC  CONTROL MESSAGE COMPARE ERROR 
5  FORMAT  LCN05  E0006 L*OC  OUTPUT PATH STATUS ERROR
6  FORMAT  LCN05  E0007 L*OC  INPUT PATH STATUS ERROR 
7  FORMAT  LCN06  E0010 L*OC  ECHO CODE COMPARE ERROR 
10 FORMAT  LCN07  E0011 L*OC  ECHO SHORT CODE COMPARE ERROR 
11 FORMAT  LCN08  E0012 L*OC  ECHO PART. BUF. COMPARE ERROR 
12 FORMAT  LCN09  E0013 L*OC  ECHO FULL BUFFER COMPARE ERROR
13 FORMAT  LCN10  E0014 L*OC  PART. BUF./MARK COMPARE ERROR 
14 FORMAT  LCN11  E0015 L*OC  FULL BUF./MARK COMPARE ERROR
15 FORMAT  LCN12  E0016 L*OC  MAINT. PATH STATUS ERROR
16 FORMAT  LCN13  E0017 L*OC  RESYNC RESPONSE ERROR 
17 FORMAT  LCN14  E0020 L*OC  TRUNK LOOPBACK COMPARE ERROR
20 FORMAT  LCN15  E0021 L*OC  REMOTE NAD STATUS ERROR 
27 FORMAT --------------------------------------------------
* 
/---------DISPLAY THE MODULE DETECTED ERROR MESSAGE.
* 
30 B0=B6-1                   *ERROR MESSAGE STATEMENT NO. 
   MSG B0 (B5) TO LINE B3    *DIS. ERROR MESSAGE
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   IF(B7.EQ.1) EXIT TO 98G   *IF ERROR FORMAT 1 
   IF(B7.EQ.2) EXIT TO 98H   *IF ERROR FORMAT 2 
   IF(B7.EQ.3) EXIT TO 98H   *IF ERROR FORMAT 3 
   IF(B7.EQ.4) EXIT TO 98H   *IF ERROR FORMAT 4 
   IF(B7.EQ.5) EXIT TO 98H   *IF ERROR FORMAT 5 
* 
/---------REPORT THE FORMAT 0 ERROR MESSAGE.
* 
   PICTURE
   HALT                      *STOP ON ERROR 
   MSG 27 TO PRINT
   BLANK
   EXIT TO 98I               *EXIT TO CHECK NAD STATUS
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98F - REPORT FORMAT 0 MODULE ERRORS
   MODULE LCN98G,LCN(300,301)LOCK 
***       LCN98G - REPORT FORMAT 1 MODULE ERRORS
**
*         LCN98G - REPORT FORMAT 1 MODULE ERRORS
*         --------------------------------------
* 
* 
*         PURPOSE-
*         INSERT THE DESCRIPTION OF THE FAILING BIT FOR INTO THE  ERROR 
*         DISPLAY FOR THE FORMAT 1 TYPE ERRORS (B7 REGISTER EQUALS ONE) 
*         AND REPORT THE ERROR. 
* 
* 
*         METHOD- 
*         1.  IF THE B6 REGISTER CONTAINS THREE, GO TO STEP 4.
*         2.  FOR  EACH  BIT SET IN THE HARDWARE STATUS WORD, DISPLAY A 
*             MESSAGE INDICATING THE DESCRIPTION OF THE BIT IN THE LINE 
*             NUMBER  CONTAINED  IN  THE B3 REGISTER, AND INCREMENT THE 
*             LINE NUMBER CONTAINED IN THE B3 REGISTER BY ONE.
*         3.  GO TO STEP 5. 
*         4.  FOR EACH BIT SET IN THE CONTROLWARE STATUS WORD,  DISPLAY 
*             A  MESSAGE  INDICATING  THE DESCRIPTION OF THE BIT IN THE 
*             LINE NUMBER CONTAINED IN THE B3 REGISTER,  AND  INCREMENT 
*             THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY ONE.
*         5.  REPORT THE ERROR TO THE USER. 
*         6.  SEND  A  LINE  OF  DASHES TO THE PRINT FILE AND BLANK THE 
*             ERROR DISPLAY.
*         7.  EXIT TO MODULE LCN98I.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B6 REGISTER CONTAINS THE ERROR  CODE  FOR  THE  ERROR  TO  BE 
*            REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         STATUS BUFFER WORD 0 CONTAINS THE LAST HARDWARE  STATUS  FROM 
*            THE NAD. 
*         STATUS BUFFER WORD 1 CONTAINS  THE  LAST  CONTROLWARE  STATUS 
*            FROM THE NAD.
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B3 REGISTER  CONTAINS  THE  DISPLAY  LINE NUMBER FOR THE NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT TO THE CALLING MODULE AFTER HAVING REPORTED THE ERROR TO 
*            THE USER.
* 
*         SUBMODULES CALLED-
*         LCN98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
2  FORMAT  1XXX = DEVICE INTERFACE ERROR
3  FORMAT  X4XX = RESIDUE DATA
4  FORMAT  X2XX = ASSEMBLY/DISASSEMBLY ERROR
5  FORMAT  X1XX = CHANNEL SEQUENCE ERROR
6  FORMAT  XX4X = DEVICE ENABLE SWITCH OFF
7  FORMAT  XX2X = ILLEGAL FUNCTION
10 FORMAT  XX1X = MEMORY PARITY ERROR 
11 FORMAT  XXX4 = NAD PROCESSOR ABNORMAL
12 FORMAT  XXX2 = NAD PROCESSOR NOT RUNNING 
13 FORMAT  XXX1 = CHANNEL PARITY ERROR
14 FORMAT  4XXX = DIAGNOSTIC MODE BIT 
15 FORMAT  2XXX = FAULT BIT 
16 FORMAT  1XXX = PRIMED BIT
17 FORMAT  X4XX = FLAG INDICATOR BIT
27 FORMAT --------------------------------------------------
* 
/---------DISPLAY THE MESSAGE FOR EACH STATUS BIT SET.
* 
30 IF(B6.EQ.2) GOTO 40       *IF CONTROLWARE STATUS ERROR 
   B0=2                      *FORMAT STATEMENT NUMBER 
   B1=1000                   *STATUS BIT TO BE TESTED 
* 
/---------DISPLAY HARDWARE STATUS BITS SET. 
* 
32 IF(SB.AND.B1.EQ.0) GOTO 34  *IF STATUS BIT CLEAR 
   MSG B0 TO LINE B3         *DIS. MESSAGE FOR STATUS BIT 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
34 B0=B0+1                   *INCREMENT FORMAT STATEMENT NO.
   B1=B1.RS.1                *UPDATE STATUS BIT TO BE TESTED
   IF(B1.NE.0) GOTO 32       *IF ALL BITS NOT TESTED
   GOTO 50                   *GO TO REPORT THE ERROR
* 
/--------DISPLAY CONTROLWARE STATUS BITS SET. 
* 
40 B0=14                     *FORMAT STATEMENT NUMBER 
   B1=4000                   *STATUS BIT TO BE TESTED 
42 IF(SB(1).AND.B1.EQ.0) GOTO 44  *IF STATUS BIT CLEAR
   MSG B0 TO LINE B3         *DIS. MESSAGE FOR STATUS BIT 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
44 B0=B0+1                   *INCREMENT FORMAT STATEMENT NO.
   B1=B1.RS.1                *UPDATE STATUS BIT TO BE TESTED
   IF(B1.AND.7400.NE.0) GOTO 42  *IF ALL BITS NOT TESTED
* 
/--------REPORT THE MODULE DETECTED ERROR.
* 
50 PICTURE
   HALT                      *STOP ON ERROR 
   MSG 27 TO PRINT
   BLANK
   EXIT TO 98I               *EXIT TO CHECK NAD STATUS
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98G - REPORT FORMAT 1 MODULE ERRORS
   MODULE LCN98H,LCN(300,301)LOCK 
***       LCN98H - REPORT FORMAT 2-5 MODULE ERRORS
**
*         LCN98H - REPORT FORMAT 2-5 MODULE ERRORS
*         ----------------------------------------
* 
* 
*         PURPOSE-
*         INSERT THE DISPLAY LINES INTO THE ERROR DISPLAY FOR FORMAT 2, 
*         3,  AND  4  TYPE ERROR (EM REGISTER EQUALS 2, OR 3, OR 4) AND 
*         REPORT THE ERROR. 
* 
* 
*         METHOD- 
*         1.  SET THE B0 REGISTER EQUAL  TO  THE  CONTENTS  OF  THE  BA 
*             REGISTER PLUS THE WC REGISTER (BUFFER ADDRESS). 
*         2.  IF THE B7 REGISTER IS NOT EQUAL TO TWO, GO TO STEP 6. 
*         3.  PLACE  THE  MESSAGE  INDICATING  THE  EXPECTED AND ACTUAL 
*             VALUES FOR A ONE WORD MISCOMPARE IN THE LINE CONTAINED IN 
*             THE B3 REGISTER OF THE ERROR DISPLAY. 
*         4.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         5.  GO TO STEP 24.
*         6.  IF THE  B7 REGISTER IS NOT EQUAL TO THREE, GO TO STEP 12. 
*         7.  PLACE THE MESSAGE INDICATING THE EXPECTED  VALUES  FOR  A 
*             FOUR  WORD  MISCOMPARE  IN  THE  LINE CONTAINED IN THE B3 
*             REGISTER OF THE ERROR DISPLAY.
*         8.  INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         9.  PLACE THE MESSAGE INDICATING THE ACTUAL VALUES FOR A FOUR 
*             WORD MISCOMPARE IN THE LINE CONTAINED IN THE B3  REGISTER 
*             OF THE ERROR DISPLAY. 
*         10. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         11. GO TO STEP 24.
*         12. IF THE B7 REGISTER IS NOT EQUAL TO FOUR, GO TO STEP 20. 
*         13. PLACE THE MESSAGE FOR THE COMPARE BUFFERS AND CONTENTS OF 
*             THE OF THE WC REGISTER IN THE LINE CONTAINED  IN  THE  B3 
*             REGISTER OF THE ERROR DISPLAY.
*         14. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         15. PLACE THE MESSAGE INDICATING THE EXPECTED  VALUES  FOR  A 
*             EIGHT  WORD  MISCOMPARE  IN  THE LINE CONTAINED IN THE B3 
*             REGISTER OF THE ERROR DISPLAY.
*         16. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         17. PLACE  THE  MESSAGE  INDICATING  THE  ACTUAL VALUES FOR A 
*             EIGHT WORD MISCOMPARE IN THE LINE  CONTAINED  IN  THE  B3 
*             REGISTER OF THE ERROR DISPLAY.
*         18. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         19. GO TO STEP 24.
*         20. PLACE THE MESSAGE FOR  THE  TCI  STATUS  I  IN  THE  LINE 
*             CONTAINED IN THE B3 REGISTER OF THE ERROR DISPLAY.
*         21. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         22. PLACE THE MESSAGE FOR THE  TCI  STATUS  II  IN  THE  LINE 
*             CONTAINED IN THE B3 REGISTER OF THE ERROR DISPLAY.
*         23. INCREMENT THE LINE NUMBER CONTAINED IN THE B3 REGISTER BY 
*             ONE.
*         24. REPORT THE ERROR TO THE USER. 
*         25. SEND  A  LINE  OF  DASHES TO THE PRINT FILE AND BLANK THE 
*             ERROR DISPLAY.
*         26. EXIT TO MODULE LCN98I.
* 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         B7 REGISTER CONTAINS THE FORMAT NUMBER FOR THE  ERROR  TO  BE 
*            REPORTED.
*         BA REGISTER CONTAINS THE BASE ADDRESS TO THE INPUT AND OUTPUT 
*            DATA BUFFERS.
*         WC REGISTER  CONTAINS  THE  INDEX  AT  WHICH  THE  MISCOMPARE 
*            OCCURRED.
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
* 
*         EXIT- 
*         B0 REGISTER DESTROYED.
*         B1 REGISTER DESTROYED.
*         B3 REGISTER CONTAINS THE DISPLAY LINE  NUMBER  FOR  THE  NEXT 
*            MESSAGE TO BE SENT TO THE DISPLAY. 
*         IB(00-55)  CONTAINS  THE  PATH  STATUS  TABLE  FOR  THE  PATH 
*            SELECTED.
*         OB(00-31) CONTAINS THE MAINTENANCE FUNCTION RESPONSE TABLE. 
*         SB(02-27) CONTAINS THE NAD GENERAL DETAILED STATUS. 
*         EXIT TO THE CALLING MODULE AFTER HAVING REPORTED THE ERROR TO 
*            THE USER.
* 
*         SUBMODULES CALLED-
*         LCN98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B1  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  EXPECTED = *OCTB,  ACTUAL = *OCTB
1  FORMAT  EXPECTED = *H*H *H*H  (HEX.) 
2  FORMAT  ACTUAL   = *H*H *H*H  (HEX.) 
3  FORMAT  COMPARE BUFFERS (HEX.),  WC = *OCTB
4  FORMAT  EXPECTED = *H*H *H*H *H*H *H*H 
5  FORMAT  ACTUAL   = *H*H *H*H *H*H *H*H 
6  FORMAT  TCI STATUS I  = *H*H HEX.
7  FORMAT  TCI STATUS II = *H*H HEX.
27 FORMAT --------------------------------------------------
* 
/---------PROCESS FORMAT 2 MODULE ERRORS. 
* 
30 B0=BA+WC                  *BUILD DATA BUFFERS INDEX
   IF(B7.NE.2) GOTO 34       *IF NOT ERROR FORMAT 2 
   MSG 0 (OB(B0),IB(B0)) TO LINE B3  *DIS. 1 WORD EXP/ACT 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   GOTO 50                   *GO TO REPORT THE ERROR
* 
/---------PROCESS FORMAT 3 MODULE ERRORS. 
* 
34 IF(B7.NE.3) GOTO 40       *IF NOT ERROR FORMAT 3 
   MSG 1 4 WORDS FROM OB(B0) TO LINE B3  *DIS. EXPECTED 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   MSG 2 4 WORDS FROM IB(B0) TO LINE B3  *DIS .ACTUAL 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   GOTO 50                   *GO TO REPORT THE ERROR
* 
/---------PROCESS FORMAT 4 MODULE ERRORS. 
* 
40 IF(B7.NE.4) GOTO 44       *IF NOT ERROR FORMAT 4 
   B0=B0.AND.7776            *SET BUFFER INDEX TO UPPER BYTE
   B1=WC.RS.1                *HEX. WORD NUMBER
   MSG 3 (B1) TO LINE B3     *DIS. BUFFER WORD COUNT
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   MSG 4 8 WORDS FROM OB(B0) TO LINE B3  *DIS. EXPECTED 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   MSG 5 8 WORDS FROM IB(B0) TO LINE B3  *DIS .ACTUAL 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   GOTO 50                   *GO TO REPORT THE ERROR
* 
/---------PROCESS FORMAT 5 MODULE ERRORS. 
* 
44 MSG 6 2 WORDS FROM OB TO LINE B3  *DIS. STATUS I 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
   MSG 7 2 WORDS FROM OB(2) TO LINE B3  *DIS. STATUS II 
   B3=B3+1                   *INCREMENT DISPLAY LINE NO.
* 
/----------ERROR DISPLAY BUILT, REPORT THE ERROR. 
* 
50 PICTURE
   HALT                      *STOP ON ERROR 
   MSG 27 TO PRINT
   BLANK
   EXIT TO 98I               *EXIT TO CHECK NAD STATUS
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98H - REPORT FORMAT 2-5 MODULE ERRORS
   MODULE LCN98I,LCN(300,301)LOCK 
***       LCN98I - PROCESS TEST TERMINATION 
**
*         LCN98I - PROCESS TEST TERMINATION 
*         --------------------------------- 
* 
* 
*         PURPOSE-
*         DETERMINE  IF  THE  NAD  PROCESSOR HAS STOPPED AND IF IT HAS, 
*         TERMINATE EXECUTION OF THE  TEST  IF  NOT  REPEATING  MODULES 
*         LCN01 OR LCN02. 
* 
* 
*         METHOD- 
*         1.  IF  THE  MODULE  THAT  DETECTED  THE  ERROR IS NOT MODULE 
*             LCN01, GO TO STEP 4.
*         2.  IF  REPEAT  MODULE  IS  SELECTED,  RETURN  TO THE CALLING 
*             MODULE. 
*         3.  GO TO STEP 7. 
*         4.  IF THE MODULE THAT  DETECTED  THE  ERROR  IS  NOT  MODULE 
*             LCN02, GO TO STEP 7.
*         5.  IF REPEAT MODULE  IS  SELECTED,  RETURN  TO  THE  CALLING 
*             MODULE. 
*         6.  IF THE ERROR BEING REPORTED IS ERROR CODE 0002, RETURN TO 
*             THE CALLING MODULE. 
*         7.  IF BIT 1 (XXX2) IS NOT SET IN THE  NAD  HARDWARE  STATUS, 
*             RETURN TO THE CALLING MODULE. 
*         8.  SEND THE MESSAGE *// LCNXX TEST ABORTED* TO THE  DISPLAY, 
*             DAYFILE, AND PRINT FILE.
*         9.  TERMINATE EXECUTION OF THE LCN CONFIDENCE TEST. 
* 
/ 
*         ENTRY-
*         B5 REGISTER CONTAINS THE CONTENTS OF THE EA REGISTER FOR  THE 
*            ERROR TO BE REPORTED.
*         B13 REGISTER CONTAINS THE NUMBER OF THE MODULE THAT  DETECTED 
*            THE ERROR. 
*         THE ES REGISTER CONTAINS THE RM PARAMETER.
*         SB(0) CONTAINS THE NAD HARDWARE STATUS. 
* 
*         EXIT- 
*         RETURN TO THE CALLING MODULE IF  THE  NAD  PROCESSOR  IS  NOT 
*         STOPPED,  OR IF REPEAT MODULE IS SELECTED AND THE MODULE THAT 
*         DETECTED THE ERROR IS MODULE LCN01 OR  LCN02,  OR  THE  ERROR 
*         BEING REPORTED IS ERROR CODE 0002.
* 
*         SUBMODULES CALLED-NONE. 
* 
*         REGISTERS USED-NONE.
* 
*         BUFFERS USED-NONE.
* 
* 
1  FORMAT // LCN*D LCN TEST ABORTED 
* 
/---------CHECK FOR ERROR DETECTED BY MODULE LCN01. 
* 
30 IF(B13.NE.1) GOTO 32      *IF NOT MODULE LCN01 
   IF(ES.AND.RM.NE.0) EXIT   *IF REPEATING LCN01
   GOTO 34                   *GO TO CHECK HARDWARE STATUS 
* 
/---------CHECK FOR ERROR DETECTED BY MODULE LCN02. 
* 
32 IF(B13.NE.2) GOTO 34      *IF NOT MODULE LCN02 
   IF(ES.AND.RM.NE.0) EXIT   *IF REPEATING LCN02
   IF(B5.EQ.2) EXIT          *IF CONTROLWARE ERROR, EXIT
* 
/---------TERMINATE THE TEST IF THE PROCESSOR IS STOPPED. 
* 
34 IF(SB.AND.2.EQ.0) EXIT    *IF PROCESSOR NOT STOPPED
   MSG 1 (B13) TO DISPLAY,DAYFILE,PRINT  *TERMINATE MSG 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCN98I - PROCESS TEST TERMINATION 
   MODULE LCN99,LCN(300,301)LOCK
1  FORMAT COPYRIGHT CONTROL DATA CORP. 1981 
/ 
/   PARAMETER DESCRIPTION.
/ 
/         P0 - NOT USED.
/ 
/         P1 - NOT USED.
/ 
/         P2 - NOT USED.
/ 
/         P3 - NOT USED.
/ 
/         P4 - NOT USED.
/ 
/         P5 - NOT USED.
/ 
/         P6 - NOT USED.
/ 
/         P7 - NOT USED.
/ 
/         P8 - NOT USED.
/ 
/         P9 - NOT USED.
/ 
2  END 2                     *END OF THE MODULE 
COMPILE,SOURCE               *LCN99 - PARAMETER DOCUMENTATION 
   MODULE LCN99A,LCN(300,301)LOCK 
/ 
/       MODULE      MODULE NAME               RUN 
/       NUMBER    AND DESCRIPTION             TIME
/       ------    ---------------            ------ 
/ 
*IF -DEF,CMSE17X
/         01   ECHO CHECK.                        1   SEC.
/         02   LOCAL NAD STATUS.                  1   SEC.
/         03   GENERAL DETAILED STATUS.           1   SEC.
/         04   SEND/INQUIRE CONTROL MESSAGE.      1   SEC.
/         05   CONNECT LOCAL PATH.                3   SEC.
/         06   ECHO CODE.                         1   SEC.
/         07   ECHO SHORT CODE.                   1   SEC.
/         08   ECHO PARTIAL BUFFER.               7   SEC.
/         09   ECHO FULL BUFFER.                  8   SEC.
/         10   ECHO PART. BUF./MARK.              7   SEC.
/         11   ECHO FULL BUF./MARK.               8   SEC.
/         12   MAINT. PATH STATUS.                2   SEC.
/         13   RESYNC MESSAGE.                    1   SEC.
/         14   TRUNK LOOPBACK.                    1   SEC.
/         15   REMOTE NAD STATUS.                 3   SEC.
/       ----------------------------------------------------
/              TOTAL                             45 SEC.
*ENDIF
*IF DEF,CMSE17X 
/         01   ECHO CHECK.                       21   SEC.
/         02   LOCAL NAD STATUS.                  4   SEC.
/         03   GENERAL DETAILED STATUS.           4   SEC.
/         04   SEND/INQUIRE CONTROL MESSAGE.      4   SEC.
/         05   CONNECT LOCAL PATH.                5   SEC.
/         06   ECHO CODE.                         4   SEC.
/         07   ECHO SHORT CODE.                   4   SEC.
/         08   ECHO PARTIAL BUFFER.              11   SEC.
/         09   ECHO FULL BUFFER.                 11   SEC.
/         10   ECHO PART. BUF./MARK.             11   SEC.
/         11   ECHO FULL BUF./MARK.              11   SEC.
/         12   MAINT. PATH STATUS.                5   SEC.
/         13   RESYNC MESSAGE.                    5   SEC.
/         14   TRUNK LOOPBACK.                    5   SEC.
/         15   REMOTE NAD STATUS.                 7   SEC.
/       ----------------------------------------------------
/              TOTAL                       1 MIN. 47 SEC. 
*ENDIF
/ 
1  END 1                     *END OF THE MODULE 
COMPILE,SOURCE               *LCN99A - DESCRIPTION DOCUMENTATION
   MODULE LCN99B,LCN(300,301),LOCK
/ 
/         ABBREVIATIONS 
/ 
/         ACK     - ACKNOWLEDGEMENT 
/         ACT     - ACTUAL
/         BUF.    - BUFFER
/         C/W     - CONTROLWARE 
/         DISCONN - DISCONNECT
/         DIS     - DISPLAY 
/         EC      - ERROR COUNT 
/         EXT.    - EXTERNAL
/         GEN.    - GENERATE
/         HEX.    - HEXADECIMAL 
/         H/W     - HARDWARE
/         IMC     - INQUIRE CONTROL MESSAGE 
/         INIT.   - INITIALIZE
/         LC      - LOOP COUNT
/         MAINT   - MAINTENANCE 
/         MAINT.  - MAINTENANCE 
/         MIN.    - MINUTE
/         MSG     - MESSAGE 
/         NAD     - NETWORK ACCESS DEVICE 
/         NAK     - NEGATIVE ACKNOWLEDGEMENT
/         NO.     - NUMBER
/         PART.   - PARTIAL 
/         PMC     - PROCESSOR MASTER CLEAR
/         PROD.   - PRODUCT 
/         REL     - RELEASE 
/         RES     - RESERVE 
/         SEC.    - SECOND
/         SMC     - SOFT MASTER CLEAR 
/         TCI     - TRUNK CONTROL INTERFACE 
/         TCU     - TRUNK CONTROL UNIT
/         TRANS   - TRANSMIT
/         WT      - WORDS TRANSMITTED 
/ 
1  END 1
COMPILE,SOURCE               *LCN99B - ABBREVIATIONS
***       LCN - LOOSELY COUPLED NETWORK TEST
***       APPLICATIONS
**
*         APPLICATIONS
*         ------------
* 
*         1.  THE LCN CONFIDENCE TEST IS DESIGNED TO  BE  RUN  STARTING 
*             WITH MODULE LCN01.
* 
*         2.  ALL MODULES IN THE LCN CONFIDENCE TEST REQUIRE AN  ACCESS 
*             LEVEL OF 0 TO RUN.
* 
*         3.  WHEN RUNNING THE LCN CONFIDENCE TEST WITH A  DEVICE  CODE 
*             OF  300,  ONLY  MODULES  LCN01,  LCN02, AND LCN03 WILL BE 
*             RUN.
* 
*         4.  WHEN  RUNNING  THE LCN CONFIDENCE TEST WITH A DEVICE CODE 
*             OF 301, ALL MODULES WILL BE RUN.
* 
*         5.  THE MODULES IN THE LCN TEST DO NOT PROVIDE THE USER  WITH 
*             ABILITY  TO  LOOP OR REPEAT CONDITIONS.  REPEAT MODULE IS 
*             THE ONLY FEATURE PROVIDED.
* 
*         6.  LCN  BEING  A  CONFIDENCE  LEVEL  TEST, IT IS DESIGNED TO 
*             DETERMINE ONLY IF THE LCN NETWORK IS WORKING PROPERLY AND 
*             IS NOT  DESIGNED TO BE USED TO CORRECT HARDWARE PROBLEMS. 
*             THE LCN TESTS NDM, NDP, AND NDT SHOULD BE USED TO CORRECT 
*             HARDWARE PROBLEMS IN THE LCN NETWORK. 
* 
*         7.  THE MODULES IN THE LCN CONFIDENCE TEST LIMIT  THE  NUMBER 
*             OF  ERRORS  REPORTED BY THE MODULES AND WILL ABORT TO THE 
*             REPEAT MODULE CODE IN THE MODULE IF THE  ERROR  LIMIT  IS 
*             EXCEEDED. 
* 
*         8.  THE LCN CONFIDENCE TEST WILL BE ABORTED IF  THE  HARDWARE 
*             STATUS  OF  THE LOCAL NAD INDICATES THAT THE PROCESSOR IS 
*             NOT RUNNING.
* 
* 
*** 3.1.3 INTERFACES
**
*   3.1.3 INTERFACES
*         ----------
* 
*         REFER TO SECTION 3.1.2 FOR PARAMETERS AND MESSAGES. 
* 
* 
*** 3.1.4 TEST ABORTS 
**
*   3.1.4 TEST ABORTS 
*         ----------- 
* 
*         1.  IF THE LCN TEST IS BEING RUN WITH A DEVICE CODE  OF  300, 
*             MODULES  LCN04  THROUGH  LCN15  WILL NOT BE RUN (THE TEST 
*             MUST BE RUN STARTING WITH MODULE LCN01).
* 
*         2.  THE MODULES IN THE LCN CONFIDENCE TEST LIMIT  THE  NUMBER 
*             OF  ERRORS REPORTED BY ONE MODULE TO ONE EXCEPT IN MODULE 
*             LCN02 BEFORE ABORTING TO THE REPEAT MODULE  CODE  IN  THE 
*             MODULE.   MODULE  LCN02  WILL  CHECK  THE CONTROLWARE AND 
*             HARDWARE STATUSES AND REPORT ANY ERRORS  BEFORE  ABORTING 
*             TO THE REPEAT MODULE CODE IN THE MODULE.
* 
*         3.  THE LCN CONFIDENCE TEST WILL BE ABORTED IF  THE  HARDWARE 
*             STATUS  OF  THE LOCAL NAD INDICATES THAT THE PROCESSOR IS 
*             NOT RUNNING AFTER AN ERROR HAS  BEEN  REPORTED.   IF  THE 
*             ERROR  WAS  DETECTED IN MODULES LCN01 OR LCN02 AND REPEAT 
*             MODULE IS SELECTED, THE MODULE WILL BE  REPEATED  WITHOUT 
*             THE TEST BEING ABORTED. 
* 
* 
*** 3.1.5 SYSTEM ABORTS 
**
*   3.1.5 SYSTEM ABORTS 
*         ------------- 
* 
*         NO SYSTEM  ABORTS  SHOULD  EVER  BE  CAUSED BY THE TEST.  THE 
*         PRODUCT OVERLAY DRIVER SHOULD PROTECT  THE  SYSTEM  FROM  ANY 
*         ABORTS. 
* 
* 
*** 3.1.6 ERRORS
**
*   3.1.6 ERRORS
*         ------
* 
*         FOR EASE  OF  REFERENCE  THESE  MESSAGES ARE GROUPED WITH ALL 
*         THE TEST MESSAGES IN SECTION 3.1.2. 
* 
* 
*** 3.1.7 PERFORMANCE 
**
*   3.1.7 PERFORMANCE 
*         ----------- 
* 
* 
***       HARDWARE
**
*         HARDWARE
*         --------
* 
*         THE MAIN PURPOSE OF THE LCN TEST IS TO DETERMINE IF  THE  LCN 
*         NETWORK IS FUNCTIONING CORRECTLY.  IF THE LCN CONFIDENCE TEST 
*         DETECTS AN ERROR, THE APPROPRIATE TEST (NDM, OR NDP, OR  NDT) 
*         SHOULD  BE  RUN  TO  DETERMINE  THE  CAUSE  OF  THE  HARDWARE 
*         FAILURE.
* 
* 
***       SOFTWARE
**
*         SOFTWARE
*         --------
* 
*         MODULE RUNNING TIMES AND ACCESS LEVELS. 
*         --------------------------------------- 
* 
*         MODULE            RUNNING          ACCESS 
*          NAME              TIME            LEVEL
*         ------            -------          ------ 
* 
*IF -DEF,CMSE17X
*         LCN01              1 SEC.            0
*         LCN02              1 SEC.            0
*         LCN03              1 SEC.            0
*         LCN04              1 SEC.            0
*         LCN05              3 SEC.            0
*         LCN06              1 SEC.            0
*         LCN07              1 SEC.            0
*         LCN08              7 SEC.            0
*         LCN09              8 SEC.            0
*         LCN10              7 SEC.            0
*         LCN11              8 SEC.            0
*         LCN12              2 SEC.            0
*         LCN13              1 SEC.            0
*         LCN14              1 SEC.            0
*         LCN15              3 SEC.            0
*         --------------------------------------
*         TOTAL             45 SEC. 
*ENDIF
*IF DEF,CMSE17X 
*         LCN01             21 SEC.            0
*         LCN02              4 SEC.            0
*         LCN03              4 SEC.            0
*         LCN04              4 SEC.            0
*         LCN05              5 SEC.            0
*         LCN06              4 SEC.            0
*         LCN07              4 SEC.            0
*         LCN08             11 SEC.            0
*         LCN09             11 SEC.            0
*         LCN10             11 SEC.            0
*         LCN11             11 SEC.            0
*         LCN12              5 SEC.            0
*         LCN13              5 SEC.            0
*         LCN14              5 SEC.            0
*         LCN15              7 SEC.            0
*         --------------------------------------
*         TOTAL     1 MIN.  47 SEC. 
*ENDIF
* 
*         1.  THE RUNNING  TIMES  FOR  THE  LCN  CONFIDENCE  TEST  WERE 
*             MEASURED USING THE KL SYSTEM DISPLAY WITH MINIMAL SYSTEM, 
*             NAD, AND TRUNK ACTIVITY.
* 
*         2.  INCREASES IN THE SYSTEM ACTIVITY, NAD ACTIVITY, AND TRUNK 
*             ACTIVITY  WILL  ALL CAUSE THE RUNNING TIME OF THE TEST TO 
*             INCREASE. 
* 
*         3.  ALL LCN MODULES ARE DESIGNED TO RUN AT ACCESS LEVEL  ZERO 
*             (0).
* 
*         4.  THE  LCN CONFIDENCE TEST CAUSE THE DEGRADATION OF THE LCN 
*             NETWORK BY ITS USE TO THE LOCAL NAD AND TRUNK.
* 
* 
*** 3.1.8 INSTALLATION PARAMETERS 
**
*   3.1.8 INSTALLATION PARAMETERS 
*         ----------------------- 
* 
*         THE FOLLOWING ASSEMBLY OPTION CAN BE OBTAINED BY DEFINING THE 
*         FOLLOWING  NAME  DURING  THE UPDATE RUN TO CREATE THE COMPILE 
*         FILE FOR LCN- 
* 
*         *DEFINE,CMSE17X    TO ASSEMBLE LCN FOR OFF-LINE.
* 
* 
*** 4.0   PRODUCT LEVEL DESCRIPTION 
**
*   4.0   PRODUCT LEVEL DESCRIPTION 
*         ------------------------- 
* 
*** 4.1   PUBLICATIONS AFFECTED 
**
*   4.1   PUBLICATIONS AFFECTED 
*         --------------------- 
* 
*         CHANGES TO LCN AFFECTS THE FOLLOWING PUBLICATIONS-
* 
*         CML REFERENCE MANUAL                                60455980
*         DEMOT REFERENCE MANUAL                              60456310
* 
* 
*** 4.2   EQUIPMENT CONFIGURATION 
**
*   4.2   EQUIPMENT CONFIGURATION 
*         ----------------------- 
* 
*         1.  THE LCN TEST  REQUIRES  THE USE OF A LOCAL AND REMOTE NAD 
*             AND THE TRUNK CONNECTING THESE NADS.
* 
*         2.  THE LCN TEST REQUIRES THAT NAD CONTROLWARE  BE  INSTALLED 
*             IN EACH OF THE NADS BEING USED BY THE TEST. 
* 
* 
*** 4.3   INTERFACES TO OTHER SOFTWARE PRODUCTS 
**
*   4.3   INTERFACES TO OTHER SOFTWARE PRODUCTS 
*         ------------------------------------- 
* 
*         1.  THE LCN TEST  INTERFACES TO THE CYBER 170 NAD CONTROLWARE 
*             WHEN TESTING THE LOOSELY COUPLED NETWORK. 
* 
* 
*** 4.4   SECURITY
**
*   4.4   SECURITY
*         --------
* 
*IF -DEF,CMSE17X
*         SECURITY IS  PROVIDED  BY  THE  OPERATING  SYSTEM FOR ON-LINE 
*         MALET THRU THE USE OF CVL.
*ENDIF
*IF DEF,CMSE17X 
*         SECURITY FOR THE TEST, WHILE RUNNING UNDER DEMOT, IS PROVIDED 
*         BY THE ACCESS LEVEL USED ON THE ASSIGN DIRECTIVE. 
*ENDIF
* 
* 
*** 5.0   RELIABILITY, AVAILABILITY, AND MAINTAINABILITY STANDARDS
**
*   5.0   RELIABILITY, AVAILABILITY, AND MAINTAINABILITY STANDARDS
*         --------------------------------------------------------
* 
*         REFER TO THE LCN M/S DEVELOPMENT PLAN - ARH3663.
* 
* 
*** 6.0   GLOSSARY
**
*   6.0   GLOSSARY
*         --------
* 
* 
*         ACK       - ACKNOWLEDGEMENT 
*         ACT       - ACTUAL
*         BUF.      - BUFFER
*IF -DEF,CMSE17X
*         CML       - COMMON MAINTENANCE LIBRARY
*ENDIF
*IF DEF,CMSE17X 
*         CMSE      - COMMON MAINTENANCE SOFTWARE EXECUTIVE 
*ENDIF
*         CNT       - CONTROL 
*IF -DEF,CMSE17X
*         CVL       - CUSTOMER ENGINEERING VALIDATION 
*ENDIF
*         C/W       - CONTROLWARE STATUS. 
*IF DEF,CMSE17X 
*         DEMOT     - DIAGNOSTIC EXECUTIVE MONITOR FOR OFF-LINE TESTING 
*ENDIF
*         DIAG      - DIAGNOSTIC
*         DIS       - DISPLAY 
*         DISCONN   - DISCONNECT
*         EC        - ERROR COUNT 
*         ERS       - EXTERNAL REFERENCE SPECIFICATION
*         EXP       - EXPECTED
*         EXT.      - EXTERNAL
*         GEN.      - GENERATE
*         HEX.      - HEXADECIMAL 
*         H/W       - HARDWARE STATUS 
*         IMC       - INQUIRE CONTROL MESSAGE 
*         INT.      - INTERNAL
*         INIT.     - INITIALIZE
*         LC        - LOOP COUNT
*         LCN       - LOOSELY COUPLED NETWORK 
*         LTA       - LOGICAL TRUNK ADDRESS 
*         MAINT.    - MAINTENANCE 
*IF -DEF,CMSE17X
*         MALET     - MAINTENANCE APPLICATION LANGUAGE  FOR   EQUIPMENT 
*                     TESTING 
*ENDIF
*         MIN.      - MINUTE
*         MSG       - MESSAGE 
*IF DEF,CMSE17X 
*         MSL100    - MAINTENANCE SOFTWARE LIBRARY FOR CYBER 170
*ENDIF
*         NAD       - NETWORK ACCESS DEVICE 
*         NAK       - NEGATIVE ACKNOWLEDGEMENT
*         NO.       - NUMBER
*         PART.     - PARTIAL 
*         PMC       - PROCESSOR MASTER CLEAR
*         PP        - PERIPHERAL PROCESSOR
*         PROD.     - PRODUCT 
*         PUB.      - PUBLICATION 
*         RAM       - RELIABILITY, AVAILABILITY, AND MAINTAINABILITY
*         REL       - RELEASE 
*         RES       - RESERVE 
*         SEC.      - SECOND
*         SEL       - SELECT
*         SMC       - SOFTWARE MASTER CLEAR 
*         SPEC.     - SPECIFICATION 
*         TCI       - TRUNK CONTROL INTERFACE 
*         TCU       - TRUNK CONTROL UNIT
*         TRANS     - TRANSMIT
*         WT        - WORDS TRANSFERRED 
