*DECK,LCI 
***       LCI - LCN 170 DEVICE INTERFACE TEST 
***       REVISION HISTORY
**
*         LCI - LCN 170 DEVICE INTERFACE TEST 
* 
*         AUTHOR - M. R. LENZ           JANUARY 11, 1982
* 
*         COPYRIGHT CONTROL DATA CORPORATION., 1982.
* 
*         CONTAINED HERIN ARE SOFTWARE PRODUCTS COPYRIGHTED 
*               ALL RIGHTS RESERVED 
*         BY CONTROL CORPORATION. REPRODUCTION WITHOUT
*         PERMISSION IS PROHIBITED. THE COPYRIGHT NOTICE MUST 
*         APPEAR ON ALL AUTHORIZED COMPLETE OR PARTIAL COPIES.
* 
* 
*** 1.0   INTRODUCTION
**
*   1.0   INTRODUCTION
*         ------------
* 
*         THE LOOSELY COUPLED NETWORK IS ONE WHICH PROVIDES CONNECTION
*         AMONG VARIOUS MAINFRAMES THROUGH NETWORK ACCESS DEVICES 
*         (NAD-S) AND TRUNKS. 
* 
*         LCI IS A 170 DEVICE INTERFACE TEST FOR A CYBER 17X
*         (NAD) IN THE LOOSELY COUPLED NETWORK (LCN). THE TEST
*         RESIDES IN THE CYBER PERIPHERAL PROCESSOR (PP) AND TESTS
*         THE DEVICE INTERFACE IN A LOCAL NAD.
* 
* 
*** 1.1   RESTRICTIONS
**
*   1.1   RESTRICTIONS
*         ------------
* 
*         1.  THE TEST WILL DESTROY THE NAD COMMON CONTROLWARE IN 
*             THE NAD BEING TESTED. 
* 
*         2.  THE DATA PATH FROM THE CYBER 170 MAINFRAME TO THE 
*             LOCAL NAD INTERFACE IS ASSUMED TO BE WORKING. 
* 
*         3.  THE LCI TEST MUST BE RUN STARTING WITH MODULE LCI00.
* 
*         4.  THE NAD BEING TESTED MUST BE DEDICATED TO THE TEST. 
* 
*         5.  TEST LCI WILL BE WRITTEN IN MALET 
* 
*         6.  SOME MODULES WILL BE WRITTEN IN LOW LEVEL MALET TO
*             HANDLE SPECIFIC PROBLEMS NEEDED TO TEST THE DEVICE
*             INTERFACE.
* 
*         7.  ALL MODULES WILL HAVE REPEAT MODULE CAPABILITY BUT WILL 
*             NOT HAVE REPEAT CONDITION.
* 
* 
*** 1.2   CHARACTERISTICS 
**
*   1.2   CHARACTERISTICS 
*         --------------- 
* 
*         1.  PROGRAM NAME......................................LCI 
* 
*         2.  TEST/DIAG/UTILITY/SYSTEM.........................TEST 
* 
*         3.  VIRTUAL CODE/MICROCODE/PP CODE/OTHER............MALET 
* 
*         4.  RUN TIME (LOCAL).............................125 SEC. 
* 
*         5.  RUN TIME (REMOTE)..............................N.A. 
* 
*         6.  LEVEL OF ISOLATION..........................DETECTION 
* 
*         7.  ON-LINE/OFF-LINE/BOTH.........................ON-LINE 
* 
*         8.  ON-LINE SYSTEM.............................NOS,NOS/BE 
* 
*         9.  OFF-LINE SYSTEM..................................NONE 
* 
*         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
*         CML REFERENCE MANUAL                                60455980
*         MALET MODULE CODING SPEC.                           ARH3297 
*         LCN M/S DEVELOPMENT PLAN                            ARH3663 
* 
* 
*** 3.0   PROGRAM DESCRIPTION 
**
*   3.0   PROGRAM DESCRIPTION 
*         ------------------- 
* 
*** 3.1   LCI 
**
*   3.1   LCI 
*         --- 
* 
*** 3.1.1 ABSTRACT
**
*   3.1.1 ABSTRACT
*         --------
* 
*         THE LCI TEST IS USED TO ESTABLISH A HIGH LEVEL OF CONFIDENCE
*         THAT THE 170 DEVICE INTERFACE IN THE NAD IS FREE OF HARDWARE
*         FAILURES. 
* 
*         THE MEMORY ACCESS FROM THE DEVICE INTERFACE WILL ALSO BE
*         TESTED. 
* 
* 
* 
*         MODULE       DESCRIPTION
*         ------       -----------
* 
*         LCI00         CHECK THE PARAMETER WORDS ENTERED AND VERIFY
*                       THAT THEY ARE VALID. VERIFY THAT THE DEVICE 
*                       CODE ASSIGNED IS 300. CHECK THAT REPEAT 
*                       MODULE IS NOT SELECTED. 
* 
*         LCI01         CHECK THAT THE DEVICE SWITCH ON THE NAD IS
*                       ENABLED SO THAT COMMUNICATION BETWEEN THE 
*                       CHANNEL AND D.I. CAN BE ACCOMPLISHED. 
* 
*         LCI02         READ THE HARDWARE AND CONTROLWARE STATUSES OF 
*                       THE LOCAL NAD AND CHECK THE STATUS WORDS READ.
* 
*         LCI03         ECHO DATA PATTERNS THROUGH THE NAD 170 DEVICE 
*                       INTERFACE. DATA PATTERNS OF ZEROS,ONES,SLIDING
*                       ZEROS,SLIDING ONES, AND ALTERNATING ONES WILL 
*                       BE ECHOED THROUGH THE DEVICE INTERFACE. 
* 
*         LCI04         CHECK THAT FUNCTIONS ARE INITIATED BY THE DI. 
*                       CHECK ALL FUNCTIONS FOR LEGAL STATUS. 
*                       FORCE ILLEGAL FUNCTION AND CHECK STATUS.
* 
*         LCI05         CHECK MODE CONVERSIONS BIT STRING BY DOING A
*                       WRITE BIT STRING A READ BIT STRING AND THEN A 
*                       COMPARE OF THE DATA.
* 
*         LCI06         CHECK MODE CONVERSIONS WRITE 6TO8 AND READ 8TO6 
*                       AND THEN DO A COMPARE OF THE DATA.
* 
*         LCI07         CHECK MODE CONVERSIONS WRITE 60TO64 READ 64TO60 
*                       AND THEN DO A COMPARE OF THE DATA.
* 
*         LCI08         CHECK MODE CONVERSIONS WRITE 12TO8 READ 8TO12 
*                       AND THEN DO A COMPARE OF THE DATA.
* 
*         LCI09         CHECK MODE CONVERSIONS WRITE 12TO16 READ 16TO12 
*                       AND THEN DO A COMPARE OF THE DATA.
* 
*         LCI10         VERIFY THAT THE DI. EXECUTES THE FUNCTIONS STEP 
*                       START AND MASTER CLEAR. 
* 
*         LCI11         WRITE ALL LOCATIONS IN THE NAD MEMORY WITH
*                       THE ADDRESS OF EACH LOCATION AND VERIFY THAT
*                       EACH LOCATION IN THE MEMORY CONTAINS ITS
*                       ADDRESS.
* 
* 
* 
***       ERROR PROCESSING
**
*         ERROR PROCESSING
*         ----------------
* 
*         BOTH DRIVER DETECTED ERRORS AND MODULE  DETECTED  ERRORS  ARE 
*         PROCESSED  BY ENTERING THE MODULE LCI98A.  MODULES LCI98A AND 
*         LCI98C PROCESS THE DRIVER DETECTED ERRORS.   MODULES  LCI98A, 
*         LCI98B, AND LCI98C PROCESS THE MODULE DETECTED ERRORS.
* 
*         FOR  THE  MODULE  DETECTED ERRORS, THE EM REGISTER IS USED TO 
*         FLAG THE  LCI98B  MODULE  AS  TO  THE  TYPE  OF  ERROR  BEING 
*         REPORTED. 
* 
* 
*** 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. 
* 
*         2.  REFER TO THE  CML REFERENCE MANUAL (PUB. NO. 60455980) TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
* 
* 
***       LOADING PROCEDURE 
**
*         LOADING PROCEDURE 
*         ----------------- 
* 
*         1.  REFER TO THE CML REFERENCE MANUAL (PUB. NO. 60455980)  TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
* 
* 
***       RUNNING PROCEDURE 
**
*         RUNNING PROCEDURE 
*         ----------------- 
* 
*         1.  REFER TO THE  CML REFERENCE MANUAL (PUB. NO. 60455980) TO 
*             RUN MALET UNDER THE NOS OR NOS/BE OPERATING SYSTEMS.
* 
* 
***       PARAMETERS
**
*         PARAMETERS
*         ----------
* 
*         THE FOLLOWING HEX PARAMETERS ARE USED BY LCI- 
* 
*         P0 - NOT USED.
* 
*         P1 - 000X - MEMORY SIZE OF THE NAD BEING TESTED.
* 
*              0000 - DEFAULT EQUALS 32K. 
*              0001 - 16K.
*              0002 - 24K.
*              0003 - 32K.
*              0004 - 40K.
*              0005 - 48K.
*              0006 - 56K.
*              0007 - 65K.
* 
*         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.  LCI00 - PARAMETER VALIDATION
*             THIS MESSAGE INDICATES THAT MODULE LCI00 IS NOW  RUNNING. 
* 
*         2.  LCI01 - DEVICE SWITCH  TEST 
*             THIS MESSAGE INDICATES THAT  MODULE LCI01 IS NOW RUNNING. 
* 
*         3.  LCI02 - NAD STATUS TEST 
*             THIS MESSAGE INDICATES THAT MODULE LCI02 IS NOW  RUNNING. 
* 
*         5.  LCI03 - DATA ECHO TEST
*             THIS MESSAGE INDICATES THAT MODULE LCI03 IS NOW  RUNNING. 
* 
*         6.  LCI04 - FUNCTION   TEST 
*             THIS MESSAGE INDICATES THAT  MODULE LCI04 IS NOW RUNNING. 
* 
*         7.  LCI05 - BIT STRING CONVERSION TEST
*             THIS MESSAGE INDICATES THAT MODULE LCI05 IS NOW  RUNNING. 
* 
*         9.  LCI06 - 6TO8 8TO6 CONVERSION TEST 
*             THIS MESSAGE INDICATES THAT MODULE LCI06 IS NOW RUNNNING
* 
*         10. LCI07 - 60TO64 64TO60 CONVERSION TEST 
*             THIS MESSAGE INDICATES THAT MODULE LCI07 IS NOW RUNNING.
* 
*         11. LCI08 - 12TO 8 8TO12 CONVERSION TEST
*             THIS MESSAGE INDICATES THAT MODULE LCI08 IS NOW RUNNING.
* 
*         12. LCI09 - 12TO 16 16TO12 CONVERSION TEST
*             THIS MESSAGE INDICATES THAT MODULE LCI09 IS NOW RUNNING 
* 
*         13. LCI10 - STEP. GO. MC. TEST
*             THIS MESSAGE INDICATES THAT MODULE LCI10 IS NOW RUNNING.
* 
*         14. LCI11 - ADDRESSING TEST 
*             THIS MESSAGE INDICATES THAT MODULE LCI11 IS NOW RUNNING.
* 
***       DAYFILE MESSAGES
**
*         DAYFILE MESSAGES
*         ----------------
* 
*         1.  LCI01 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI01 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         2.  LCI02 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI02 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         3.  LCI03 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI03 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         4.  LCI04 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI04 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         5.  LCI05 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI05 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         6.  LCI06 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI06 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         7.  LCI07 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI07 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         8.  LCI08 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI08 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         9.  LCI09 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI09 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         5.  LCI10 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI10 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
*         6.  LCI11 ERROR(S) = XXXXD
*             XXXX = THE NUMBER OF ERRORS DETECTED BY THE MODULE. 
*             THIS DAYFILE MESSAGE INDICATES THAT MODULE LCI11 DETECTED 
*             XXXX   DECIMAL  ERRORS  BY  THE  TIME  IT  HAD  COMPLETED 
*             EXECUTION.
* 
* 
***       ERROR MESSAGES
**
*         ERROR MESSAGES
*         --------------
* 
*         THE FOLLOWING  DISPLAY  FORMAT  IS  USED  BY  LCI  TO  REPORT 
*         PARAMETER ENTRY ERRORS TO THE USER. 
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M----------------------------T)
*         02
*         03  LCINN SUSPECTED PARAMETER ERROR     (HEX. VALUES) 
*         04  (E----------------D)
*         05  P0 - P3  PPPP PPPP PPPP PPPP
*         06  P4 - P7  PPPP PPPP PPPP PPPP
*         07  P8 - P9  PPPP PPPP
*         10  PARAMETERS DESCRIBED IN MODULE LCI99
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         E---D = DISCRIPTION OF THE ERROR. 
*         M---T = MODULE TITLE. 
*         PPPP = CONTENTS OF THE PARAMETER WORD.
* 
*         THE FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT 
*         THAT THE DEVICE CODE IS NOT 300.
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M------------------------T)
*         02
*         03  LCINN DEVICE CODE IS NOT 300
*         04
*         05
*         06
*         07
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER 
*         E---D = DESCRIPTION OF THE ERROR
*         M---T = MODULE TITLE
* 
* 
*         THE  FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT ACCESS 
*         LEVEL ERRORS TO THE USER. 
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M----------------------------T)
*         02  LCINN NOT EXECUTED - AL=    , NEED AL=5 
*         03
*         04
*         05
*         06
*         07
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         E---D = DISCRIPTION OF THE ERROR. 
*         M---T = MODULE TITLE. 
* 
* 
*         THE FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT PRODUCT 
*         OVERLAY ERRORS WHEN TESTING THE MEMORY IN A LOCAL NAD TO  THE 
*         USER. 
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M----------------------------T)
*         02
*         03  LCINN ABORTED ON (C-------------------M)
*         04   LAST FUNCTION = FFFFB  WT = WWWWB
*         05  LCINN ERROR(S) = ZZZZD
*         06   LCINNN EXXXX LYYY  (E----------------M)
*         07
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NNN   = MODULE NUMBER.
*         YYY   = THE CONTENTS OF THE EA (ERROR ADDRESS) REGISTER.
*         C---M = COMMAND ON WHICH THE ABORT OCCURED. 
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         WWWW  = THE NUMBER OF WORDS TRANSFERED DURING THE  LAST  DATA 
*                 TRANSFER. 
*         XXXX  = THE ERROR CODE IN OCTAL.
*         ZZZZ  = ERROR COUNT 
* 
* 
*         THE  FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT MEMORY 
*         PARITY ERRORS TO THE USER WHEN TESTING THE MEMORY ACCESS
*         LOCALLY.
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M----------------------------T)
*         02
*         03  LCINN ABORTED ON (C-------------------M)
*         04   LCINN EXXXX LYYY  (E-----------------M)
*         05   PARITY ERROR IN ADDRESSES AAAA-BBBB
*         06
*         07
*         10
*         11
*         12
*         13
*         14
*         15
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         YYY   = THE CONTENTS OF THE EA (ERROR ADDRESS) REGISTER.
*         AAAA  = FIRST WORD ADDRESS OF THE DATA TRANSFER.
*         BBBB  = LAST WORD ADDRESS OF THE DATA TRANSFER. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURED. 
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         FFFF  = LAST FUNCTION ISSUED TO THE NAD.
*         M---T = MODULE TITLE. 
*         WWWW  = THE NUMBER OF WORDS TRANSFERED DURING THE  LAST  DATA 
*                 TRANSFER. 
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
*         THE  FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT MEMORY 
*         DATA ERRORS TO THE USER WHEN TESTING THE MEMORY ACCESS
*         LOCALLY.
* 
*         00  LCI - 170 DEVICE INTERFACE TEST 
*         01  LCINN - (M----------------------------T)
*         02
*         03  LCINN ABORTED ON (C-------------------M)
*         04   LCINN EXXXX LYYY  (E-----------------M)
*         05   ADRS   EXP.   ACT.   DIF. (HEX. VALUES)
*         06   AAAA   BBBB   CCCC   DDDD
*         07   AAAA   BBBB   CCCC   DDDD
*         10   AAAA   BBBB   CCCC   DDDD
*         11   AAAA   BBBB   CCCC   DDDD
*         12   AAAA   BBBB   CCCC   DDDD
*         13   AAAA   BBBB   CCCC   DDDD
*         14   AAAA   BBBB   CCCC   DDDD
*         15   AAAA   BBBB   CCCC   DDDD
*         16
* 
* 
*         WHERE-
*         NN    = MODULE NUMBER.
*         YYY   = THE CONTENTS OF THE EA (ERROR ADDRESS) REGISTER.
*         AAAA  = THE FAILING ADDRESS IN THE NAD MEMORY.
*         BBBB  = THE EXPECTED CONTENTS OF THE MEMORY LOCATION. 
*         CCCC  = THE ACTUAL CONTENTS OF THE MEMORY LOCATION. 
*         C---M = COMMAND ON WHICH THE ABORT OCCURED. 
*         DDDD  = THE LOGICAL DIFFERENCE OF BBBB AND CCCC.
*         E---M = VERBAL DESCRIPTION OF THE ERROR CODE. 
*         M---T = MODULE TITLE. 
*         XXXX  = THE ERROR CODE IN OCTAL.
* 
* 
***       ERROR MESSAGES
**
*         ERROR MESSAGES
*         --------------
* 
*         THE FOLLOWING DISPLAY FORMAT IS USED BY LCI TO REPORT PRODUCT 
*         OVERLAY ERRORS TO THE USER. 
* 
*         00  LCI - 170 DEVICE INTERFACE 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 LCI TO REPORT HARDWARE 
*         AND CONTROLWARE STATUS ERROR DETECTED IN MODULE LCI02.
* 
*         00  LCI - 170 DEVICE INTERFACE 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 LCI TO REPORT ONE 
*         WORD COMPARE ERRORS TO THE USER.
* 
*         00  LCI - 170 DEVICE INTERFACE 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 LCI TO REPORT ECHOED 
*         CODE DATA ERRORS TO THE USER. 
* 
*         00  LCI - 170 DEVICE INTERFACE 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 LCI TO REPORT STATUS 
*         AND DATA ERRORS TO THE USER.
* 
*         00  LCI - 170 DEVICE INTERFACE 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 MESSAGES ARE REPORTED  BY  THE  PARAMETER 
*         CHECKING MODULE LCI00 WHEN IT DETECTS AN ERROR CONDITION. 
* 
*         1.  ACCESS LEVEL NOT HIGH ENOUGH
*             THIS ERROR MESSAGE INDICATES THAT THE  AL  VALUE  (ACCESS 
*             LEVEL)  ASSIGNED  TO  THE TEST IS TOO LOW FOR THE TEST TO 
*             RUN.  THE TEST REQUIRES AN ACCESS LEVEL OF 10  TO 
*             RUN.  THE MODULE WILL SEND THE MESSAGE, LCI00 NOT 
*             EXECUTED - AL=    , NEED AL=10 , TO DISPLAY AND PRINT 
*             AND PAUSE.  THE ACCESS LEVEL MUST BE CORRECTED
*             AND THE TEST RERUN. 
* 
*         2.  LCI00 SUSPECTED PARAMETER ERROR 
*             THIS ERROR MESSAGE INDICATES THAT THE PARAMETER  CHECKING 
*             MODULE LCI00 HAS DETECTED AN ERROR CONDITION IN PARAMETER 
*             WORD P1.  PARAMETER WORD P1  CONTAINED  A  VALUE  GREATER 
*             THAN  SEVEN WHICH IS THE LARGEST MEMORY SIZE ALLOWABLE IN 
*             PARAMETER WORD P1.  THE  MODULE  WILL  SEND  THE  MESSAGE 
*             *//LCI00  PARAMTER  ERROR*  TO  DISPLAY  AND  PRINT,  AND 
*             PAUSE.  PARAMETER WORD P1 MUST BE CORRECTED AND THE  TEST 
*             RERUN.
* 
*         3.  LCI00 DEVICE CODE NOT 300 
*             THIS MESSAGE INDICATES THAT THE DEVICE CODE ASSIGNED
*             TO THE TEST IS NOT 300. THE TEST REQUIRES A 300 WHICH 
*             MEANS THAT IS TO BE RUN LOCALLY.
* 
*         4.  IF THE  PARAMETER  CHECKING  MODULE  LCI00  DETECTS  THAT 
*             REPEAT  MODULE  IS  SELECTED,  THE  MESSAGE  *//LCI00  RM 
*             SELECTED*  WILL  BE  SENT  TO  DISPLAY AND PRINT, AND THE 
*             MODULE  WILL  PAUSE  UNTIL  RM  IS  CLEARED  IN  THE   ES 
*             REGISTER. 
* 
* 
***       ERROR CODES 
**
*         ERROR CODES 
*         ----------- 
* 
*         MODULE  ERROR     ERROR 
*         NUMBER  CODE   DESCRIPTION
*         ------  -----  -----------
* 
*         LCI01         LYYY  DEVICE SWITCH OFF ERROR 
*                       YYY  = LINE NUMBER ON WHICH ERROR OCCURRED. 
*                              THE HARDWARE STATUS WAS CHECKED AND THE
*                              DEVICE SWITCH WAS DETECTED OFF.
* 
*         LCI10  E0016  LYYY  START DID NOT GO PROC.
*                       YYY  = LINE NUMBER ON WHICH ERROR OCCURRED. 
*                              A START WAS ISSUED TO THE PROC. AND THE
*                              STATUS WHEN CHECKED DETECTED THE PROC. 
*                              STOPPED. 
* 
*         LCI10  E0017  LYYY  MC DID NOT STOP PROC. 
*                       YYY  = LINE NUMBER ON WHICH ERROR OCCURRED. 
*                              A MC WAS ISSUED TO STOP THE PROC. BUT
*                              THE STATUS DETECTED THE PROC. RUNNING. 
* 
* 
*         LCI10   E0001  LYYY  STEP DID NOT STOP PROC 
*                        YYY  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               A STEP WAS ISSUED TO A LOCAL D.I.AND
*                               THE HARDWARE STATUS DID NOT DETECT
*                               THAT THE PROCESSOR IS STOPPED.
* 
*         LCI11   E0002  LYYY  NAD MEMORY PARITY ERROR
*                        YYY  = LINE NUMBER ON WHICH ERROR OCCURRED.
*                               A MEMORY PARITY ERROR WAS  DETECTED  IN 
*                               THE MEMORY  OF  THE  LOCAL  NAD  MEMORY 
*                               BEING  TESTED  WHILE  READING  A MEMORY 
*                               ADDRESSING  DATA   PATTERN   FROM   THE 
*                               MEMORY. 
* 
*         LCI11   E0003  LYYY  NAD MEMORY DATA ERROR
*                        YYY  = LINE NUMBER ON WHICH ERROR OCCURED. 
*                               ONE OR MORE DATA ERRORS  WERE  DETECTED 
*                               IN THE DATA READ  FROM  THE  LOCAL  NAD 
*                               MEMORY   WHICH   CONTAINED   A   MEMORY 
*                               ADDRESSING DATA PATTERN.
* 
*         LCI03   E0004  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. 
* 
*         LCI02   E0005  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.
* 
*         LCI02   E0006  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. 
* 
*         LCI05-9 E0008  LXXX    COMPARE ERROR
*                        XXX  = LINE NUMBER ON WHICH ERROR OCCURERED. 
*                               THIS ERROR MESSAGE INDICATES THAT AFTER 
*                               A WRITE READ OPERATION THE DATA DID NOT 
*                               COMPARE.
* 
* 
* 
***       MODULE DESCRIPTIONS 
**
*         MODULE DESCRIPTIONS 
*         ------------------- 
* 
   MODULE LCI00,LCN(300)
***       LCI00 - PARAMETER VALIDATION
**
*         LCI00 - PARAMETER VALIDATION
*         ----------------------------
* 
* 
*         PURPOSE-
*         LCI00 CHECKS THE ACCESS LEVEL AND PARAMETER WORD P1 TO VERIFY 
*         THAT A VALID MEMORY SIZE HAS BEEN ENTERED.   IF  A  PARAMETER 
*         ENTRY  ERROR  IS  DETECTED,  THE  MODULES  LOOPS  ON  A PAUSE 
*         DIRECTIVE WITH A MESSAGE TO  INFORM  THE  USER  SO  THAT  THE 
*         PARAMETER CAN BE CORRECTED AND THE TEST RERUN.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE RUNNING MESSAGE FOR THE MODULE. 
*         2.  VERIFY THAT THE ACCESS LEVEL ON THE ASSIGN DIRECTIVE IS 
*             A TEN.  IF IT IS NOT, REPORT AN ACCESS LEVEL TOO LOW
*             ERROR AND PAUSE.
*         3.  VERIFY THAT PARAMETER WORD P1 CONTAINS A NUMBER FROM 0000 
*             TO 0007 AND IF IT DOES NOT, REPORT A  PARAMETER  WORD  P1 
*             ENTRY ERROR AND PAUSE.
*         4.  VERIFY THAT REPEAT MODULE IS  NOT  SELECTED.   IF  REPEAT 
*             MODULE  IS  SELECTED, PAUSE UNTIL REPEAT MODULE IS TURNED 
*             OFF IN THE ES REGISTER. 
*         5.  VERIFY THAT THE DEVICE CODE ON THE ASSIGN DIRECTIVE IS
*             300. IF NOT PAUSE AND REPORT DEVICE CODE NOT 300. 
*         6.  EXIT THE MODULE.
/ 
*         ENTRY-
*         PARAMETER WORDS P0 TO P9 ARE DESCRIBED IN THE MODULE LCI99. 
*         THE  ACCESS  LEVEL  FOR  THE  TEST  IS  CONTAINED  IN  THE AL 
*         REGISTER. 
* 
*         EXIT- 
*         NO SPECIAL  EXIT CONDITIONS IF THE PARAMETER WORDS ARE VALID, 
*            THE ACCESS LEVEL IS 10 OR GREATER AND REPEAT MODULE IS NOT 
*            ENABLED.   OTHERWISE THE PARAMETER WORD(S) OR ACCESS LEVEL 
*            MUST BE CORRECTED AND THE  TEST  RERUN  OR  REPEAT  MODULE 
*            DISABLED.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         REGISTERS USED- 
*         B0  - PAUSE MESSAGE NUMBER. 
*         ES  - STANDARD USAGE. 
*         AL  - STANDARD USAGE. 
* 
*         BUFFERS USED- 
*         OB(0) TO OB(23) - PARAMETER WORD DISPLAY. 
* 
* 
0  FORMAT LCI - 170 DEVICE INTERFACE TEST 
1  FORMAT LCI00 - PARAMETER VALIDATION
4  FORMAT LCI00 SUSPECTED PARAMETER ERROR    (HEX. VALUES)
5  FORMAT P1 - UNUSED BITS SET
6  FORMAT P0 - P3  *H*H *H*H *H*H *H*H
7  FORMAT P4 - P7  *H*H *H*H *H*H *H*H
10 FORMAT P8 - P9  *H*H *H*H
11 FORMAT PARAMETERS DESCRIBED IN MODULE LCI99
12 FORMAT LCI00 NOT EXECUTED - AL=*OCT, NEED AL=10
13 FORMAT //LCI00 PARAMETER ERROR 
14 FORMAT //LCI00 RM SELECTED 
15 FORMAT //LCI00 DEVICE CODE NOT 300 
* 
/---------DISPLAY THE RUNNING MESSAGE FOR THE MODULE. 
* 
30 MSG 1 TO DISPLAY,PRINT    *DISPLAY RUNNING MESSAGE 
* 
/---------VALIDATE THE ACCESS LEVEL FOR THE TEST. 
* 
   IF(AL.EQ.10) GOTO 40       *IF ACCESS LEVEL OK 
   B0=12                     *ACCESS LEVEL PAUSE MESSAGE
   GOTO 70                   *REPORT ACCESS LEVEL ERROR 
* 
/---------VALIDATE PARAMETER WORD P1. 
* 
40 IF(P1.LE.7) GOTO 50       *IF PARAMETER WORD P1 OK 
* 
/---------SET UPPER 4 BITS OF THE PARAMETER WORDS.
* 
   OB=SB(30).LS.4            *PARAMETERR WORD P0
   OB(2)=SB(31).LS.4         *PARAMETERR WORD P1
   OB(4)=SB(32).LS.4         *PARAMETERR WORD P2
   OB(6)=SB(33).LS.4         *PARAMETERR WORD P3
   OB(10)=SB(34).LS.4        *PARAMETERR WORD P4
   OB(12)=SB(35).LS.4        *PARAMETERR WORD P5
   OB(14)=SB(36).LS.4        *PARAMETERR WORD P6
   OB(16)=SB(37).LS.4        *PARAMETERR WORD P7
   OB(20)=SB(40).LS.4        *PARAMETERR WORD P8
   OB(22)=SB(41).LS.4        *PARAMETERR WORD P9
* 
/---------SET LOWER 8 BITS OF THE PARAMETER WORDS.
* 
   OB(1)=P0.AND.377          *PARAMETER WORD P0 
   OB(3)=P1.AND.377          *PARAMETER WORD P1 
   OB(5)=P2.AND.377          *PARAMETER WORD P2 
   OB(7)=P3.AND.377          *PARAMETER WORD P3 
   OB(11)=P4.AND.377         *PARAMETER WORD P4 
   OB(13)=P5.AND.377         *PARAMETER WORD P5 
   OB(15)=P6.AND.377         *PARAMETER WORD P6 
   OB(17)=P7.AND.377         *PARAMETER WORD P7 
   OB(21)=P8.AND.377         *PARAMETER WORD P8 
   OB(23)=P9.AND.377         *PARAMETER WORD P9 
* 
/---------SET UPPER 8 BITS OF THE PARAMETER WORDS.
* 
   OB=P0.RS.8.+.OB           *PARAMETER WORD P0 
   OB(2)=P1.RS.8.+.OB(2)     *PARAMETER WORD P1 
   OB(4)=P3.RS.8.+.OB(4)     *PARAMETER WORD P2 
   OB(6)=P4.RS.8.+.OB(6)     *PARAMETER WORD P3 
   OB(10)=P4.RS.8.+.OB(10)   *PARAMETER WORD P4 
   OB(12)=P5.RS.8.+.OB(12)   *PARAMETER WORD P5 
   OB(14)=P6.RS.8.+.OB(14)   *PARAMETER WORD P6 
   OB(16)=P7.RS.8.+.OB(16)   *PARAMETER WORD P7 
   OB(20)=P8.RS.8.+.OB(20)   *PARAMETER WORD P8 
   OB(22)=P9.RS.8.+.OB(22)   *PARAMETER WORD P9 
* 
/---------BUILD THE ERROR DISPLAY.
* 
   MSG 4 TO LINE 3           *PARAMETER ERROR MESSAGE 
   MSG 5 TO LINE 4           *P1 ERROR MESSAGE
   MSG 6 8 WORDS FROM OB TO LINE 5  *PARAMETERS P0-P3 
   MSG 7 8 WORDS FROM OB(10) TO LINE 6  *PARAMETERS P4-P7 
   MSG 10 4 WORDS FROM OB(20) TO LINE 7  *PARAMETERS P8-P9
   MSG 11 TO LINE 10         *LCI99 INFORMATION MESSAGE 
   B0=13                     *PARAMETER ERROR PAUSE MESSAGE 
   GOTO 70                   *REPORT PARAMETER ERROR
* 
/---------VERIFY THAT REPEAT MODULE IS NOT SELSECTED. 
* 
50 IF(ES.AND.RM.EQ.0) GOTO 60  *CHECK DEVICE CODE IF RM NOT SELECTED
   B0=14                     *RM PAUSE MESSAGE
   GOTO 74                   *REPORT RM ERROR 
* 
/---------VALIDATE DEVICE CODE IS 300 
* 
60 IF(DC.EQ.300) EXIT   *EXIT IF DEVICE CODE CORRECT
   B0=15                *DC PAUSE MESSAGE 
   GOTO 74              *REPORT DC ERROR
* 
/---------COMPLETE ERROR DISPLAY. 
* 
70 MSG 0 TO LINE 0           *ERROR DISPLAY TITLE LINE
   MSG 1 TO LINE 1           *ERROR DISPLAY MODULE NAME 
   PICTURE
* 
/---------DISPLAY PAUSE MESSAGE, PAUSE, AND LOOP. 
* 
74 MSG B0 (AL) TO DISPLAY,PRINT   *POST PAUSE MESSAGE 
   PAUSE                     *REPORT ERROR TO USER
   GOTO 74                   *LOOP
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI00 - PARAMETER VALIDATION
   MODULE LCI01,LCN(300)
***       LCI01 - DEVICE SWITCH ENABLED 
**
*         LCI01 - DEVICE SWITCH ENABLED 
*         --------------------------- 
* 
* 
*         PURPOSE-
*         DETERMINE IF THE NAD-S DEVICE SWITCH IS ENABLED.
*         IT IS NOT THE INTENT OF THIS MODULE TO CHECK THE DEVICE 
*         SWITCH ITSELF, BUT CHECK THE HARDWARE STATUS FOR THE
*         CONDITION.
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE RUNNING MESSAGE FOR THE MODULE. 
*         3.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  RESERVE THE CHANNEL TO THE NAD. 
*         4.  INPUT THE HARDWARE STATUS FROM THE NAD AND
*             MASK BIT FOR DEVICE SWITCH ENABLED. 
*         5.  LOOP 50D TIMES AND EXIT THE MODULE. 
*         6.  IF NOT PAUSE SEND A MSG. TO THE DISPLAY AND 
*             PRINT THE NUMBER OF THE ERRORS. 
*         7.  RM CAN BE SELECTED OR SC0PING LOOP
/ 
*         ENTRY-  MODULE LCI00
* 
*         EXIT- 
*         B5 REGISTER CONTAINS 100 OCTAL. 
*         B13 REGISTER CONTAINS THE NUMBER OF THE MODULE. 
* 
*         SUBMODULES REFERENCED-
*         LCI98A - PROCESS ERROR. 
* 
*         REGISTERS USED- 
*         B5  - CONTAINS 100 OCTAL. 
*         B13 - CONTAINS THE MODULE NUMBER. 
* 
*         BUFFERS USED- 
*         IB(60)  MAX ERROR COUNT 
*         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(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 LCI01 - DEVICE SWITCH ENABLE TEST.
2  FORMAT LCI01 ERROR(S) = *DECD
3  FORMAT LCI01 EC=*DECD, LC=*DECD
4  FORMAT LCI01 DEVICE ENABLE LC=*DECD
5  FORMAT  DEVICE ENABLE SWITCH OFF ERROR(S) = *DECD
* 
/---------COMMAND EQUATES FOR THE MODULE. 
* 
   EQUATE CRES=36, HSTATC=45
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
30 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=01D                   *MODULE NUMBER 
* 
/---------READ AND CHECK DEVICE SWITCH ENABLE FROM HARDWARE STATUS
* 
32 B11=0                     *INITIALIZE EXT. LOOP COUNT
34 IF(ES.AND.RM.NE.0) MSG 4 (B15) TO DISPLAY  *DISPLAY MSG
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 66    *GET LCN HARDWARE STATUS 
   GOTO 40
36 IF(SB.AND.40.NE.0) GOSUB 60  *IF NAD DEVICE SWITCH STATUS OFF
40 IF(SB.AND.40.EQ.0) GOTO 42   *IF NAD DEVICE SWITCH STATUS ON 
   GOTO 74                   *REPORT ERROR
42 IF(EC.NE.0) GOTO 74       *IF ERROR GO TO PAUSE
   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) GOTO 32  *IF SCOPING LOOP 
   IB(500)=SB                *SAVE HARDWARE 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 
* 
/---------PROCESS COMMAND ABORTS. 
* 
70 GOSUB 60                  *REPORT ERROR
   ENDSUB GOTO 50            *RETURN TO MAIN MODULE 
74 B14=B14+1                 *INCREMENT ERROR COUNT 
   IF(ES.AND.SL.NE.0) GOTO 32   *IF SCOPING LOOP
   MSG 5(B14) TO DISPLAY,PRINT   *DISPLAY DEVICE ENABLE SWITCH OFF ERROR
   PAUSE                     *REPORT ERROR TO USER
   GOTO 50                   *LOOP
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI01 - DEVICE SWITCH ENABLED 
   MODULE LCI02,LCN(300)
***       LCI02 - LOCAL NAD STATUS
**
*         LCI02 - 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.  CHECK THE HARDWARE STATUS WORD. 
*         7.  CHECK THE CONTROLWARE STATUS WORD.
*         8.  IF AN ERROR WAS DETECTED, GO TO STEP 10.
*         9.  REPEAT STEPS 3 THROUGH 8 1000 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-
*         LCI98A - 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 LCI02 - LOCAL NAD STATUS. 
2  FORMAT LCI02 ERROR(S) = *DECD
3  FORMAT LCI02 EC=*DECD, LC=*DECD
4  FORMAT LCI02 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.5400.EQ.0) GOTO 40  *IF STATUS CORRECT
   ERROR 1/5                 *CONTROLWARE STATUS ERROR
   GOSUB 60                  *REPORT ERROR
40 IF(SB.AND.1775.EQ.0) GOTO 42  *IF HARDWARE STATUS CORRECT
   ERROR 1/6                 *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.1000D)  *LOOP 1000 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                      *LCI02 - LOCAL NAD STATUS. 
   MODULE LCI03,LCN(300)
***       LCI03 - ECHO  DATA
**
*         LCI03 - ECHO  DATA
*         ------------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT THE CYBER CHANNEL AND THAT THE
*         DIAGNOSTIC PATH IN THE 170 DI IS WORKING PROPERLY 
*         BY ECHOING DATA PATTERNS THROUGH THE DEVICE INTRFACE. 
* 
* 
*         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 RM IS SELECTED DISPLAY RUNNING MESSAGE.
*         6.  ECHO DATA WORDS THROUGH THE DI. 
*         7.  REPEAT STEPS 5 AND 6 UNTIL 28 DECIMAL DATA PATTERNS 
*             HAVE BEEN TESTED. 
*         8.  CHECK EACH DATA PATTERN.
*         9.  REPEAT STEPS 3 THROUGH 8 500 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-
*         LCI98A - PROCESS ERRORS.
* 
*         REGISTERS USED- 
*         BO = 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. 
*         EA  = ERROR LINE NUMBER.
*         EC  = ERROR CODE. 
*         EM  = ERROR DISPLAY FORMAT NUMBER.
* 
*         BUFFERS USED- 
*         IB(100) - ACTUAL DATA FROM ECHO CHECK 
*         IB(500) - HARDWARE STATUS (SB(0)).
*         IB(501) - CONTROLWARE STATUS (SB(1))
*         IB(502) - LAST FUNCTION 
*         IB(503) - WORDS TRANSFERED
*         OB(40-73 - DATA PATTERNS TO BE USED 
*         OB(100) - EXPECTED DATA FROM ECHO CHECK 
* 
* 
1  FORMAT LCI03 - ECHO CHECK. 
2  FORMAT LCI03 ERROR(S) = *DECD
3  FORMAT LCI03 EC=*DECD, LC=*DECD
4  FORMAT LCI03 ECHO CHECK LC=*DECD 
5  FORMAT LCI03 LOCAL STATUS 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.500D)  *LOOP 500 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
/---------HARDWARE STATUS CHECK 
* 
   IF(SB.AND.1775.EQ.0) GOTO 50 
   ERROR 1/6 GOTO 70         *IF HARDWARE STATUS CORRECT
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/4                 *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                      *LCI03 -ECHO DATA
   MODULE LCI04,6000,(300)
***       LCI04 - FUNCTION CHECK
**
*         LCI04 - FUNCTION CHECK
*         ------------------------------------
* 
* 
*         PURPOSE-
*         ISSUE EACH FUNCTION AND CHECK IT FOR LEGAL STATUS.
*         ISSUE AN ILLEGAL FUNCTION AND CHECK FOR PROPER STATUS.
*         VERIFY CORRECT STATUS WHEN A DEVICE ERROR IS FORCED.
* 
* 
*         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.  ISSUE ALL LEGAL FUNCTIONS.
*         5.  CHECK EACH FOR LEGAL FUNCTION STATUS. 
*         6.  ISSUE AN ILLEGAL FUNCTION.
*         7.  CHECK FOR ILLEGAL FUNCTION STATUS.
*         8.  MEMORY WRITE WITH INCORRECT WORD LENGTH 
*         9.  CHECK FOR RESIDUE AND ASSY/DIS ERROR
*         10. IF REPEAT MODULE IS NOT  SELECTED,  DISPLAY  THE  RUNNING 
*             MESSAGE FOR THE MODULE. 
*         11. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 21.
*         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-
*         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. 
* 
*         EXIT-NONE.
* 
*         SUBMODULES CALLED-
*         LCI98A - 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) - 
* 
* 
* 
1  FORMAT LCI04 - FUNCTION CHECK TEST 
2  FORMAT LCI04 ERROR(S) = *DECD
3  FORMAT LCI04 EC=*DECD, LC=*DECD
4  FORMAT LCI04 FUNCTION CHECK LC=*DECD 
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE,HSTATC=45,HSTATUS=200,CSETADD=75,SETADDR=202
   EQUATE,CRES=36,CPMC=26,PMC=304,IMCX=13,IMC=277,CSTAT=44
* 
/---------COMMAND DATA FOR THE MODULE 
* 
   DATA(OB(10),CON)51,301,1,52,302,1,51,301 
   DATA(OB(20),CON)1,52,302,1,44,201,0,26 
   DATA(OB(30),CON)304,1,76,204,1,13,277,1
   DATA(OB(40),CON)75,202,1,70,10,1,44,11 
   DATA(OB(50),CON)1,72,12,1,73,13,1,74 
   DATA(OB(60),CON)14,1,63,0,1,64,1,1 
   DATA(OB(70),CON)65,2,1,66,3,1,67,4 
   DATA(OB(100),CON)1,77,275,0,102,14,0 
   DATA(OB(403),CON)5,32
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=04D                   *MODULE NUMBER 
* 
/---------CHECK REPEAT MODULE 
* 
   IF(ES.AND.RM.NE.0)MSG 4(B15) TO DISPLAY   *DISPLAY MESSAGE 
22 B11=0                     *INITIALIZE EXTERNAL LOOP COUNT
24 B1=10                     *INITIALIZE DATA BASE
* 
/---------CHECK FUNCTION CHECK
* 
30 B12=CRES                  *COMMAND .RES. 
   RES,ABT 70                *RESERVE THE LCN CHANNEL 
   B12=OB(B1)                *COMMANDS
   B2=OB(B1+1)               *FUNCTIONS 
   IF(OB(B1+2).EQ.0)GOTO 32    *ILLEGAL SUBROUTINE
   IF(OB(B1+2).EQ.1)GOSUB 54   *IF CORRECT GOTO WRITE/READ SUBROUTINE 
   IF(OB(B1+2).EQ.2)GOSUB 60   *IF CORRECT GOTO PROCESSOR NOT RUNNING SUB.
   IF(OB(B1+2).EQ.3)GOSUB 62   *IF CORRECT GOTO PROCESSOR RUNNING SUB.
32 IF(B1+2.EQ.24) GOSUB 42    *IF CORRECT GOTO CONTROLWARE SUB. 
   IF(B1+2.EQ.102) GOSUB 44    *IF CORRECT GOTO ILLEGAL FUNCTION SUB. 
   IF(B1+2.EQ.104) GOSUB 50    *IF CORRECT GOTO INCORRECT WORD LENGTH SUB.
   IF(ES.AND.SL.NE.0)GOTO 30   *SCOPING LOOP
   GOTO 30 WHILE(B1+3.LT.107) 
   GOTO 24 WHILE(B11+1.LT.100D)   *LOOP 100 DECIMAL TIMES 
   GOTO 64
* 
/---------SUBROUTINE TO CHECK CONTROLWARE FUNCTION
* 
42 FUNC B2,ABT 70            *FUNCTION CONTROLWARE STATUS 
   B12=CSTAT                 *COMMAND CONTROLWARE STATUS
   FUNC 201,ABT,70           *FUNCTION CONTROLWARE STATUS 
   INB 1 WORDS TO IB(0),ABT 70
   IF(IB(0).AND.6400.NE.0)GOSUB 70   *CHECK CONTROL WARE STATUS 
   RETURN 
* 
/---------SUBROUTINE TO CHECK FOR ILLEGAL FUNCTION
* 
44 FUNC B2,ABT 46 
   GOSUB 70 
46 GOSUB 74 
   IF(IB(0).AND.20.EQ.0)GOSUB 70
   RETURN 
* 
/---------SUBROUTINE TO CHECK INCORRECT WORD LENGTH 
* 
50 B12=CSETADD               *COMMAND SET ADDRESS/LENGTH
   FUNC SETADDR,ABT 70       *FUNCTION SET ILLEGAL ADDRESS AND LENGTH 
   OUTB 2 WORDS FROM OB(403),ABT 70   *OUTPUT ADDRESS/LENGTH
   B12=OB(B1)                *COMMAND MODE 60/64 WRITE
   FUNC B2,ABT 52            *SEND FUNCTION FOR WRITE 60/64 
   GOSUB 70 
52 GOSUB 74 
   IF(IB(0).AND.520.EQ.0)GOSUB 70   *CHECK FOR ILLEGAL FUNCTION 
   RETURN 
* 
/---------SUBROUTINE TO CHECK READ/WRITE FUNCTION 
* 
54 FUNC B2,ABT 70 
   GOSUB 74 
   IF(IB(0).AND.20.NE.0)GOSUB 70   *CHECK ILLEGAL FUNCTION
   IF(IB(0).AND.1771.NE.0),GOSUB 70   *IF CHANNEL PARITY ERROR
   B12=IMCX                  *COMMAND INTERFACE MC
   FUNC IMC,ABT 70           *INTERFACE MASTER CLEAR
   RETURN 
* 
/---------SUBROUTINE TO CHECK HARDWARE STATUS IF PROCESSOR NOT RUNNING
* 
60 FUNC B2,ABT 70 
   GOSUB 74 
   IF(IB(0).AND.1771.EQ.0)RETURN   *IF HARDWARE STATUS CORRECT
   GOSUB 70 
   RETURN 
* 
/---------SUBROUTINE TO CHECK HARDWARE STATUS IF PROCESSOR IS RUNNING 
* 
62 FUNC B2,ABT 70 
   GOSUB 74 
   IF(IB(0).AND.1773.EQ.0)RETURN   *IF HARDWARE STATUS CORRECT
   GOSUB 70 
   RETURN 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
64 IF(ES.AND.RM.EQ.0) GOTO 66  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                   *GO TO REPEAT THE MODULE 
66 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMMAND ABORT 
* 
70 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=IB(0)             *SAVE HARDWARE STATUS WORD 
   IB(502)=B2                *SAVE LAST FUNCTION WORD 
   B5=EA                     *SAVE ERROR ADDRESS
   B6=1                      *SAVE ERROR CODE 
   B7=15                     *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 98M                  *PROCESS ERROR 
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS HARDWARE STATUS 
* 
74 B12=HSTATC                *COMMAND HARDWARE FUNCTION 
   FUNC HSTATUS,ABT 70       *FUNCTION HARDWARE FUNCTION
   INB 1 WORDS TO IB(0),ABT 70   *INPUT HARDWARE STATUS 
   RETURN 
   END 20                    *END OF THE MODULE 
COMPILE                      *LCI04 - FUNCTION CHECKS 
   MODULE LCI05,LCN(300)
***       LCI05 - MODE CONVERSIONS
**
*         LCI05 - MODE CONVERSIONS
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT DATA CAN BE WRITTEN AND READ IN THE 
*         WRITE BIT STRING,READ BIT STRING MODE CONVERSION. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             240 DECIMAL.
*         9.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         10. INITIALIZE THE MODE.
*         12. SET PATTERN TO  0000,2525,5252,7777, 1234 AND 4321 OCTAL. 
*         12. RESERVE THE CHANNEL AND OUTPUT THE DATA BLOCK.
*         13. RESERVE THE CHANNEL AND INPUT THE DATA BLOCK IN REVERSE MODE. 
*         14. COMPARE DATA SENT WITH DATA RECIEVED. 
*         15. SET REPEAT CONDITION. 
*         16. GOTO STEP 10 TILL ALL PATTERN ARE USED. 
*         17. REPEAT 50D TIMES. 
*         18. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 20.
*         19. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         20. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         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-LCI05.
* 
*         EXIT-LCI05B.
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI05 - BIT STRING CONVERSION TEST
2  FORMAT LCI05 ERROR(S) = *DECD
3  FORMAT LCI05 EC=*DECD, LC=*DECD
4  FORMAT LCI05 DATA MODE CONVERSION LC=*DECD 
* 
/---------DATA PATTERN FOR THE MODULE 
* 
   DATA(OB(10),CON)0000,2525,5252,7777,1234,4321
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,CREAD=63,CWRITE=70
   EQUATE CCMP=4,HSTATC=45,IMCX=13
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=05                    *MODULE NUMBER 
22 B11=0                     *INTIALIZE EXTERNAL LOOP COUNT 
   BA=50                     *DATA BUFFER BASE ADDRESS
24 B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------RESERVE THE LCN CHANNEL 
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
* 
/---------MASTER CLEAR DEVICE INTERFACE 
* 
   B12=IMCX                  *DI MC COMMAND INDEX 
   IMC,ABT 64                *INTERFACE MC ON I/O CHANNEL 
   WC=240D                     *MESSAGE WORD COUNT
* 
/---------PERFORM MODE CONVERSION 
* 
   IF(ES.AND.RM.NE.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 60    *GET LCN HARDWARE STATUS 
26 IF(SB.AND.1771.EQ.0) GOTO 30  *IF HARDWARE STATUS CORRECT
   ERROR 1/3                 *HAREWARE STATUS ERROR 
   GOSUB 62                  *REPORT ERROR
30 IF(EC.NE.0) GOTO 40       *IF ERROR GO TO END THE MODULE 
* 
/---------WRITE/READ MEMORY LOCATION FOR BIT STRING 
* 
32 B1=WC
34 WC=B1
   DUP 14 BITS OF OB(B10+10) TO OB(BA) FOR 240D   *DATA PATTERN 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   B12=CWRITE                *WRITE STRING COMMAND INDEX
   MEMORY WRITE STRING 244D WORDS TO 77H FROM OB(BA),ABT 66 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   B12=CREAD                 *READ STRING COMMAND INDEX 
   MEMORY READ STRING 240D WORDS FROM 77H TO IB(BA),ABT 66
   B12=CCMP                  *COMPARE COMMAND INDEX 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 52   *CHECK DATA 
   GOTO 32 WHILE(B10+1.LT.6D)   *LOOP 6 DECIMAL DATA PATTERN TIMES
   GOTO 24 WHILE(B11+1.LT.100D)   *LOOP 100 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
40 IF(ES.AND.RM.EQ.0) GOTO 42  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                   *GO TO REPEAT THE MODULE 
42 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT 
* 
52 ERROR 2/10 GOTO 66        *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
60 IF(EC.EQ.6027)GOTO 26     *IF ABNORMAL HARDWARE STATUS 
* 
/---------PROCESS COMMAND ABORT 
* 
62 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
64 GOSUB 62                  *REPORT ERROR
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 40                   *EXIT THE MODULE 
66 IF(ES.AND.SL.NE.0)GOTO 34   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 72   *IF REPEAT CONDITION 
   GOSUB 62                  *REPORT ERRORS 
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 40                 *EXIT THE MODULE 
72 GOSUB 62 
   GOTO 34                      *REPEAT THE MODULE
   END 20                    *END OF THE MODULE 
COMPILE                      *LCI05 - MODE CONVERSIONS
   MODULE LCI06,LCN(300)
***       LCI06 - MODE CONVERSIONS
**
*         LCI06 - MODE CONVERSIONS
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT DATA CAN BE WRITTEN AND READ IN THE 
*         WRITE 6 TO 8,READ 8 TO 6 MODE CONVERSION. 
* 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             20 DECIMAL. 
*         9.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         10. INITIALIZE THE MODE.
*         11. SET PATTERN TO  0000,2525,5252,7777, 1234 AND 4321 OCTAL. 
*         12. RESERVE THE CHANNEL AND OUTPUT THE DATA BLOCK.
*         13. RESERVE THE CHANNEL AND INPUT THE DATA BLOCK IN REVERSE MODE. 
*         14. COMPARE DATA SENT WITH DATA RECIEVED. 
*         15. CHECK REPEAT CONDITION. 
*         16. INCREASE DATA BLOCK BY 20 DECIMAL.
*         17. GO TO STEP 10 TILL LOOP 12 DECIMAL TIMES. 
*         18. GOTO STEP 10 TILL ALL PATTERN ARE USED. 
*         19. REPEAT 50D TIMES. 
*         20. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         21. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         22. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         23. 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.
*         24. EXIT THE MODULE.
* 
* 
* 
/ 
*         ENTRY-LCI06.
* 
*         EXIT-LCI05C.
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI06 - 6TO8 8TO6 CONVERSION TEST 
2  FORMAT LCI06 ERROR(S) = *DECD
3  FORMAT LCI06 EC=*DECD, LC=*DECD
4  FORMAT LCI06 DATA MODE CONVERSION LC=*DECD 
* 
/---------DATA PATTERN FOR THE MODULE 
* 
   DATA(OB(10),CON)0000,2525,5252,7777,1234,4321
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,C68W=71,C86R=64 
   EQUATE CCMP=4,HSTATC=45,IMCX=13
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=06                    *MODULE NUMBER 
22 B11=0                     *INTIALIZE EXTERNAL LOOP COUNT 
   BA=50                     *DATA BUFFER BASE ADDRESS
24 B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------RESERVE THE LCN CHANNEL 
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
* 
/---------MASTER CLEAR DEVICE INTERFACE 
* 
   B12=IMCX                  *DI MC COMMAND INDEX 
   IMC,ABT 64                *INTERFACE MC ON I/O CHANNEL 
* 
/---------PERFORM MODE CONVERSION 
* 
   IF(ES.AND.RM.NE.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 60    *GET LCN HARDWARE STATUS 
26 IF(SB.AND.1775.EQ.0) GOTO 30  *IF HARDWARE STATUS CORRECT
   ERROR 1/3                 *HAREWARE STATUS ERROR 
   GOSUB 62                  *REPORT ERROR
30 IF(EC.NE.0) GOTO 42       *IF ERROR GO TO END THE MODULE 
* 
/---------WRITE/READ MEMORY MODE FOR 6/8 AND 8/6 CONVERSION 
* 
   B10=0
   WC=20
36 B1=WC
40 WC=B1
   WC=WC+2
   DUP 14 BITS OF OB(B10+10) TO OB(BA) FOR WC   *DATA PATTERN 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   B12=C68W                  *WRITE 6/8 CONVERSION COMMAND INDEX
   MEMORY WRITE 6/8 WC WORDS TO 77H FROM OB(BA),ABT 70
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   WC=WC-2
   B12=C86R                  *READ 6/8 CONVERSION COMMAND INDEX 
   MEMORY READ 8/6 WC WORDS FROM 77H TO IB(BA),ABT 70 
   B12=CCMP                  *COMPARE COMMAND INDEX 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 54   *CHECK DATA 
   GOTO 36 WHILE(WC+20.LT.240D)  *LOOP OUTPUT BLOCK 12D TIMES 
   WC=20
   GOTO 36 WHILE (B10+1.LT.6D)   *LOOP 6 DECIMAL DATA PATTERN TIMES 
   GOTO 24 WHILE(B11+1.LT.50D)   *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
42 IF(ES.AND.RM.EQ.0) GOTO 44  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                   *GO TO REPEAT THE MODULE 
44 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT 
* 
54 ERROR 2/11 GOTO 70        *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
60 IF(EC.EQ.6027)GOTO 26     *IF ABNORMAL HARDWARE STATUS 
* 
/---------PROCESS COMMAND ABORT 
* 
62 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
64 GOSUB 62                  *REPORT ERROR
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 42                   *EXIT THE MODULE 
70 IF(ES.AND.SL.NE.0)GOTO 40   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 72   *IF REPEAT CONDITION 
   GOSUB 62                  *REPORT ERRORS 
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 42                  *EXIT THE MODULE
72 GOSUB 62                   *REPORT ERROR 
   GOTO 40                    *REPEAT MODULE
   END 20 
COMPILE                      *LCI06 - MODE CONVERSIONS
   MODULE LCI07,LCN(300)
***       LCI07 - MODE CONVERSIONS
**
*         LCI07 - MODE CONVERSIONS
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT DATA CAN BE WRITTEN AND READ IN THE 
*         WRITE 60 TO 64,READ 64 TO 60 MODE CONVERSION. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             20 DECIMAL. 
*         9.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         10. INITIALIZE THE MODE.
*         12. SET PATTERN TO  0000,2525,5252,7777, 1234 AND 4321 OCTAL. 
*         12. RESERVE THE CHANNEL AND OUTPUT THE DATA BLOCK.
*         13. RESERVE THE CHANNEL AND INPUT THE DATA BLOCK IN REVERSE MODE. 
*         14. COMPARE DATA SENT WITH DATA RECIEVED. 
*         15. SET REPEAT CONDITION. 
*         16. GOTO STEP 10 TILL ALL PATTERN ARE USED. 
*         17. REPEAT 50D TIMES. 
*         18. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 20.
*         19. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         20. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         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-LCI07.
* 
*         EXIT-LCI06. 
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI07 - 60TO64 64TO60 CONVERSION TEST 
2  FORMAT LCI07 ERROR(S) = *DECD
3  FORMAT LCI07 EC=*DECD, LC=*DECD
4  FORMAT LCI07 DATA MODE CONVERSION LC=*DECD 
* 
/---------DATA PATTERN FOR THE MODULE 
* 
   DATA(OB(10),CON)0000,2525,5252,7777,1234,4321
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,C6460R=67 
   EQUATE C6064W=74,CCMP=4,HSTATC=45,IMCX=13
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=07                    *MODULE NUMBER 
22 B11=0                     *INTIALIZE EXTERNAL LOOP COUNT 
   BA=50                     *DATA BUFFER BASE ADDRESS
24 B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------RESERVE THE LCN CHANNEL 
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
* 
/---------MASTER CLEAR DEVICE INTERFACE 
* 
   B12=IMCX                  *DI MC COMMAND INDEX 
   IMC,ABT 64                *INTERFACE MC ON I/O CHANNEL 
* 
/---------PERFORM MODE CONVERSION 
* 
   IF(ES.AND.RM.NE.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 60    *GET LCN HARDWARE STATUS 
26 IF(SB.AND.1775.EQ.0) GOTO 30  *IF HARDWARE STATUS CORRECT
   ERROR 1/3                 *HAREWARE STATUS ERROR 
   GOSUB 62                  *REPORT ERROR
30 IF(EC.NE.0) GOTO 50       *IF ERROR GO TO END THE MODULE 
* 
/---------WRITE/READ MEMORY MODE FOR 60/64 AND 64/60 CONVERSION 
* 
   B10=0
   WC=240D
42 B1=WC
44 WC=B1
   WC=WC+2
   DUP 14 BITS OF OB(B10+10) TO OB(BA) FOR 240D   *DATA PATTERN 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   B12=C6064W                *WRITE 60/64 CONVERSION COMMAND INDEX
   MEMORY WRITE 60/64 240D WORDS TO 77H FROM OB(BA),ABT 72
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 64                *RESERVE THE LCN CHANNEL 
   WC=WC-2
   B12=C6460R                *READ 64/60 CONVERSION COMMAND INDEX 
   MEMORY READ 64/60 240D WORDS FROM 77H TO IB(BA),ABT 72 
   B12=CCMP                  *COMPARE COMMAND INDEX 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 56   *CHECK DATA 
   GOTO 42 WHILE(B10+1.LT.6D)   *LOOP 6 DECIMAL DATA PATTERN TIMES
   GOTO 24 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 22                   *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 
* 
56 ERROR 2/14 GOTO 72        *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
60 IF(EC.EQ.6027)GOTO 26     *IF ABNORMAL HARDWARE STATUS 
* 
/---------PROCESS COMMAND ABORT 
* 
62 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
64 GOSUB 62                  *REPORT ERROR
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 50                     *EXIT THE MODULE 
72 IF(ES.AND.SL.NE.0)GOTO 44   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 74   *IF REPEAT CONDITION 
   GOSUB 62                  *REPORT ERRORS 
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 50                      *EXIT THE MODULE
74 GOSUB 62                   *REPORT ERROR 
   GOTO 44                   *REPEAT MODULE 
   END 20 
COMPILE                      *LCI07 - MODE CONVERSIONS
   MODULE LCI08,LCN(300)
***       LCI08 - MODE CONVERSIONS
**
*         LCI08 - MODE CONVERSIONS
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT DATA CAN BE WRITTEN AND READ IN THE 
*         WRITE 12 TO 8,READ 8 TO 12 MODE CONVERSION. 
* 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             20 DECIMAL. 
*         9.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         10. INITIALIZE THE MODE.
*         11. SET PATTERN TO  0000,2525,5252,7777, 1134 AND 4321 OCTAL. 
*         12. RESERVE THE CHANNEL AND OUTPUT THE DATA BLOCK.
*         13. RESERVE THE CHANNEL AND INPUT THE DATA BLOCK IN REVERSE MODE. 
*         14. COMPARE DATA SENT WITH DATA RECIEVED. 
*         15. SET REPEAT CONDITION. 
*         16. INCREASE DATA BLOCK BY 20 DECIMAL.
*         17. GO TO STEP 10 TILL LOOP 12 DECIMAL TIMES. 
*         18. GOTO STEP 10 TILL ALL PATTERN ARE USED. 
*         19. REPEAT 50D TIMES. 
*         20. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         21. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         22. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         23. 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.
*         24. EXIT THE MODULE.
* 
* 
/ 
*         ENTRY-LCI08.
* 
*         EXIT-LCI06. 
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI08 - 12TO8 8TO12 CONVERSION TEST 
2  FORMAT LCI08 ERROR(S) = *DECD
3  FORMAT LCI08 EC=*DECD, LC=*DECD
4  FORMAT LCI08 DATA MODE CONVERSION LC=*DECD 
* 
/---------DATA PATTERN FOR THE MODULE 
* 
   DATA(OB(30),H)0000,2525,5252,7777,1234,4321
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,C812R=65,CCMP=4,HSTATC=45 
   EQUATE C128W=72,IMCX=13
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
   B13=08D                   *MODULE NUMBER 
22 B11=0                     *INTIALIZE EXTERNAL LOOP COUNT 
   BA=50                     *DATA BUFFER BASE ADDRESS
24 B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------RESERVE THE LCN CHANNEL 
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
* 
/---------MASTER CLEAR DEVICE INTERFACE 
* 
   B12=IMCX                  *DI MC COMMAND INDEX 
   IMC,ABT 62                *INTERFACE MC ON I/O CHANNEL 
* 
/---------PERFORM MODE CONVERSION 
* 
   IF(ES.AND.RM.NE.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 52    *GET LCN HARDWARE STATUS 
26 IF(SB.AND.1775.EQ.0) GOTO 30  *IF HARDWARE STATUS CORRECT
   ERROR 1/3                 *HAREWARE STATUS ERROR 
   GOSUB 62                  *REPORT ERROR
30 IF(EC.NE.0) GOTO 40       *IF ERROR GO TO END THE MODULE 
* 
/---------WRITE/READ MEMORY MODE FOR 12/8 AND 8/12 CONVERSION 
* 
   B10=0
   WC=40
32 B1=WC
34 WC=B1
   WC=WC+2
   DUP 14 BITS OF OB(B10+30) TO OB(BA) FOR WC   *DATA PATTERN 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
   B12=C128W                  *WRITE 12/8 CONVERSION COMMAND INDEX
   MEMORY WRITE 12/8 WC WORDS TO 77H FROM OB(BA),ABT 64 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
   WC=WC-2
   B12=C812R                  *READ 8/12 CONVERSION COMMAND INDEX 
   MEMORY READ 8/12 WC WORDS FROM 77H TO IB(BA),ABT 64
   B12=CCMP                  *COMPARE COMMAND INDEX 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 46   *CHECK DATA 
   GOTO 32 WHILE(WC+40.LT.240D)   *LOOP OUTPUT BLOCK 20D TIMES
   WC=40
   GOTO 32 WHILE (B10+1.LT.6D)   *LOOP 6 DECIMAL DATA PATTERN TIMES 
   GOTO 24 WHILE(B11+1.LT.50D)   *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
40 IF(ES.AND.RM.EQ.0) GOTO 42  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                   *GO TO REPEAT THE MODULE 
42 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT 
* 
46 ERROR 2/12 GOTO 64        *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
52 IF(EC.EQ.6027)GOTO 26     *IF ABNORMAL HARDWARE STATUS 
* 
/---------PROCESS COMMAND ABORT 
* 
60 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
62 GOSUB 60                  *REPORT ERROR
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 40                  *EXIT THE MODULE
64 IF(ES.AND.SL.NE.0)GOTO 34   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 72   *IF REPEAT CONDITION 
   GOSUB 60                  *REPORT ERROR
   ENDSUB                    *RETURN TO MAIN MODULE 
   GOTO 40                   *EXIT THE MODULE 
72 GOSUB 60                  *REPORT ERROR
   GOTO 34                    *REPEAT MODULE
   END 20 
COMPILE                      *LCI08 - MODE CONVERSION 
   MODULE LCI09,LCN(300)
***       LCI09 - MODE CONVERSIONS
**
*         LCI09 - MODE CONVERSIONS
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT DATA CAN BE WRITTEN AND READ IN THE 
*         WRITE 12 TO 16,READ 16 TO 12 MODE CONVERSION. 
* 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  INITIALIZE  THE  COMPARE WORD COUNT IN THE WC REGISTER TO 
*             20 DECIMAL. 
*         9.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*             MESSAGE FOR THE MODULE. 
*         10. INITIALIZE THE MODE.
*         11. SET PATTERN TO  0000,2525,5252,7777, 1134 AND 4321 OCTAL. 
*         12. RESERVE THE CHANNEL AND OUTPUT THE DATA BLOCK.
*         13. RESERVE THE CHANNEL AND INPUT THE DATA BLOCK IN REVERSE MODE. 
*         14. COMPARE DATA SENT WITH DATA RECIEVED. 
*         15. SET REPEAT CONDITION. 
*         16. INCREASE DATA BLOCK BY 20 DECIMAL.
*         17. GO TO STEP 10 TILL LOOP 12 DECIMAL TIMES. 
*         18. GOTO STEP 10 TILL ALL PATTERN ARE USED. 
*         19. REPEAT 50D TIMES. 
*         20. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 22.
*         21. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         22. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         23. 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.
*         24. EXIT THE MODULE.
* 
* 
/ 
*         ENTRY-NONE
* 
*         EXIT-LCI10. 
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI09 - 12TO16 16TO12 CONVERSION TEST 
2  FORMAT LCI09 ERROR(S) = *DECD
3  FORMAT LCI09 EC=*DECD, LC=*DECD
4  FORMAT LCI09 DATA MODE CONVERSION LC=*DECD 
* 
/---------DATA PATTERN FOR THE MODULE 
* 
   DATA(OB(10),CON)0000,2525,5252,7777,1234,4321
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,C1612R=66,CCMP=4,HSTATC=45
   EQUATE CPMC=26,STEPX=51,STARTX=52
   EQUATE C1216W=73,IMCX=13 
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS. 
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING MESSAGE
   B13=09D                   *MODULE NUMBER 
22 B11=0                     *INTIALIZE EXTERNAL LOOP COUNT 
   BA=50                     *DATA BUFFER BASE ADDRESS
24 B10=0                     *INITIALIZE DATA PATTERN INDEX 
* 
/---------RESERVE THE LCN CHANNEL 
* 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
* 
/---------MASTER CLEAR DEVICE INTERFACE 
* 
   B12=IMCX                  *DI MC COMMAND INDEX 
   IMC,ABT 62                *INTERFACE MC ON I/O CHANNEL 
* 
/---------PERFORM MODE CONVERSION 
* 
   IF(ES.AND.RM.NE.0) MSG 4 (B11) TO DISPLAY  *DISPLAY MSG
   B12=HSTATC                *COMMAND=.STATUS CONTROL.
   STATUS HARDWARE,ABT 52    *GET LCN HARDWARE STATUS 
26 IF(SB.AND.1775.EQ.0) GOTO 30  *IF HARDWARE STATUS CORRECT
   ERROR 1/6                 *HAREWARE STATUS ERROR 
   GOSUB 62                  *REPORT ERROR
30 IF(EC.NE.0) GOTO 46       *IF ERROR GO TO END THE MODULE 
* 
/---------WRITE/READ MEMORY MODE FOR 12/16 AND 16/12 CONVERSION 
* 
   B10=0
   WC=20
36 B1=WC
40 WC=B1
   WC=WC+2
   DUP 14 BITS OF OB(B10+10) TO OB(BA) FOR WC   *DATA PATTERN 
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
   B12=C1216W                  *WRITE 12/16 CONVERSION COMMAND INDEX
   MEMORY WRITE 12/16 WC WORDS TO 77H FROM OB(BA),ABT 66
   B12=CRES                  *COMMAND=.RES. 
   RES,ABT 62                *RESERVE THE LCN CHANNEL 
   WC=WC-2
   B12=C1612R                  *READ 16/12 CONVERSION COMMAND INDEX 
   MEMORY READ 16/12 WC WORDS FROM 77H TO IB(BA),ABT 66 
   B12=CCMP                  *COMPARE COMMAND INDEX 
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 52   *CHECK DATA 
   GOTO 36 WHILE(WC+20.LT.240D)     *LOOP OUTPUT BLOCK 20D TIMES
   WC=20
   GOTO 36 WHILE (B10+1.LT.6D)   *LOOP 6 DECIMAL DATA PATTERN TIMES 
   GOTO 24 WHILE(B11+1.LT.50D)   *LOOP 50 DECIMAL TIMES 
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
46 IF(ES.AND.RM.EQ.0) GOTO 50  *IF NO REPEAT MODULE SET 
   B15=B15+1                 *INCREMENT EXT. LOOP COUNT 
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                     *REPEAT MODULE 
50 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                      *EXIT THE MODULE 
* 
/---------PROCESS COMPARE COMMAND ABORT 
* 
52 ERROR 2/13 GOTO 66        *CONTROL MESSAGE DATA ERROR
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
56 RES,ABT 62                  *RESERVE CHANNEL 
   STATUS HARDWARE,ABT 62     *STATUS HARDWARE
   RETURN                      *EXIT SUBROUTINE 
* 
/---------PROCESS COMMAND ABORT 
* 
60 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
62 GOSUB 60                  *REPORT ERROR
   ENDSUB GOTO 46            *RETURN TO MAIN MODULE 
66 IF(ES.AND.SL.NE.0)GOTO 40   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 72   *IF REPEAT CONDITION 
   GOSUB 60                  *REPORT ERRORS 
   ENDSUB GOTO 46            *RETURN TO MAIN MODULE 
72 GOSUB 60                   *REPORT ERROR 
   GOTO 40                    *REPEAT MODULE
   END 20 
COMPILE                      *LCI09 - MODE CONVERSION 
   MODULE LCI10,LCN(300)
***       LCI10 - STEP START MC 
**
*         LCI10 - STEP START MC 
*         ----------------------
* 
* 
*         PURPOSE-
*         VERIFY THAT THE STEP,GO AND MC FUNCTION ACTUALLY
*         DO STOP AND START THE PROCESSOR. TEST THE MC
*         FUNCTION TO INSURE THAT IT STOPS THE PROCESSOR. 
* 
* 
*         METHOD- 
*         1.  DISPLAY AND PRINT THE MODULE TITLE MESSAGE. 
*         2.  SET THE B13 REGISTER EQUAL TO THE MODULE NUMBER.
*         3.  INITIALIZE  THE  EXTERNAL LOOP COUNT REGISTER B11 FOR THE 
*             MODULE. 
*         4.  SET THE BA REGISTER FOR THE DATA BUFFER BASE ADDRESS. 
*         5.  INITIALIZE   THE  PATTERN  INDEX  REGISTER  B10  FOR  THE 
*             MODULE. 
*         6.  RESERVE THE CHANNEL TO THE NAD. 
*         7.  INTERFACE MASTER CLEAR ON I/O CHANNEL.
*         8.  IF  REPEAT  MODULE  IS  NOT SELECTED, DISPLAY THE RUNNING 
*         9.  IN BIT STRING MODE WRITE A 3 WORD LOOP PROGRAM AT 
*             NAD ADDRESS 70H.
*         10. IN 12TO8 MODE WRITE A B870(JUMP TO ADDRESS 70H) IN
*             NAD ADDRESS ZERO. 
*         11. DO A PROCESSOR MC. AND CHECK THAT THE PROC. IS STOOPED. 
*         12. START THE PROCESSOR AND CHECK THAT THE NAD IS EXECUTING 
*             THE LOOP PROGRAM. 
*         13. STEP THE PROCESSOR AND CHECK THE PROC. IS STOPPED.
*         14. START THE PROC. AND GOTO STEP 11 FOR 100 DECIMAL TIMES. 
*             MESSAGE FOR THE MODULE. 
*         15. IF REPEAT MODULE IS NOT SELECTED, CONTINUE AT STEP 20.
*         16. INCREMENT THE MODULE LOOP COUNT IN THE  B15  REGISTER  BY 
*             ONE.
*         17. DISPLAY THE REPEAT MODULE MESSAGE AND GO TO STEP 3. 
*         18. 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.
*         19. EXIT THE MODULE.
* 
* 
* 
/ 
*         ENTRY-LCI10.
* 
*         EXIT-LCI11. 
* 
*         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- 
*         OB(10-22) - DATA PATTERN
*         IB(40-290) - INPUT  DATA ECHOED THROUGH THE MEMORY READ 
*         OB(40-290) - OUTPUT DATA ECHOED THROUGH THE MEMORY WRITE
*         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 LCI10 - STEP.START.MC. CHECK
2  FORMAT LCI10 ERROR(S) = *DECD
3  FORMAT LCI10 EC=*DECD, LC=*DECD
4  FORMAT LCI10 STEP.START.MC. LC=*DECD 
* 
/---------DATA FOR THE MODULE 
* 
   DATA (OB(10),H)B870
   DATA (OB(20),CON)2017,6426,0013,7402 
* 
/---------COMMAND EQUATES FOR THE MODULE
* 
   EQUATE CRES=36,CWRITE=70,HSTATC=45 
   EQUATE IMCX=13,CPMC=26,STEPX=51,STARTX=52
* 
/---------DISPLAY RUNNING MESSAGE AND INITIALIZE REGISTERS
* 
20 MSG 1 TO DISPLAY, PRINT   *DISPLAY MODULE RUNNING
   B13=10D       *MODULE NUMBER 
22 B11=0         *INITIALIZE EXT LOOP COUNTER 
   BA=50         *INITIALIZE DATA BASE ADDRESS
24 B10=0         *INITIALIZE PATTERN INDEX
* 
/---------MASTER CLEAR THE DEVICE INTERFACE 
* 
   B12=CRES                  *RESERVE THE CHANNEL 
   RES,ABT 62                *RESERVE CHANNEL 
   B12=IMCX                  *INTERFACE MC COMMAND
   IMC,ABT 62                *MASTER CLEAR INTERFACE
* 
/---------WRITE A LOOP PROGRAM IN THE NAD 
* 
   B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62                *RESERVE THE CHANNEL 
   B12=CWRITE                *WRITE COMMAND 
   MEMORY WRITE STRING 4D WORDS TO 70H FROM OB(20), ABT 62
   B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62                *RESERVE CHANNEL 
   MEMORY WRITE 12/8 2D WORDS TO 0H FROM OB(10), ABT 62 
* 
/---------CHECK FUNCTIONS STEP,START AND PMC
* 
26 B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62 
   B12=CPMC                  *PMC COMMAND 
   PMC,ABT 62                *DO PROC. MASTER CLEAR 
   GOSUB 56                  *GO TO INPUT STATUS
   IF(SB.AND.2.NE.0) GOTO 32    *IF PROC. STOPPED 
   ERROR 1/17                *ERROR COMMAND 
   GOTO 66                   *PROCESS ERROR 
32 B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62                *RESERVE CHANNEL 
   B12=STARTX                *START COMMAND 
   START ABT 62              *START THE PROCESSOR 
   GOSUB 56                  *INPUT STATUS
   IF(SB.AND.2.EQ.0) GOTO 34  *IF STATUS CORRECT
   ERROR 1/16                *ERROR COMMAND 
   GOTO 66                   *PROCESS ERROR 
34 B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62                *RESERVE CHANNEL 
   B12=STEPX                 *STEP COMMAND
   STEP ABT 62               *STEP THE PROCESSOR
   GOSUB 56                  *GO TO INPUT THE STATUS
   IF(SB.AND.2.NE.0) GOTO 36  * IF STATUS CORRECT 
   ERROR 1/1                 *ERROR COMMAND 
   GOTO 66                   *PROCESS THE ERROR 
36 B12=CRES                  *RESERVE COMMAND 
   RES,ABT 62                *RESERVE CHANNEL 
   B12=STARTX                *START COMMAND 
   START ABT 62              *START THE PROCESSOR 
   GOTO 26 WHILE(B11+1.LT.100D)  *LOOP 100 TIMES
* 
/---------PROCESS REPEAT MODULE AND EXIT MODULE.
* 
46 IF(ES.AND.RM.EQ.0) GOTO 50  *IF NO REPEAT MODULE SET 
   B15=B15+1                  *INCREMENT EXT. LOOP COUNT
   MSG 3(B14,B15) TO DISPLAY  *DISPLAY ERROR AND LOOP COUNTS
   GOTO 22                     *REPEAT MODULE 
50 IF(B14.NE.0) MSG 2 (B14) TO DAYFILE,DISPLAY,PRINT
   EXIT                       *EXIT THE MODULE
* 
/---------PROCESS ABORT ON STATUS HARDWARE CONTROL COMMAND
* 
56 RES,ABT 62                  *RESERVE CHANNEL 
   STATUS HARDWARE,ABT 62      *STATUS HARDWARE 
   RETURN                      *EXIT SUBROUTINE 
* 
/---------PROCESS COMMAND ABORT 
* 
60 B14=B14+1                 *INCREMENT ERROR COUNT 
   IB(500)=SB                *SAVE HARDWARE 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 COMMAND ABORTS. 
* 
62 GOSUB 60                  *REPORT ERROR
   ENDSUB GOTO 46            *RETURN TO MAIN MODULE 
66 IF(ES.AND.SL.NE.0)GOTO 26   *IF SCOPING LOOP 
   IF(ES.AND.RC.NE.0)GOTO 72   *IF REPEAT CONDITION 
   GOSUB 60                  *REPORT ERRORS 
   ENDSUB GOTO 46            *RETURN TO MAIN MODULE 
72 GOSUB 60                    *REPORT ERROR
   GOTO 26                     *REPEAT MODULE 
   END 20 
COMPILE                      *LCI10 - STEP GO MC CHECK
   MODULE LCI11,LCN(300)
***       LCI11 - ADDRESSING TEST 
**
*         LCI11 - ADDRESSING TEST 
*         ------------------------
* 
* 
*         PURPOSE-
*         TEST THE ADDRESSING IN THE LOCAL NAD MEMORY.
* 
* 
*         METHOD- 
*         1.  DISPLAY THE  RUNNING  MESSAGE  IF  SCOPING  LOOP  IS  NOT 
*             SELECTED, OR THE REPEAT CONDITION MESSAGE IF SCOPING LOOP 
*             IS SELECTED.
*         2.  RESERVE THE CHANNEL TO THE LOCAL NAD. 
*         3.  MASTER CLEAR THE PROCESSOR IN THE LOCAL NAD.
*         4.  WRITE 0001  HEXADECIMAL  INTO ADDRESS 0020 HEXADECIMAL IN 
*             THE LOCAL NAD TO PLACE THE TCI IN GO TO HANG MODE.
*         5.  IF  THE NUMBER OF 40 HEXADECIMAL WORDS BLOCK WRITTEN INTO 
*             THE LOCAL NAD MEMORY SO FAR EQUALS 0, OR  200  OCTAL,  OR 
*             400  OCTAL,  OR 600 OCTAL, DISPLAY THE RUNNING MESSAGE IF 
*             SCOPING LOOP IS NOT  SELECTED  OR  THE  REPEAT  CONDITION 
*             MESSAGE  IF  SCOPING  LOOP  IS  SELECTED  AND RESERVE THE 
*             CHANNEL TO THE LOCAL NAD. 
*         6.  GENERATE   THE   ADDRESSING   DATA  PATTERN  FOR  THE  40 
*             HEXADECIMAL MEMORY LOCATIONS TO BE WRITTEN IN  THE  LOCAL 
*             NAD.
*         7.  IF THE ADDRESSING DATA  PATTERN  GENERATED  CONTAINS  THE 
*             ADDRESSING  DATA  PATTERN  TO  BE  WRITTEN INTO ADDRESSES 
*             0030-003F  HEXADECIMAL,  CHANGE  THE  CONTENTS   OF   THE 
*             LOCATIONS  FOR  ADDRESSES  0030-003F  HEXADECIMAL  TO ALL 
*             ZEROS IN THE DATA BUFFER. 
*         8.  WRITE THE ADDRESSING DATA PATTERN IN THE DATA BUFFER INTO 
*             THE 40 HEXADECIMAL MEMORY LOCATIONS IN THE LOCAL NAD. 
*         9.  REPEAT  STEPS  5  THROUGH  8  UNTIL  THE ENTIRE MEMORY IS 
*             WRITTEN IN THE LOCAL NAD. 
*         10. IF THE NUMBER OF 40 HEXADECIMAL WORDS BLOCK READ FROM THE 
*             LOCAL NAD MEMORY SO FAR EQUALS 0, OR 200  OCTAL,  OR  400 
*             OCTAL,  OR  600  OCTAL,  DISPLAY  THE  RUNNING MESSAGE IF 
*             SCOPING LOOP IS NOT  SELECTED  OR  THE  REPEAT  CONDITION 
*             MESSAGE  IF  SCOPING  LOOP  IS  SELECTED  AND RESERVE THE 
*             CHANNEL TO THE LOCAL NAD. 
*         11. GENERATE   THE   ADDRESSING   DATA  PATTERN  FOR  THE  40 
*             HEXADECIMAL MEMORY LOCATIONS TO BE READ  FROM  THE  LOCAL 
*             NAD.
*         12. READ A BUFFER OF DATA FROM THE  LOCAL  NAD  MEMORY.   THE 
*             INITIAL  READ WILL START AT ADDRESS ZERO IN THE LOCAL NAD 
*             MEMORY. 
*         13. IF  A  MEMORY  PARITY ERROR CAUSES THE COMMAND THAT READS 
*             THE DATA FROM THE NAD  TO  ABORT,  REPORT  A  NAD  MEMORY 
*             PARITY ERROR IF SCOPING LOOP IS NOT SELECTED. 
*         14. IF THE BUFFER OF  DATA  READ  CONTAINS  THE  CONTENTS  OF 
*             ADDRESSES  0030-003F  HEXADECIMAL  IN THE NAD, CHANGE THE 
*             DATA FOR THESE ADDRESSES TO  THE  EXPECTED  CONTENTS  FOR 
*             THESE  ADDRESSES  IN  THE  COMPARE DATA BUFFER (ADDRESSES 
*             0030-003F ARE NOT TESTED).
*         15. CHECK THE ADDRESSING DATA PATTERN READ FROM THE LOCAL NAD 
*             MEMORY. 
*         16. REPEAT  STEPS  10  THROUGH  14 UNTIL ALL LOCATIONS IN THE 
*             LOCAL NAD MEMORY HAVE BEEN READ AND CHECKED.
*         17. CHECK THE HARDWARE STATUS 
*         18. IF REPEAT  MODULE IS SELECTED, REPEAT STEPS 1 THROUGH 17. 
*         19. IF ANY ERRORS WERE DETECTED DURING THE EXECUTION  OF  THE 
*             MODULE,  SEND  A  MESSAGE INDICATING THE NUMBER OF ERRORS 
*             DETECTED BY THE MODULE TO DISPLAY, PRINT, AND DAYFILE.
*         20. EXIT THE MODULE.
/ 
*         ENTRY-
*         B5 REGISTER CONTAINS 100 OCTAL. 
*         B10  REGISTER  CONTAINS  THE  NUMBER  OF  40 HEXADECIMAL WORD 
*            BLOCKS REQUIRED TO WRITE OR READ  THE  ENTIRE  NAD  MEMORY 
*            BEING TESTED.
*         B13 REGISTER CONTAINS THE MODULE NUMBER.
* 
*         EXIT- 
*         THE  LOCAL  NAD  PROCESSOR  MASTER CLEARED AND THE NAD COMMON 
*            CONTROLWARE DESTROYED. 
* 
*         SUBMODULES CALLED-
*         LCI98J - PROCESS PRODUCT  AND MODULE DETECTED OVERLAY ERRORS. 
*         REGISTERS USED- 
*         B0  - TEMPORARY STORAGE.
*         B7  - UPPER 8 BITS OF THE LOCAL NAD MEMORY ADDRESS. 
*         B8  - LOWER 8 BITS OF THE LOCAL NAD MEMORY ADDRESS. 
*         B9  - NAD MEMORY BUFFER COUNTER.
*         B11 - DATA ERROR BUFFER POINTER.
*         B12 - NUMBER OF PRODUCT OVERLAY COMMAND ABORTED.
*         B14 - MODULE ERROR COUNT. 
*         B15 - MODULE LOOP COUNT.
*         BA  - DATA BUFFER BASE ADDRESS. 
*         EA  - STANDARD USAGE. 
*         EC  - STANDARD USAGE. 
*         EM  - STANDARD USAGE. 
*         ES  - STANDARD USAGE. 
*         WC  - WORD COUNT FOR COMMANDS.
* 
*         BUFFERS USED- 
*         IB(60)  MAX ERROR COUNT 
*         IB(100) TO IB(301) - INPUT DATA BUFFER. 
*         IB(310) TO IB(407) - ERROR BUFFER FOR DATA ERRORS.
*         OB(100) TO OB(277) - OUTPUT DATA BUFFER.
* 
* 
0  FORMAT LCI11 - ADDRESSING TEST 
1  FORMAT LCI11 ERROR(S) = *DECD
2  FORMAT LCI11 EC=*DECD, LC=*DECD
* 
/---------EQUATES FOR THE MODULE. 
* 
   EQUATE CCMP=2, CMEMRD=5, CMEMWR=6, CPMC=7, CRES=10B
* 
/---------DISPLAY MODULE RUNNING MESSAGE AND INITIALIZE.
* 
20 MSG 0 TO DISPLAY,PRINT    *DISPLAY RUNNING MESSAGE 
22 IB(60)=20B 
   B5=100                    *B5 REGISTER EQUALS 100
   B10=P1                    *BUILD MEMORY BLOCK COUNT
   IF(B10.EQ.0)B10=3         *IF DEFAULT MEMORY PARAMETER 
   B10=B10+1.LS.7 
   B13=11D                    *MODULE NUMBER
   B2=0                      *INITIALIZE INT COUNTER
* 
/---------RESERVE LCN CH. AND MASTER CLEAR THE PROCESSOR. 
* 
32 GOSUB 66                  *RESERVE LCN CHANNEL 
   B12=CPMC                  *PMC COMMAND NUMBER
   PMC,ABT 74                *MASTER CLEAR THE NAD
* 
/---------PLACE THE TCI IN GO TO HANG MODE. 
* 
   OB=0                      *GENERATE DATA FOR 0001 HEX. 
   OB(1)=1
   B12=CMEMWR                *MEMORY WRITE COMMAND NUMBER 
   MEMORY WR 12/8 2 WDS TO 20H FROM OB,ABT 74  *WRITE 
* 
/---------INITIALIZE REGISTERS FOR WRITING NAD MEMORY.
* 
   B9=0                      *INITIALIZE BUFFER COUNTER 
* 
/---------WRITE THE DATA PATTERN INTO NAD MEMORY. 
* 
34 GOSUB 54                  *GENERATE DATA PATTERN 
   IF(B9.EQ.0)DUP 0 TO OB(240) FOR 40            *CLEAR UDI INTERFACE 
   B12=CMEMWR                *MEMORY WRITE COMMAND NUMBER 
   MEMORY WR 12/8 WC WDS TO B7/B8 FROM OB(100),ABT 74 
   GOTO 34 WHILE (B9+1.LT.B10)  *LOOP TO WRITE ALL OF MEMORY
* 
/---------READ AND CHECK ALL LOCATIONS IN NAD MEMORY. 
* 
   B11=0                     *INITIALIZE ERROR INDEX
   B9=0                      *INITIALIZE BUFFER COUNTER 
36 GOSUB 54                  *GENERATE DATA PATTERN 
   IF(B9+1.EQ.B10) WC=176B   *RESET WORD COUNT IF LAST BUF. 
   B12=CMEMRD                *MEMORY READ COMMAND NUMBER
   MEMORY RD 8/12 WC WDS FROM B7/B8 TO IB(BA),ABT 72  *READ 
40 IF(B9.EQ.0) COPY OB(240) TO IB(240) FOR 40  *ADD. 30-3F
   IF(B9.EQ.1) COPY OB(BA) TO IB(BA) FOR 2
42 B12=CCMP                  *COMPARE COMMAND NUMBER
   COMPARE OB(BA) TO IB(BA) FOR WC,ABT 70  *CHECK DATA READ 
   GOTO 36 WHILE (B9+1.LT.B10)  *LOOP TO READ ALL OF MEMORY 
* 
/---------DISPLAY ANY REMAINING DATA ERRORS.
* 
44 IF(B11.NE.0) ERROR 0/110 GOSUB 64  *PROCESS DATA ERRORS
   GOTO 76                       *GO TO CHECK FOR RM
* 
/---------GENERATE ADDRESSING DATA PATTERN. 
* 
54 B7=B9.RS.2                *SET NAD ADDRESS 
   B8=B9.AND.3.LS.6 
   B0=0                      *INITIALIZE COUNTER
56 OB(B0+100)=B7             *UPPER 8 BITS OF ADDRESS 
   OB(B0+101)=B0.RS.1+B8     *LOWER 8 BITS OF ADDRESS 
   GOTO 56 WHILE (B0+2.LT.200)  *LOOP TO DO 40 ADDRESSES
   WC=200                    *INITIALIZE WORD COUNT 
   BA=100                    *INIT. BASE ADDRESS OF BUFFER
   IF(B9.AND.177.EQ.0) GOTO 66  *RESERVE LCN CHANNEL
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------REPORT ERRORS AND CHECK ERROR COUNT.
* 
62 IF(ES.AND.SL.EQ.0) CALL 98J  *IF NO SCOPING LOOP 
   IF(B14.GE.IB(60))ENDSUB GOTO 76  *IF ERROR CNT EXCEEDED
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------REPORT DATA ERRORS IF NOT SCOPING.
* 
64 GOSUB 62                  *PROCESS ERRORS/ERROR COUNT
* 
/---------POST RUNNING MESSAGE AND RESERVE LCN CHANNEL. 
* 
66 IF(ES.AND.SL.EQ.0) MSG 0 (B6) TO DISPLAY 
   IF(ES.AND.SL.NE.0) MSG 2 (B14,B15) TO DISPLAY
   B12=CRES                  *RES COMMAND NUMBER
   RES,ABT 74                *RESERVE LCN CHANNEL 
   RETURN                    *EXIT THE SUBROUTINE 
* 
/---------PROCESS ABORT ON COMPARE ERROR. 
* 
70 GOTO 44 WHILE (B14+1.GE.IB(60))  *IF ERROR COUNT EXCEEDED
   B0=WC.AND.7776+BA         *BUILD BUFFER INDEX
   BA=B0+2                   *RESET BUFFER INDEX
   WC=300-BA                 *RESET COMPARE WORD COUNT
   IF(B9+1.EQ.B10) WC=WC-2   *RESET WORD COUNT IF LAST BUF. 
   IF(ES.AND.SL.NE.0) GOTO 42  *IF SCOPING LOOP ON
   IB(B11+310)=B9            *SAVE BUFFER COUNTER 
   IB(B11+311)=B0-B5         *SAVE BUFFER INDEX 
   COPY OB(B0) TO IB(B11+312) FOR 2  *SAVE EXPECTED DATA
   COPY IB(B0) TO IB(B11+314) FOR 2  *SAVE ACTUAL DATA
   B11=B11+10                *UPDATE BUFFER POINTER 
   IF(B11.EQ.B5) ERROR 0/110 GOSUB 64  *REPORT DATA ERRORS
   GOTO 42                   *RETURN TO COMPLETE DATA CHECK 
* 
/---------PROCESS ABORT ON MEMORY READ COMMAND. 
* 
72 IF(EC.NE.6027B) GOTO 74   *IF NOT ABNORMAL GENERAL STATUS
   IF(SB.AND.10.EQ.0) GOTO 74  *IF NOT MEMORY PARITY ERROR
   B14=B14+1                 *UPDATE ERROR COUNT
   ERROR 1/11 GOSUB 64       *PROCESS MEMORY PARITY ERROR 
   GOTO 40                   *GO TO CHECK DATA READ 
* 
/---------PROCESS COMMAND ABORTS IN THE MODULE. 
* 
74 B14=B14+1                 *UPDATE ERROR COUNT
   GOSUB 62                  *PROCESS ERRORS/ERROR COUNT
   ENDSUB GOTO 44            *GO TO END OF THE CONDITION
* 
/---------PROCESS REPEAT MODULE.
* 
76 B15=B15+1
   IF(B14.GE.IB(60))IB(60)=B14+20B  *INCREASE MAX ERROR COUNT 
   IF(ES.AND.RM.NE.0)GOTO 22  *IF REPEAT MODULE SELECTED
   IF(B14.NE.0)MSG 1 (B14) TO DISPLAY,PRINT,DAYFILE 
   GOTO 32 WHILE(B2+1.NE.2)           *LOOP 2 TIMES 
   END 20                    *END OF THE MODULE 
COMPILE                      *LCI11 - ADDRESSING TEST 
   MODULE LCI98A,LCN(300) 
***       LCI98A - DISPLAY TEST AND MODULE TITLES 
**
*         LCI98A - DISPLAY TEST AND MODULE TITLES 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT THE TITLE LINE OF THE LCI 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 LCI 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 LCI98D.
*         5.  IF THE COMMAND NUMBER IN THE B13 REGISTER IS GREATER THAT 
*             24 OCTAL, EXIT TO MODULE LCI98C.
*         6.  EXIT TO MODULE LCI98B.
* 
/ 
*         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 LCI98B IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS THAN 25 OCTAL.
*         EXIT TO MODULE LCI98C IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS BETWEEN 25 AND 52 OCTAL.
*         EXIT TO MODULE LCI98B IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS GREATER THAN 51 OCTAL. 
* 
*         SUBMODULES CALLED-
*         LCI98B - DISPLAY COMMANDS 00-24 ABORTED.
*         LCI98C - DISPLAY COMMANDS 25-51 ABORTED.
*         LCI98D - DISPLAY COMMANDS 52-62 ABORTED.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT LCI - 170 DEVICE INTERFACE TEST 
1  FORMAT LCI01 - DEVICE SWITCH ENABLED TEST
2  FORMAT LCI02 - LOCAL NAD STATUS TEST 
3  FORMAT LCI03 - ECHO CHECK TEST 
4  FORMAT LCI04 - FUNCTION CHECK TEST 
5  FORMAT LCI05 - BIT STRING CONVERSION TEST
6  FORMAT LCI06 - 6TO8 8TO6 CONVERSION TEST 
7  FORMAT LCI07 - 60TO64 64TO60 CONVERSION TEST 
10 FORMAT LCI08 - 8TO12 12TO8 CONVERSION TEST 
11 FORMAT LCI09 - 12TO16 16TO12 CONVERSION TEST 
12 FORMAT LCI10 - STEP.START.MC. TEST 
13 FORMAT LCI11 - ADDRESSING TEST 
* 
/---------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                      *LCI98A - DISPLAY TEST AND MODULE TITLES 
   MODULE LCI98B,LCN(300) 
***       LCI98B - DISPLAY COMMANDS 00-24 ABORTED 
**
*         LCI98B - 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 LCI98E.
* 
/ 
*         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  LCI98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98E - 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                      *LCI98B - DISPLAY COMMANDS 00-24 ABORTED 
   MODULE LCI98C,LCN(300) 
***       LCI98C - DISPLAY COMMANDS 25-51 ABORTED 
**
*         LCI98C - 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 LCI98E.
* 
/ 
*         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  LCI98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98E - 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                      *LCI98C - DISPLAY COMMANDS 25-51 ABORTED 
   MODULE LCI98D,LCN(300) 
***       LCI98D - DISPLAY COMMANDS 52-74 ABORTED 
**
*         LCI98D - DISPLAY COMMANDS 52-74 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 LCI98E.
* 
/ 
*         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  LCI98E  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98E - 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
11 FORMAT ABORTED ON .READ BIT STRING. COMMAND
12 FORMAT ABORTED ON .READ 8 TO 6 MODE. COMMAND 
13 FORMAT ABORTED ON .READ 8 TO 12 MODE. COMMAND
14 FORMAT ABORTED ON .READ 16 TO 12 MODE. COMMAND 
15 FORMAT ABORTED ON .READ 64 TO 60 MODE. COMMAND 
16 FORMAT ABORTED ON .WRITE BIT STRING. COMMAND 
17 FORMAT ABORTED ON .WRITE 6 TO 8 MODE. COMMAND
20 FORMAT ABORTED ON .WRITE 12 TO 8 MODE. COMMAND 
21 FORMAT ABORTED ON .WRITE 12 TO 16 MODE. COMMAND
22 FORMAT ABORTED ON .WRITE 60 TO 64 MODE. COMMAND
23 FORMAT ABORTED ON .ADDRESS AND LENGTH. COMMAND 
24 FORMAT ABORTED ON .PARITY ERROR. 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                      *LCI98D - DISPLAY COMMANDS 52-62 ABORTED 
   MODULE LCI98E,LCN(300) 
***       LCI98E - REPORT DRIVER ERRORS 
**
*         LCI98E - 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 LCI98F. 
*         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 LCI98I.
* 
/ 
*         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  LCI98F 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-
*         LCI98F - REPORT FORMAT 0 MODULE ERRORS. 
*         LCI98I - 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. 
   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                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98E - REPORT DRIVER ERRORS 
   MODULE LCI98F,LCN(300) 
***       LCI98F - REPORT FORMAT 0 MODULE ERRORS
**
*         LCI98F - 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 
*             LCI98G. 
*         5.  IF THE B7  REGISTER  IS  CONTAINS  TWO,  EXIT  TO  MODULE 
*             LCI98H. 
*         6.  IF THE B7 REGISTER IS  CONTAINS  THREE,  EXIT  TO  MODULE 
*             LCI98H. 
*         7.  IF THE B7 REGISTER  IS  CONTAINS  FOUR,  EXIT  TO  MODULE 
*             LCI98H. 
*         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 LCI98I.
* 
/ 
*         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 LCI98G IF THE ERROR FORMAT IS A FORMAT 1 TYPE 
*            ERROR. 
*         EXIT  TO  MODULE LCI98H 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-
*         LCI98G - REPORT FORMAT 1 MODULE ERRORS. 
*         LCI98H - REPORT FORMAT 2-5 MODULE ERRORS. 
*         LCI98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  LCI    E0001 L*OC  STEP DID NOT STOP PROC. ERROR 
1  FORMAT  LCI    E0002 L*OC  NAD MEMORY PARITY ERROR 
2  FORMAT  LCI    E0003 L*OC  NAD MEMORY DATA ERROR 
3  FORMAT  LCI    E0004 L*OC  ECHO CHECK COMPARE ERROR
4  FORMAT  LCI    E0005 L*OC  CONTROLWARE STATUS ERROR
5  FORMAT  LCI    E0006 L*OC  HARDWARE STATUS ERROR 
6  FORMAT  LCI    E0007 L*OC  COMPARE ERROR 
7  FORMAT  LCI    E0010 L*OC  MODE BIT STRING ERROR 
10 FORMAT  LCI    E0011 L*OC  MODE 6TO8/8TO6 ERROR
11 FORMAT  LCI    E0012 L*OC  MODE 12TO8/8TO12 ERROR
12 FORMAT  LCI    E0013 L*OC  MODE 12TO16/16TO12 ERROR
13 FORMAT  LCI    E0014 L*OC  MODE 60TO64/64TO60 ERROR
14 FORMAT  LCI    E0015 L*OC  FUNCTION CHECK ERROR
15 FORMAT  LCI    E0016 L*OC  PROCESSOR DID NOT GO ERROR
16 FORMAT  LCI    E0017 L*OC  MC DID NOT STOP PROC. ERROR 
17 FORMAT  LCI    E0020 L*OC  TRUNK LOOPBACK COMPARE ERROR
20 FORMAT  LCI    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                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98F - REPORT FORMAT 0 MODULE ERRORS
   MODULE LCI98G,LCN(300) 
***       LCI98G - REPORT FORMAT 1 MODULE ERRORS
**
*         LCI98G - REPORT FORMAT 1 MODULE ERRORS
*         --------------------------------------
* 
* 
*         PURPOSE-
*         INSERT THE DESCRIPTION OF THE FAILING BIT 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 LCI98I.
* 
/ 
*         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-
*         LCI98I - 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.5) 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                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98G - REPORT FORMAT 1 MODULE ERRORS
   MODULE LCI98H,LCN(300) 
***       LCI98H - REPORT FORMAT 2-5 MODULE ERRORS
**
*         LCI98H - 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 LCI98I.
* 
/ 
*         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-
*         LCI98I - 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.
10 FORMAT  NAD ADDRESS = *OCTB
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.
   B3=B3+1
   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
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98H - REPORT FORMAT 2-5 MODULE ERRORS
   MODULE LCI98I,LCN(300) 
***       LCI98I - PROCESS TEST TERMINATION 
**
*         LCI98I - 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 // LCI*D LCI 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                      *LCI98I - PROCESS TEST TERMINATION 
   MODULE LCI98J,LCN(300) 
***       LCI98J - POST DRIVER ERROR DISPLAY
**
*         LCI98J - POST DRIVER ERROR DISPLAY
*         ----------------------------------
* 
* 
*         PURPOSE-
*         START  BUILDING  THE  ERROR DISPLAY BY PLACING THE TEST TITLE 
*         AND MODULE TITLE LINES IN THE ERROR DISPLAY,  AND  BUILD  THE 
*         ERROR DISPLAY FOR DRIVER DETECTED ERRORS. 
* 
* 
*         METHOD- 
*         1.  MOVE THE  TEST  TITLE AND MODULE TITLE LINES TO THE ERROR 
*             DISPLAY BEING BUILT.
*         2.  SET THE B3 REGISTER TO 4 IF THE KL DISPLAY IS BEING USED, 
*             OR 3 IF THE TERMINAL IS BEING USED. 
*         3.  EXIT TO  MODULE LCI98K IF THE ERROR TO BE REPORTED IS NOT 
*             A DRIVER DETECTED ERROR.
*         4.  MOVE THE  LAST FUNCTION LINE, HARDWARE/CONTROLWARE STATUS 
*             LINE, AND ERROR MESSAGE LINE TO THE ERROR DISPLAY.
*         5.  EXIT TO MODULE LCI98C.
/ 
*         ENTRY-
*         B7 REGISTER CONTAINS THE UPPER 8 BITS OF THE NAD ADDRESS IF A 
*            PARITY ERROR IS TO BE REPORTED.
*         B9 REGISTER CONTAINS THE NUMBER OF THE BUFFER BEING READ FROM 
*            THE NAD IF A PARITY ERROR IS TO BE REPORTED. 
*         B11 REGISTER CONTAINS THE CURRENT POINTER TO THE ERROR BUFFER 
*            IF DATA ERRORS ARE TO BE REPORTED. 
*         B12 REGISTER CONTAINS THE NUMBER FOR THE MALET COMMAND  BEING 
*            EXECUTED.
*         B13 REGISTER CONTAINS THE CALLING MODULE NUMBER.
*         EA REGISTER CONTAINS THE ERROR LINE ADDRESS.
*         EC REGISTER CONTAINS THE ERROR CODE.
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.
*         LF REGISTER CONTAINS THE LAST FUNCTION CODE SENT TO THE  NAD. 
*         WT REGISTER CONTAINS  THE  NUMBER  OF WORDS TRANSFERED DURING 
*            THE LAST DATA TRANSFER WITH THE NAD. 
*         IB(310) TO  IB(307)  CONTAINS  THE ERROR INFORMATION FOR DATA 
*            ERROR TO BE REPORTED.
*         SB(0) CONTAINS THE NAD HARDWARE STATUS. 
*         SB(1) CONTAINS THE NAD COMMON CONTROLWARE STATUS. 
* 
*         EXIT- 
*         IF EXIT TO MODULE LCI98K- 
*         B3 REGISTER CONTAINS THE NUMBER OF THE LINE TO SEND THE  NEXT 
*            MESSAGE TO IN THE ERROR DISPLAY. 
*         B7 REGISTER CONTAINS THE UPPER 8 BITS OF THE NAD ADDRESS IF A 
*            PARITY ERROR IS TO BE REPORTED.
*         B9 REGISTER CONTAINS THE NUMBER OF THE BUFFER BEING READ FROM 
*            THE NAD IF A PARITY ERROR IS TO BE REPORTED. 
*         B11 REGISTER CONTAINS THE CURRENT POINTER TO THE ERROR BUFFER 
*            IF DATA ERRORS ARE TO BE REPORTED. 
*         B12 REGISTER CONTAINS THE NUMBER FOR THE MALET COMMAND  BEING 
*            EXECUTED.
*         B13 REGISTER CONTAINS THE CALLING MODULE NUMBER.
*         EA REGISTER CONTAINS THE ERROR LINE ADDRESS.
*         EC REGISTER CONTAINS THE ERROR CODE.
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.
*         IB(310) TO IB(307) CONTAINS THE ERROR  INFORMATION  FOR  DATA 
*            ERROR TO BE REPORTED.
*         IF EXIT TO MODULE LCI98C- 
*         B3 REGISTER CONTAINS  THE NUMBER OF THE LINE TO SEND THE NEXT 
*            MESSAGE TO IN THE ERROR DISPLAY. 
*         B12 REGISTER  CONTAINS THE NUMBER FOR THE MALET COMMAND BEING 
*            EXECUTED.
*         B13 REGISTER CONTAINS THE CALLING MODULE NUMBER.
* 
*         REGISTERS USED-NONE.
* 
*         SUBMODULES REFERENCED-
*         LCI98K - POST DATA ERROR DISPLAY. 
*         LCI98C - POST COMMAND ABORTED ERROR DISPLAY.
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT LCI - DEVICE INTERFACE TEST 
7  FORMAT LCI06 - ADDRESSING TEST 
20 FORMAT  LAST FUNCTION = *OCTB  WT = *OCTB
21 FORMAT  H/W STATUS = *OCTB  C/W STATUS = *OCTB 
* 
/---------BUILD THE ERROR DISPLAY.
* 
30 MSG 0 TO LINE 0              *TEST TITLE MESSAGE 
   MSG B13 TO LINE 1            *MODULE TITLE MESSAGE 
   B3=4                         *KL DISPLAY LINE NUMBER 
   IF(ES.AND.TM.NE.0) B3=3      *TERMINAL LINE NUMBER 
   IF(EC.LT.4000) EXIT TO 98K   *IF NOT DRIVER ERROR
   MSG 20 (LF,WT) TO LINE B3    *LAST FUNCTION MESSAGE
   B3=B3+1                      *UPDATE DISPLAY LINE NUMBER 
   MSG 21 (SB,SB(1))TO LINE B3  *H/C STATUS MESSAGE 
   B3=B3+1                      *UPDATE DISPLAY LINE NUMBER 
   MSG EM TO LINE B3            *ERROR DESCRIPTION MESSAGE
   B3=B3+1                      *UPDATE DISPLAY LINE NUMBER 
   EXIT TO 98L               *GO TO POST THE COMMAND ABORTED
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98J - POST DRIVER ERROR DISPLAY
   MODULE LCI98K,LCN(300) 
***       LCI98K - POST DATA ERROR DISPLAY
**
*         LCI98K - POST DATA ERROR DISPLAY
*         --------------------------------
* 
* 
*         PURPOSE-
*         BUILD  THE  NAD  PARITY  ERROR DISPLAY AND THE NAD DATA ERROR 
*         DISPLAY.
* 
* 
*         METHOD- 
*         1.  IF THE EM REGISTER CONTAINS ZERO, GO TO STEP 5. 
*         2.  MOVE THE   MEMORY  PARITY  ERROR  MESSAGE  TO  THE  ERROR 
*             DISPLAY.
*         3.  DETERMINE THE  RANGE  OF  NAD  ADDRESSES  FOR  THE MEMORY 
*             PARITY ERROR AND MOVE THE MESSAGE TO  THE  ERROR  DISPLAY 
*             FOR THE NAD MEMORY PARITY ERROR ADDRESSES.
*         4.  EXIT TO MODULE LCI98L*. 
*         5.  BUILD THE  ERROR  DISPLAY  LINE  FOR  ONE NAD MEMORY DATA 
*             ERROR AND MOVE THE DISPLAY LINE TO THE ERROR DISPLAY. 
*         6.  REPEAT STEP   5   UNTIL   ALL   MEMORY  DATA  ERRORS  ARE 
*             DISPLAYED.
*         7.  CLEAR THE MEMORY DATA ERROR BUFFER POINTER. 
*         8.  EXIT TO MODULE LCI98L.
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS  THE NUMBER OF THE LINE TO SEND THE NEXT 
*            MESSAGE TO IN THE ERROR DISPLAY. 
*         B7 REGISTER CONTAINS THE UPPER 8 BITS OF THE NAD ADDRESS IF A 
*            PARITY ERROR IS TO BE REPORTED.
*         B9 REGISTER CONTAINS THE NUMBER OF THE BUFFER BEING READ FROM 
*            THE NAD IF A PARITY ERROR IS TO BE REPORTED. 
*         B11 REGISTER CONTAINS THE CURRENT POINTER TO THE ERROR BUFFER 
*            IF DATA ERRORS ARE TO BE REPORTED. 
*         B12 REGISTER  CONTAINS THE NUMBER FOR THE MALET COMMAND BEING 
*            EXECUTED.
*         B13 REGISTER CONTAINS THE CALLING MODULE NUMBER.
*         EA REGISTER CONTAINS THE ERROR LINE ADDRESS.
*         EC REGISTER CONTAINS THE ERROR CODE.
*         EM REGISTER CONTAINS THE ERROR MESSAGE NUMBER.
*         IB(310) TO  IB(407)  CONTAINS  THE ERROR INFORMATION FOR DATA 
*            ERROR TO BE REPORTED.
* 
*         EXIT- 
*         B3 REGISTER CONTAINS  THE NUMBER OF THE LINE TO SEND THE NEXT 
*            MESSAGE TO IN THE ERROR DISPLAY. 
*         B12 REGISTER  CONTAINS THE NUMBER FOR THE MALET COMMAND BEING 
*            EXECUTED.
* 
*         REGISTER USED-
*         B0  - TEMPORARY STORAGE.
*         B1  - TEMPORARY STORAGE.
* 
*         SUBMODULES REFERENCED-
*         LCI98L - POST COMMAND ABORTED ERROR DISPLAY.
* 
*         BUFFERS USED-NONE.
* 
* 
10 FORMAT  LCI*D E*OCT L*OC  NAD MEMORY DATA ERROR
11 FORMAT  LCI*D E*OCT L*OC  NAD MEMORY PARITY ERROR
12 FORMAT  PARITY ERROR IN ADDRESSES *H*H-*H*H
13 FORMAT  ADRS   EXP.   ACT.   DIF. (HEX. VALUES)
14 FORMAT  *H*H   *H*H   *H*H   *H*H
* 
/---------BUILD THE PARITY ERROR DISPLAY. 
* 
30 IF(EM.NE.1) GOTO 32           *IF NOT A MEMORY P.E.
   MSG 11(B13,EC,EA) TO LINE B3  *ERROR DESCRIPTION MESSAGE 
   B0=B9.AND.3.LS.6          *BUILD LOWER NAD ADDRESS BYTE
   B1=B0+77                  *BUILD UPPER NAD ADDRESS BYTE
   B3=B3+1                       *UPDATE DISPLAY LINE NUMBER
   MSG 12(B7,B0,B7,B1) TO LINE B3  *PARITY ERROR ADDRESS
   B3=B3+1                       *UPDATE DISPLAY LINE NUMBER
   EXIT TO 98L               *GO TO POST THE COMMAND ABORTED
* 
/---------BUILD MEMORY DATA ERROR DISPLAY.
* 
32 MSG 10(B13,EC,EA) TO LINE B3  *ERROR DESCRIPTION MESSAGE 
   MSG 13 TO LINE B3+1           *DATA DESCRIPTION MESSAGE
   B3=B3+2                       *UPDATE DISPLAY LINE NUMBER
* 
/---------BUILD DISPLAY FOR THE DATA ERRORS.
* 
   B0=0                      *INITIALIZE BUFFER POINTER 
34 B1=IB(B0+310).AND.3.LS.6  *SAVE BIT 2**7 OF NAD ADDRESS
   IB(B0+310)=IB(B0+310).RS.2  *UPPER BYTE OF NAD ADDRESS 
   IB(B0+311)=IB(B0+311).RS.1.+.B1  *LOWER BYTE OF NAD ADD. 
   IB(B0+316)=IB(B0+312).XOR.IB(B0+314)  *UPPER BYTE OF DIFF
   IB(B0+317)=IB(B0+313).XOR.IB(B0+315)  *LOWER BYTE OF DIFF
   MSG 14, 8 WORDS FROM IB(B0+310) TO LINE B3  *ERROR LINE
   B3=B3+1                       *UPDATE DISPLAY LINE NUMBER
   GOTO 34 WHILE (B0+10.NE.B11)  *LOOP TO DISPLAY ERRORS
   B11=0                      *RESET DATA ERROR BUF. POINTER
   EXIT TO 98L               *GO TO POST THE COMMAND ABORTED
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98K - POST DATA ERROR DISPLAY
   MODULE LCI98L,LCN(300) 
***       LCI98L - POST COMMAND ABORTED ERROR DISPLAY 
**
*         LCI98L - POST COMMAND ABORTED ERROR DISPLAY 
*         ------------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT  THE  DISPLAY  LINE FOR THE MALET COMMAND ABORTED INTO 
*         THE ERROR DISPLAY AND REPORT THE ERROR TO THE USER. 
* 
* 
*         METHOD- 
*         1.  DETERMINE THE LINE IN THE ERROR DISPLAY TO POST THE MALET 
*             COMMAND ABORTED ON. 
*         2.  MOVE THE MALET  COMMAND  ABORTED  MESSAGE  TO  THE  ERROR 
*             DISPLAY.
*         3.  REPORT THE ERROR TO THE USER AND WAIT FOR A GO. 
*         4.  SENT A LINE CONTAINING ALL DASHES TO THE PRINT FILE.
*         5.  RETURN TO THE CALLING MODULE. 
/ 
*         ENTRY-
*         B3 REGISTER CONTAINS  THE NUMBER OF THE LINE TO SEND THE NEXT 
*            MESSAGE TO IN THE ERROR DISPLAY. 
*         B12 REGISTER  CONTAINS THE NUMBER FOR THE MALET COMMAND BEING 
*            EXECUTED.
*         B13 REGISTER CONTAINS THE CALLING MODULE NUMBER.
* 
*         EXIT- 
*         THE ERROR REPORTED TO THE USER. 
* 
*         REGISTERS USED- 
*         B0  - TEMPORARY STORAGE.
* 
*         SUBMODULES REFERENCED-NONE. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT LCI*D ABORTED ON UNKNOWN COMMAND
1  FORMAT LCI*D ABORTED ON .AUTODMP. COMMAND
2  FORMAT LCI*D ABORTED ON .COMPARE. COMMAND
3  FORMAT LCI*D ABORTED ON .RES/CONNECT MAINT PATH. COMMAND 
4  FORMAT LCI*D ABORTED ON .MAINT FUNCTION. COMMAND 
5  FORMAT LCI*D ABORTED ON .MEMORY READ. COMMAND
6  FORMAT LCI*D ABORTED ON .MEMORY WRITE. COMMAND 
7  FORMAT LCI*D ABORTED ON .PMC. COMMAND
10 FORMAT LCI*D ABORTED ON .RES. COMMAND
11 FORMAT LCI98L ABORTED ON .HARDWARE STATUS. COMMAND 
12 FORMAT LCI TEST ABORTED - LOCAL NAD HARDWARE FAILURE 
27 FORMAT --------------------------------------------------
13 FORMAT LCI*D ERROR(S) = *DECD
* 
/--------- EQUATES FOR MODULE 
* 
   EQUATE CRES = 10B, HSTAT = 11B 
* 
/---------POST COMMAND ABORTED AND REPORT THE ERROR.
* 
30 B0=3                      *KL DISPLAY LINE NUMBER
   IF(ES.AND.TM.NE.0)B0=2    *TERMINAL LINE NUMBER
   IF(B12.GT.13) B12=0       *IF UNKNOWN COMMAND
   MSG B12 (B13) TO LINE B0  *COMMAND ABORTED MESSAGE 
   PICTURE
   HALT                      *REPORT THE ERROR
   MSG 27 TO PRINT
   BLANK
   IF(DC.NE.301)GOTO 42 
   B0=EC
   RES,ABT 50 
   STATUS HARDWARE,ABT 60 
40 IF(SB.AND.2.NE.0)GOTO 50 
42 EXIT 
60 IF(EC.NE.6027)GOTO 50
   IF(B0.EQ.EC)GOTO 50
   GOTO 40
50 MSG 12 TO PRINT, DISPLAY, DAYFILE
   MSG 13 (B13,B14) TO PRINT, DISPLAY, DAYFILE
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98L - POST COMMAND ABORTED ERROR DIS.
   MODULE LCI98M,6000,(300) 
***       LCI98M - DISPLAY TEST AND MODULE TITLES 
**
*         LCI98M - DISPLAY TEST AND MODULE TITLES 
*         --------------------------------------- 
* 
* 
*         PURPOSE-
*         INSERT THE TITLE LINE OF THE LCI 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 LCI 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 LCI98P.
*         5.  IF THE COMMAND NUMBER IN THE B13 REGISTER IS GREATER THAT 
*             24 OCTAL, EXIT TO MODULE LCI98O.
*         6.  EXIT TO MODULE LCI98N.
* 
/ 
*         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 LCI98N IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS THAN 25 OCTAL.
*         EXIT TO MODULE LCI98O IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS LESS BETWEEN 25 AND 52 OCTAL.
*         EXIT TO MODULE LCI98N IF THE NUMBER OF THE COMMAND IN THE B12 
*            REGISTER IS GREATER THAN 51 OCTAL. 
* 
*         SUBMODULES CALLED-
*         LCI98N - DISPLAY COMMANDS 00-24 ABORTED.
*         LCI98O - DISPLAY COMMANDS 25-51 ABORTED.
*         LCI98P - DISPLAY COMMANDS 52-62 ABORTED.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT LCI - 170 DEVICE INTERFACE TEST 
1  FORMAT LCI10 - STEP.START.MC. TEST 
* 
/---------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 98P  *DIS. COMMANDS 52-61 ABORTED
   IF(B12.GE.25) EXIT TO 98O  *DIS. COMMANDS 25-51 ABORTED
   EXIT TO 98N               *DIS. COMMANDS 00-24 ABORTED 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98M - DISPLAY TEST AND MODULE TITLES 
   MODULE LCI98N,6000,(300) 
***       LCI98N - DISPLAY COMMANDS 00-24 ABORTED 
**
*         LCI98N - 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 LCI98Q.
* 
/ 
*         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  LCI98Q  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98Q - 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 98Q               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98N - DISPLAY COMMANDS 00-24 ABORTED 
   MODULE LCI98O,6000,(300) 
***       LCI98O - DISPLAY COMMANDS 25-51 ABORTED 
**
*         LCI98O - 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 LCI98Q.
* 
/ 
*         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  LCI98Q  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98Q - 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 98Q               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98O - DISPLAY COMMANDS 25-51 ABORTED 
   MODULE LCI98P,6000,(300) 
***       LCI98P - DISPLAY COMMANDS 52-74 ABORTED 
**
*         LCI98P - DISPLAY COMMANDS 52-74 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 LCI98Q.
* 
/ 
*         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  LCI98Q  TO  CONTINUE  BUILDING  THE  ERROR 
*            DISPLAY. 
* 
*         SUBMODULES CALLED-
*         LCI98Q - 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
11 FORMAT ABORTED ON .READ BIT STRING. COMMAND
12 FORMAT ABORTED ON .READ 8 TO 6 MODE. COMMAND 
13 FORMAT ABORTED ON .READ 8 TO 12 MODE. COMMAND
14 FORMAT ABORTED ON .READ 16 TO 12 MODE. COMMAND 
15 FORMAT ABORTED ON .READ 64 TO 60 MODE. COMMAND 
16 FORMAT ABORTED ON .WRITE BIT STRING. COMMAND 
17 FORMAT ABORTED ON .WRITE 6 TO 8 MODE. COMMAND
20 FORMAT ABORTED ON .WRITE 12 TO 8 MODE. COMMAND 
21 FORMAT ABORTED ON .WRITE 12 TO 16 MODE. COMMAND
22 FORMAT ABORTED ON .WRITE 60 TO 64 MODE. COMMAND
23 FORMAT ABORTED ON .ADDRESS AND LENGTH. COMMAND 
24 FORMAT ABORTED ON .PARITY ERROR. 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 98Q               *EXIT TO NEXT MODULE 
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98P - DISPLAY COMMANDS 52-62 ABORTED 
   MODULE LCI98Q,6000,(300) 
***       LCI98Q - REPORT DRIVER ERRORS 
**
*         LCI98Q - 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 LCI98R. 
*         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 LCI98I.
* 
/ 
*         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  LCI98R 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-
*         LCI98R - REPORT FORMAT 0 MODULE ERRORS. 
*         LCI98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  LAST FUNCTION = *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)) 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 98R  *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                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98Q - REPORT DRIVER ERRORS 
   MODULE LCI98R,6000,(300) 
***       LCI98R - REPORT FORMAT 0 MODULE ERRORS
**
*         LCI98R - 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 
*             LCI98S. 
*         5.  IF THE B7  REGISTER  IS  CONTAINS  TWO,  EXIT  TO  MODULE 
*             LCI98T. 
*         6.  IF THE B7 REGISTER IS  CONTAINS  THREE,  EXIT  TO  MODULE 
*             LCI98T. 
*         7.  IF THE B7 REGISTER  IS  CONTAINS  FOUR,  EXIT  TO  MODULE 
*             LCI98T. 
*         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 LCI98I.
* 
/ 
*         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 LCI98S IF THE ERROR FORMAT IS A FORMAT 1 TYPE 
*            ERROR. 
*         EXIT  TO  MODULE LCI98T 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-
*         LCI98S - REPORT FORMAT 1 MODULE ERRORS. 
*         LCI98T - REPORT FORMAT 2-5 MODULE ERRORS. 
*         LCI98I - PROCESS TEST TERMINATION.
* 
*         REGISTERS USED- 
*         B0  = TEMPORARY STORAGE.
*         B3  = NEXT DISPLAY LINE NUMBER. 
* 
*         BUFFERS USED-NONE.
* 
* 
0  FORMAT  LCI    E0001 L*OC  STEP DID NOT STOP PROC. ERROR 
1  FORMAT  LCI    E0002 L*OC  NAD MEMORY PARITY ERROR 
2  FORMAT  LCI    E0003 L*OC  NAD MEMORY DATA ERROR 
3  FORMAT  LCI    E0004 L*OC  ECHO CHECK COMPARE ERROR
4  FORMAT  LCI    E0005 L*OC  CONTROLWARE STATUS ERROR
5  FORMAT  LCI    E0006 L*OC  HARDWARE STATUS ERROR 
6  FORMAT  LCI    E0007 L*OC  COMPARE ERROR 
7  FORMAT  LCI    E0010 L*OC  MODE BIT STRING ERROR 
10 FORMAT  LCI    E0011 L*OC  MODE 6TO8/8TO6 ERROR
11 FORMAT  LCI    E0012 L*OC  MODE 12TO8/8TO12 ERROR
12 FORMAT  LCI    E0013 L*OC  MODE 12TO16/16TO12 ERROR
13 FORMAT  LCI    E0014 L*OC  MODE 60TO64/64TO60 ERROR
14 FORMAT  LCI    E0015 L*OC  FULL BUF./MARK COMPARE ERROR
15 FORMAT  LCI    E0016 L*OC  MAINT. PATH STATUS ERROR
16 FORMAT  LCI    E0017 L*OC  RESYNC RESPONSE ERROR 
17 FORMAT  LCI    E0020 L*OC  TRUNK LOOPBACK COMPARE ERROR
20 FORMAT  LCI    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 98S   *IF ERROR FORMAT 1 
   IF(B7.EQ.2) EXIT TO 98T   *IF ERROR FORMAT 2 
   IF(B7.EQ.3) EXIT TO 98T   *IF ERROR FORMAT 3 
   IF(B7.EQ.4) EXIT TO 98T   *IF ERROR FORMAT 4 
   IF(B7.EQ.5) EXIT TO 98T   *IF ERROR FORMAT 5 
* 
/---------REPORT THE FORMAT 0 ERROR MESSAGE.
* 
   PICTURE
   HALT                      *STOP ON ERROR 
   MSG 27 TO PRINT
   BLANK
   EXIT                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98R - REPORT FORMAT 0 MODULE ERRORS
   MODULE LCI98S,6000,(300) 
***       LCI98S - REPORT FORMAT 1 MODULE ERRORS
**
*         LCI98S - REPORT FORMAT 1 MODULE ERRORS
*         --------------------------------------
* 
* 
*         PURPOSE-
*         INSERT THE DESCRIPTION OF THE FAILING BIT 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 LCI98I.
* 
/ 
*         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-
*         LCI98I - 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.5) 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                      *EXIT
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98S - REPORT FORMAT 1 MODULE ERRORS
   MODULE LCI98T,6000,(300) 
***       LCI98T - REPORT FORMAT 2-5 MODULE ERRORS
**
*         LCI98T - 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 LCI98I.
* 
/ 
*         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-
*         LCI98I - 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.
10 FORMAT  NAD ADDRESS = *OCTB
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.
   B3=B3+1
   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
   END 30                    *END OF THE MODULE 
COMPILE                      *LCI98T - REPORT FORMAT 2-5 MODULE ERRORS
   MODULE LCI99,LCN(300)
1  FORMAT COPYRIGHT CONTROL DATA CORP. 1981 
/ 
/   PARAMETER DESCRIPTION.
/ 
/         P0 - NOT USED 
/ 
/ 
/         P1 - 000X - MEMORY OF THE NAD BEING TESTED. 
/              0000 - DEFAULT EQUALS 32K. 
/              0001 - 16K.
/              0002 - 24K.
/              0003 - 32K.
/              0004 - 40K.
/              0005 - 48K.
/              0006 - 56K.
/              0007 - 65K.
/ 
/         P2 - NOT USED.
/ 
/         P3 - NOT USED.
/ 
/         P4 - NOT USED.
/ 
/         P5 - NOT USED.
/ 
/         P6 - NOT USED.
/ 
/         P7 - NOT USED.
/ 
/         P8 - NOT USED.
/ 
/         P9 - NOT USED.
/ 
/         WARNING  LCI WILL DESTROY THE NAD COMMON CONTROLWARE
/                  IN THE NAD BEING TESTED. 
/ 
2  END 2                     *END OF THE MODULE 
COMPILE,SOURCE               *LCI99 - PARAMETER DOCUMENTATION 
   MODULE LCI99A,LCN(300) 
/ 
/       MODULE      MODULE NAME 
/       NUMBER    AND DESCRIPTION 
/       ------    --------------- 
/ 
/         01   DEVICE SWITCH ENABLED
/         02   LOCAL NAD STATUS.
/         03   ECHO DATA
/         04   FUNCTION CHECK 
/         05   DATA MODE BIT STRING 
/         06   DATA MODE 6TO8 8TO6
/         07   DATA MODE 12TO8 8TO12
/         08   DATA MODE 12TO16 16TO12
/         09   DATA MODE 60TO64 64TO60
/         10   STEP,GO,MC TEST
/         11   ADDRESSING TEST
/ 
1  END 1                     *END OF THE MODULE 
COMPILE,SOURCE               *LCI99A - DESCRIPTION DOCUMENTATION
   MODULE LCI99B,LCI(300,301),LOCK
/ 
/         ABBREVIATIONS 
/ 
/         ACK     - ACKNOWLEDGEMENT 
/         ACT     - ACTUAL
/         BUF.    - BUFFER
/         C/W     - CONTROLWARE 
/         DI      - DEVICE INTERFACE
/         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 
/         CML     - COMMON MAINTENANCE LIBRARY
/         CVL     - CUSTOMER ENGINEERING VALIDATION 
/         ERS     - EXTERNAL REFERENCE SPECIFICATION
/         LCI     - LOOSELY COUPLED INTERFACE TEST
/         LCN     - LOOSELY COUPLED NETWORK 
/         MALET   - MAINTENANCE APPLICATION LANGUAGE   FOR  EQUIPMENT 
/                     TESTING 
/         NAD     - NETWORK ACCESS DEVICE 
/         NO.     - NUMBER
/         PP      - PERIPHERAL PROCESSOR
/         PUB.    - PUBLICATION 
/         SPEC.   - SPECIFICATION 
/ 
1  END 1
***       LCI - 170 DEVICE INTERFACE TEST 
***       APPLICATIONS
**
*         APPLICATIONS
*         ------------
* 
*         1.  EACH OF THE MODULES IN THE LCI TEST PROVIDE THE USER WITH 
*             THE  ABILITY  TO  REPEAT, EXCEPT MODULE 00. 
* 
*         2.  THE MEMORY OF THE NAD BEING TESTED IS ASSUMED TO BE IN
*             A WORKING STATE.
* 
*         3.  THE DATA  ERROR DISPLAY WILL DISPLAY UP TO EIGHT (8) DATA 
*             ERRORS AT ONE ERROR STOP.  AT THE END OF EACH  CONDITION, 
*             ANY UNREPORTED DATA ERRORS WILL BE REPORTED.
* 
*         4.  ONE PARITY ERROR WILL BE REPORTED FOR EACH 40 HEXADECIMAL 
*             NAD MEMORY ADDRESSES READ.
* 
*         5.  THE PROCESSOR IN THE NAD BEING TESTED IS ASSUMMED    TO BE
*             IN  A  WORKING  STATE.
* 
* 
*** 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 ACCESS LEVEL IS TOO LOW TO ACCESS  THE  LOCAL NAD. 
*             (LCI00) WILL LOOP UNTIL THE ACCESS LEVEL IS CORRECTED AND 
*             THE TEST RERUN. 
* 
*         2.  IF PARAMETER  WORD  P1  DOES  NOT  CONTAIN A VALUE FROM 0 
*             THROUGH 7, THE PARAMETER  CHECKING  MODULE  (LCI00)  WILL 
*             LOOP  UNTIL  PARAMETER  WORD P1 IS CORRECTED AND THE TEST 
*             RERUN.
* 
*         3.  IF THE  PRODUCT  OVERLAY  DETECTS  AN  ERROR  DURING  THE 
*             EXECUTION  OF  A  MODULE, THE ERROR WILL BE REPORTED, AND 
*             THEN THE MODULE WILL ABORT TO THE END OF THE CONDITION. 
* 
*         4.  ANYTIME AFTER REPORTING A MODULE ERROR, IF THE ERROR COUNT
*             IS  EQUAL  TO  TWENTY  (20) OCTAL OR GREATER, THE MODULE
*             WILL ABORT TO THE END OF THE CONDITION. 
* 
*         5.  IF THE DEVICE CODE IS NOT 300 (LCI00) WILL LOOP 
*             UNTIL THE DEVICE CODE IS CORRECTED AND THE TEST RERUN.
* 
*         6.  IF THE DEVICE SWITCH IS OFF (LCI01) WILL LOOP 
*             UNTIL THE SWITCH IS CORRECTED AND THE TEST RERUN. 
* 
* 
*** 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 3.1.2. 
* 
* 
*** 3.1.7 PERFORMANCE 
**
*   3.1.7 PERFORMANCE 
*         ----------- 
* 
* 
***       HARDWARE
**
*         HARDWARE
*         --------
* 
* 
*         1.  THE LCI TEST  IS  NOT  DESIGNED  TO  DETECT  INTERMITTENT 
*             FAILURES  IN  THE DEVICE INTERFACE. 
* 
*         2.  THE NAD PROCESSOR AND THE NAD MEMORY OF THE TESTING NAD 
*             DEVICE INTERFACE IS ASSUMED TO BE WORKING.
* 
*         3.  ADDRESSES 30 THROUGH 3F HEXADECIMAL CANNOT BE TESTED WHEN 
*             TESTING THE MEMORY IN A LOCAL NAD BECAUSE THESE ADDRESSES 
*             ARE USED BY THE DEVICE INTERFACE. 
* 
*         4.  IN ADDITION TO ITEM 3 THE LAST ADDRESS IN THE MEMORY
*             OF A LOCAL NAD CANNOT BE TESTED.
* 
* 
* 
* 
***       SOFTWARE
**
*         SOFTWARE
*         --------
* 
*         MODULE RUNNING TIMES. 
*         --------------------- 
* 
*         MODULE           RUNNING
*          NAME           TIME LOCAL
*         ------          ----------
* 
*         LCI00            1 SEC. 
*         LCI01            1 SEC. 
*         LCI02            1 SEC. 
*         LCI03            8 SEC. 
*         LCI04            2 SEC. 
*         LCI05            4 SEC. 
*         LCI06           30 SEC. 
*         LCI07            3 SEC. 
*         LCI08            8 SEC. 
*         LCI09           22 SEC. 
*         LCI10            1 SEC. 
*         LCI11            8 SEC. 
*         ------------------------------------------- 
*         TOTALS          89 SEC. 
* 
* 
*         1.  THE RUNNING TIMES LISTED ABOVE ARE VALID FOR A 32K MEMORY 
*             CONFIGURATION.
* 
*         2.  THE MODULE RUNNING TIMES LISTED ABOVE WERE MEASURED WHILE 
*             RUNNING  LCI  USING  THE  KL  DISPLAY UNDER THE OPERATING 
*             SYSTEM. 
* 
*         3.  THE RUNNING TIME  OF  THE  LCI  TEST WILL INCREASE AS THE 
*             AMOUNT OF SYSTEM ACTIVITY INCREASES.
* 
* 
*         5.  LCI CAUSES DEGRADATION   TO   THE   OPERATING  SYSTEM  BY 
*             DESTROYING THE NAD COMMON CONTROLWARE IN  THE  NAD  BEING 
*             TESTED. 
* 
*         6.  ALL MODULES IN THE LCI TEST ARE DESIGNED TO RUN AT ACCESS 
*             LEVEL FIVE OR GREATER.
* 
* 
*** 3.1.8 INSTALLATION PARAMETERS 
**
*   3.1.8 INSTALLATION PARAMETERS 
*         ----------------------- 
* 
* 
*** 4.0   PRODUCT LEVEL DESCRIPTION 
**
*   4.0   PRODUCT LEVEL DESCRIPTION 
*         ------------------------- 
* 
*** 4.1   PUBLICATIONS AFFECTED 
**
*   4.1   PUBLICATIONS AFFECTED 
*         --------------------- 
* 
*         CHANGES TO LCI AFFECTS THE FOLLOWING PUBLICATIONS-
* 
*         CML REFERENCE MANUAL                                60455980
* 
* 
*** 4.2   EQUIPMENT CONFIGURATION 
**
*   4.2   EQUIPMENT CONFIGURATION 
*         ----------------------- 
* 
*         1.  WHEN TESTING THE D.I. IN A LOCAL  NAD,  THE  TEST  WILL 
*             RESIDE  IN  A CYBER PP AND TEST THE LOCAL NAD THROUGH THE 
*             DEVICE INTERFACE CONNECTED TO THE CHANNEL  ON  THE  CYBER 
*             MAINFRAME.
* 
* 
* 
*** 4.3   INTERFACES TO OTHER SOFTWARE PRODUCTS 
**
*   4.3   INTERFACES TO OTHER SOFTWARE PRODUCTS 
*         ------------------------------------- 
* 
*         1.  NONE
* 
* 
* 
* 
*** 4.4   SECURITY
**
*   4.4   SECURITY
*         --------
* 
*         SECURITY IS  PROVIDED  BY  THE  OPERATING  SYSTEM FOR ON-LINE 
*         MALET THRU THE USE OF CVL.
* 
* 
*** 5.0   RELIABILITY, AVAILABILITY, AND MAINTAINABILITY STANDARDS
**
*   5.0   RELIABILITY, AVAILABILITY, AND MAINTAINABILITY STANDARDS
*         --------------------------------------------------------
* 
*         REFER TO THE LCN M/S DEVELOOPMENT PLAN - ARH3663. 
* 
* 
*** 6.0   GLOSSARY
**
*   6.0   GLOSSARY
*         --------
* 
*         D.I.      - DEVICE INTERFACE
*         CML       - COMMON MAINTENANCE LIBRARY
*         CVL       - CUSTOMER ENGINEERING VALIDATION 
*         ERS       - EXTERNAL REFERENCE SPECIFICATION
*         LCI       - LOOSELY COUPLED NETWORK INTEFACE TEST 
*         LCN       - LOOSELY COUPLED NETWORK 
*         MALET     - MAINTENANCE APPLICATION LANGUAGE   FOR  EQUIPMENT 
*                     TESTING 
*         NAD       - NETWORK ACCESS DEVICE 
*         NO.       - NUMBER
*         PP        - PERIPHERAL PROCESSOR
*         PUB.      - PUBLICATION 
*         SPEC.     - SPECIFICATION 
