*DECK,PIP 
          IDENT  PIP,PPFW    NETWORK DRIVER FOR FRONT ENDS
 VERSION  MICRO  1,,*RHP/PRU INTERFACE DRIVER*
          TITLE  PIP - "VERSION" DRIVER FOR FRONT ENDS. 
          PERIPH
          SST 
          LIST   X
  
  
  
  
          COMMENT PIP - "VERSION" FOR FRONT ENDS 79/12/01.
  
          COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. 
 AUTHOR   SPACE  5,15 
***              PIP - NHP/PRU INTERFACE DRIVER FOR NPU.
* 
*                R. M. KERR  79/12/01 
AUTHOR    SPACE  2,15 
***              PIP - MODIFIED FOR PRU MODE FILE TRANSFERS.
* 
*                R. M. KERR  82/12/01 
* 
AUTHOR    SPACE  2,15 
***              PIP - MODIFIED FOR MAINFRAME DEVICE INTERFACE. 
* 
*                R. M. KERR  83/12/15 
* 
 FUNCTION TITLE  DRIVER FUNCTIONAL DESCRIPTION. 
 FUNCTION SPACE  2,40 
***              DRIVER FUNCTIONAL DESCRIPTION. 
* 
*                THE DRIVER IS THE LOGICAL INTERFACE BETWEEN THE
*                SOFTWARE RUNNING IN A FRONT END NPU (CCP) OR THE 
*                SOFTWARE RUNNING IN THE MAINFRAME DEVICE INTERFACE 
*                AND THE SOFTWARE RUNNING IN THE HOST (NETWORK HOST 
*                PRODUCTS).  THE DRIVER RUNS AT THE NETWORK ACCESS
*                METHOD (NAM) CONTROL POINT AND PROVIDES DATA EXCHANGE
*                SERVICES TO NAM.  NAM IS THEN RESPONSIBLE FOR PROVIDING
*                DATA EXCHANGE SERVICES TO OTHER NETWORK APPLICATION
*                PROGRAMS IN THE SYSTEM.  THE DRIVER IS TRANSPARENT TO
*                THE DATA EXHANGES BETWEEN NAM AND THE FRONT END
*                ALTHOUGH DATA TRANSFORMS CAN OCCUR (DISPLAY CODE TO
*                ASCII TRANSLATION).  THE DRIVER ALSO SUPPORTS A HIGH 
*                PERFORMANCE HIGH VOLUME DATA INTERFACE REFERRED TO AS
*                THE PRU INTERFACE.  WITH THE PRU INTERFACE A NETWORK 
*                APPLICATION RETAINS HIGH LEVEL CONTROL OVER THE DATA 
*                STREAM WHILE THE DRIVER IS RESPONSIBLE FOR THE ACTUAL
*                DATA TRANSFER BETWEEN ROTATING MASS STORAGE (RMS) AND
*                THE FRONT END.  THE PHYSICAL DATA THAT IS TRANSFERRED
*                DOES NOT HAVE TO PASS THROUGH THE APPLICATION WITH THE 
*                PRU INTERFACE.  WHEN ABNORMAL CONDITIONS OCCUR ON SUCH 
*                A STREAM THE CONDITION AND THE CONTROL OF THE STREAM IS
*                RETURNED TO THE APPLICATION RESPONSIBLE FOR THE STREAM.
* 
*                THIS DRIVER IMPLEMENTATION SUPPORTS TWO TYPES OF 
*                NETWORK APPLICATIONS USING THE PRU INTERFACE.  THE 
*                FIRST TYPE OF PRU NETWORK APPLICATION IS RBF WHICH 
*                SUPPORTS PASSIVE PRU STREAMS.  THE PASSIVE PRU STREAMS 
*                ARE ASSOCIATED WITH PASSIVE DEVICES SUCH AS CARD 
*                READERS, LINE PRINTERS AND SO ON.  THE STREAMS ARE 
*                USED FOR REMOTE JOB ENTRY INTO THE HOST SYSTEM FROM
*                TERMINALS THAT ARE CONNECTED TO THE NETWORK.  THE
*                SECOND TYPE OF PRU STREAM SUPPORTED IS AN ACTIVE PRU 
*                STREAM.  ACTIVE PRU STREAMS ARE PEER TO PEER OR
*                APPLICATION TO APPLICATION CONNECTIONS AND ARE USED
*                FOR FILE TRANSFERS BETWEEN HOSTS AND TAKE ADVANTAGE OF 
*                THE EFFICIENCY OF THE PRU INTERFACE FOR THE DATA 
*                TRANSFER PHASE OF THE FILE TRANSFER.  THESE
*                APPLICATIONS NEGOTIATE THE ATTRIBUTES OF THE FILE
*                TRANSFER USING A TRANSPARENT OR IVT CONNECTION.  ONCE
*                AGREEMENT HAS BEEN REACHED ON THE FILE TRANSFER THE
*                CONNECTION IS SWITCHED TO PRU MODE AND THE DRIVER
*                BECOMES RESPONSIBLE FOR THE DATA TRANSFER PHASE OF THE 
*                FILE TRANSFER.  THE DRIVER WILL PROCESS ALL DATA 
*                TRANSFERS AND LEVEL SEVEN OR CONTROL PROTOCOL ELEMENTS 
*                WHILE IN DATA TRANSFER PHASE.  CONTROL IS RETURNED TO
*                THE APPLICATION AT THE COMPLETION OF THE FILE TRANSFER 
*                OR WHEN AN ERROR CONDITION IS DETECTED.  USE OF THE
*                PRU INTERFACE REQUIRES EQUIVALENT FILE STRUCTURES ON 
***              BOTH ENDS OF THE CONNECTION. 
 FUNCTION SPACE  2,10 
***              DAYFILE MESSAGES.
* 
*                PIP - INVALID REQUEST. 
*                PIP - UNDEFINED FUNCTION CODE. 
*                PIP - NO PARAMETER AREA SPECIFIED. 
*                PIP - ADDRESS OUT OF RANGE.
*                PIP - CONTROL POINT ERROR. 
*                PIP - ERROR IN EST SCAN. 
*                PIP - NO EQUIPMENT IN EST. 
*                PIP - NAM TABLE AREA TOO SMALL.
* 
*                PIP - MSS OPTION VOIDS SYSTEM SECURITY. (IF MSS OPTION)
*                PIP - HALTED NPU  XX.
*                PIPN - ERROR XXX.
***              PIPN TERMINATED. 
 FUNCTION SPACE  2,10 
***              ROUTINES USED. 
* 
*                1DL - PPU OVERLAY LOADER,
*                1RP - PPU RESIDENT LOADER, 
***              CIO - MASS STORAGE INPUT/OUTPUT. 
 FUNCTION SPACE  2,10 
**               BLOCK PROTOCOL.
* 
*                THE BLOCK PROTOCOL DESCRIBES THE FORMAT OF DATA
*                INTERCHANGES BETWEEN THE DRIVER AND THE FRONT END. 
*                ALL EXCHANGES BEGIN WITH THE BLOCK PROTOCOL HEADER.
* 
*TBL               8/DN/,8/SN,8/CN,1/PRI,3/BSN,3/BT 
* 
*                    WHERE -
* 
*                       DN = DESTINATION NODE (RECEIVER), 
*                       SN = SOURCE NODE (SENDER),
*                       CN = CONNECTION NUMBER, 
*                      PRI = PRIORITY FLAG (1 = HIGH PRIORITY), 
*                      BSN = BLOCK SERIAL NUMBER, 
*                       BT = BLOCK TYPE.
* 
*                THE FRONT END CAN BE CONSIDERED AS A MULTIPLEXED DATA
*                SOURCE WITH DATA EXCHANGES MULTIPLEXED ON A MESSAGE
*                BASIS. THE IDENTIFICATION OF A DATA STREAM IN THIS 
*                STRUCTURE IS ACCOMPLISHED BY SOURCE NODE PLUS
*                CONNECTION NUMBER FOR INBOUND TRAFFIC OR BY DESTINATION
*                NODE PLUS CONNECTION NUMBER FOR OUTBOUND TRAFFIC.  THE 
*                CONNECTION NUMBER IS A TRANSITORY NUMBER ASSIGNED WHEN 
*                A DATA STREAM BECOMES ACTIVE AND IS USED TO IDENTIFY 
*                THAT DATA STREAM UNTIL SOME CONDITION OCCURS THAT
*                TERMINATES THE DATA STREAM.  CONNECTION NUMBER ZERO IS 
*                THE SERVICE CHANNEL, IS ALWAYS ACTIVE AND IS USED FOR
*                THE HIGHEST LEVEL OF CONTROL AND FRONT END STATUS
*                INFORMATION.  THE BLOCK SERIAL NUMBER IS THE SEQUENTIAL
*                NUMBER, MODULE EIGHT, ASSIGNED BY THE EXCHANGE 
*                ORIGINATOR.  NUMBERING BEGINS WITH ONE WHEN A
*                CONNECTION IS ESTABLISHED AND IS INDEPENDENT FOR 
*                INBOUND (TO HOST) AND OUTBOUND (FROM HOST).  THE 
*                BLOCK SERIAL NUMBER FOR THE SERVICE CHANNEL IS ALWAYS
*                ZERO AND A ZERO BLOCK SERIAL NUMBER IS NEVER USED FOR
*                A NON-ZERO CONNECTION NUMBER.  THE BLOCK TYPE
*                IDENTIFIES THE CONTENTS OF THE EXCHANGE. 
* 
*                FOR NON-PRU DATA STREAMS THE DRIVER IS TRANSPARENT TO
*                THE BLOCK PROTOCOL.  HOWEVER, THE DRIVER DOES USE THE
*                BLOCK TYPE TO DETERMINE THE TYPE OF TRANSFORMATION THAT
**               HAS TO BE DONE FOR A GIVEN EXCHANGE. 
 FUNCTION SPACE  2,10 
**               THE DRIVER IS RESPONSIBLE FOR PROCESSING ALL EXCHANGES 
*                WITH THE FRONT END ON PRU DATA STREAMS INDEPENDENT OF
*                THE REST OF THE NETWORK.  THE FOLLOWING BLOCK TYPES ARE
*                SUPPORTED BY THE DRIVER FOR PRU DATA STREAMS.
* 
*                  BLOCK TYPE MSG - 
* 
*                    A MSG TYPE BLOCK IS AN EXCHANGE CONTAINING DATA. 
* 
*                  BLOCK TYPE BACK -
* 
*                    A BACK IS ISSUED AS A RESPONSE TO MSG AND CMD
*                    BLOCKS BY THE RECEIVER.  THIS ALLOWS THE RECEIVER
*                    TO ACKNOWLEDGE PREVIOUS TRANSACTIONS AND ALSO
*                    CONTROLS THE RATE TRANSACTIONS ARE ISSUED BY THE 
*                    TRANSMITTER. 
* 
*                  BOCK TYPE CMD -
* 
*                    CMD BLOCKS ARE USED FOR STREAM CONTROL AND 
*                    STATUS INFORMATION OF DATA CHANNELS. 
* 
*                  BLOCK TYPE ICMD -
* 
*                    ICMD BLOCKS ARE USED FOR OUTBOUND STREAM CONTROL.
*                    THE INTERRUPT COMMAND MAY BYPASS DATA AND COMMAND
*                    BLOCKS IN QUEUE. 
* 
*                  BLOCK TYPE ICMDR - 
* 
*                    ICMDR IS USED TO ACKNOWLEDGE AN INTERRUPT COMMAND
**                   ON A DATA STREAM IN THE OPPOSITE DIRECTION.
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF THE COMMANDS ISSUED FOR 
*                PASSIVE PRU DATA STREAMS AND THE FUNCTION THAT 
*                THEY PERFORM.
* 
*                                 COMMAND    FUNCTION 
*                                 -------    -------- 
* 
*                         START PRU INPUT    START INPUT FROM 
*                                            PASSIVE DEVICE 
* 
*                       START TRANSPARENT    START TRANSPARENT INPUT
*                       PRU INPUT            FROM PASSIVE DEVICE (NOT 
*                                            CURRENTLY SUPPORTED BY ANY 
*                                            PRU APPLICATION) 
* 
*                            RESUME INPUT    RESTART INPUT FROM 
*                                            PASSIVE DEVICE 
* 
*                             ABORT INPUT    ABORT INPUT FROM 
*                                            PASSIVE DEVICE 
* 
*                      SET PASSIVE DEVICE    SET CHANGEABLE ATTRIBUTES
*                      CHARACTERISTICS       FOR PASSIVE DEVICE 
* 
*                         SET FILE           SET CHANGEABLE ATTRIBUTES
*                         CHARACTERISTICS    FOR FOLLOWING DATA 
* 
*                        TERMINATE OUTPUT    DELINEATES POSITION IN 
*                        STREAM MARKER       DATA STREAM WHICH COMPLETES
**                                           ABORT SEQUENCE 
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF INTERRUPT COMMANDS ISSUED 
*                FOR PRU DATA STREAMS AND THE FUNCTION THEY PERFORM.
* 
*                       INTERRUPT COMMAND    FUNCTION 
*                       --------- -------    -------- 
* 
*                          RESTART OUTPUT    RESTART A STOPPED
*                                            OUTPUT STREAM
* 
**                           ABORT OUTPUT    TERMINATE OUTPUT STREAM
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF THE COMMANDS RECEIVED 
*                FROM THE FRONT END REPORTING STATUS ON PASSIVE 
*                PRU DATA STREAMS.
* 
*                                 COMMAND    REASON 
*                                 -------    ------ 
* 
*                           INPUT STOPPED    INPUT STREAM STOPPED 
*                                            REASON CODE SPECIFIES
*                                            THE CONDITION
* 
*                          OUTPUT STOPPED    OUTPUT STREAM STOPPED
*                                            REASON CODE SPECIFIES
*                                            THE CONDITION
* 
*                         ACCOUNTING DATA    ACKNOWLEDGES DELIVERY OF 
*                         AT EOI             EOI BLOCK TO TERMINAL AND
*                                            PROVIDES ACCOUNTING DATA 
* 
*                         ACCOUNTING DATA    ACKNOWLEDGES TERMINATION 
*                         AT TERMINATION     OF THE DATA STREAM AND 
**                                           PROVIDES ACCOUNTING DATA 
 FUNCTION SPACE  2,10 
**               NON-PRU DATA INTERFACE.
* 
*                EACH FRONT END THAT IS TO BE SERVICED BY THE DRIVER HAS
*                AN ASSOCIATED NETWORK BUFFER TABLE LOCATED IN THE FIELD
*                LENGTH OF NAM WHICH IS USED FOR DATA AND CONTROL 
*                INFORMATION TRANSFER.  EACH NETWORK BUFFER TABLE 
*                CONSISTS OF TWO INBOUND FETS FOLLOWED BY THREE OUTBOUND
*                PSEUDO FETS. 
* 
*                THE INBOUND FETS ARE USED BY THE DRIVER TO TRANSFER
*                NON-PRU DATA AND ALL CONTROL INFORMATION TO NAM FOR A
*                GIVEN FRONT END.  THE INBOUND FETS DESCRIBE NORMAL 
*                CIRCULAR BUFFERS AND ARE USED ALTERNATELY. 
* 
*                IMMEDIATELY FOLLOWING THE INBOUND FETS ARE THREE 
*                OUTBOUND PSEUDO FETS ASSOCIATED WITH THE FRONT END.
*                EACH OUTBOUND PSEUDO FET CORRESPONDS TO AN OUTPUT
*                PRIORITY LEVEL.  THE FIRST OUTBOUND PSEUDO FET IS THE
*                HIGHEST PRIORITY LEVEL AND THE THIRD OUTBOUND PSEUDO 
*                FET IS THE LOWEST PRIORITY LEVEL.  THE OUTBOUND PSEUDO 
*                FETS ARE USED BY NAM FOR NON-PRU DATA AND CONTROL
*                TRANSFERS TO THE ASSOCIATED FRONT END. 
* 
*                EACH OUTBOUND PSEUDO FET IS USED TO DESCRIBE AN OUTPUT 
*                MESSAGE LIST AS OPPOSED TO THE NORMAL CIRCULAR BUFFER. 
*                WHEN THE FIRST OUTBOUND MESSAGE IS QUEUED, THE IN
*                POINTER IS SET TO THE ADDRESS OF THE MESSAGE HEADER
*                WORD.  AS SUBSEQUENT MESSAGES ARE QUEUED THE IN POINTER
*                IS UPDATED TO THE ADDRESS OF THE LAST MESSAGE IN THE 
*                QUEUE AND EACH MESSAGE IN QUEUE IS LINKED TO THE 
*                PREVIOUS MESSAGE THROUGH THE LINK ADDRESS FIELD OF THE 
*                PREVIOUS MESSAGE HEADER WORD.  THE INITIAL MESSAGE IS
*                REMOVED FROM THE QUEUE LOCATED BY THE FIRST POINTER IN 
*                THE PSEUDO FET.  AFTER THE OUTBOUND MESSAGE IS 
*                PROCESSED, THE OUT POINTER OF THE PSEUDO FET IS UPDATED
*                TO THE ADDRESS OF THE MESSAGE HEADER WORD FOR THE
*                MESSAGE JUST PROCESSED.  SUSEQUENT OUTBOUND MESSAGES 
*                ARE DEQUEUED FROM THE LINK ADDRESS FIELD OF THE MESSAGE
*                HEADER WORD LOCATED BY THE OUT POINTER IN THE PSEUDO 
*                FET.  WHEN THE OUT AND IN POINTERS ARE EQUAL IN THE
**               PSEUDO FET THE OUTBOUND QUEUE HAS BEEN EXHAUSTED.
 FUNCTION SPACE  2,10 
**               PRU DATA INTERFACE.
* 
*                THE PRU DATA INTERFACE PERMITS HIGH PERFORMANCE HIGH 
*                VOLUME DATA TRANSFER BETWEEN THE HOST AND THE FRONT
*                END.  THE PRU DATA INTERFACE IS HALF DUPLEX IN THAT A
*                GIVEN STREAM CAN RECEIVE OR SEND DATA BUT NOT BOTH.  IN
*                THE TYPICAL CASE THE FORMAT OF THE DATA IS DISPLAY 
*                CODED PRU IMAGES.  ON OUTPUT THE DRIVER WILL READ PRU
*                IMAGES OF DATA AND TRANSFER THE PRU IMAGES TO THE FRONT
*                END.  ZERO BYTE END OF RECORD TERMINATORS ARE REMOVED
*                AND REPLACED BY A SINGLE HEXIDECIMAL *FF*.  THE FRONT
*                END THEN CONVERTS THE PRU IMAGES INTO RECORD IMAGES
*                PERFORMING CHARACTER CODE CONVERSION AND COMPRESSION,
*                RECORD FOLDING; PROCESSING PM MESSAGES PLUS CARRIAGE 
*                CONTROL CHARACTERS FOR PRINT FILES.  ON INPUT THE FRONT
*                END DOES CHARACTER CONVERSION AND CHARACTER EXPANSION, 
*                BLANK TRUNCATION AND INSERTS ZERO BYTE RECORD
*                TERMINATORS.  THESE RECORDS ARE BUILT INTO PRU IMAGES
*                WHICH ARE DELIVERED TO THE HOST. 
* 
*                ASCII DATA IS SUPPORTED FOR ALL OUTPUT STREAMS.  ASCII 
*                DATA FORMAT IS 7-BIT/12-BIT BYTE.  ZERO BYTE END OF
*                RECORD TERMINATORS ARE REMOVED AND REPLACED BY A SINGLE
*                HEXIDECIMAL *FF*.
* 
*                TRANSPARENT DATA TRANSFER IS SUPPORTED FOR TERMINALS 
*                THAT CAN SEND/RECEIVE TRANSPARENT DATA.  TRANSPARENT 
*                DATA FORMAT IS 8-BIT/12-BIT BYTE.  THE DATA STRUCTURE
*                FOR TRANSPARENT DATA IS THE DATA STRUCTURE OF THE
*                TERMINAL.  NO RECORD FOLDING, CHARACTER CONVERSION OR
*                CARRIAGE CONTROL INTERPRETATION IS DONE FOR TRANSPARENT
*                DATA.
* 
*                ALL PRU DATA IS STORED IN PRU BUFFERS LOCATED IN THE 
*                FIELD LENGTH OF NAM.  THESE BUFFERS ARE REQUESTED FROM 
*                NAM AS THE PRU DATA LOAD INCREASES AND NAM WILL
*                RELEASE THE BUFFERS AS THE PRU LOAD DECREASES. 
*                PRU BUFFERS ARE MAINTAINED AS FOLLOWS. 
* 
*         FOR PRU HANDLING BY A PIP NIP ALLOCATES PRU BUFFERS TO THE PIP
*         AT A REQUEST FROM THE PIP AS A CHAIN OF BUFFERS FOR EACH TYPE 
*         OF PRU SIZES AND THE PIP MAINTAINS THE CHAIN BY TAKING A
*         BUFFER FROM THE CHAIN WHEN A BUFFER IS NEEDED FOR A PRU 
*         ACTIVITY AND RETURNING A BUFFER TO THE CHAIN WHEN A BUFFER IS 
*         FREED FROM A PRU ACTIVITY.
* 
*         PERIODICALLY, PIP LOOKS FOR ANY PRU ACTIVITIES HELD UP FOR A
*         LACK OF FREE PRU BUFFERS AND MAKES A REQUEST TO NIP FOR MORE
*         BUFFERS IF THE TOTAL COUNT OF ASSIGNED BUFFERS DOES NOT EXCEED
*         A LIMIT SET BY NIP FOR THIS TYPE OF BUFFERS FOR THIS PIP. 
* 
*         ONCE IN A PREDETERMINED PERIOD (2 SECONDS, FOR EXAMPLE) PIP 
*         CHECKS THE COUNT OF BUFFERS ON THE CHAIN AND, IF IT IS GREATER
*         THAN A LIMIT SET BY NIP FOR THIS CHAIN, PIP MAKES A REQUEST TO
*         RELEASE A BUFFER FROM THE CHAIN.
* 
*         PIT ENTRY FOR A PIP HAS A SET OF TWO CM WORDS FOR EACH TYPE OF
*         PRU SIZES FOR THE MAINTENANCE OF THE PRU BUFFER CHAIN.
* 
*         ONE CM WORD CALLED NIP WORD IN THIS DESCRIPTION CONTAINS DATA 
*         THAT ARE ONLY WRITTEN BY NIP: 
*                MFB = MIN/MAX COUNTS OF BUFFERS TO BE KEPT BY PIP, 
*                NCA = COUNT OF BUFFERS CURRENTLY ASSIGNED, 
*                NC  = NUMBER OF CONNECTIONS
*                FPB = ADDRESS OF THE FIRST BUFFER ON THE CHAIN SUPPLIED
*                      BY NIP.
* 
*         ONE CM WORD CALLED PIP WORD IN THIS DESCRIPTION CONTAINS DATA 
*         THAT ARE NORMALLY WRITTEN ONLY BY PIP:  
*                NFB = COUNT OF BUFFERS ON THE FREE CHAIN,
*                NRA = COUNT OF TOTAL ASSIGNMENT REQUESTED BY PIP,
*                (A BYTE RESERVED FOR PERFORMANCE DATA,)
*                RBF = ADDRESS OF THE BUFFER RELEASED FROM PIP. 
* 
*         AS WRITE ACTIVITIES ARE LIMITED TO THEIR OWN CM WORD, THERE 
*         ARE NO INTERLOCK SCHEME PROVIDED EXCEPT FOR GARBAGE COLLECTION
*         AND FOR INITIAL BUFFER ASSIGNMENT BY NIP DISCUSSED LATER. 
* 
*         PIP KEEPS INTERNALLY SOME DATA FOR EACH TYPE: 
*                NSA = NCA VALUE STORED WHEN NIP WORD WAS LAST ACCESSED,
*                TIMER FOR RELEASING A BUFFER TO NIP, 
*                NUMBER OF ACTIVE INBOUND BUFFERS.
* 
*         INITIALLY ALL FIELDS OF THE TWO WORDS ARE ZERO EXCEPT MFB THAT
*         CONTAINS COUNTS OF MINIMUM AND MAXIMUM BUFFERS TO BE KEPT BY
*         PIP.
* 
*         WHEN PIP FINDS A NEED FOR PRU BUFFERS OF A SPECIFIC TYPE, PIP 
*         PLACES THE NEEDED BUFFER COUNT IN NRA OF THE PIP WORD FOR THE 
*         SPECIFIC TYPE.  PIP REMEMBERS THE CURRENT NCA IN NSA SO THAT
*         PIP WILL KNOW WHEN NIP FULFILLS THE REQUEST AND UPDATES NCA.
* 
*         PERIODICALLY PIP CHECKS FOR A CHANGE OF NCA AND, WHEN IT
*         INCREASES, PIP UPDATES NFB BY THE COUNT OF THE ADDED BUFFERS. 
* 
*         WHEN NIP FINDS NCA IS ZERO AND NRA IS NON-ZERO, NIP MAKES A 
*         CHAIN OF BUFFERS OF THE SPECIFIED TYPE AND PLACES THE ADDRESS 
*         OF THE FIRST BUFFER IN FPB OF NIP WORD AND THEN THE COUNT OF
*         THE BUFFERS IN NCA. 
* 
*         WHEN NIP FINDS A NEW PRU CONNECTION FOR A TYPE CURRENTLY HAS
*         NO BUFFER ASSIGNED, NIP PLACES THE INTERLOCK AT THE PIT AND 
*         ASSIGNS A CHAIN OF MINIMUM COUNT OF BUFFERS ANS SETS NCA AND
*         NRA TO THE COUNT.  PIP WILL UPDATES NFB TO THE COUNT LATER
*         WHEN PIP FINDS THAT THE INTERNAL NSA IS ZERO AND NCA IS NOT.
* 
*         PRU BUFFERS ON THE FREE CHAINS ARE ALWAYS CHAINED BY ADDRESS
*         FIELD (BITS 42-59) OF THE NAM BLOCK HEADER WORD.
* 
*         WHEN PIP NEEDS MORE BUFFERS, PIP SIMPLY INCREASES NRA TO THE
*         DESIRED TOTAL ASSIGNMENT COUNT IF THE NEW COUNT DOES NOT
*         EXCEED MAX IN MFB.  PIP REMEMBERS CURRENT NCA IN NSA TO KNOW
*         WHEN NIP FULFILLS THE REQUEST.
* 
*         WHEN NIP FINDS NCA IS SMALLER THAN NRA, THIS IS THE SIGNAL OF 
*         A REQUEST FOR MORE BUFFERS FROM PIP.  IF IT IS ACCEPTABLE, NIP
*         MAKES PRU BUFFERS AND CHAINS IT AT THE TOP OF THE EXISTING
*         BUFFER POINTED BY FPB AND INCREMENTS NCA BY THE COUNT ADDED.
* 
*         WHEN PIP KNOWS NIP HAS SATIFSIED THE REQUEST (AT LEAST
*         PARTIALLY) BY FINDING NSA AND CURRENT NCA BEING NOT EQUAL, PIP
*         UPDATES NFB BY THE COUNT OF ADDED BUFFERS.
* 
*         FROM TIME TO TIME PIP TRIES TO TAKE A BUFFER FROM THE FREE
*         BUFFER CHAIN TO USE IT FOR A PRU ACTIVITY.  FIRST IT CHECKS 
*         THE COUNT OF AVAILABLE BUFFERS KEPT IN NFB TO KNOW IF A BUFFER
*         IS AVAILABLE. 
* 
*         THE PROCESS TO GET A BUFFER FROM THE CHAIN IS DIFFERENT BASED 
*         ON THE STATUS OF BUFFERS ON THE CHAIN.
* 
*         IF NFB IS NOT ZERO, THE SEARCH IS MADE ON THE BUFFER CHAIN TO 
*         FIND A FREE BUFFER PREFERABLY NOT AT THE TOP OF CHAIN.  IF A
*         BUFFER IS FOUND, THE BUFFER ID IS CHANGED TO INDICATE THAT THE
*         BUFFER IS NOT FREE.  THEN, IF THE BUFFER IS NOT AT THE TOP OF 
*         THE CHAIN, THE BUFFER IS DELINKED FORM THE CHAIN.  IF THE ONLY
*         FREE BUFFER IS AT THE TOP OF THE CHAIN, BUFFER IS NOT DELINKED
*         AND THE BUFFER ID IS SET TO INDICATE THAT THE BUFFER IS USED
*         ON THE CHAIN. 
* 
*         WHEN A BUFFER IS MADE ACTIVE, PIP DECREMENTS NFB BY ONE EVEN
*         WHEN THE BUFFER IS USED ON THE CHIAN. 
* 
*         WHEN A BUFFER IS FREED FROM A PRU ACTIVITY, IT IS RETURNED TO 
*         THE ORIGINAL FREE BUFFER CHAIN.  IF THE BLOCK HEADER HAS THE
*         ID CODE FOR USED-ON-THE-CHAIN, PIP RETURNS IT TO THE FREE 
*         CONDITION BY SIMPLY CHANGING THE ID CODE TO FREE.  IF THE 
*         BLOCK HEADER HAS THE NORMAL ID CODE, PIP RETURNS IT TO THE
*         FREE CHAIN NEXT TO THE BUFFER POINTED BY FPB.  NFB IS 
*         INCREMENTED BY ONE WHEN A BUFFER IS FREED.
* 
*         WHEN PIP FINDS A BUFFER WITH USED-ON-THE-CHAIN ID NOT AT THE
*         TOP OF THE FREE CHAIN WHILE PIP IS DOING PERIODIC CHECK-UP, 
*         PIP DELINKS IT AFTER CHANGING ITS ID TO THE NORMAL VALUE. 
* 
*         AS A BUFFER ON THE FREE CHAIN WITH THE ID OF USED-ON-THE-CHAIN
*         IS ACTIVE BUFFER, NIP IS NOT TO MOVE IT IN GARBAGE COLLECTION 
*         PROCESSING.  NIP MAY DELINK IT OR MAY KEEP IT ON THE CHAIN
*         WITHOUT MOVING IT.
* 
*         ONCE IN A PREDETERMINED PERIOD PIP CHECKS TO SEE IF IT HAS
*         TOO MANY BUFFERS ON ITS FREE BUFFER CHAIN.  IF NFB IS GREATER 
*         THAN MIN IN MFB, IT MAKES A REQUEST TO RELEASE A BUFFER FROM
*         THE CHAIN.  FIRST, PIP PICKS UP ONE FREE BUFFER ON THE CHAIN
*         AND DELINKS IT FROM THE CHAIN AS IS DONE IN ASSIGNING A 
*         BUFFER TO AN ACTIVITY, AND PLACES ITS ADDRESS IN RBP. 
*         THEN PIP DECREMENTS NRA AND NFB BY ONE. 
* 
*         WHEN PIP IS TO RELEASE A BUFFER, IF THE NC FIELD IS ZERO, PIP 
*         RELEASED A BUFFER, REGARDLESS OF THE MINIMUM COUNT, UNTIL ALL 
*         FREE BUFFERS ARE RELEASED INCLUDING THE BUFFER POINTED BY FPB.
*         WHEN THE LAST BUFFER IS RELEASED, PIP CLEARS NSA ANTICIPATING 
*         THAT NIP MAY FIND A PRU CONNECTION AND ASSIGNS BUFFERS BEFORE 
*         PIP CAN READ NIP WORD WITH NCA BEING SET TO ZERO. 
* 
*         WHEN NIP FINDS NCA IS GREATER THAN NRA, THIS IS THE SIGNAL OF 
*         A REQUEST FOR RELEASING A BUFFER FROM THE CHAIN.  NIP FINDS 
*         THE ADDRESS OF THE BUFFER ALREADY DELINKED FROM THE CHAIN 
*         IN RPB AND RETURNS IT TO SYSTEM FREE BUFFER POOL.  THEN NIP 
*         UPDATES NCA BY DECREMENTING IT BY ONE.
* 
*         WHEN PIP WANTS TO RELEASE ALL THE BUFFERS ON THE FREE CHAIN 
*         BECAUSE OF NO PRU ACTIVITIES OR PIP GOING TO DROP, PIP SIMPLY 
*         CLEARS NRA AND NFB. 
* 
*         WHEN NIP FINDS NRA IS ZERO AND NCA IS NOT, NIP RELEASES ALL 
*         THE BUFFERS STARTING AT FPB TO THE SYSTEM FREE BUFFER POOL
*         AND CLEARS FPB AND NCA. 
* 
*         WHEN THERE IS NO ACTIVE BUFFERS, THAT IS NFB AND NRA ARE
*         EQUAL, NIP MAY RELEASE ALL THE BUFFERS BY FIRST REQUESTING
*         INTERLOCK TO PIT.  THEN NIP MAY RELEASE ALL THE BUFFERS 
*         ON THE CHAIN BY CLEARING FPB, NCA, NFB AND NRA. 
* 
*         WHEN NCA AND NRA ARE NOT EQUAL, THERE IS A REQUEST TO NIP 
*         OUTSTANDING.  SO, PIP WILL NOT MAKE ANOTHER REQUEST UNTIL 
*         THE REQUEST IS COMPLETED BY NIP AND THE NUMBERS ARE MADE
*         EQUAL.
* 
*         IN THE PIT ENTRY, AFTER A SET OF NBTE POINTER WORDS, NIP WORDS
*         FOR THREE SIZES OF PRUS COME FOLLOWED BY PIP WORDS FOR THREE
*         SIZES OF PRUS.  WHEN INTERLOCK REQUEST IS SET FOR THE PIT, PIP
*         WRITES ITS PIP WORDS AND READS NIP WORDS AND PIP WORDS AFTER
*         THE INTERLOCK IS RELEASED.
* 
*         WHENEVER PIP READS NIP WORD FOR ANY REASON, PIP UPDATES NSA 
*         AND UPDATES NFB IF NCA IS INCREASED.
**
 FUNCTION SPACE 2,10
**               PRU APPLICATION INTERFACE. 
* 
*                THE PRU APPLICATION IS RESPONSIBLE FOR THE DEFINITION
*                AND CONTROL OF THE PRU DATA STREAMS.  WHEN THE 
*                APPLICATION ESTABLISHES THE PRU STREAM THE PRU CONTROL 
*                BLOCK (PCB) IS LINKED INTO THE PRU CONTROL BLOCK 
*                RING FOR THE PROPER FRONT END.  THE DRIVER PROCESSES 
*                ALL PRU DATA STREAMS FROM THE PRU CONTROL BLOCK RING.
*                THE PRU APPLICATION REQUESTS DRIVER PROCESSING BY
*                ISSUEING A SERVICE MESSAGE TO NAM.  NAM WILL GENERATE
*                A WORKLIST FROM THE SERVICE MESSAGE AND QUEUE THAT 
*                WORKLIST TO THE PCB IN THE PRU CONTROL BLOCK RING.  THE
*                DRIVER WILL THEN PROCESS THE WORKLIST WHEN POSSIBLE
*                DURING ITS PCB RING PROCESSING.  THERE ARE THREE 
*                WORKLIST QUEUE PRIORITIES; IMMEDIATE, INTERRUPT
**               AND NORMAL.
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF IMMEDIATE PRIORITY
*                WORKLISTS AND THE FUNCTION THEY PERFORM. 
* 
*                                WORKLIST    FUNCTION 
*                                --------    -------- 
* 
*                              TERMINATE     USED ONLY BY NAM TO
*                              PRU STREAM    TERMINATE PRU PROCESSING 
**                                           ON THE STREAM
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF THE INTERRUPT PRIORITY
*                WORKLISTS AND THE FUNCTION THEY PERFORM FOR
*                PASSIVE PRU STREAMS. 
* 
*                                WORKLIST    FUNCTION 
*                                --------    -------- 
* 
*                          RESTART OUTPUT    ISSUE RESTART OUTPUT 
*                                            INTERRUPT COMMAND TO 
*                                            FRONT END
* 
*                            ABORT OUTPUT    ISSUE ABORT OUTPUT 
*                                            INTERRUPT COMMAND TO 
**                                           FRONT END
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF THE NORMAL PRIORITY 
*                WORKLISTS AND THE FUNCTION THEY PERFORM FOR
*                PASSIVE PRU STREAMS. 
* 
*                                WORKLIST    FUNCTION 
*                                --------    -------- 
* 
*                         START PRU INPUT    ISSUE START PRU INPUT
*                                            COMMAND TO FRONT END 
* 
*                       START TRANSPARENT    ISSUE START TRANSPARENT
*                       PRU INPUT            PRU INPUT COMMAND TO 
*                                            FRONT END
*                                            (NOT CURRENTLY SUPPORTED 
*                                            BY ANY PRU APPLICATION)
* 
*                           RESTART INPUT    ISSUE RESTART INPUT
*                                            COMMAMD TO FRONT END 
* 
*                             ABORT INPUT    ISSUE ABORT INPUT
*                                            COMMAND TO FRONT END 
* 
*                            BYPASS INPUT    DISCARD DATA TO
*                                            END OF INFORMATION 
* 
*                           JOB VALIDATED    RESPONSE TO DRIVER REQUEST 
*                                            FOR JOB VALIDATION 
* 
*                            START OUTPUT    BEGIN TRANSFER OF PRU
*                                            OUTPUT FROM SPECIFIED FILE 
* 
*                             STOP OUTPUT    CEASE TRANSFER OF PRU
*                                            OUTPUT 
* 
*                           RESUME OUTPUT    RESUME TRANSFER OF 
*                                            PRU OUTPUT 
* 
*                            ABORT OUTPUT    ISSUE TERMINATE OUTPUT 
*                            DATA MARKER     STREAM MARKER TO FRONT END 
* 
*                           DIRECT OUTPUT    ISSUE INCLUDED OUTPUT
*                                            TO FRONT END ON PRU STREAM 
* 
*                           END OF JOB       ISSUE INCLUDED OUTPUT
*                           DIRECT OUTPUT    TO FRONT END ON PRU STREAM 
*                                            WITH END OF JOB SET
* 
*                         SET DEVICE         ISSUE SET DEVICE 
*                         CHARACTERISTICS    CHARACTERISTICS COMMAND
*                                            TO FRONT END 
* 
*                         SET FILE           ISSUE SET FILE 
*                         CHARACTERISTICS    CHARACTERISTICS COMMAND
*                                            TO FRONT END 
* 
*                THE DRIVER TRANSFERS WORKLISTS TO A PRU APPLICATION BY 
*                MEANS OF THE INBOUND BUFFER FOR THE ASSOCIATED FRONT 
*                END.  NAM WILL REMOVE WORKLISTS FROM THE INBOUND BUFFER
**               AND QUEUE THEM TO THE APPLICATION. 
 FUNCTION SPACE  2,10 
**               THE FOLLOWING IS A LIST OF THE WORKLISTS GENERATED BY
*                THE DRIVER FOR PASSIVE PRU STREAMS AND THE FUNCTION
*                THEY PERFORM.
* 
*                                WORKLIST    FUNCTION 
*                                --------    -------- 
* 
*                      WORKLIST COMPLETED    INDICATES TO NAM THAT THE
*                                            SPECIFIED APPLICATION
*                                            WORKLIST HAS BEEN PROCESSED
* 
*                             REQUEST JOB    REQUEST APPLICATION TO 
*                             VALIDATION     VALIDATE INBOUND JOB 
* 
*                            INPUT STREAM    INPUT STREAM STOPPED 
*                            STOPPED         REASON CODE SPECIFIES
*                                            THE CONDITION
* 
*                            INPUT STREAM    INPUT STREAM END 
*                            END OF JOB      OF JOB RECEIVED
* 
*                           INPUT STREAM     INPUT STREAM END 
*                           END OF BYPASS    OF BYPASS RECEIVED 
* 
*                           INPUT STREAM     INPUT STREAM END 
*                           END OF STREAM    OF STREAM RECEIVED 
* 
*                           OUTPUT STREAM    OUTPUT STREAM STOPPED
*                           STOPPED          REASON CODE SPECIFIES
*                                            THE CONDITION
* 
*                           OUTPUT STREAM    OUTPUT STREAM END OF JOB 
*                           END OF JOB       DELIVERED ACKNOWLEDGMENT 
*                                            RECEIVED 
* 
*                           OUTPUT STREAM    OUTPUT STREAM ABORTED
*                           ABORTED          ACKNOWLEDGMENT RECEIVED
* 
*                          DIRECT OUTPUT     OUTPUT ACKNOWLEDGMENT
**                         ACKNOWLEDGMENT    RECEIVED FOR DIRECT OUTPUT 
 FUNCTION SPACE  2,10 
**               DRIVER IMPLEMENTATION. 
* 
*                THE DRIVER IS IMPLEMENTED AS A TABLE DRIVER
*                MULTIDIMENSIONAL STATE PROCESSOR.  EACH ENTITY (FRONT
*                END, BLOCK HANDLER, STREAM, ETC) PROCESSED BY THE
*                DRIVER HAS AN ASSOCIATED STATE IDENTIFIED BY A NUMBER. 
*                A STATE HAS AN ASSOCIATED PROCESSOR THAT SERVICES THAT 
*                ENTITY IN ITS STATE.  THE STATE PROCESSOR MAY ATTEMPT
*                TO INITIATE THE NEXT LOGICAL ACTION FOR THAT STATE OR
*                CHECK FOR REQUESTS FOR EXTERNAL ACTIONS.  THE STATE
*                PROCESSOR STRUCTURE ALLOWS ATTEMPTED ACTIONS TO BE 
*                UNSUCCESSFUL AND RETRIED ON THE NEXT PROCESSING CYCLE. 
*                ACTIONS SUCCESSFULLY COMPLETED, EITHER INTERNAL OR 
*                EXTERNAL, WILL CAUSE A RESPONSE TO BE EXECUTED BY THE
*                DRIVER.  NORMALLY A RESPONSE ACTION WILL CAUSE AN
*                ASSOCIATED STATE CHANGE BUT NEED NOT.
* 
*                THERE ARE TWO BASIC INTERDEPENDENT BUT ASYNCHRONOUS
*                STATES FOR ANY DATA STREAM.  THE HIGHER ORDER STATE IS 
*                THE BLOCK HANDLER STATE.  THE BLOCK HANDLER STATE
*                IDENTIFIES WHAT TYPE OF TRANSACTIONS ARE VALID FOR THE 
*                DATA STREAM.  THE BLOCK HANDLER STATE PROCESSORS 
*                INITIATE AND CONTROL EXCHANGES WITH THE FRONT END.  THE
*                LOWER ORDER STATE IS THE STREAM STATE.  THE STREAM 
*                STATE IDENTIFIES WHAT TYPE OF TRANSACTIONS ARE 
*                CURRENTLY VALID FOR THE DATA STREAM.  THE STREAM STATE 
*                PROCESSORS ARE CONCERNED WITH THE DATA TRANSFER TO THE 
*                TERMINAL DEVICES OR REMOTE APPLICATIONS AND THE CONTROL
**               OF THOSE DATA STREAMS. 
 FUNCTION SPACE  2,14 
**
* BLOCK HANDLER STATES             FRONT END STATES 
* ----------------------------------------------------------------------
*    I       I       I       I    I    I       I       I       I
* SERVICE IVT     PRU     PRU     I INITIAL LOAD       .    REQUEST MDI 
* CHANNEL STREAM  STREAM  STREAM  I STATE   NPU        .    INITIALIZAT 
*                                 I 
*                                 I 
*                                 I 
* STREAM STATES                   I 
* ----------------------------------------------------------------------
*  I   I   I   I   I   I   I   I    I   I   I   I   I   I   I   I   I 
* IVT PRU INPUT                    PRU OUTPUT 
**
 FUNCTION SPACE  2,10 
**               AN ACTION IS ALSO IDENTIFIED BY A NUMBER.  WHEN AN 
*                ACTION OCCURS FOR A GIVEN PROCESSING ENTITY THE STATE
*                OF THE PROCESSING ENTITY PLUS THE ACTION IDENTIFIES AN 
*                ENTRY IN THE DRIVER CONTROL TABLES.  THE CONTENTS OF 
*                THAT ENTRY SPECIFIES THE RESPONSE TO BE EXECUTED PLUS
*                THE NEXT STATE FOR THE PROCESSING ENTITY.  ACTIONS CAN 
*                BE INITIATED EXTERNALLY FROM THE FRONT END OR NAM OR 
*                INTERNALLY BY THE STATE PROCESSORS THEMSELVES.  BECAUSE
*                OF THE CONTROL TABLE STRUCTURE THE DRIVER DIAGNOSES ALL
*                ILLOGICAL ACTIONS EITHER INTERNALLY OR EXTERNALLY
*                INITIATED AND TAKES APPROPRIATE ACTION.  SINCE THE 
*                RESPONSE PROCESSORS ARE ISOLATED SECTIONS OF CODE WITH 
*                STRAIGHTFORWARD ENTRY AND EXIT WITH NO INTERFERENCE
*                WITH OTHER DRIVER CODE THE DRIVER IS EXTREMELY 
**               PROTECTIVE OF SYSTEM INTEGRITY.
 FUNCTION SPACE  2,18 
**               ACTIONS ARE STRUCTURED TO USE COMMON CODE IN ORDER TO
*                CONSERVE PPU MEMORY AND HAVE THE FOLLOWING STRUCTURE - 
* 
* 
*                              E(TYPE)RA
*                                  I
*                                  I
*                                  I
*                -------------------------------------- 
*                I  I  I  I  I  I  I  I  I  I   I   I 
*                A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 
*                I  I  I  I  I  I  I  I  I  I   I   I 
*                -------------------------------------- 
*                                  I
*                                  I
*                                  I
**                             E(TYPE)RAX 
 FUNCTION SPACE  2,10 
**               FOR THE MOST PART ALL DECISION PROCESSES ARE CONTROLLED
*                BY THE STATIC DRIVER CONTROL TABLES.  THIS APPROACH WAS
*                CHOSEN TO PROVIDE FLEXIBILITY AND EXPANDABILITY PLUS 
*                STABILITY.  IT IS SUGGESTED THAT THE DRIVER CONTROL
*                TABLES SHOULD BE STUDIED CAREFULLY FOR A FULL
*                UNDERSTANDING OF HOW THE DRIVER FUNCTIONS.  IN GENERAL 
*                THE LOGIC FLOW OF THE DRIVER CAN BE UNDERSTOOD THROUGH 
**               THE DRIVER CONTROL TABLES. 
 BHSTATES EJECT 
**               BLOCK HANDLER STATE RESPONSE ACTION TABLES.
* 
*                THE FOLLWOING ARE THE BLOCK HANDLER STATE RESPONSE 
*                ACTION TABLES FOR THE DRIVER.  THE FORMAT OF AN ENTRY
*                IS THE ACTION ORDINAL AND THE STATE CHANGE, IF ANY.
**               A LIST OF THE ACTIONS FOLLOWS THE TABLES.
 BHSTATES SPACE  2,10 
** ******************************************************************** 
* *             * B S C  * B I S  * B P I  * B P O  * B I F S* B N I R* 
*   *           * H E H  * H V T  * H R N  * H R U  * H N E T* N P N E* 
*     *  STATE  * S R A  * S T R  * S U P  * S U T  * S I   A* S U I Q* 
*       *       * 0 V N  * 1   E  * 2   V  * 3   P  * 4 T   T* 5   T U* 
*         *     *   I N  *     A  *     T  *     U  *   I   E*       E* 
* INPUT     *   *   C E  *     M  *        *     T  *   A    *       S* 
*             * *   E L  *     S  *        *        *   L    *       T* 
** ******************************************************************** 
* INPUT DATA    * BE     * BA7    * BA11   * BE     * DE     * DE     * 
* INPUT BACK    * DE     * DE     * BA12   * BA12   * DE     * DE     * 
* INPUT COMMAND * DE     * DE     * BA13   * BA13   * DE     * DE     * 
* INPUT TEXT    * BA1    * BA1    * DE     * DE     * DE     * DE     * 
* INP NULL TEXT * BE     * BA8    * DE     * DE     * DE     * DE     * 
* INPUT ICMD    * BE     * BA1    * BE     * BE     * DE     * DE     * 
* INP ICMD RESP * BE     * BA8    * BE     * BA18   * DE     * DE     * 
* INP Q-MESSAGE * DE     * DE     * BA14   * BA14   * DE     * DE     * 
* OUTPUT DATA   * AE     * BA9    * DE     * BA9    * DE     * DE     * 
* OUTPUT BACK   * DE     * DE     * BA6    * BA&    * DE     * DE     * 
* OUTPUT COMMANS* DE     * DE     * BA15   * BA15   * DE     * DE     * 
* OUTPUT TEXT   * BA2    * BA2    * DE     * DE     * DE     * DE     * 
* OUTPUT ICMD   * AE     * BA2    * DE     * BA20   * DE     * DE     * 
* OUT ICMD RESP * AE     * BA2    * DE     * DE     * DE     * DE     * 
* OUTPUT RESET  * DE     * DE     * BA16   * BA16   * DE     * DE     * 
* OUT Q-MESSAGE * DE     * DE     * BA17   * BA17   * DE     * DE     * 
* PASS COMMAND  * BA3    * DE     * DE     * DE     * BA21   * BA21   * 
* LOAD NPU      * BA4    * DE     * DE     * DE     * BA4    * BA4    * 
* START NPU     * BA4    * DE     * DE     * DE     * BA4    * BA4    * 
* CHANGE REG LEV* BA5    * DE     * DE     * DE     * BA21   * BA21   * 
* PROC COMMAND  * DE     * DE     * DE     * DE     * DE     * BA5,6  * 
* NPU OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* INIT REQUESTED* BA6,17 * BA6,17 * BA6,17 * BA6,17 * BA6,5  * BA6    * 
* INIT COMPLETED* BA6,19 * BA6,19 * BA6,19 * BA6,19 * BA6,7  * BE     * 
* NPU TIMEOUT   * BA6,11 * BA6,11 * BA6,11 * BA6,11 * BA6,8  * BA6,8  * 
* LOAD TIMEOUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI DIAGNOSTIC* BA6,21 * BA6,21 * BA6,21 * BA6,21 * BA6,23 * DE     * 
* MDI AVAILABLE * DE     * DE     * DE     * DE     * DE     * DE     * 
* NO MDI STATUS * BA6,10 * BA6,10 * BA6,10 * BA6,10 * BA6,26 * DE     * 
* UNABLE TO REST* BA6,10 * BA6,10 * BA6,10 * BA6,10 * BA6,26 * DE     * 
* MDI INOPERAT  * BA6,10 * BA6,10 * BA6,10 * BA6,10 * BA6,26 * DE     * 
* NPU CHAN ERROR* BA6,10 * BA6,10 * BA6,10 * BA6,10 * BA6,8  * BA6,8  * 
* MDI CHAN ERROR* BA6,25 * BA6,25 * BA6,25 * BA6,25 * BA6,26 * DE     * 
* PROTOCOL ERROR* BA6,11 * BA10   * BA10   * BA10   * BA6,8  * BA6,8  * 
* EST TURNED OFF* BA6,13 * BA6,13 * BA6,13 * BA6,13 * BA6,13 * BA6,13 * 
* REG ZERO RESP * AE     * AE     * AE     * AE     * AE     * AE     * 
** ******************************************************************** 
 BHSTATES SPACE  2,10 
** ******************************************************************** 
* *             * B L P T* B F E O* B F E I* B L N B* B I E M* B I R Z* 
*   *           * H O R E* H R N P* H R N N* H O P O* H S R E* H S E E* 
*     *  STATE  * S A O X* S O D E* S O D O* S A U O* S S R S* S S G R* 
*       *       * 6 D G T* 7 N   R* 8 N   P* 9 D   T* 1 U O S* 1 U U O* 
*         *     *     R  *   T   A*   T   E*        * O E R A* 1 E L  * 
* INPUT     *   *   N A  *       T*       R*        *       G*        * 
*             * *   P M  *        *        *        *       E*        * 
** ******************************************************************** 
* INPUT DATA    * BE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT BACK    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT COMMAND * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT TEXT    * BA1    * DE     * DE     * DE     * DE     * DE     * 
* INP NULL TEXT * BE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT ICMD    * BE     * DE     * DE     * DE     * DE     * DE     * 
* INP ICMD RESP * BE     * DE     * DE     * DE     * DE     * DE     * 
* INP Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT BACK   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT COMMAND* DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT TEXT   * BA2    * DE     * BA21   * BA21   * DE     * DE     * 
* OUTPUT ICMD   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT ICMD RESP * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT RESET  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* PASS COMMAND  * BA3    * BA3    * BA21   * BA21   * BA21   * BA21   * 
* LOAD NPU      * BA3    * BA4    * BA4    * BA5    * BA4    * BA4    * 
* START NPU     * BA3    * BA4    * BA4    * BA5,4  * BA4    * BA4    * 
* CHANGE REG LEV* BA21   * BA21   * BA21   * BA21   * BA21   * BA21   * 
* PROC COMMAND  * DE     * BA5,0  * BA5,9  * DE     * BA5,11 * BA5,12 * 
* NPU OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* INIT REQUESTED* BA6,5  * BE     * BA6,5  * BE     * BA6    * BA6    * 
* INIT COMPLETED* BA6,7  * BE     * BA6,7  * BE     * BA6    * BA6    * 
* NPU TIMEOUT   * BA6,8  * BA6,8  * BA6    * BA6,8  * BA6    * BA6    * 
* LOAD TIMEOUT  * DE     * DE     * DE     * BA6,16 * DE     * DE     * 
* MDI DIAGNOSTIC* DE     * DE     * BA6,23 * DE     * DE     * DE     * 
* MDI AVAILABLE * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI OPERATION * DE     * DE     * BA6,7  * DE     * DE     * DE     * 
* NO MDI STATUS * DE     * DE     * BA6    * DE     * DE     * DE     * 
* UNABLE TO REST* DE     * DE     * BA6    * DE     * DE     * DE     * 
* MDI INOPERAT  * DE     * DE     * BA6    * DE     * DE     * DE     * 
* NPU CHAN ERROR* BA6,8  * BA6,8  * BA6    * BA6,8  * BA6    * BA6    * 
* MDI CHAN ERROR* DE     * BA6,8  * BA6    * DE     * DE     * DE     * 
* PROTOCOL ERROR* BA6,8  * BA6,8  * BA6    * BA6,8  * BA6    * BA6    * 
* EST TURNED OFF* BA6,13 * BA6,13 * BA6,13 * BA6,13 * BA6    * BA6    * 
* REG ZERO RESP * AE     * AE     * AE     * AE     * AE     * AE     * 
** ******************************************************************** 
 BHSTATES SPACE  2,10 
** ******************************************************************** 
* *             * B W R R* B I R Z* B W R R* B F T O* B B L T* B I R Z* 
*   *           * H A E E* H S E E* H A E E* H E U F* H O O I* H S E E* 
*     *  STATE  * S I G S* S S G R* S I G S* S   R F* S O A M* S S G R* 
*       *       * 1 T U P* 1 U U O* 1 T U P* 1   N   *1 T D E* 1 U U O* 
*         *     * 2   L  * 3 E L  * 4   L  * 5   E  * 6     O* 7 E L  * 
* INPUT     *   *        *        *        *     D  *       U*        * 
*             * *        *        *        *        *       T*        * 
** ******************************************************************** 
* INPUT DATA    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT BACK    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT COMMAND * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT TEXT    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP NULL TEXT * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT ICMD    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP ICMD RESP * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT BACK   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT COMMAND* DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT TEXT   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ICMD   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT ICMD RESP * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT RESET  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* PASS COMMAND  * BA21   * BA21   * BA21   * BA21   * BA21   * BA21   * 
* LOAD NPU      * BA4    * BA4    * BA4    * BA4    * BA4    * BA4    * 
* START NPU     * BA4    * BA4    * BA4    * BA4    * BA4    * BA4    * 
* CHANGE REG LEV* BA21   * BA21   * BA21   * BA21   * BA21   * BA21   * 
* PROC COMMAND  * DE     * BA5,14 * DE     * BA5    * BA5,8  * BA5,18 * 
* NPU OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* INIT REQUESTED* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* INIT COMPLETED* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* NPU TIMEOUT   * BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* LOAD TIMEOUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI DIAGNOSTIC* DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI AVAILABLE * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* NO MDI STATUS * DE     * DE     * DE     * DE     * DE     * DE     * 
* UNABLE TO REST* DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI INOPERAT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CHAN ERROR* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* MDI CHAN ERROR* DE     * DE     * DE     * DE     * DE     * DE     * 
* PROTOCOL ERROR* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* EST TURNED OFF* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* REG ZERO RESP * BA21,8 * AE     * BA21,15* AE     * AE     * AE     * 
** ******************************************************************** 
 BHSTATES SPACE  2,10 
** ******************************************************************** 
* *             * B W R R* B I R Z* B W R R* B I R Z* B W R R* B R M I* 
*   *           * H A E E* H S E E* H A E E* H S E E* H A E E* H E D N* 
*     *  STATE  * S I G S* S S G R* S I G S* S S G R* S I G S* S Q I I* 
*       *       * 1 T U P* 1 U U O* 2 T U P* 2 U U O* 2 T U P* 2 U   T* 
*         *     * 8   L  * 9 E L  * 0   L  * 1 E L  * 2   L  * 3 E   I* 
* INPUT     *   *        *        *        *        *        *   S   A* 
*             * *        *        *        *        *        *   T   L* 
** ******************************************************************** 
* INPUT DATA    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT BACK    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT COMMAND * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT TEXT    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP NULL TEXT * DE     * DE     * DE     * DE     * DE     * DE     * 
* INPUT ICMD    * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP ICMD RESP * DE     * DE     * DE     * DE     * DE     * DE     * 
* INP Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT BACK   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT COMMAND* DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT TEXT   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ICMD   * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT ICMD RESP * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT RESET  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUT Q-MESSAGE * DE     * DE     * DE     * DE     * DE     * DE     * 
* PASS COMMAND  * BA21   * BA21   * BA21   * BA21   * BA21   * BA21   * 
* LOAD NPU      * BA4    * BA4    * BA4    * BA4    * BA4    * BA4    * 
* START NPU     * BA4    * BA4    * BA4    * BA4    * BA4    * BA4    * 
* CHANGE REG LEV* BA21   * BA21   * BA21   * BA21   * BA21   * BA21   * 
* PROC COMMAND  * DE     * BA5,20 * DE     * BA5,22 * DE     * BA5,24 * 
* NPU OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* INIT REQUESTED* BA6    * BA6    * BA6    * DE     * DE     * DE     * 
* INIT COMPLETED* BA6    * BA6    * BA6    * DE     * DE     * DE     * 
* NPU TIMEOUT   * BA6    * BA6    * BA6    * DE     * DE     * DE     * 
* LOAD TIMEOUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI DIAGNOSTIC* DE     * DE     * DE     * BA6    * BA6    * BA6    * 
* MDI AVAILABLE * DE     * DE     * DE     * DE     * DE     * DE     * 
* MDI OPERATION * DE     * DE     * DE     * DE     * DE     * DE     * 
* NO MDI STATUS * DE     * DE     * DE     * BA6    * BA6    * BA6    * 
* UNABLE TO REST* DE     * DE     * DE     * BA6    * BA6    * BA6    * 
* MDI INOPERAT  * DE     * DE     * DE     * BA6    * BA6    * BA6    * 
* NPU CHAN ERROR* BA6    * BA6    * BA6    * DE     * DE     * DE     * 
* MDI CHAN ERROR* DE     * DE     * DE     * BA6    * BA6    * BA6    * 
* PROTOCOL ERROR* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* EST TURNED OFF* BA6    * BA6    * BA6    * BA6    * BA6    * BA6    * 
* REG ZERO RESP * BA21,5 * AE     * BA21,7 * AE     * BA21,23* AE     * 
** ******************************************************************** 
 BHSTATES SPACE  2,10 
** *****************************************
* *             * B C M A* B I E M* B I E M*
*   *           * H H D V* H S R E* H S R E*
*     *  STATE  * S E I A* S S R S* S S R S*
*       *       * 2 C   I* 2 U O S* 2 U O S*
*         *     * 4 K   L* 5 E R A* 6 E R A*
* INPUT     *   *        *       G*       G*
*             * *        *       E*       E*
** *****************************************
* INPUT DATA    * DE     * DE     * DE     *
* INPUT BACK    * DE     * DE     * DE     *
* INPUT COMMAND * DE     * DE     * DE     *
* INPUT TEXT    * DE     * DE     * DE     *
* INP NULL TEXT * DE     * DE     * DE     *
* INPUT ICMD    * DE     * DE     * DE     *
* INP ICMD RESP * DE     * DE     * DE     *
* INP Q-MESSAGE * DE     * DE     * DE     *
* OUTPUT DATA   * DE     * DE     * DE     *
* OUTPUT BACK   * DE     * DE     * DE     *
* OUTPUT COMMAND* DE     * DE     * DE     *
* OUTPUT TEXT   * DE     * DE     * DE     *
* OUTPUT ICMD   * DE     * DE     * DE     *
* OUT OCMD RESP * DE     * DE     * DE     *
* OUTPUT RESET  * DE     * DE     * DE     *
* OUT Q-MESSAGE * DE     * DE     * DE     *
* PASS COMMAND  * BA21   * BA21   * BA21   *
* LOAD NPU      * BA4    * BA4    * BA4    *
* START NPU     * BA4    * BA4    * BA4    *
* CHANGE REG LEV* BA21   * BA21   * BA21   *
* PROC COMMAND  * DE     * BA5,0  * BA5,4  *
* NPU OPERATION * DE     * DE     * DE     *
* INIT REQUESTED* DE     * DE     * DE     *
* INIT COMPLETED* DE     * DE     * DE     *
* NPU TIMEOUT   * DE     * DE     * DE     *
* LOAD TIMEOUT  * DE     * DE     * DE     *
* MDI DIAGNOSTIC* DE     * BA6    * BA6    *
* MDI AVAILABLE * BA6,4  * DE     * DE     *
* MDI OPERATION * DE     * DE     * DE     *
* NO MDI STATUS * DE     * BA6    * BA6    *
* UNABLE TO REST* DE     * BA6    * BA6    *
* MDI INOPERAT  * DE     * BA6    * BA6    *
* NPU CHAN ERROR* DE     * DE     * DE     *
* MDI CHAN ERROR* DE     * BA6    * BA6    *
* PROTOCOL ERROR* DE     * BA6    * BA6    *
* EST TURNED OFF* BA6,13 * BA6    * BA6    *
* REG ZERO RESP * AE     * AE     * AE     *
** *****************************************
 BHSTATES EJECT 
* BLOCK HANDLER STATE RESPONSE ACTION DIRECTORY.
* 
* ACTION  NAME   FUNCTION 
* ------  ----   -------- 
* 
* 
* BE      BRIL   BLOCK PROTOCOL ERROR 
* DE      BRLE   DRIVER ERROR 
* AE      BRAE   APPLICATION ERROR
* BA1     BRND   INPUT TEXT VIA STREAM RESPONSE 
* BA2     BROT   OUTPUT TEXT VIA STREAM STATE RESPONSE
* BA3     BRPT   PASS COMMAND THROUGH TO NPU
* BA4     BRCE   GENERATE COMMAND ERROR RESPONSE
* BA5     BRCO   PROCESS COMMAND VIA OUTPUT COMMAND ACTION PROCESSOR
* BA6     BRNA   NO ACTION
* BA7     BRDI   INPUT DATA TEXT VIA STREAM STATE RESPONSE
* BA8     BRNI   INPUT NULL TEXT VIA STREAM STATE RESPONSE
* BA9     BROH   OUTPUT DATA TEXT VIA STREAM STATE RESPONSE 
* BA10    BRPE   PROCESS BLOCK PROTOCOL ERROR 
* BA11    BRIH   INPUT PRU DATA TEXT VIA STREAM STATE RESPONSE
* BA12    BRIB   INPUT BACK FOR PRU STREAM
* BA13    BRIC   INPUT COMMAND FOR PRU STREAM 
* BA14    BRIQ   INPUT Q-MESSAGE FOR PRU STREAM 
* BA15    BRTC   TRANSFER COMMAND FOR PRU STREAM
* BA16    BROR   TRANSFER RESET FOR PRU STREAM
* BA17    BROQ   TRANSFER Q-MESSAGE FOR PRU STREAM
* BA18    BRIR   INPUT INTERRUPT COMMAND RESPONSE FOR PRU STREAM
* BA19    BROH   TRANSFER PRU DATA TEXT VIA STREAM RESPONSE 
* BA20    BRTI   OUTPUT INTERRUPT COMMAND FOR PRU STREAM
* BA21    BRBO   BYPASS CURRENT OUTPUT
 STSTATES EJECT 
**               STREAM STATE RESPONSE ACTION TABLES. 
* 
*                THE FOLLWOING ARE THE STREAM STATE RESPONSE ACTION 
*                TABLES FOR THE DRIVER.  THE FORMAT OF AN ENTRY IS THE
*                ACTION ORDINAL AND THE STATE CHANGE, IF ANY.  A LIST 
**               OF THE ACTIONS FOLLOWS THE TABLES. 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S I S  * S I P S* S P I I* S S P I* S W J C* S R J V* 
*   *           * T V T  * T N R T* T R N D* T T R N* T A O A* T E O A* 
*     *  STATE  * S T R  * S I U A* S U P L* S A U P* S I B R* S Q B L* 
*       *       * 0   E  * 1 T   T* 2   U E* 3 R   U* 4 T   D* 5 U   I* 
*         *     *     A  *   I   E*     T  *   T   T*        *   E   D* 
* INPUT     *   *     M  *   A    *        *        *        *   S   A* 
*             * *        *   L    *        *        *        *   T   T* 
** ******************************************************************** 
* INPUT DATA    * SA1    * BE     * BE     * BE     * SA9    * SA9    * 
* INPUT BACK    * DE     * BE     * SA5    * SA5    * SA5    * SA5    * 
* INVALID INPUT * SA2    * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * SA3    * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * DE     * SA5,3  * DE     * AE     * DE     * 
* START PRU DATA* DE     * DE     * SA5,17 * DE     * AE     * DE     * 
* START IN FILE * DE     * DE     * SA5,18 * DE     * AE     * DE     * 
* START OUT FILE* DE     * DE     * AE     * DE     * AE     * DE     * 
* VALID JOB     * DE     * DE     * AE     * DE     * AE     * DE     * 
* INVALID JOB   * DE     * DE     * AE     * DE     * AE     * DE     * 
* STOP PRU      * DE     * DE     * AE     * DE     * AE     * DE     * 
* RESTART PRU   * DE     * DE     * SA6    * DE     * DA6    * DE     * 
* BYPASS PRU    * DE     * DE     * SA6    * DE     * SA5,16 * DE     * 
* ABORT PRU     * DE     * DE     * SA6    * DE     * SA5,13 * DE     * 
* ABORT MARKER  * DE     * DE     * AE     * DE     * AE     * DE     * 
* RESUME PRU OUT* DE     * DE     * AE     * DE     * AE     * DE     * 
* DIRECT OUTPUT * DE     * DE     * AE     * DE     * AE     * DE     * 
* EOJ OUTPUT    * DE     * DE     * AE     * DE     * AE     * DE     * 
* SET FILE      * DE     * DE     * AE     * DE     * AE     * DE     * 
* SET DEVICE    * DE     * DE     * AE     * DE     * AE     * DE     * 
* COMMAND QUEUED* DE     * DE     * SA7    * SA7    * SA7    * SA7    * 
* QUEUED INPUT  * DE     * DE     * BE     * BE     * SA5,5  * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* DE     * DE     * BE     * DE     * SA8,11 * DE     * 
* BATCH INTER   * DE     * DE     * SA8,11 * DE     * SA8,11 * DE     * 
* END OF INFORM * DE     * DE     * BE     * DE     * BE     * DE     * 
* END OF STREAM * DE     * DE     * BE     * DE     * SA8,2  * DE     * 
* STREAM ABORTED* DE     * DE     * BE     * DE     * BE     * DE     * 
* ICMD RESPONSE * DE     * DE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * SA6,4  * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * SA10,6 * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * DE     * DE     * SE     * DE     * DE     * DE     * 
* END OF STREAM * DE     * DE     * SE     * DE     * BE     * DE     * 
* REQUEST REST  * DE     * DE     * SE     * DE     * BE     * DE     * 
* CHECKMARK RPLY* DE     * DE     * SE     * DE     * BE     * DE     * 
* QUIT          * DE     * DE     * SE     * DE     * BE     * DE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * DE     * SA6,62 * SA6,62 * SA6,62 * SA6,62 * DE     * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA4    * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5    * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * SA5,61 * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S W J V* S R R O* S W R C* S P I A* S E W T* S S S E* 
*   *           * T A O A* T E M U* T A M O* T R N C* T O R O* T T T X* 
*     *  STATE  * S I B L* S Q S T* S I S M* S U P T* S I I  * S R O T* 
*       *       * 6 T   I* 7 U   P* 8 T   P* 9   U I* 1   T R* 1 E P E* 
*         *     *       D*   E   U*       L*     T V* 0   T M* 1 A P R* 
* INPUT     *   *       A*   S   T*        *       E*     E S*   M E N* 
*             * *       T*   T    *        *        *     N  *     D  * 
** ******************************************************************** 
* INPUT DATA    * SA9    * SA9    * SA9    * SA9    * SA9    * SA9    * 
* INPUT BACK    * SA5    * SA5    * SA5    * SA5    * SA5    * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * AE     * DE     * DE     * AE     * AE     * SA12,*** 
* START PRU DATA* AE     * DE     * DE     * AE     * AE     * SA12,*** 
* START IN FILE * AE     * DE     * DE     * AE     * AE     * AE     * 
* START OUT FILE* AE     * DE     * DE     * AE     * AE     * AE     * 
* VALID JOB     * SA6,7  * DE     * DE     * AE     * AE     * SA6    * 
* INVALID JOB   * SA6,16 * DE     * DE     * AE     * AE     * SA6    * 
* STOP PRU      * AE     * DE     * DE     * AE     * AE     * AE     * 
* RETSTART PRU  * SA6    * DE     * DE     * SA6    * SA6    * SA5,12 * 
* BYPASS PRU    * SA11,16* DE     * DE     * SA5,16 * SA6    * SA13   * 
* ABORT PRU     * SA11,13* DE     * DE     * SA5,13 * SA5,13 * SA5,13 * 
* ABORT MARKER  * AE     * DE     * DE     * AE     * AE     * AE     * 
* RESUME PRU OUT* AE     * DE     * DE     * AE     * AE     * AE     * 
* DIRECT OUTPUT * AE     * DE     * DE     * AE     * AE     * AE     * 
* EOJ OUTPUT    * AE     * DE     * DE     * AE     * AE     * AE     * 
* SET FILE      * AE     * DE     * DE     * AE     * AE     * AE     * 
* SET DEVICE    * AE     * DE     * DE     * AE     * AE     * AE     * 
* COMMAND QUEUED* SA7    * SA7    * SA7    * SA7    * SA7    * SA7    * 
* QUEUED INPUT  * DE     * DE     * DE     * SA5,7  * SA5,7  * SA12,*** 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* DE     * DE     * DE     * SA8,11 * SA8,11 * SA8    * 
* BATCH INT     * DE     * DE     * DE     * SA8,11 * SA8,11 * SA8    * 
* END OF INFORM * DE     * DE     * DE     * BE     * SA8,4  * SA12,*** 
* END OF STREAM * DE     * DE     * DE     * BE     * BE     * SA12,*** 
* STREAM ABORTED* DE     * DE     * DE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS REQUESTED * DE     * SR5,8  * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * SA11,9 * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * SA11,10* DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * SA11,15* DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * SA11,20* DE     * DE     * DE     * 
* TRANS RMS ERR@* DE     * DE     * SA11,60* DE     * DE     * DE     * 
* CHECKMARK     * DE     * DE     * DE     * SA14,22* BE     * BE     * 
* END OF STREAM * DE     * DE     * DE     * SE     * BE     * BE     * 
* REQUEST REST  * DE     * DE     * DE     * SE     * BE     * BE     * 
* CHECKMARK RPLY* DE     * DE     * DE     * SE     * BE     * BE     * 
* QUIT          * DE     * DE     * DE     * SE     * BE     * BE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * SA6,62 * DE     * DE     * SA6,62 * SA6,62 * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * SA5,59 * SA5,59 * SA5,59 * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S I R I* S I A I* S W S A* S S S I* S W E  * S I S I* 
*   *           * T S E N* T S B N* T A T B* T T T N* T A O  * T S T N* 
*     *  STATE  * S S S P* S S O P* S I R O* S R O T* S I I  * S S A P* 
*       *       * 1 U T U* 1 U P U* 1 T E R* 1 E P E* 1 T    * 1 U R U* 
*         *     * 2 E A T* 3 E T T* 4   A T* 5 A P R* 6      * 7 E T T* 
* INPUT     *   *     R  *        *     M E*   M E N*        *        * 
*             * *     T  *        *       D*     D  *        *        * 
** ******************************************************************** 
* INPUT DATA    * SA9    * SA9    * SA16   * SA16   * SA16   * BE     * 
* INPUT BACK    * SA5    * SA5    * SA5    * SA5    * SA5    * BE     * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * DE     * AE     * DE     * AE     * DE     * 
* START PRU DATA* DE     * DE     * AE     * DE     * AE     * DE     * 
* START IN FILE * DE     * DE     * AE     * DE     * AE     * DE     * 
* START OUT FILE* DE     * DE     * AE     * DE     * AE     * DE     * 
* VALID JOB     * DE     * DE     * SA6    * DE     * SA6    * DE     * 
* INVALID JOB   * DE     * DE     * SA6    * DE     * SA6    * DE     * 
* STOP PRU      * DE     * DE     * AE     * DE     * AE     * DE     * 
* RESTART PRU   * DE     * DE     * SA6    * DE     * SA6    * DE     * 
* BYPASS PRU    * DE     * DE     * AE     * DE     * SA6    * DE     * 
* ABORT PRU     * DE     * DE     * AE     * DE     * SA5,13 * DE     * 
* ABORT MARKER  * DE     * DE     * AE     * DE     * AE     * DE     * 
* RESUME PRU OUT* DE     * DE     * AE     * DE     * AE     * DE     * 
* DIRECT OUTPUT * DE     * DE     * AE     * DE     * AE     * DE     * 
* EOJ OUTPUT    * DE     * DE     * AE     * DE     * AE     * DE     * 
* SET FILE      * DE     * DE     * AE     * DE     * AE     * DE     * 
* SET DEVICE    * DE     * DE     * AE     * DE     * AE     * DE     * 
* COMMAND QUEUED* SA7    * SA7    * SA7    * SA7    * SA7    * DE     * 
* QUEUED INPUT  * DE     * DE     * SA11   * DE     * SA11   * DE     * 
* OUTPUT ALOOWED* DE     * DE     * DE     * DE     * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* DE     * DE     * SA8    * DE     * SA8,11 * DE     * 
* BATCH INTER   * DE     * DE     * SA8    * DE     * SA8,11 * DE     * 
* END OF INFORM * DE     * DE     * SA8    * DE     * SA8,4  * DE     * 
* END OF STREAM * DE     * DE     * SA8,2  * DE     * SA8,2  * DE     * 
* STRAM ABORTED * DE     * DE     * SA8,2  * DE     * BE     * DE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* SA15,*** SA6,14 * DE     * DE     * DE     * SA6,9  * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * SA10,16* DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * DE     * DE     * BE     * DE     * BE     * DE     * 
* END OF STREAM * DE     * DE     * BE     * DE     * BE     * DE     * 
* REQUEST RESET * DE     * DE     * BE     * DE     * BE     * DE     * 
* CHECKMARK RPLY* DE     * DE     * BE     * DE     * BE     * DE     * 
* QUIT          * DE     * DE     * BE     * DE     * BE     * DE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * SA6,62 * SA6,62 * SA6,62 * DE     * SA6,62 * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * DE     * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S I F O* S I S R* S E F I* S W E S* S I C R* S P O I* 
*   *           * T S I N* T S T E* T N I N* T A N T* T S H E* T R U D* 
*     *  STATE  * S S L  * S S A P* S D L  * S I D R* S S E P* S U T L* 
*       *       * 1 U E  * 1 U R L* 2   E  * 2 T   E* 2 U C L* 2   P E* 
*         *     * 8 E    * 9 E T Y* 0      * 1   O A* 2 E K Y* 3   U  * 
* INPUT     *   *     I  *        *        *     F M*     M  *     T  * 
*             * *     N  *        *        *        *     K  *        * 
** ******************************************************************** 
* INPUT DATA    * BE     * DE     * DE     * BE     * SA9    * BE     * 
* INPUT BACK    * BE     * BE     * SA5    * SA5    * SA5    * BE     * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * DE     * DE     * AE     * DE     * AE     * 
* START PRU DATA* DE     * DE     * DE     * AE     * DE     * SA6,29 * 
* START IN FILE * DE     * DE     * DE     * AE     * DE     * AE     * 
* START OUT FILE* DE     * DE     * DE     * AE     * DE     * SA6,29 * 
* VALID JOB     * DE     * DE     * DE     * AE     * DE     * AE     * 
* INVALID JOB   * DE     * DE     * DE     * AE     * DE     * AE     * 
* STOP PRU      * DE     * DE     * DE     * AE     * DE     * SA6    * 
* RESTART PRU   * DE     * DE     * DE     * AE     * DE     * SA6    * 
* BYPASS PRU    * DE     * DE     * DE     * AE     * DE     * AE     * 
* ABORT PRU     * DE     * DE     * DE     * AE     * DE     * SA5,50 * 
* ABORT MARKER  * DE     * DE     * DE     * AE     * DE     * AE     * 
* RESUME PRU OUT* DE     * DE     * DE     * AE     * DE     * AE     * 
* DIRECT OUTPUT * DE     * DE     * DE     * AE     * DE     * SA5,26 * 
* EOJ OUTPUT    * DE     * DE     * DE     * AE     * DE     * SA5,35 * 
* SET FILE      * DE     * DE     * DE     * AE     * DE     * SA5,24 * 
* SET DEVICE    * DE     * DE     * DE     * AE     * DE     * SA5,24 * 
* COMMAND QUEUED* DE     * DE     * SA7    * SA7    * SA7    * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * BE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * DE     * SA5    * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* DE     * DE     * DE     * BE     * DE     * SA19,39* 
* BATCH INT     * DE     * DE     * DE     * BE     * DE     * SA19,39* 
* END OF INFORM * DE     * DE     * DE     * BE     * DE     * BE     * 
* END OF STREAM * DE     * DE     * DE     * BE     * DE     * BE     * 
* STREAM ABORTED* DE     * DE     * DE     * BE     * DE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * DE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* SA17,19* DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * SA10,21* DE     * DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * DE     * DE     * DE     * SE     * DE     * SE     * 
* END OF STREAM * DE     * DE     * DE     * SA8,61 * DE     * SE     * 
* REQUEST REST  * DE     * DE     * DE     * SE     * DE     * SE     * 
* CHECKMARK RPLY* DE     * DE     * DE     * SE     * DE     * SE     * 
* QUIT          * DE     * DE     * DE     * SE     * DE     * SE     * 
* L7 CMD ISSUED * DE     * SA5,9  * DE     * DE     * SA18,9 * DE     * 
* TERMINATE PRU * SA6,62 * SA6,62 * DE     * SA6,62 * SA6,62 * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* SA5,59 * SA5,59 * SA5,59 * SA5,59 * SA5,59 * SA5,59 * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S I C T* S W C A* S I D O* S D O A* S W O A* S P O A* 
*   *           * T S O O* T A O C* T S I U* T I U C* T A U C* T R U C* 
*     *  STATE  * S S M  * S I M K* S S R T* S R T T* S I T T* S U T T* 
*       *       * 2 U M N* 2 T M N* 2 U E P* 2 E P I* 2 T P I* 2   P I* 
*         *     * 4 E A P* 5   A O* 6 E C U* 7 C U V* 8   U V* 9   U V* 
* INPUT     *   *     N U*     N W*     T T*   T T E*   N T I*     T E* 
*             * *     D  *     D  *        *        *   O   T*        * 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * BE     * BE     * BE     * BE     * 
* INPUT BACK    * BE     * SA5,23 * SA20   * SA20   * SA20   * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * SA21,27* DE     * DE     * DE     * 
* START PRU JOB * DE     * AE     * DE     * AE     * AE     * AE     * 
* START PRU DATA* DE     * AE     * DE     * SA5,28 * AE     * AE     * 
* START IN FILE * DE     * AE     * DE     * AE     * AE     * AE     * 
* START OUT FILE* DE     * AE     * DE     * AE     * AE     * AE     * 
* VALID JOB     * DE     * AE     * DE     * AE     * AE     * AE     * 
* INVALID JOB   * DE     * AE     * DE     * AE     * AE     * AE     * 
* STOP PRU      * DE     * AE     * DE     * SA5,28 * AE     * SA6,41 * 
* RESTART PRU   * DE     * AE     * DE     * SA5    * AE     * SA6    * 
* BYPASS PRU    * DE     * AE     * DE     * AE     * AE     * AE     * 
* ABORT PRU     * DE     * SA5,50 * DE     * SA5,50 * SA5,50 * SA5,50 * 
* ABORT MARKER  * DE     * AE     * DE     * AE     * AE     * AE     * 
* RESUME PRU OUT* DE     * AE     * DE     * AE     * AE     * AE     * 
* DIRECT OUTPUT * DE     * AE     * DE     * SA5,26 * AE     * AE     * 
* EOJ OUTPUT    * DE     * AE     * DE     * AE     * AE     * AE     * 
* SET FILE      * DE     * AE     * DE     * SA5,28 * AE     * SA5,47 * 
* SET DEVICE    * DE     * AE     * DE     * SA5,28 * AE     * SA5,47 * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * SA5    * DE     * SA5,30 * 
* NO OUTPUT     * DE     * SA5,23 * DE     * DE     * SA5,23 * DE     * 
* STREAM STOPPED* SA10,39* SA19,39* SA10,39* SA19,39* SA19,39* SA19,39* 
* BATCH INTER   * SA10,39* SA19,39* SA10,39* SA19,39* SA19,39* SA19,39* 
* END OF INFORM * BE     * BE     * BE     * BE     * BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* STREAM ABORTED* BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* SA6,25 * DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * SE     * SE     * SE     * SE     * BE     * SE     * 
* END OF STREAM * SE     * SE     * SE     * SE     * BE     * SE     * 
* REQUEST REST  * SE     * SE     * SE     * SE     * BE     * SE     * 
* CHECKMARK RPLY* SE     * SE     * SE     * SE     * BE     * SA5    * 
* QUIT          * SE     * SE     * SE     * SE     * BE     * SE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * SA22   * 
* TERMINATE PRU * SA6,62 * SA6,62 * SA6,62 * SA6,62 * SA6,62 * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * DE     * DE     * DE     * SA5,59 * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S R R I* S W R C* S I P O* S I L O* S W E D* S I E O* 
*   *           * T E M N* T A M O* T S R U* T S A U* T A O E* T S O U* 
*     *  STATE  * S Q S P* S I S M* S S U T* S S S T* S I I L* S S J T* 
*       *       * 3 U   U* 3 T   P* 3 U   P* 3 U T P* 3 T   I* 3 U   P* 
*         *     * 0 E   T* 1     L* 2 E   U* 3 E   U* 4     V* 5 E   U* 
* INPUT     *   *   S    *        *       T*       T*       E*       T* 
*             * *   T    *        *        *        *       R*        * 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * BE     * BE     * BE     * BE     * 
* INPUT BACK    * SA5    * SA5    * SA5    * SA5    * SA5    * BE     * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * SA23,29* SA23,34* DE     * SA21,36* 
* START PRU JOB * DE     * DE     * DE     * DE     * AE     * DE     * 
* START PRU DATA* DE     * DE     * DE     * DE     * AE     * DE     * 
* START IN FILE * DE     * DE     * DE     * DE     * AE     * DE     * 
* START OUT FILE* DE     * DE     * DE     * DE     * AE     * DE     * 
* VALID JOB     * DE     * DE     * DE     * DE     * AE     * DE     * 
* INVALID JOB   * DE     * DE     * DE     * DE     * AE     * DE     * 
* STOP PRU      * DE     * DE     * DE     * DE     * AE     * DE     * 
* RESTART PRU   * DE     * DE     * DE     * DE     * AE     * DE     * 
* BYPASS PRU    * DE     * DE     * DE     * DE     * AE     * DE     * 
* ABORT PRU     * DE     * DE     * DE     * DE     * SA5,50 * DE     * 
* ABORT MARKER  * DE     * DE     * DE     * DE     * AE     * DE     * 
* RESUME PRU OUT* DE     * DE     * DE     * DE     * AE     * DE     * 
* DIRECT OUTPUT * DE     * DE     * DE     * DE     * AE     * DE     * 
* EOJ OUTPUT    * DE     * DE     * DE     * DE     * AE     * DE     * 
* SET FILE      * DE     * DE     * DE     * DE     * AE     * DE     * 
* SET DEVICE    * DE     * DE     * DE     * DE     * AE     * DE     * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * SA5    * DE     * 
* STREAM STOPPED* SA10,39* SA10,39* SA10,38* SA24,38* SA19,39* SA10,39* 
* BATCH INTER   * SA10,39* SA10,37* SA10,38* SA24,38* SA19,39* SA10,39* 
* END OF INFORM * BE     * BE     * BE     * BE     * SA10,23* BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* STREAM ABORTED* BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS REQUESTED * SA5,21 * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * SA5,32 * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * SA5,33 * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * SA11,44* DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * SA5,55 * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * SA11,60* DE     * DE     * DE     * DE     * 
* CHECKMARK     * SE     * SE     * SE     * BE     * BE     * BE     * 
* END OF STREAM * SE     * SE     * SE     * BE     * BE     * BE     * 
* REQUEST REST  * SE     * SE     * SE     * BE     * BE     * BE     * 
* CHECKMARK RPLY* SA5    * SA5    * SA5    * BE     * BE     * BE     * 
* QUIT          * SE     * SE     * SE     * BE     * BE     * BE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * DE     * DE     * DE     * DE     * SA6,62 * DE     * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* SA5,59 * SA5,59 * SA5,59 * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S W E D* S W R C* S I P O* S S S E* S I L O* S W O A* 
*   *           * T A O E* T A M O* T S R U* T T T X* T S A U* T A U C* 
*     *  STATE  * S I I L* S I S M* S S U T* S R O T* S S S T* S I T T* 
*       *       * 3 T   I* 3 T   P* 3 U   P* 3 E P E* 4 U T P* 4 T P I* 
*         *     * 6     V* 7     L* 8 E   U* 9 A P R* 0 E   U* 1   U V* 
* INPUT     *   *       E*        *       T*   M E N*       T*   N T I* 
*             * *       R*        *        *     D  *        *   D   T* 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * BE     * BE     * BE     * BE     * 
* INPUT BACK    * SA5    * BE     * BE     * SA5    * BE     * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * SA23,39* DE     * SA23,39* DE     * 
* START PRU JOB * AE     * DE     * DE     * AE     * DE     * AE     * 
* START PRU DATA* AE     * DE     * DE     * SA5    * DE     * AE     * 
* START IN FILE * AE     * DE     * DE     * AE     * DE     * AE     * 
* START OUT FILE* AE     * DE     * DE     * AE     * DE     * AE     * 
* VALID JOB     * AE     * DE     * DE     * AE     * DE     * AE     * 
* INVALID JOB   * AE     * DE     * DE     * AE     * DE     * AE     * 
* STOP PRU      * AE     * DE     * DE     * SA6    * DE     * AE     * 
* RESTART PRU   * AE     * DE     * DE     * SA5,48 * DE     * AE     * 
* BYPASS PRU    * AE     * DE     * DE     * AE     * DE     * AE     * 
* ABORT PRU     * SA5,50 * DE     * DE     * SA5,50 * DE     * SA5,50 * 
* ABORT MARKER  * AE     * DE     * DE     * AE     * DE     * AE     * 
* RESUME PRU OUT* AE     * DE     * DE     * SA6    * DE     * AE     * 
* DIRECT OUTPUT * AE     * DE     * DE     * SA5    * DE     * AE     * 
* EOJ OUTPUT    * AE     * DE     * DE     * SA5    * DE     * AE     * 
* SET FILE      * AE     * DE     * DE     * SA5    * DE     * AE     * 
* SET DEVICE    * AE     * DE     * DE     * SA5    * DE     * AE     * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * SA5    * DE     * DE     * 
* NO OUTPUT     * SA5    * DE     * DE     * DE     * DE     * SA5,42 * 
* STREAM STOPPED* SA19,39* SA10   * BE     * SA10   * SA10   * SA10,39* 
* BATCH INTER   * SA19,39* SA10   * SA10   * SA10   * SA10   * SA10,39* 
* END OF INFORM * SA10,23* BE     * BE     * SA10,23* BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* STREAM ABORTED* BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * SA5,38 * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * SA24,38* DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * SA11,46* DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * BE     * BE     * BE     * BE     * BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* REQUEST REST  * BE     * BE     * BE     * BE     * BE     * BE     * 
* CHECKMARK RPLY* BE     * BE     * BE     * BE     * BE     * BE     * 
* QUIT          * BE     * BE     * BE     * BE     * BE     * BE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * SA6,62 * DE     * DE     * SA6,62 * DE     * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * DE     * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S R S S* S S S B* S R S S* S S S I* S R S S* S I C T* 
*   *           * T E T T* T T T Y* T E T T* T T T N* T E T T* T S O O* 
*     *  STATE  * S P R O* S R O  * S P R O* S R O T* S P R O* S S M  * 
*       *       * 4 O E P* 4 E P A* 4 O E P* 4 E P E* 4 O E P* 4 U M N* 
*         *     * 2 R A P* 3 A P P* 4 R A P* 5 A P R* 6 R A P* 7 E A P* 
* INPUT     *   *   T M E*   M E P*   T M E*   M E N*   T M E*     N U* 
*             * *       D*       D*       D*     D  *       D*     D  * 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * BE     * BE     * BE     * BE     * 
* INPUT BACK    * BE     * BE     * SA5    * SA5    * SA5    * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * AE     * DE     * AE     * DE     * DE     * 
* START PRU DATA* DE     * AE     * DE     * AE     * DE     * DE     * 
* START IN FILE * DE     * AE     * DE     * AE     * DE     * DE     * 
* START OUT FILE* DE     * AE     * DE     * AE     * DE     * DE     * 
* VALID JOB     * DE     * AE     * DE     * AE     * DE     * DE     * 
* INVALID JOB   * DE     * AE     * DE     * AE     * DE     * DE     * 
* STOP PRU      * DE     * AE     * DE     * SA6    * DE     * DE     * 
* RESTART PRU   * DE     * AE     * DE     * AE     * DE     * DE     * 
* BYPASS PRU    * DE     * AE     * DE     * AE     * DE     * DE     * 
* ABORT PRU     * DE     * SA5,50 * DE     * SA5,50 * DE     * DE     * 
* ABORT MARKER  * DE     * AE     * DE     * AE     * DE     * DE     * 
* RESUME PRU OUT* DE     * SA15,*** DE     * AE     * DE     * DE     * 
* DIRECT OUTPUT * DE     * AE     * DE     * AE     * DE     * DE     * 
* EOJ OUTPUT    * DE     * AE     * DE     * AE     * DE     * DE     * 
* SET FILE      * DE     * AE     * DE     * SA5    * DE     * DE     * 
* DET DEVICE    * DE     * AE     * DE     * SA5    * DE     * DE     * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * SA5    * DE     * SA5    * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* SA10,39* SA10,39* SA10,46* SA10,39* SA10   * SA10,39* 
* BATCH INTER   * SA10,39* SA10,39* SA10,46* SA10,39* SA10   * SA10,39* 
* END OF INFORM * BE     * BE     * BE     * BE     * BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* STREAM ABORTED* BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * SA15,*** 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * SA10,43* DE     * SA10,43* DE     * SA10,39* DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * BE     * BE     * BE     * BE     * BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* REQUEST REST  * BE     * BE     * BE     * BE     * BE     * BE     * 
* CHECKMARK RPLY* BE     * BE     * BE     * BE     * BE     * BE     * 
* QUIT          * BE     * BE     * BE     * BE     * BE     * BE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * DE     * SA6,62 * DE     * SA6,62 * DE     * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * DE     * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S I R I* S W I R* S I A I* S W I R* S W A M* S I A M* 
*   *           * T S E C* T A C E* T S B C* T A C E* T A B A* T S B A* 
*     *  STATE  * S S S M* S I M S* S S O M* S I M S* S I O R* S S O R* 
*       *       * 4 U T D* 4 T D P* 5 U R D* 5 T D P* 5 T R K* 5 U R K* 
*         *     * 8 E A  * 9     O* 0 E T  * 1     O* 2   T E* 3 E T E* 
* INPUT     *   *     R  *       N*        *       N*       R*       R* 
*             * *     T  *       S*        *       S*        *        * 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * BE     * BE     * BE     * BE     * 
* INPUT BACK    * BE     * SA5    * SA5    * SA5    * SA5    * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * AE     * DE     * AE     * AE     * DE     * 
* START PRU DATA* DE     * SA5    * DE     * SA6    * SA6    * DE     * 
* START IN FILE * DE     * AE     * DE     * AE     * AE     * DE     * 
* START OUT FILE* DE     * AE     * DE     * AE     * AE     * DE     * 
* VALID JOB     * DE     * AE     * DE     * AE     * AE     * DE     * 
* INVALID JOB   * DE     * AE     * DE     * AE     * AE     * DE     * 
* STOP PRU      * DE     * AE     * DE     * SA6    * SA6    * DE     * 
* RESTART PRU   * DE     * AE     * DE     * AE     * AE     * DE     * 
* BYPASS PRU    * DE     * AE     * DE     * AE     * AE     * DE     * 
* ABORT PRU     * DE     * SA5    * DE     * AE     * AE     * DE     * 
* ABORT MARKER  * DE     * AE     * DE     * AE     * SA5,53 * DE     * 
* RESUME PRU OUT* DE     * AE     * DE     * AE     * SA6    * DE     * 
* DIRECT OUTPUT * DE     * AE     * DE     * SA6    * SA6    * DE     * 
* EOJ OUTPUT    * DE     * AE     * DE     * SA6    * SA6    * DE     * 
* SET FILE      * DE     * AE     * DE     * SA6    * SA6    * DE     * 
* SET DEVICE    * DE     * AE     * DE     * SA6    * SA6    * DE     * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * SA5    * DE     * 
* NO OUTPUT     * DE     * SA5    * DE     * SA5    * DE     * SA5    * 
* STREAM STOPPED* BE     * BE     * SA10   * SA10   * SA10   * SA10   * 
* BATCH INTER   * BE     * SA5    * SA10   * SA10   * SA10   * SA10   * 
* END OF INFORM * BE     * BE     * SA10   * SA10   * SA10   * SA10   * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* STREAM ABORTED* BE     * BE     * BE     * BE     * BE     * BE     * 
* ICMD RESPONSE * BE     * SA12,*** BE     * SA5,52 * BE      BE      * 
* ICMD ISSUED   * SA6,49 * DE     * SA6,51 * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * SA6,54 * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * BE     * BE     * BE     * BE     * BE     * BE     * 
* END OF STREAM * BE     * BE     * BE     * BE     * BE     * BE     * 
* REQUEST REST  * BE     * BE     * BE     * BE     * BE     * BE     * 
* CHECKMARK RPLY* BE     * BE     * BE     * BE     * BE     * BE     * 
* QUIT          * BE     * BE     * BE     * BE     * BE     * BE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * SA6,62 * SA6,62 * SA6,62 * SA6,62 * SA6,62 * SA6,62 * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * SA5,61 * 
* LEVEL SEVEN ER* DE     * DE     * DE     * DE     * DE     * DE     * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ******************************************************************** 
* *             * S W S A* S I L O* S W O A* S E F O* S U S S* S R T E* 
*   *           * T A T B* T S A U* T A U C* T N I U* T N T T* T E R R* 
*     *  STATE  * S I R O* S S S T* S I T T* S D L T* S U R A* S P A R* 
*       *       * 5 T E R* 5 U T P* 5 T P I* 5   E  * 5 S E I* 5 O N O* 
*         *     * 4   A T* 5 E   U* 6   U V* 7      * 8 E A E* 9 R S R* 
* INPUT     *   *     M E*       T*   N T I*        *   D M  *   T F  * 
*             * *       D*        *   O   T*        *        *        * 
** ******************************************************************** 
* INPUT DATA    * BE     * BE     * DE     * DE     * DE     * SA15   * 
* INPUT BACK    * SA5    * SA5    * SA5    * DE     * DE     * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * SA23,56* DE     * DE     * DE     * DE     * 
* START PRU JOB * AE     * DE     * AE     * DE     * DE     * DE     * 
* START PRU DATA* AE     * DE     * AE     * DE     * DE     * DE     * 
* START IN FILE * AE     * DE     * AE     * DE     * DE     * DE     * 
* START OUT FILE* AE     * DE     * AE     * DE     * DE     * DE     * 
* VALID JOB     * AE     * DE     * AE     * DE     * DE     * DE     * 
* INVALID JOB   * AE     * DE     * AE     * DE     * DE     * DE     * 
* STOP PRU      * AE     * DE     * AE     * DE     * DE     * DE     * 
* RESTART PRU   * AE     * DE     * AE     * DE     * DE     * DE     * 
* BYPASS PRU    * AE     * DE     * AE     * DE     * DE     * DE     * 
* ABORT PRU     * AE     * DE     * AE     * DE     * DE     * DE     * 
* ABORT MARKER  * AE     * DE     * AE     * DE     * DE     * DE     * 
* RESUME PRU OUT* AE     * DE     * AE     * DE     * DE     * DE     * 
* DIRECT OUTPUT * AE     * DE     * AE     * DE     * DE     * DE     * 
* EOJ OUTPUT    * AE     * DE     * AE     * DE     * DE     * DE     * 
* SET FILE      * AE     * DE     * AE     * DE     * DE     * DE     * 
* SET DEVICE    * AE     * DE     * AE     * DE     * DE     * DE     * 
* COMMAND QUEUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* QUEUED INPUT  * DE     * DE     * DE     * DE     * DE     * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * DE     * DE     * 
* NO OUTPUT     * SA5    * DE     * SA5,57 * DE     * DE     * DE     * 
* STREAM STOPPED* SA10   * DE     * DE     * DE     * DE     * DE     * 
* BATCH INTER   * SA10   * DE     * DE     * DE     * DE     * DE     * 
* END OF INFORM * SA10   * DE     * DE     * DE     * DE     * DE     * 
* END OF STREAM * BE     * DE     * DE     * DE     * DE     * DE     * 
* STREAM ABORTED* SA10,23* DE     * DE     * DE     * DE     * DE     * 
* ICMD RESPONSE * BE     * DE     * DE     * DE     * DE     * DE     * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * DE     * DE     * DE     * DE     * 
* RESET ISSUED  * DE     * DE     * DE     * DE     * DE     * DE     * 
* APP REQUESTED * DE     * DE     * DE     * SA10,61* DE     * SA10,61* 
* RMS REQUESTED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * DE     * DE     * 
* CHECKMARK     * BE     * SE     * SE     * SE     * DE     * SE     * 
* END OF STREAM * BE     * SE     * SE     * SE     * DE     * SE     * 
* REQUEST REST  * BE     * SE     * SE     * SE     * DE     * SE     * 
* CHECKMARK RPLY* BE     * SA5    * SA5    * SA5    * DE     * SE     * 
* QUIT          * BE     * SE     * SE     * SE     * DE     * SE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * SA6,62 * DE     * SA6,62 * DE     * DE     * DE     * 
* PRU TERMINATED* DE     * DE     * DE     * DE     * DE     * DE     * 
* FE INOPER     * SA5,61 * SA5,61 * SA5,61 * SA5,61 * DE     * DE     * 
* PROTOCOL ERROR* SA5,61 * SA5,61 * SA5,61 * SA5,61 * DE     * DE     * 
* LEVEL SEVEN ER* DE     * SA5,59 * SA5,59 * SA5,59 * DE     * SA5    * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * DE     * DE     * 
** ******************************************************************** 
 STSTATES SPACE  2,10 
** ************************************************** 
* *             * S R R E* S C I W* S T P S* S P S T* 
*   *           * T E M R* T H M O* T E R T* T R T E* 
*     *  STATE  * S P S R* S E M R* S R U R* S U R R* 
*       *       * 6 O   O* 6 C E K* 6 M   E* 6   E M* 
*         *     * 0 R   R* 1 K D L* 2 I   A* 3   A I* 
* INPUT     *   *   T    *       S*   N   M*     M N* 
*             * *        *       T*        *        * 
** ************************************************** 
* INPUT DATA    * SA16   * DSA16  * SA16   * SA16   * 
* INPUT BACK    * SA5    * SA5    * SA5    * SA5    * 
* INVALID INPUT * DE     * DE     * DE     * DE     * 
* OUTPUT DATA   * DE     * DE     * DE     * DE     * 
* START PRU JOB * DE     * DE     * DE     * DE     * 
* START PRU DATA* DE     * DE     * DE     * DE     * 
* START IN FILE * DE     * DE     * DE     * DE     * 
* START OUT FILE* DE     * DE     * DE     * DE     * 
* VALID JOB     * DE     * DE     * DE     * DE     * 
* INVALID JOB   * DE     * DE     * DE     * DE     * 
* STOP PRU      * DE     * DE     * DE     * DE     * 
* RESTART PRU   * DE     * DE     * DE     * DE     * 
* BYPASS PRU    * DE     * DE     * DE     * DE     * 
* ABORT PRU     * DE     * DE     * DE     * DE     * 
* ABORT MARKER  * DE     * DE     * DE     * DE     * 
* RESUME PRU OUT* DE     * DE     * DE     * DE     * 
* DIRECT OUTPUT * DE     * DE     * DE     * DE     * 
* EOJ OUTPUT    * DE     * DE     * DE     * DE     * 
* SET FILE      * DE     * DE     * DE     * DE     * 
* SET DEVICE    * DE     * DE     * DE     * DE     * 
* COMMAND QUEUED* SA7    * SA5    * SA5    * SA5    * 
* QUEUED INPUT  * DE     * DE     * SA11   * DE     * 
* OUTPUT ALLOWED* DE     * DE     * DE     * DE     * 
* NO OUTPUT     * DE     * DE     * DE     * DE     * 
* STREAM STOPPED* DE     * DE     * SA5    * SA5    * 
* BATCH INTER   * DE     * DE     * SA5    * SA5    * 
* END OF INFORM * DE     * DE     * SA5    * SA5    * 
* END OF STREAM * DE     * DE     * SA5    * SA5    * 
* STREAM ABORTED* DE     * DE     * SA5    * SA5    * 
* ICMD RESPONSE * BE     * BE     * SA5    * SA5    * 
* ICMD ISSUED   * DE     * DE     * DE     * DE     * 
* NPU CMD ISSUED* DE     * DE     * SA25   * DE     * 
* RESET ISSUED  * DE     * DE     * SA26   * DE     * 
* APP REQUESTED * SA10,61* DE     * DE     * DE     * 
* RMS REQUESTED * DE     * DE     * DE     * DE     * 
* RMS COMPLETED * DE     * DE     * DE     * DE     * 
* RMS EOI       * DE     * DE     * DE     * DE     * 
* RMS ERROR     * DE     * DE     * DE     * DE     * 
* END FILE TRANS* DE     * DE     * DE     * DE     * 
* TRANS RMS ERR * DE     * DE     * DE     * DE     * 
* CHECKMARK     * SE     * SE     * SE     * SE     * 
* END OF STREAM * SE     * SE     * SE     * SE     * 
* REQUEST REST  * SE     * SE     * SE     * SE     * 
* CHECKMARK RPLY* SE     * SA5    * SE     * SE     * 
* QUIT          * SE     * SE     * SE     * SE     * 
* L7 CMD ISSUED * DE     * DE     * DE     * DE     * 
* TERMINATE PRU * DE     * SA6,62 * DE     * DE     * 
* PRU TERMINATED* DE     * DE     * SA10,63* DE     * 
* FE INOPER     * SA5    * SA5    * SA5    * SA5    * 
* PROTOCOL ERROR* SA5    * SA5    * SA5    * SA5    * 
* LEVEL SEVEN ER* SA5,59 * SA5    * SA5    * SA5    * 
* LOGIC ERROR   * DE     * DE     * DE     * DE     * 
** ************************************************** 
 STSTATES EJECT 
* STREAM STATE RESPONSE ACTION DIRECTORY. 
* 
* ACTION  NAME   FUNCTION 
* ------  ----   -------- 
* 
* 
* BE      SRIL   BLOCK PROTOCOL ERROR 
* DE      SRLE   DRIVER ERROR 
* AE      SRAE   APPLICATION ERROR
* SE      S7IL   LEVEL SEVEN ERROR
* SA1     SRIT   INPUT TEXT FROM FRONT END
* SA2     SRII   BYPASS INVALID IVT INPUT 
* SA3     SROT   OUTPUT TEXT TO FRONT END 
* SA4     SRUO   UPDATE FET OUTPUT POINTER
* SA5     SRNA   NO ACTION
* SA6     SRWC   TRANSFER WORKLIST COMPLETED RESPONSE 
* SA7     SROW   QUEUE UPBOUND WORKLIST 
* SA8     SRAQ   ADVANCE QUEUE AND TRANSFWER WORKLIST 
* SA9     SRIP   INPUT PRU DATA FROM FRONT END AND QUEUE
* SA10    SRTW   TRANSFER WORKLIST TO APPLICATION 
* SA11    SRRB   RETURN PRU BUFFER TO LIMBO CHAIN 
* SA12    SRRS   RETURN TO OLD STATE AND TRANSFER WORKLIST
* SA13    SRSB   SET OLD STATE TO BYPASS STATE
* SA14    SRQA   ADVANCE QUEUE
* SA15    SROS   RETURN TO OLD STATE
* SA16    SRBI   BYPASS INPUT FROM FRONT END
* SA17    SRFO   SET PRU MODE ON FOR FILE TRANSFER
* SA18    SPMR   UPDATE INBOUND CHECKMARK CONTROL 
* SA19    SRSO   SET OLD STATE TO CURRENT STATE 
* SA20    SROA   TRANSFER ACKNOWLEDGE WORKLIST TO APPLICATION 
* SA21    SRDO   ISSUE DIRECT OUTPUT TO FRONT END 
* SA22    SPMS   UPDATE OUTBOUND CHECKMARK CONTROL
* SA23    SRPO   ISSUE PRU OUTPUT TO FRONT END
* SA24    SRWE   SET OLD STATE TO WAIT EOI DELIVERED
* SA25    SROF   RESET PRU MODE ON FOR FILE TRANSFER
* SA26    SRBR   RESET BREAK RECEIVED 
 FUNCTION SPACE  2,10 
**               DRIVER INITIALIZATION. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE DRIVER CALL.
* 
*TBL               18/PIP,1/0,5/CP,12/FC,6/0,18/PAD 
* 
*                    WHERE -
* 
*                      PIP = DRIVER NAME, 
*                       CP = CONTROL POINT NUMBER,
*                       FC = FUNCTION CODE, 
*                      PAD = PARAMETER ADDRESS. 
* 
*                SCAN EQUIPMENT STATUS TABLE FOR NEW EQUIPMENT (FC = 2).
* 
*                THE SCAN EQUIPMENT STATUS TABLE FOR NEW EQUIPMENT
*                FUNCTION IS USED BY NAM TO DETECT WHEN A FRONT END 
*                EQUIPMENT HAS BEEN TURNED ON BY THE SYSTEM OPERATOR
*                AND IS AVAILABLE FOR PROCESSING.  THE INITIALIZATION 
*                OVERLAY *2IN* IS LOADED AND THE SCAN EST ROUTINE *SEST*
*                IS ENTERED.  THE PARAMETER ADDRESS CONTAINS THE ADDRESS
*                OF THE COUPLER EQUIPMENT TABLE WITHIN THE FIELD LENGTH 
*                OF NAM.  THE DRIVER WILL USE THE COUPLER EQUIPMENT 
*                TABLE AND THE SYSTEM EST TO DETERMINE IF ANY FRONT 
*                END EQUIPMENTS HAVE BEEN TURNED ON.  AT THE COMPLETION 
*                OF PROCESSING THE UPDATED COUPLER EQUIPMENT TABLE IS 
*                RETURNED TO NAM. 
* 
*                INITIALIZE NAM FIELD LENGTH (FC = 1).
* 
*                THE INITIALIZE NAM FIELD LENGTH FUNCTION CAUSES THE
*                INITIALIZATION OVERLAY *2IN* TO BE LOADED AND THE
*                INITIALIZE NAM FIELD LENGTH ROUTINE *INFL* IS ENTERED. 
*                THE PARAMETER ADDRESS CONTAINS THE ADDRESS OF THE
*                TABLE AREA THAT WILL BE INITIALIZED.  THE DRIVER WILL
*                INITIALIZE THE NETWORK BUFFER TABLE, THE DRIVER
*                INTERFACE TABLE AND THE COUPLER EUIPMENT TABLE.  IN
*                ADDITION THE DRIVER TRANSIENT OVERLAYS WILL BE LOADED
*                AND COPIED TO THE DRIVER OVERLAY AREA IN THE FIELD 
*                LENGTH OF NAM. 
* 
*                PROCESS FRONT END (FC = 0).
* 
*                THE PROCESS FRONT END FUNCTION CAUSES THE
*                INITIALIZATION OVERLAY *3IN* TO BE LOADED AND THE
*                PRESET DRIVER ROUTINE *PRS* IS EXECUTED.  THE PARAMETER
*                ADDRESS CONTAINS THE ADDRESS OF THE DRIVER INTERFACE 
*                TABLE TO BE USED BY THIS DRIVER.  THE DRIVER PRESETS 
*                CONSTANT ADDRESSES AND VALUES AND TRANSFERS CONTROL
**               TO THE MAIN DRIVER CONTROL ROUTINE.
 FUNCTION SPACE  2,10 
**               NPU INITIALIZATION.
* 
*                WHEN A NPU IS OPERATIONAL THE BLOCK HANDLER STATE
*                IDENTIFIES THE TYPE OF STREAM BEING PROCESSED. 
*                BLOCK HANDLER STATES WITH VALUES GREATER THAN ANY OF 
*                THE OPERATIONAL BLOCK HANDLER STATES ARE REFERRED TO 
*                AS NPU STATES AND ARE USED TO CONTROL INITIALIZATION 
*                AND ERROR PROCESSING OF A NPU.  THIS STRUCTURE PROVIDES
*                A CONVENIENT METHOD FOR DISCARDING ANY QUEUED OUTBOUND 
*                DATA WHEN A NPU GOES INOPERATIVE.  WHEN A NPU IS FIRST 
*                SERVICED BY THE DRIVER THE NPU STATE IS SET TO THE 
*                INITIAL NPU STATE.  IF AN INITIALIZATION REQUEST IS
*                RECEIVED FROM THE NPU THE NPU STATE IS CHANGED TO
*                REPORT INITIALIZATION REQUESTED.  IF AN INITIALIZATION 
*                COMPLETED STATUS IS RECEIVED FROM THE NPU THE NPU STATE
*                IS CHANGED TO REPORT INITIALIZATION COMPLETED AND THE
*                ACTIVE BLOCK HANDLER STATE WILL BE ENTERED.  IF THE
*                NPU IS TIMED OUT FROM THE INITIAL STATE THE NPU
*                INOPERATIVE STATE WILL BE ENTERED.  THE NPU INOPERATIVE
*                STATE WILL WAIT FOR AN INITIALIZATION REQUEST OR 
*                INITIALIZATION COMPLETED STATUS FROM THE NPU IF THE NPU
*                HAS A SYSTEM AUTO START MODULE OR WILL GENERATE A LOAD 
*                NPU BOOTSTRAP PROGRAM REQUEST IF THERE IS NO SYSTEM
*                AUTO START MODULE ON THE NPU.  AFTER THE LOAD REQUEST
*                HAS BEEN GENERATED THE DRIVER WILL SET THE NPU STATE 
*                TO LOAD NPU BOOTSTRAP PROGRAM STATE WHICH WILL LOAD
*                THE NPU BOOTSTRAP PROGRAM WHEN THE PROGRAM TEXT IS 
*                FOUND IN THE DOWNLINE BUFFER.  WHEN THE START NPU
*                COMMAND IS FOUND IN THE DOWNLINE BUFFER THE NPU WILL 
*                BE STARTED AND THE NPU STATE WILL BE SET TO THE
*                INITIAL NPU STATE WHICH WILL WAIT FOR THE NPU
**               INITIALIZATION REQUEST.
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINES. 
* 
*                THE MAIN DRIVER CONTROL FLOW IS MANAGED BY THE DRIVER
*                CONTROL ROUTINES WHICH ARE LOCATED AT THE BEGINNING OF 
*                THE EXECUTABLE CODE IN THE MAIN DRIVER.  FROM A CONTROL
*                POINT OF VIEW THE DRIVER IS ALWAYS ATTEMPTING TO 
*                TRANSFER OUTPUT IF AVAILABLE TO THE FRONT END.  INPUT
*                IS NEVER EXPLICITLY SOLICITED FROM THE FRONT END.
*                OUTPUT ATTEMPTS ARE CONTROLLED BY THE COUPLER EXCHANGE 
*                HANDLER SUBROUTINE *CEH*.  IF OUTPUT IS NOT POSSIBLE 
*                THE *CEH* SUBROUTINE WILL CHECK FOR INPUT AVAILABLE
*                FROM THE FRONT END.  IF INPUT IS AVAILABLE AND THERE IS
*                BUFFER SPACE AVAILABLE THE INPUT IS ACCEPTED AND 
*                PROCESSED.  THE STATE STRUCTURE OF THE DRIVER ALLOWS 
*                THIS ASYNCHRONOUS PROCESSING OF OUTPUT AND INPUT WHILE 
*                MAINTAINING THE ABILITY OF THE DRIVER TO RESUME OUTPUT 
*                PROCESSING AFTER AN ASYNCHRONOUS INPUT HAS BEEN
*                RECEIVED.  IN ORDER TO ASSURE THAT THE FRONT END HAS AN
*                OPPORTUNITY TO INPUT TO THE DRIVER THE DRIVER SETS AN
*                OUTPUT DELAY TIMER AFTER AN OUTPUT HAS BEEN DONE.  NO
*                FURTHER OUTPUT WILL BE ATTEMPTED UNTIL THIS TIMER
**               EXPIRES OR INPUT HAS BEEN RECEIVED FROM THE FRONT END. 
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *DCR* CHECKS FOR ACTIVE FRONT 
*                ENDS AND ACTIVE PRU STREAMS.  IF THERE ARE NO ACTIVE 
*                FRONT ENDS OR PRU STREAMS THE DRIVER DROPS DUE TO
*                INACTIVITY.  OTHERWISE THE FRONT END TABLE OFFSET IS 
*                INITIALIZED FOR THE FIRST DRIVER FRONT END TABLE ENTRY 
*                AND THE NETWORK BUFFER TABLE POINTER WORD FOR THE
*                INTERFACE TABLE IS INITIALIZED FOR THE FIRST NETWORK 
**               BUFFER TABLE POINTER.
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *DCR.2* CHECKS FOR A KNOWN
*                NETWORK BUFFER TABLE ADDRESS BY EXAMINING THE ADDRESS
*                IN THE FRONT END TABLE.  IF THE NETWORK BUFFER TABLE 
*                ADDRESS IS KNOWN THE FRONT END HAS BEEN PROCESSED
*                PREVIOUSLY AND CONTROL IS TRANSFERRED DIRECTLY TO THE
*                FRONT END PROCESSING ROUTINE.  OTHERWISE THE PROCESSOR 
*                TO CHECK THE POINTER WORD IN THE INTERFACE TABLE FOR A 
*                NEW NETWORK BUFFER TABLE ADDRESS IS LOADED AND 
**               EXECUTED.
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL PROCESSOR *PFE* CALLS THE PROCESSOR TO
*                CHECK FOR NAM REQUESTS AND TO INITIALIZE THE IVT DATA
*                CYCLE TIMER.  THE CHANNEL OF THE NEW FRONT END IS
*                CHECKED AGAINST THE CURRENTLY ACTIVE FRONT END CHANNEL.
*                IF THE CHANNELS ARE NOT THE SAME THE PROCESSOR IS
*                CALLED TO CHECK THAT THE CORRECT DEVICE DEPENDENT
*                OVERLAY IS LOADED AND TO INITIALIZE THE CHANNEL
**               INSTRUCTIONS IN THE DEVICE DEPENDENT OVERLAY.
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *PFE.1* SCANS THE FRONT END 
*                OUTPUT FETS FOR IVT OUTPUT.  IF IVT OUTPUT IS AVAILABLE
*                THE COUPLER EXCHANGE HANDLER IS CALLED TO INITIATE THE 
*                OUTPUT.  IF THE FRONT END IS UNABLE TO ACCEPT THE
*                OUTPUT OR ALL FRONT END OUTPUT FETS HAVE BEEN
**               PROCESSED, PRU PROCESSING IS INITIATED.
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *PPRU* CHECKS FOR PRU STREAMS ON
*                THE CURRENT FRONT END.  IF PRU STREAMS ARE PRESENT THE 
*                ADDRESS OF THE PCB IS SAVED AND THE PRU STREAM STATE 
**               PROCESSING IS PERFORMED. 
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *PPRU.5* IS THE RETURN POINT
*                FROM PRU STREAM STATE PROCESSING.  IF THIS IS NOT THE
*                LAST PRU STREAM FOR THE CURRENT FRONT END STREAM STATE 
**               PROCESSING IS PERFORMED FOR THE NEXT PRU STREAM. 
 FUNCTION SPACE  2,10 
**               DRIVER CONTROL ROUTINE *NFE* UPDATES THE STATISTICS FOR
*                THE CURRENT FRONT END AND SETS UP TO PROCESS THE NEXT
*                FRONT END.  IF ALL FRONT ENDS HAVE BEEN PROCESSED THE
*                PRU BUFFER MANAGER IS ENTERED TO MAINTAIN THE DRIVER 
*                LIMBO BUFFER POOL.  OTHERWISE THE FRONT END TABLE IS 
*                ADVANCED TO THE NEXT FRONT END AND PROCESSING CONTINUES
**               WITH THAT FRONT END. 
 FUNCTION SPACE  2,50 
**               DRIVER OUTPUT SEQUENCE CONTROL.
* 
*                THE FOLLOWING IS A LIST OF THE PROCESSORS USED BY THE
*                DRIVER TO TRANSFER OUTPUT TO THE FRONT END AND THE 
*                FUNCTION THAT THEY PERFORM.
* 
** *********************************************************************
*PROCESSOR           *INPUT       *TABLE   *FUNCTION                   *
** *********************************************************************
*                    *            *        *                           *
*COUPLER EXCHANGE    *BLOCK TYPE  *NONE    *COORDINATE OUTPUT WITH     *
*HANDLER (CEH)       *            *        *FRONT END                  *
*                    *            *        *                           *
*BLOCK HANDLER STATE *BLOCK STATE *BHSTATES*SETUP FOR OUTPUT           *
*                    *            *        *                           *
*OUTPUT INITIATOR    *BLOCK TYPE  *IOIT    *VALIDATE OUTPUT TEXT (IVT) *
*ACTION              *PRU MODE    *POIT    *CHECK FLOW CONTROL (PRU)   *
*                    *            *        *                           *
*REQUEST COUPLER     *ORDER WORD  *NONE    *REQUEST PERMISSION TO      *
*OUTPUT (RCO)        *            *        *OUTPUT TO FRONT END        *
*                    *            *        *                           *
*OUTPUT RESPONSE     *BLOCK TYPE  *OBR     *TRANSFER BLOCK HEADER      *
*ACTION              *            *        *                           *
*                    *            *        *                           *
*BLOCK RESPONSE      *BLOCK STATE *BHSRP   *TRANSFER HEADER INFORMATION*
*ACTION              *+RESPONSE   *        *UNIQUE TO BLOCK TYPE       *
*                    *            *        *                           *
*STREAM RESPONSE     *STREAM STATE*SSRP    *TRANSFER DATA TEXT         *
*ACTION              *+RESPONSE   *        *                           *
*                    *            *        *                           *
** *********************************************************************
 FUCNTION SPACE  2,50 
**               DRIVER INPUT SEQUENCE CONTROL. 
* 
*                THE FOLLOWING IS A LIST OF THE PROCESSORS USED BY THE
*                DRIVER TO ACCEPT INPUT FROM THE FRONT END AND THE
*                FUNCTION THAT THEY PERFORM.
* 
** *********************************************************************
*PROCESSOR           *INPUT       *TABLE   *FUNCTION                   *
** *********************************************************************
*                    *            *        *                           *
*INPUT INITIATOR     *INPUT ORDER *IIT     *CHECK FOR AVAILABLE        *
*ACTION              *CODE        *        *BUFFER                     *
*                    *            *        *                           *
*INPUT BLOCK         *NONE        *NONE    *ACCEPT BLOCK HEADER        *
*HEADER (IBH)        *            *        *FROM FRONT END             *
*                    *            *        *                           *
*INPUT RESPONSE      *BLOCK TYPE  *IIBR    *NO ACTION (IVT)            *
*ACTION              *PRU MODE    *PIBR    *CHECK FLOW CONTROL         *
*                    *            *        *                           *
*BLOCK RESPONSE      *BLOCK STATE *BHSRP   *ACCEPT HEADER INFORMATION  *
*ACTION              *+RESPONSE   *        *UNIQUE TO BLOCK TYPE       *
*                    *            *        *                           *
*STREAM RESPONSE     *STREAM STATE*SSRP    *ACCEPT DATA TEXT           *
*ACTION              *+RESPONSE   *        *                           *
*                    *            *        *                           *
** *********************************************************************
 COMMON   TITLE  EXTERNAL COMMON DECKS. 
          QUAL   NOS
          BASE   M
  
 OPL      XTEXT  COMSSSD     SUBSYSTEM IDENTIFICATIONS
 OPL      XTEXT  COMPMAC     SYSTEM PPU MACRO DEFINITIONS 
 OPL      XTEXT  COMSCPS
  
          BASE   D
          QUAL
*CALL,COMPCHNM
 STATE    TITLE  DRIVER CONTROL MACRO DEFINITIONS.
 STATE    SPACE  2,18 
**               MACRO STATE. 
* 
*                MACRO STATE IDENTIFIES A DRIVER STATE PROCESSOR. 
* 
*                  MACRO CALL - 
* 
*                      NAME  STATE
* 
*                    WHERE -
* 
**                     *NAME* = NAME OF STATE PROCESSOR.
  
  
          PURGMAC STATE 
          MACRO  STATE,A
 A BSS 0
 STATE    ENDM
 STATE.   SPACE  2,20 
**               MACRO STATE..
* 
*                MACRO STATE. OCCURS IN THE DRIVER STATE TABLES AND 
*                LOCATES THE STATE PROCESSOR THAT IS RESPONSIBLE FOR
*                PROCESSING THE LOGICAL ENTITY THAT IS IN THE STATE.
* 
*                  MACRO CALL - 
* 
*                            STATE.  NAME 
* 
*                    WHERE -
* 
**                     *NAME* = NAME OF STATE PROCESSOR.
  
  
          PURGMAC STATE.
 STATE.   MACRO  A
  CON /STATES/A 
 STATE.   ENDM
 ACTION   SPACE  2,18 
**               MACRO ACTION.
* 
*                MACRO ACTION IDENTIFIES A DRIVER ACTION AND GENERATES
*                AN ENTRY IN THE ACTION DIRECTORY LOCATING THE ACTION.
* 
*                  MACRO CALL-
* 
*                      NAME   ACTION
* 
*                    WHERE -
* 
**                     *NAME* = NAME OF ACTION. 
  
  
          PURGMAC ACTION
          MACRO  ACTION,A 
 A BSS 0
 "TYPEACT" RMT
 A_.   CON    /ACTIONS/A
 "TYPEACT" RMT
  NOREF /ACTORD/A_. 
 ACTION   ENDM
 RESP     SPACE  2,22 
**               MACRO RESP.
* 
*                MACRO RESP GENERATES A DRIVER RESPONSE TABLE ENTRY.
*                A DRIVER RESPONSE TABLE ENTRY CONSISTS OF A CONTROL
*                PARAMETER AND AN ACTION DIRECTORY ORDINAL. 
* 
*                  MACRO CALL - 
* 
*                            RESP   ACTION,CTL
* 
*                    WHERE -
* 
*                         *CTL* = CONTROL PARAMETER.
**                     *ACTION* = NAME OF ACTION TO BE PERFORMED, 
  
  
          PURGMAC RESP
 RESP     MACRO  A,B
 .1 SET /ACTORD/A_. 
 2 ERRNG L.ACTOR-.1 
 .2 SET B .STATE
  CON .2*L.ACTOR+.2&.1
 RESP     ENDM
          PURGMAC RAIC
 RAIC     MACRO  A
 .3 SET 0 
 .4 SET 3+A*3 
 .5 DECMIC .STATE 
 STS_".5"_RF EQU A
 RAIC     ENDM
  
          PURGMAC RAIX
 RAIX     MACRO  A,B
 3 ERRNZ A-.3 
 .3 SET .3+1
  VFD .4/B
 RAIX     ENDM
  
          PURGMAC RAIL
          MACRO  RAIL,A 
  CON A_RT*2+A_RF 
 RAIL     ENDM
 CTL      SPACE  2,20 
**               MACRO CTL. 
* 
*                MACRO CTL GENERATES A DRIVER CONTROL TABLE ENTRY.
*                A DRIVER CONTROL TABLE ENTRY CONSISTS OF TWO 
*                CONTROL PARAMETERS.
* 
*                  MACRO CALL - 
* 
*                            CTL   P1,P2
* 
*                    WHERE -
* 
*                      *P1* = FIRST CONTROL PARAMETER,
**                     *P2* = SECOND CONTROL PARAMETER. 
  
  
          PURGMAC CTL 
 CTL      MACRO  A,B
 .1 SET A 
 2 ERRNG L.ACTOR-.1 
 .2 SET B 
  CON .1*L.ACTOR+.1&.2
 CTL      ENDM
 INCMD    SPACE  2,24 
**               MACRO INCMD. 
* 
*                MACRO INCMD GENERATES A TABLE ENTRY THAT DESCRIBES 
*                A COMMAND THAT IS RECEIVED ON A PRU INTERFACE
*                CONNECTION FROM THE NPU. 
* 
*                  MACRO CALL - 
* 
*                            INCMD   PFC,SFC
* 
* 
*                    WHERE -
* 
*                      *PFC* = PRIMARY FUNCTION CODE IN HEXIDECIMAL,
*                      *SFC* = SECONDARY FUNCTION CODE IN HEXIDECIMAL.
* 
*                THE MAXIMUM VALUE THAT CAN BE
**               SPECIFIED BY *SFC* IS 17B. 
  
  
          PURGMAC INCMD 
 INCMD    MACRO  A,B
 .1 SET 0#_A
 .2 SET 0#_B
 2 ERRNG 17B-.2 
  VFD 8/.1,4/.2 
 INCMD    ENDM
 OUTCMD   SPACE  2,24 
**               MACRO OUTCMD.
* 
*                MACRO OUTCMD GENERATES A TABLE ENTRY THAT DESCRIBES
*                A COMMAND THAT IS SENT ON A PRU CONNECTION TO THE NPU. 
* 
*                  MACRO CALL - 
* 
*                            OUTCMD   PFC,SFC 
* 
*                    WHERE -
* 
*                      *PFC* = PRIMARY FUNCTION CODE IN HEXIDECIMAL,
*                      *SFC* = SECONDARY FUNCTION CODE IN HEXIDECIMAL.
* 
*                THE MAXIMUM VALUE THAT CAN BE
**               SPECIFIED BY *SFC* IS 17B. 
  
  
          PURGMAC OUTCMD
 OUTCMD   MACRO  A,B
 .1 SET 0#_A
 .2 SET 0#_B
 2 ERRNG 17B-.2 
  VFD 8/.1,4/.2 
 OUTCMD   ENDM
 CMDACT   SPACE  2,20 
**               MACRO CMDACT.
* 
*                MACRO CMDACT GENERATES A TABLE ENTRY THAT DESCRIBES
*                A COMMAND ACTION THAT IS PERFORMED FOR A NPU COMMAND.
* 
*                  MACRO CALL - 
* 
*                            CMDACT   ACTION,OLN
* 
*                    WHERE -
* 
*                      *ACTION* = NAME OF ACTION TO BE PERFORMED, 
**                        *OLN* = OVERLAY NAME OF ACTION PROCESSOR. 
  
  
          PURGMAC CMDACT
 CMDACT   MACRO  A,B
 .1 SET /ACTORD/A_. 
 2 ERRNG L.ACTOR-.1 
 .B IFC EQ,*B** 
 .2 SET 0 
 .B ELSE
 .2 SET #_B 
 .B ENDIF 
  CON .2*L.ACTOR+.2&.1
 CMDACT   ENDM
 ERRACT   SPACE  2,20 
**               MACRO ERRACT.
* 
*                MACRO ERRACT GENERATES A TABLE ENTRY THAT DESCRIBES AN 
*                ERROR ACTION THAT IS PERFORMED AS A RESULT OF AN ERROR.
* 
*                  MACRO CALL - 
* 
*                            ERRACT  ACTION,OLN 
* 
*                    WHERE -
* 
*                      *ACTION* = NAME OF ACTION TO BE PERFORMED, 
**                        *OLN* = OVERLAY NAME OF ACTION PROCESSOR. 
  
  
          PURGMAC ERRACT
 ERRACT   MACRO  A,B
 .1 SET /ACTORD/A_. 
 2 ERRNG L.ACTORD-.1
 .B IFC EQ,*B** 
 .2 SET 0 
 .B ELSE
 .2 SET #_B 
 .B ENDIF 
  CON .2*L.ACTORD+.2&.1 
 ERRACT   ENDM
 LINK     SPACE  2,22 
**               MACRO LINK.
* 
*                MACRO LINK DEFINES AN ENTRY POINT WITHIN A PROCESS 
*                THAT IS USED BY AN EXTERNAL PROCESS TO ACCOMPLISH A
*                COMMON FUNCTION.  WITHIN THE CONTEXT OF THE DRIVER,
*                THE LINK MACRO IS USED TO HIGHLIGHT A PATHOLOGICAL 
*                LINKAGE THAT IS REQUIRED TO CONSERVE PPU MEMORY SPACE. 
* 
*                  MACRO CALL - 
* 
*                      NAME   LINK
* 
*                    WHERE -
* 
**                     *NAME* = NAME OF THE LINKED PROCESS. 
  
  
          PURGMAC LINK
          MACRO  LINK,A 
 A BSS 0
 LINK     ENDM
 EXIT     SPACE  2,20 
**               MACRO EXIT.
* 
*                MACRO EXIT TRANSFERS CONTROL BY MEANS OF LINKED JUMPS. 
*                WITHIN THE CONTEXT OF THE DRIVER, MACRO EXIT IS USED TO
*                HIGHLIGHT TRANSFER OF CONTROL BETWEEN PROCESSORS.
* 
*                  MACRO CALL - 
* 
*                            EXIT   NAME
* 
*                    WHERE -
* 
*                      *NAME* = NAME OF PROCESS TO WHICH
**                              CONTROL IS TRANSFERRED. 
  
  
          PURGMAC EXIT
 EXIT     MACRO  A
 .1 IF DEF,._A
 .3 IFLT *-._A,40B
  UJN ._A 
 .3 ELSE
 ._A SET *
  LJM A 
 .3 ENDIF 
 .1 ELSE
 .2 IF DEF,A
  IFLT *-A,40B,1
 ._A SET A
  IFGE *-A,40B,1
 ._A SET *
 .2 ELSE
 ._A SET *
 .2 ENDIF 
  UJK A 
 .1 ENDIF 
 EXIT     ENDM
 EREXIT   SPACE  2,20 
**               MACRO EREXIT.
* 
*                MACRO EREXIT TRANSFERS CONTROL TO THE ERROR ROUTINE. 
*                WITHIN THE CONTEXT OF THE DRIVER, MACRO EREXIT IS
*                USED TO HIGHLIGHT ERROR PROCESSING.
* 
*                  MACRO CALL - 
* 
*                            EREXIT   CODE
* 
*                    WHERE -
* 
**                     *CODE* = ERROR CODE. 
  
  
          PURGMAC EREXIT
 EREXIT   MACRO  A
  IFLT /ERROR/A,100B,1
  LCN 100B-/ERROR/A 
  IFGE /ERROR/A,100B,1
  LDN /ERROR/A-100B 
  EXIT ERROR
 EREXIT   ENDM
 LCMA     SPACE  2,20 
**               MACRO LCMA.
* 
*                MACRO LCMA IS USED TO LOAD A CONSTANT CENTRAL MEMORY 
*                OFFSET.  THE MACRO GENERATES A LOAD INSTRUCTION AND
*                AN ENTRY IN THE CORRESPONDING ADDRESS TABLE WHICH WILL 
*                BE USED TO STORE THE OFFSET DURING INITIALIZATION. 
* 
*                  MACRO CALL - 
* 
*                            LCMA   WORD
* 
*                    WHERE -
* 
**                     *WORD* = NAME OF CENTRAL MEMORY WORD.
  
  
          PURGMAC LCMA
 LCMA     MACRO  A
  LOCAL B 
  QUAL
 B LDC /INIT/A-/INIT/A
  QUAL *
 A RMT
          CON    B
 A RMT
 LCMA     ENDM
 ACMA     SPACE  2,20 
**               MACRO ACMA.
* 
*                MACRO ACMA IS USED TO ADD A CONSTANT CENTRAL MEMORY
*                OFFSET.  THE MACRO GENERATES AN ADD INSTRUCTION AND
*                AN ENTRY IN THE CORRESPONDING ADDRESS TABLE WHICH WILL 
*                BE USED TO STORE THE OFFSET DURING INITIALIZATION. 
* 
*                  MACRO CALL - 
* 
*                            ACMA   WORD
* 
*                    WHERE -
* 
**                     *WORD* = NAME OF CENTRAL MEMORY WORD.
  
  
          PURGMAC ACMA
 ACMA     MACRO  A
  LOCAL B 
  QUAL
 B ADC /INIT/A-/INIT/A
  QUAL *
 A RMT
          CON    B
 A RMT
 ACMA     ENDM
 LOPA     SPACE  2,20 
**               MACRO LOPA.
* 
*                MACRO LOPA IS USED TO LOAD AN OVERLAY PROCESSOR ADDRESS
*                AND THE OVERLAY ORDINAL THAT CONTAINS THAT PROCESSOR.
* 
*                  MACRO CALL - 
* 
*                            LOPA  OLN,PN 
* 
*                    WHERE -
* 
*                      *OLN* = OVERLAY NAME CONTAINING PROCESSOR, 
**                      *PN* = PROCESSOR NAME.
  
  
          PURGMAC LOPA
 LOPA     MACRO  A,B
  LDC #_A*10000B&_B 
 LOPA     ENDM
 LOOR     SPACE  2,20 
**               MACRO LOOR.
* 
*                MACRO LOOR IS USED TO LOAD THE OVERLAY 
*                ORDINAL OF A SPECIFIED OVERLAY NAME. 
* 
*                  MACRO CALL - 
* 
*                            LOOR  OLN
* 
*                    WHERE -
* 
**                     *OLN* = OVERLAY NAME.
  
  
          PURGMAC LOOR
 LOOR     MACRO  A
  LDN #_A 
 LOOR     ENDM
 FEIO     SPACE  2,18 
**               MACRO FEIO.
* 
*                MACRO FEIO IS USED TO INTERFACE TO THE HIGH LEVEL
*                LOGICAL INPUT/OUTPUT STRUCTURE OF THE DRIVER.
* 
*                  MACRO CALL - 
* 
*                            FEIO  EPO
* 
*                    WHERE -
* 
**                     *EPO* = LOGICAL ENTRY POINT ORDINAL. 
  
  
          PURGMAC FEIO
 FEIO     MACRO  A
  RJM A 
 FEIO     ENDM
 CLIO     SPACE  2,18 
**               MACRO CLIO.
* 
*                MACRO CLIO IS USED TO INTERFACE TO THE LOW LEVEL 
*                LOGICAL INPUT/OUTPUT STRUCTURE OF THE DRIVER.
* 
*                  MACRO CALL - 
* 
*                            CLIO  EPO
* 
*                    WHERE -
* 
**                     *EPO* = LOGICAL ENTRY POINT ORDINAL. 
  
  
          PURGMAC CLIO
 CLIO     MACRO  A
  RJM A 
 CLIO     ENDM
 IODE     SPACE  2,18 
**               MACRO IODE 
* 
*                MACRO IODE IS USED TO SET UP A LOGICAL INPUT/OUTPUT
*                INTERFACE DIRECTORY ENTRY. 
* 
*                  MACRO CALL - 
* 
*                            IODE ENTRY,PROC
* 
*                    WHERE -
* 
*                     *ENTRY* = ADDRESS OF LOGICAL FUNCTION ENTRY POINT,
**                     *PROC* = ADDRESS OF DRIVER FUNCTION PROCESSOR. 
  
  
          PURGMAC IODE
 IODE     MACRO  A,B
 A SUBR 
  LJM B 
 IODE     ENDM
 OVERLAY  SPACE  2,28 
**               MACRO OVERLAY. 
* 
*                MACRO OVERLAY IS USED TO DEFINE AN OVERLAY THAT IS 
*                USED IN MAIN DRIVER PROCESSING.  IF A PREVIOUS OVERLAY 
*                HAS BEEN DEFINED THAT OVERLAY IS CLOSED OUT AND THE NEW
*                OVERLAY IS INITIATED.
* 
*                  MACRO CALL - 
* 
*                            OVERLAY F=FWA,T1=(MTITLE),T2=(STITLE)
* 
*                    WHERE -
* 
*                         FWA = FIRST WORD ADDRESS, 
*                      MTITLE = MAIN TITLE, 
*                      STITLE = SECONDARY TITLE.
* 
*                    MACRO ENTRY -
* 
**                     O.OVL = CURRENTLY ACTIVE OVERLAY ORDINAL.
  
  
          PURGMAC OVERLAY 
 OVERLAY  MACROE F,T1,T2
 .1 IF MIC,O.N
          LIST   M
  
 .2       SET    ."O.N"-.FWA+4
 .2       SET    .2/5 
 L.COA    SET    L.COA+.2 
 N.OPW    SET    N.OPW+1
 #"O.N"   EQU    O.OVL
 O.OVL    SET    O.OVL+1
 L."O.N"  EQU    .2 
          ERRNG  7772B-*
  
          LIST   *
  
 ONT      MICRO  1,,$"ONT",18/OV."O.N",6/0,12/L."O.N",24/**$
  
.1 ELSE 
  
 ONT      MICRO  1,,$VFD    18/OV.0IP,6/0,12/L.0IP,24/**$ 
  
 .1 ENDIF 
  
 O        MICRO  O.OVL*2-2+1,2,*0102030405060710111213141516172021222324
,252600*
 O.N      MICRO  O.OVL*3-3+1,3,*1IL1IP3IL2IQ3IQ4IQ5IQ2IP3IP4IP2IM3IM4IM2
,IO3IO4IO5IO1IE2IE3IE4IE2PE0IP* 
          TTL    "O.N" "O" "VERSION" _T1_.
 "O.N"    TITLE  T2.
          LIST   M
  
          IDENT  "O.N",OF.F T1
          ORG    OF.F 
 .FWA     SET    OL.F 
  
          COMMENT "O.N"/PIP - "VERSION" T1. 
  
          COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. 
  
          LIST   *
 OVERLAY  ENDM
 DCMA     SPACE  2,22 
 CEQU     TITLE  MISCELLANEOUS MACRO DEFINITIONS. 
 CEQU     SPACE  2,22 
**               MACRO CEQU.
* 
*                MACRO CEQU ALLOWS THE CONDITIONAL EQUIVALENCE OF A 
*                SYMBOL.  IF THE SYMBOL HAS BEEN DEFINED THE PREVIOUS 
*                DEFINITION IS USED.  OTHERWISE THE CURRENT DEFINITION
*                IS USED FOR THE SYMBOL.
* 
*                  MACRO CALL - 
* 
*                      SYMBOL   CEQU   VALUE
* 
*                    WHERE -
* 
*                      *SYMBOL* = NAME OF VALUE BEING DEFINED,
*                       *VALUE* = VALUE FOR SYMBOL IF NOT 
**                                PREVIOUSLY DEFINED. 
  
  
          PURGMAC CEQU
          MACRO  CEQU,A,B 
  IF DEF,A,1
 .1 SET A 
  IF -DEF,A,1 
 .1 SET B 
 A EQU .1 
 CEQU     ENDM
 ASCII    SPACE  2,20 
**               MACRO ASCII. 
* 
*                MACRO ASCII GENERATES AN ASCII OUTPUT CHARACTER. 
* 
*                  MACRO CALL - 
* 
*                      DPC   ASCII   CH,PROC
* 
*                    WHERE -
* 
*                       *DPC* = DISPLAY CODE VALUE, 
*                        *CH* = *ASCII* CHARACTER VALUE IN HEXIDECIMAL, 
**                     *PROC* = SPECIAL CHARACTER PROCESSOR ORDINAL.
  
  
          PURGMAC ASCII 
          MACRO  ASCII,A,B,C
  IFC EQ,*C**,1 
  CON 0#_B
  IFC NE,*C**,1 
  CON C*400B&0#_B 
 ASCII    ENDM
 LEN      SPACE  2,26 
**               MACRO LEN. 
* 
*                MACRO LEN IS USED TO DEFINE THE LENGTH OF COMMANDS OR
*                COMMAND RESPONSES.  THE TEXT LENGTH OF THE ELEMENT PLUS
*                THE CENTRAL WORD LENGTH OF THE ELEMENT IS RETURNED.
* 
*                  MACRO CALL - 
* 
*                            LEN   ELEM 
* 
*                    WHERE -
* 
*                      *ELEM* = NAME OF COMMAND OR COMMAND RESPONSE.
* 
*                    EXIT - 
* 
*                       *ELEMC* = ELEMENT LENGTH IN TEXT CHARACTERS,
**                     *ELEMCM* = ELEMENT LENGTH IN CENTRAL WORDS.
  
  
          PURGMAC LEN 
 LEN      MACRO  A
 .1 SET /BLOCK/L.CH+/BLOCK/L.A
 A_C EQU .1 
 .1 SET .1*2+14 
 .1 SET .1/15+/NAM/L.BH+/NAM/L.NH 
 A_CM EQU .1
 LEN      ENDM
 LENWL    SPACE  2,24 
**               MACRO LENWL. 
* 
*                MACRO LENWL IS USED TO DEFINE THE LENGTH OF A WORKLIST 
*                ENTRY.  THE WORKLIST TEXT LENGTH AND THE CENTRAL WORD
*                LENGTH OF THE WORKLIST ENTRY ARE RETURNED. 
* 
*                  MACRO CALL - 
* 
*                            LENWL  ELEM
* 
*                    WHERE -
* 
*                      *ELEM* = NAME OF WORKLIST ENTRY. 
* 
*                    EXIT - 
* 
*                       *ELEMT* = WORKLIST TEXT LENGTH IN CENTRAL WORDS,
**                     *ELEMCM* = WORKLIST LENGTH IN CENTRAL WORDS. 
  
  
          PURGMAC LENWL 
 LENWL    MACRO  A
 .1 SET L._A+4
 A_T EQU .1/5 
 A_CM EQU A_T+/NAM/L.BH+/NAM/L.NH 
 LENWL    ENDM
 SUBR     SPACE  2,26 
**               MACRO SUBR.
* 
*                MACRO SUBR IS USED TO DEFINE THE ENTRY AND, OPTIONALLY,
*                THE EXIT POINTS OF A SUBROUTINE.  THE ENTRY POINT OF 
*                THE SUBROUTINE IS THE NAME SPECIFIED ON THE MACRO
*                CALL.  IF THE NO EXIT OPTION IS NOT SELECTED THE 
*                EXIT POINT IS THE NAME SPECIFIED ON THE MACRO CALL 
*                CONCATENATED WITH THE LETTER *X*.  WHEN THE NO EXIT
*                OPTION IS USED, THE SUBROUTINE IS RESPONSIBLE FOR
*                PROVIDING THE CORRECT EXIT SEQUENCE. 
* 
*                  MACRO CALL - 
* 
*                      NAME  SUBR  NOX
* 
*                    WHERE -
* 
*                      *NAME* = NAME OF SUBROUTINE, 
**                      *NOX* = NO EXIT GENERATED OPTION. 
  
  
          PURGMAC SUBR
          MACRO  SUBR,A,B 
  IFC NE,*B*NOX*,1
 A_X EQU *
  LJM * 
 A EQU *-1
 SUBR     ENDM
 UJK      SPACE  2,18 
**               MACRO UJK. 
* 
*                MACRO UJK GENERATES A LONG OR SHORT JUMP BASED ON
*                THE SYMBOL VALUE SPECIFIED IN THE MACRO CALL.
* 
*                  MACRO CALL - 
* 
*                            UJK   SYMBOL 
* 
*                    WHERE -
* 
**                     *SYMBOL* = NAME TO WHICH CONTROL IS TRANSFERRED. 
  
  
          PURGMAC UJK 
 UJK      MACRO  A
 .1 IF DEF,A
 .1 IFLE *-A,37B
  UJN A 
 .1 ELSE
  LJM A 
 .1 ENDIF 
 UJK      ENDM
 QUAL     TITLE  DEFINE QUALIFIER ORDER.
 QUAL     SPACE  2,6
*                DEFINE QUALIFIER ORDER.
  
  
          QUAL               MAIN DRIVER CODE 
          NOREF  .1,.2
          NOREF  .LWA 
          NOREF  .LAST
          NOREF  L.ACTOR
          QUAL   NOS
          QUAL   STATES      STATE PROCESSORS 
          QUAL   ACTIONS     ACTION PROCESSORS
          QUAL   NPU         DEVICE DEPENDENT CODE FOR NPU
          QUAL   MDI         DEVICE DEPENDENT CODE FOR MDI
          QUAL   INIT        INITIALIZATION CODE
          QUAL   ACTORD      ACTION DIRECTORY TABLES
 .LAST    SET    0
          NOREF  .LAST
          QUAL   TABLES      DRIVER CONTROL TABLES
 .1       SET    0
          NOREF  .1 
 .2       SET    0
          NOREF  .2 
 .3       SET    0
          NOREF  .3 
 .4       SET    0
          NOREF  .4 
 .LAST    SET    0
          NOREF  .LAST
 .STATE   SET    0
          NOREF  .STATE 
          QUAL   ERROR       ERROR CODES
 .1       SET    0
          NOREF  .1 
 .2       SET    0
          NOREF  .2 
          QUAL   FUNCTION    FRONT END FUNCTION CODES 
          QUAL   CSTATUS     COUPLER STATUS CODES 
          QUAL   NSTATUS     NPU STATUS CODES 
          QUAL   NORDER      NPU ORDER CODES
          QUAL   MSTATUS     MDI STATUS CODES 
 .1       SET    0
          NOREF  .1 
          QUAL   BLOCK       BLOCK PROTOCOL DEFINITIONS 
 .1       SET    0
          NOREF  .1 
 .2       SET    0
          NOREF  .2 
          QUAL   NAM         NAM DEPENDENT DEFINITIONS
 .1       SET    0
          NOREF  .1 
          QUAL
 REMOTE   TITLE  INITIALIZE REMOTE CODE BLOCKS. 
 REMOTE   SPACE  2,6
*                INITIALIZE REMOTE CODE BLOCKS. 
  
  
 CIT      RMT                CHANNEL INITIALIZATION ADDRESS LIST
  
 CIT      RMT 
  
 W.OVLP   RMT                OVERLAY POINTER TABLE ADDRESS LIST 
  
 W.OVLP   RMT 
  
 W.CTLT   RMT                DRIVER CONTROL TABLE ADDRESS LIST
  
 W.CTLT   RMT 
  
 W.DIN    RMT                DRIVER INTERLOCK WORD ADDRESS LIST 
  
 W.DIN    RMT 
  
 W.DIT    RMT                DRIVER INTERLOCK TABLE ADDRESS LIST
  
 W.DIT    RMT 
  
 W.TNTP   RMT                TERMINAL NODE TABLE POINTER ADDRESS LIST 
  
 W.TNTP   RMT 
  
 W.PITP   RMT                PIP INTERFACE TABLE HEADER ADDRESS LIST
  
 W.PITP   RMT 
  
 W.PRBP   RMT                PRU BUFFER POINTER TABLE LIST
  
 W.PRBP   RMT 
  
 W.CPT    RMT                SPECIAL CHARACTER PROCESSOR TABLE ADDRESS
  
 W.CPT    RMT 
  
 W.ATT    RMT                DISPLAY TO ASCII TRANSLATION TABLE ADDRESS 
  
 W.ATT    RMT 
  
 W.SCPT   RMT                SPECIAL CHARACTER PROCESSOR TABLE
  
 W.SCPT   RMT 
  
 W.ASCII  RMT                DISPLAY TO ASCII TRANSLATION TABLE 
  
 W.ASCII  RMT 
  
 OUTINT   RMT                OUTPUT INITIATOR RESPONSE ACTION DIRECTORY 
  
 OUTINT   RMT 
  
 BLKIN    RMT                BLOCK INPUT RESPONSE ACTION DIRECTORY
  
 BLKIN    RMT 
  
 BLOCK    RMT                BLOCK HANDLER RESPONSE ACTION DIRECTORY
  
 BLOCK    RMT 
  
 CMDIN    RMT                INPUT COMMAND RESPONSE ACTION DIRECTORY
  
 CMDIN    RMT 
  
 CMDOUT   RMT                OUTPUT COMMAND RESPONSE ACTION DIRECTORY 
  
 CMDOUT   RMT 
  
 STREAM   RMT                STREAM RESPONSE ACTION DIRECTORY 
  
 STREAM   RMT 
  
 WORK     RMT                WORKLIST ACTION DIRECTORY
  
 WORK     RMT 
  
 ERROR    RMT                ERROR ACTION DIRECTORY 
  
 ERROR    RMT 
 CHANNEL  TITLE  ERROR CODE DEFINITIONS.
          QUAL   ERROR
 CHANNEL  SPACE  2,6
*****            CHANNEL ERROR CODES. 
  
  
 ABF      EQU    1           CHANNEL ACTIVE BEFORE FUNCTION 
 AAF      EQU    2           CHANNEL ACTIVE AFTER FUNCTION
 ABA      EQU    3           CHANNEL ACTIVE BEFORE ACTIVATE 
 IAA      EQU    4           CHANNEL INACTIVE AFTER ACTIVATE
 AAD      EQU    5           CHANNEL ACTIVE AFTER DISCONNECT
 IDO      EQU    6           CHANNEL INACTIVE DURING OUTPUT 
 HFO      EQU    7           CHANNEL HUNG FULL DURING OUTPUT
 IDI      EQU    8           CHANNEL INACTIVE DURING INPUT
 HEI      EQU    9           CHANNEL HUNG EMPTY DURING INPUT
 HFI      EQU    10D         CHANNEL HUNG FULL AFTER INPUT
 NPU      SPACE  2,6
*                NPU ERROR CODES. 
  
  
 NOT      EQU    14          NPU ORDER WORD TIMEOUT 
 NTO      EQU    15          NPU TIMEOUT
 NMP      EQU    16          NPU MEMORY PROTECT ERROR 
 MDI      SPACE  2,6
*                MDI ERROR CODES. 
  
  
 NMS      EQU    20          UNABLE TO OBTAIN MDI STATUS
 MES      EQU    21          MDI ERROR STATUS REPORTED
 MIN      EQU    22          MDI INOPERATIVE
 URM      EQU    23          UNABLE TO RESET MDI INTERFACE
 MHE      EQU    24          MDI HEADER FORMAT ERROR
 MIO      EQU    25          MDI ERROR REPORTED ON INPUT/OUTPUT DATA
 MRD      EQU    26          MDI REQUESTING DIAGNOSTICS 
 NSS      EQU    27D         PIP DOES NOT SUPPORT MCI CH PROTOCOL VERS
 NAM      SPACE  2,6
*                NAM ERROR CODES. 
  
  
 NBT      EQU    30          NETWORK BUFFER TABLE FORMAT ERROR
 OFE      EQU    31          DRIVER OVERLAY FORMAT ERROR
 AOR      EQU    32          ADDRESS OUT OF RANGE 
 BLE      EQU    33          OUTPUT BUFFER LINK ERROR 
 CNU      EQU    34          OUTPUT ON UNASSIGNED CONNECTION NUMBER 
 CPE      EQU    35          CONTROL POINT ERROR
 PSE      EQU    36          PCB SIZE ERROR 
 ILO      EQU    37          ILLEGAL OUTPUT BLOCK 
 IAR      EQU    38          ILLEGAL APPLICATION REQUEST
 IOC      EQU    39          ILLEGAL OUTPUT COMMAND 
 NTP      EQU    40          NO DRIVER TABLE POINTER
 DOE      EQU    41          DRIVER ORDINAL ERROR 
 DDR      EQU    42          DRIVER DUMP REQUEST
 BHS      EQU    43          ILLEGAL BLOCK HANDLER STATE
 PBS      EQU    44          ILLEGAL PCB PRU BUFFER SIZE
 BWL      EQU    45          BAD WORKLIST FROM NAM
 PCE      EQU    46          PCB CHAIN ERROR
 PCN      EQU    47          PRU CONNECTION NUMBER UNASSIGNED 
 BTS      EQU    48          INBOUND BUFFER NOT LARGE ENOUGH
 CET      EQU    49          COUPLER EQUIPMENT TABLE FORMAT ERROR 
 URB      EQU    50          UNABLE TO RETURN LIMBO BUFFERS 
 ILE      EQU    51          INLINE DIAGNOSTICS HANDLING ERROR
 DRIVER   SPACE  2,6
*                DRIVER ERROR CODES.
  
  
 UBT      EQU    54          UNKNOWN NETWORK BUFFER TABLE ADDRESS 
 LBE      EQU    55          LIMBO BUFFER FORMAT ERROR
 BSE      EQU    56          ILLEGAL PRU BUFFER SIZE
 NCT      EQU    57          NO CONNECTION TABLE ADDRESS
 OIA      EQU    58          ILLEGAL OUTPUT INITIATOR RESPONSE ACTION 
 DFC      EQU    59          DRIVER FLOW CONTROL LOGIC ERROR
 OBI      EQU    60          ILLEGAL OUTPUT BLOCK RESPONSE ACTION 
 BRE      EQU    61          ILLOGICAL BLOCK HANDLER STATE RESPONSE 
 SRE      EQU    62          ILLOGICAL STREAM STATE RESPONSE ACTION 
 ISS      EQU    63          ILLEGAL STREAM STATE ENTERED 
 ISE      EQU    64          ILLEGAL BUFFER SIZE FOR IVT INPUT
 FIE      EQU    65          INPUT ACCEPTED WHILE BUFFER SPACE REQUESTED
 ICA      EQU    66          ILLOGICAL COMMAND ACTION 
 DQE      EQU    67          DRIVER QUEUING LOGIC ERROR 
 DWE      EQU    68          ILLOGICAL WORKLIST ACTION
 FTR      EQU    69          NO FNT ADDRESS ON ACTIVE STREAM
 OME      EQU    70          PRU OUTPUT MODE ERROR
 CTE      EQU    71          FRONT END CHANNEL TABLE ERROR
 CLE      EQU    72          CHECKMARK LOGIC ERROR
 OSV      EQU    73          OVERLAY STRUCTURE VIOLATION
 BLOCK    SPACE  2,6
*                BLOCK PROTOCOL ERROR CODES.
  
  
 IUC      EQU    80          INPUT ON UNASSIGNED CONNECTION NUMBER
 BHE      EQU    81          BLOCK PROTOCOL HEADER FORMAT ERROR 
 DHE      EQU    82          DATA HEADER FORMAT ERROR 
 ICM      EQU    83          FRONT END COMMAND FORMAT ERROR 
 BFE      EQU    84          BACK FORMAT ERROR
 IBS      EQU    85          ILLEGAL PRU BUFFER SIZE SPECIFIED
 IBI      EQU    86          ILLEGAL INPUT BLOCK RESPONSE ACTION
 NFC      EQU    87          FRONT END FLOW CONTROL LOGIC ERROR 
 NSE      EQU    88          FRONT END BLOCK NUMBER SEQUENCE ERROR
 IBR      EQU    89          ILLEGAL BLOCK HANDLER STATE RESPONSE ACTION
 ISR      EQU    90          ILLEGAL STREAM STATE RESPONSE ACTION 
 IMS      EQU    91          INPUT MESSAGE EXCEEDS SPECIFIED SIZE 
 MFE      EQU    92          INPUT MESSAGE FORMAT ERROR 
 PIE      EQU    93          PRU INPUT MESSAGE FORMAT ERROR 
 CFE      EQU    94          PRU COMMAND FORMAT ERROR 
 ICE      EQU    95          PRU ICMD RESPONSE FORMAT ERROR 
 ILH      EQU    97          INLINE DIAGNOSTICS TEST HEADER ERROR 
 PRUAPP   SPACE  2,6
*                PRU APPLICATION ERROR CODES. 
  
  
 SAE      EQU    115         ILLEGAL PRU APPLICATION STREAM ACTION
 WLE      EQU    116         ILLEGAL PRU WORKLIST ENTRY 
 LEVEL7   SPACE  2,6
*                            A-A LEVEL SEVEN ERROR CODES. 
  
  
 L7E      EQU    120         A-A LEVEL SEVEN PROTOCOL ERROR 
 L7H      EQU    121         A-A LEVEL SEVEN HEADER FORMAT ERROR
 L7D      EQU    122         A-A LEVEL SEVEN DATA FORMAT ERROR
 QME      EQU    123         Q-MESSAGE FORMAT ERROR IN PRU MODE 
 CNE      EQU    124         CHECKMARK OR CHECKMARK REPLY NUMBER ERROR
 TBR      EQU    125         TRANSPORT LEVEL BREAK RECEIVED 
 TO7      EQU    126         LEVEL SEVEN TIMEOUT
  
***** 
          QUAL   TABLES 
          LOC    0
  
 .SRID    BSS    1           INPUT DATA - INPUT TEXT FROM FRONT END 
 .SRIB    BSS    1           INPUT BACK - DRIVER ERROR
 .SRII    BSS    1           INVALID IVT INPUT - BYPASS INPUT 
 .SROD    BSS    1           OUTPUT DATA - OUTPUT TEXT TO FRONT END 
 .SSJS    BSS    1           START PRU JOB STREAM - DRIVER ERROR
 .SSDS    BSS    1           START PRU DATA STREAM - DRIVER ERROR 
 .SFTI    BSS    1           START INBOUND FILE TRANSFER - DRIVER ERROR 
 .SFTO    BSS    1           START OUTBOUND FILE TRANSFER - DRIVER ERROR
 .SJBV    BSS    1           VALID JOB - DRIVER ERROR 
 .SJBE    BSS    1           INVALID JOB - DRIVER ERROR 
 .SSPS    BSS    1           STOP PRU STREAM - DRIVER ERROR 
 .SRST    BSS    1           RESTART PRU STREAM - DRIVER ERROR
 .SBYP    BSS    1           BYPASS PRU STREAM - DRIVER ERROR 
 .SABT    BSS    1           ABORT PRU STREAM - DRIVER ERROR
 .SASD    BSS    1           ABORT DATA DELIMITER - DRIVER ERROR
 .SROS    BSS    1           RESUME OUTPUT STREAM - DRIVER ERROR
 .SDOR    BSS    1           DIRECT OUTPUT REQUEST - DRIVER ERROR 
 .SEOR    BSS    1           EOJ OUTPUT REQUEST - DRIVER ERROR
 .SSFC    BSS    1           SET FILE CHARACTERISTICS - DRIVER ERROR
 .SSDC    BSS    1           SET DEVICE CHARACTERISTICS - DRIVER ERROR
 .SCMQ    BSS    1           COMMAND QUEUED - DRIVER ERROR
 .SQID    BSS    1           QUEUED INPUT DATA - DRIVER ERROR 
 .SOPA    BSS    1           OUTPUT ALLOWED - DRIVER ERROR
 .SNOA    BSS    1           NO OUTPUT ACTIVITY - DRIVER ERROR
 .SSTP    BSS    1           STREAM STOPPED - DRIVER ERROR
 .SSBI    BSS    1           BATCH INTERRUPT - DRIVER ERROR 
 .SEOI    BSS    1           END OF INFORMATION - DRIVER ERROR
 .SEND    BSS    1           END OF STREAM - DRIVER ERROR 
 .SSAB    BSS    1           STREAM ABORTED - DRIVER ERROR
 .SICR    BSS    1           ICMD RESPONSE - DRIVER ERROR 
 .SICI    BSS    1           ICMD ISSUED - DRIVER ERROR 
 .SNCI    BSS    1           FRONT END COMMAND ISSUED - DRIVER ERROR
 .SRSI    BSS    1           RESET ISSUED - DRIVER ERROR
 .SARQ    BSS    1           APPLICATION REQUESTED - DRIVER ERROR 
 .SMSR    BSS    1           MASS STORAGE REQUESTED - DRIVER ERROR
 .SMSC    BSS    1           MASS STORAGE COMPLETED - DRIVER ERROR
 .SMSE    BSS    1           MASS STORAGE EOI - DRIVER ERROR
 .SMER    BSS    1           MASS STORAGE ERROR - DRIVER ERROR
 .SFTE    BSS    1           END OF FILE TRANSFER - DRIVER ERROR
 .SFTR    BSS    1           TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
 .S7MS    BSS    1           CHECKMARK - DRIVER ERROR 
 .S7ES    BSS    1           END OF STREAM - DRIVER ERROR 
 .S7RR    BSS    1           REQUEST RESTART - DRIVER ERROR 
 .S7MR    BSS    1           CHECKMARK REPLY - DRIVER ERROR 
 .S7QR    BSS    1           QUIT - DRIVER ERROR
 .S7CI    BSS    1           LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
 .STPS    BSS    1           TERMINATE PRU STREAM - DRIVER ERROR
 .SPST    BSS    1           PRU STREAM TERMINATED - DRIVER ERROR 
 .SFEI    BSS    1           FRONT END INOPERATIVE - UPDATE FET OUT POINTER 
 .SBPE    BSS    1           BLOCK PROTOCOL ERROR - NO ACTION 
 .SL7E    BSS    1           LEVEL SEVEN ERROR - DRIVER ERROR 
 .SDLE    BSS    1           DRIVER LOGIC ERROR - DRIVER ERROR
          TITLE  FRONT END DEPENDENT DEFINITIONS. 
          QUAL   FUNCTION 
 NPU      SPACE  2,12 
****             NPU FUNCTION CODES.
* 
*                THE FOLLOWING ARE THE NPU FUNCTION CODES USED BY 
**               THE DRIVER TO CONTROL THE NETWORK PROCESSING UNIT. 
  
  
 ID       EQU    003         INPUT DATA 
 ISW      EQU    004         INPUT NPU STATUS WORD
 ICS      EQU    005         INPUT NPU COUPLER STATUS 
 IOW      EQU    006         INPUT NPU ORDER WORD 
 IP       EQU    007         INPUT PROGRAM
  
 OMA0     EQU    010B        OUTPUT MEMORY ADDRESS REGISTER ZERO
 OMA1     EQU    011B        OUTPUT MEMORY ADDRESS REGISTER ONE 
 OD       EQU    014B        OUTPUT DATA
 OP       EQU    015B        OUTPUT PROGRAM 
 OOW      EQU    016B        OUTPUT NPU ORDER WORD
  
 SNP      EQU    040B        START NPU
 HNP      EQU    100B        HALT NPU 
 CLN      EQU    200B        CLEAR NPU
 CLC      EQU    400B        CLEAR NPU COUPLER
  
****
 MDI      SPACE  2,12 
****             MDI FUNCTION CODES.
* 
*                THE FOLLOWING ARE THE MDI FUNCTION CODES USED BY 
**               THE DRIVER TO CONTROL THE MAINFRAME INTERFACE. 
  
  
                             DIRECT FUNCTIONS 
  
 MCL      EQU    400B        MASTER CLEAR 
 RGS      EQU    410B        REQUEST GENERAL STATUS 
 WDT      EQU    420B        WRITE DATA 
 RDT      EQU    430B        READ DATA
  
 S.DF     EQU    8           DIRECT FUNCTION FLAG POSITION
  
                             TRANSPARENT FUNCTIONS
  
 RDS      EQU    1           REQUEST DETAIL STATUS
 RER      EQU    3           DRIVER REPORTS READ ERROR
 IRT      EQU    4           INTERFACE RESET
 SRR      EQU    5           START REGULATION 
 SPR      EQU    6           STOP REGULATION
 RDI      EQU    7           REQUEST DIAGNOSTICS
 SPV      EQU    26D         SET PROTOCOL VERSION 
 ILET     EQU    40B         INLINE DIAGNOSTICS ECHO TIMEOUT
 ILRE     EQU    41B         INLINE DIAGNOSTICS UNABLE TO READ MESSAGE
 NOR      EQU    42B         NORMAL OPERATION 
 NFON     EQU    43B         NORMAL FLOW CONTROL ON 
 NFOF     EQU    44B         NORMAL FLOW CONTROL OFF
 RPV      EQU    200B        REQUEST PROTOCOL VERSION (200B - 377B) 
  
****
 NPU      SPACE  2,12 
****             NPU COUPLER STATUS BITS. 
* 
*                THE FOLLOWING ARE THE NPU COUPLER STATUS BITS USED 
*                BY THE DRIVER TO DETERMINE THE PHYSICAL STATUS OF THE
**               NETWORK PROCESSING UNIT. 
  
  
          QUAL   CSTATUS
  
 MPE      EQU    1S0         MEMORY PARITY ERROR
 MPF      EQU    1S1         MEMORY PROTECT FAULT 
 NSL      EQU    1S2         STATUS WORD LOADED 
 MAL      EQU    1S3         MEMORY ADDRESS REGISTER LOADED 
 ECA      EQU    1S4         EXTERNAL CABINET ALARM 
 TC       EQU    1S5         TRANSFER COMPLETE
 TCN      EQU    1S6         TRANSFER TERMINATED BY NPU 
 TCP      EQU    1S7         TRANSFER TERMINATED BY PPU 
 OWL      EQU    1S8         ORDER WORD LOADED
 NSR      EQU    1S9         STATUS WORD READ 
 CTO      EQU    1S10        CHANNEL TIMEOUT
 CPE      EQU    1S11        CHANNEL PARITY ERROR 
  
 S.OWL    EQU    8           ORDER WORD LOADED POSITION 
  
****
 NPU      SPACE  2,12 
****             NPU STATUS WORD VALUES.
* 
*                THE FOLLOWING ARE THE NPU STATUS WORD VALUES THAT ARE
*                USED BY THE DRIVER TO DETERMINE THE FUNCTIONAL STATUS
**               OF THE NETWORK PROCESSING UNIT.
  
  
          QUAL   NSTATUS
  
 IGN      EQU    0           IGNORE AND READ STATUS AGAIN 
 IDL      EQU    1           IDLE 
 RO       EQU    2           READY FOR OUTPUT 
 NRO      EQU    3           NOT READY FOR OUTPUT 
 IAS      EQU    4           INPUT AVAILABLE - IVT LE 256 BYTES 
 IAL      EQU    5           INPUT AVAILABLE - IVT GT 256 BYTES 
 IAP      EQU    6           INPUT AVAILABLE - PRU
 NIR      EQU    7           NPU INITIALIZATION REQUESTED 
 NIC      EQU    10B         NPU INITIALIZATION COMPLETED 
  
 L.SC     EQU    17B         LENGTH OF STATUS CODE
 S.NPRU   EQU    10          PRU COUNT POSITION FOR PRU INPUT 
  
****
 NPU      SPACE  2,12 
****             NPU ORDER WORD CODES.
* 
*                THE FOLLOWING ARE THE NPU ORDER WORD CODES USED BY 
**               THE DRIVER TO CONTROL THE NETWORK PROCESSING UNIT. 
  
  
          QUAL   NORDER 
  
 OL1      EQU    1           OUTPUT LEVEL ONE - SERVICE MESSAGES
 OL2      EQU    2           OUTPUT LEVEL TWO - HIGH PRIORITY 
 OL3      EQU    3           OUTPUT LEVEL THREE - LOW PRIORITY
  
 NRI      EQU    4           DRIVER NOT READY FOR INPUT 
 RGC      EQU    5           REGULATION LEVEL CHANGE
 INA      EQU    6           INITIALIZATION REQUEST ACKNOWLEDGMENT
  
 S.NPUOL  EQU    8           OUTPUT LEVEL POSITION
  
****
 MDI      SPACE  2,12 
****             MDI GENERAL STATUS VALUES. 
* 
*                THE FOLLOWING ARE THE MDI GENERAL STATUS VALUES THAT 
*                ARE USED BY THE DRIVER TO DETERMINE THE FUNCTIONAL 
**               STATUS OF THE MAINFRAME INTERFACE. 
  
  
          QUAL   MSTATUS
  
 ERR      EQU    11          MDI ERROR
 MER      EQU    10          MDI MEMORY ERROR 
 DAV      EQU    9           DATA AVAILABLE 
 SDT      EQU    8           PERMISSION TO SEND DATA
 BSY      EQU    7           BUSY - IGNORE AND READ STATUS AGAIN
 OPR      EQU    6           OPERATIONAL
  
 SDTM     EQU    1S8         MASK FOR PERMISSION TO SEND DATA 
  
                             NOT OPERATIONAL
  
 MST      EQU    3           MDI STATE IF NOT OPERATIONAL 
  
 M.MST    EQU    7S3         MDI STATE MASK 
  
                             MDI STATE VALUES 
  
 FRS      EQU    0           MDI RESET
 DGN      EQU    1           DIAGNOSTICS
 MTN      EQU    2           MAINTENANCE
 STR      EQU    3           STARTING 
 LOD      EQU    4           LOADING
 CRS      EQU    5           MCI RESET
 LCD      EQU    6           LOGICALLY CLOSED 
 DWN      EQU    7           DOWN 
  
 START    EQU    STR*10B     STARTING STATE POSITIONED TO STATE 
  
                             OPERATIONAL
  
 MIA      EQU    3           INPUT AVAILABILITY IF OPERATIONAL
  
 M.MIA    EQU    7S3         INPUT AVAILABILITY MASK
  
                             INPUT AVAILABLE VALUES 
  
 IAS      EQU    0           IVT INPUT LE 256 BYTES 
 IAL      EQU    1           IVT INPUT GT 256 BYTES 
 PI1      EQU    2           PRU INPUT - ONE PRU
 PI2      EQU    3           PRU INPUT - TWO PRU
 PI3      EQU    4           PRU INPUT - THREE PRU
 ILC      EQU    5           INLINE DIAGNOSTICS DATA INPUT AVAILABLE
  
                             GLOBAL FLOW CONTROL FLAGS
 FOF      EQU    0           NORMAL FLOW CONTROL IS OFF 
 FON      EQU    1           NORMAL FLOW CONTROL IS ON
  
****
  
****             MCI CHANNEL PROTOCOL VERSIONS SUPPORTED
* 
*                THE FOLLOWING IS THE MININUM AND MAXIMUM MCI CHANNEL 
*                PROTOCOL VERSIONS SUPPORTED BY THIS VERSION OF PIP.
*                AT EVERY NHP RELEASE, THESE NUMBERS MAY NEED TO BE 
*                UPDATED TO INDICATE THAT PIP SUPPORTS THE LATEST 
*                VERSION OF THE MCI CHANNEL PROTOCOL. 
**
 MINV     EQU    3           MINIMUM MCI CHANNEL PROTOCOL VERSION 
                             SUPPORTED BY THIS VERSION OF PIP 
 MAXV     EQU    4           MAXIMUM MCI CHANNEL PROTOCOL VERSION 
                             SUPPORTED BY THIS VERSION OF PIP 
 VERSION4 EQU    4           LOWEST MCI CHANNEL VERSION NUMBER WHICH
                             SUPPORTS NORMAL OPERATION, FLOW CONTROL
                             ON, AND FLOW CONTROL OFF TRANSPARENT 
                             FUNCTIONS, AND SUPPORTS FLOW CONTROL BIT 
                             IN GENERAL STATUS REGISTER.
  
****
  
 MDI      SPACE  2,12 
****             MDI DETAILED STATUS FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE MDI DETAILED STATUS 
*                WHICH THE DRIVER OBTAINS AFTER THE MDI HAS REPORTED AN 
**               ERROR CONDITION. 
  
  
          LOC    0
  
 VERNO    BSS    1           CHANNEL PROTOCOL VERSION 
          BSS    1           SLOT NUMBER
          BSS    2           SYSTEM VERSION 
          BSS    2*3         SYSTEM ID
          BSS    1           LAST I/O OPERATION 
          BSS    1           LAST TRANSPARENT FUNCTION
          BSS    2           LAST PPU FUNCTION
          BSS    2           LAST BUT ONE PPU FUNCTION
          BSS    2           SUMMARY FLAGS AND MCI GENERAL STATUS 
          BSS    1           MCI STATUS REGISTER ONE
          BSS    1           MCI STATUS REGISTER THREE
          BSS    2           SOFTWARE STATUS FLAGS
          BSS    2*2         MAXIMUM PDU SIZE 
  
****
  
 L.DS8    EQU    *           LENGTH OF DETAIL STATUS IN EIGHT BITS
 .1       SET    *+2
 .1       SET    .1/3 
 L.DSP    EQU    .1*2        LENGTH IN PACKED TWELVE-BIT BYTES
  
          QUAL   MDI
  
*                BIT DEFINITIONS FOR A REGISTER TO BE USED FOR ALL
*                ROUTINES THAT CALL SUBROUTINE GMS.  THE SETTINGS OF
*                THESE BITS CONTROLS THE ERROR PROCESSING IN SUBROUTINE 
*                GMS. 
  
 S.ABTNMS EQU    0           BIT POSITION OF ABTNMS FLAG
 S.ABTMES EQU    1           BIT POSITION OF ABTMES FLAG
 S.ABTMIO EQU    2           BIT POSITION OF ABTMIO FLAG
 S.ABTSTR EQU    3           BIT POSITION OF ABTSTR FLAG
  
 B.ABTNMS EQU    1           ERROR EXIT IF UNABLE TO GET MDI GS 
 B.ABTMES EQU    2           ERROR EXIT IF ERR BIT SET IN GS
 B.ABTMIO EQU    4           ERROR EXIT IF ERR BIT SET IN GS AFTER I/O
 B.ABTSTR EQU    8           ERROR EXIT IF MDI IN STARTING STATE
  
 BLOCK    TITLE  FRONT END BLOCK PROTOCOL DEFINITIONS.
          QUAL   BLOCK
 NPUBLOCK SPACE  2,12 
****             FRONT END BLOCK TYPES. 
* 
*                THE FOLLOWING IS A LIST OF THE BLOCK TYPES THAT
**               ARE EXCHANGED BETWEEN THE DRIVER AND THE FRONT END.
  
  
          LOC    1
  
 BLK      BSS    1           BLOCK (FORWARD DATA) 
 MSG      BSS    1           MESSAGE (FORWARD DATA) 
 BACK     BSS    1           BACK (REVERSE SUPERVISION) 
 CMD      BSS    1           COMMAND (FORWARD DATA) 
 BRK      BSS    1           BREAK (REVERSE SUPERVISION)
 QBLK     BSS    1           Q-BLOCK (FORWARD DATA) 
 QMSG     BSS    1           Q-MESSAGE (FORWARD DATA) 
 RST      BSS    1           RESET (FORWARD SUPERVISION)
 INITR    BSS    1           INIT REQUEST (FORWARD SUPERVISION) 
 INITN    BSS    1           INIT RESPONSE (REVERSE SUPERVISION)
 TERM     BSS    1           TERMINATE (FORWARD SUPERVISION)
 ICMD     BSS    1           INTERRUPT COMMAND (FORWARD SUPERVISION)
 ICMDR    BSS    1           INTERRUPT COMMAND RESPONSE 
                               (REVERSE SUPERVISION)
  
****
  
 MAXBT    BSS    0           DEFINE MAXIMUM VALID BLOCK TYPE
 VALUE    SPACE  2,6
****             NPU BLOCK PROTOCOL VALUE ASSIGNMENTS.
  
  
 MAXTEXT  EQU    105         MAXIMUM NPU WORD COUNT FOR LOAD/DUMP TEXT
  
 S.EOT    EQU    11          END OF TRANSFER FLAG AT COUPLER POSITION 
 B.EOT    EQU    1S11        FLAG INDICATING END OF TRANSFER AT COUPLER 
  
*                FRONT END BLOCK PROTOCOL VALUE ASSIGNMENTS.
  
 B.NR     EQU    1S6         NORMAL COMMAND RESPONSE BIT, 
 B.ER     EQU    1S7         ERROR COMMAND RESPONSE BIT 
  
****
 MDIHEAD  SPACE  2,12 
****             MDI HEADER FOR INBOUND TRAFFIC.
* 
*                THE MDI HEADER FOR INBOUND TRAFFIC BEGINS EACH INBOUND 
**               TRANSACTION WITH THE MAINFRAME INTERFACE FRONT END.
  
  
          LOC    0
  
          BSS    6           DESTINATION ADDRESS
          BSS    6           SOURCE ADDRESS 
 BLKLEN   BSS    2           BLOCK LENGTH (16-BITS) 
 BLKSTRT  BSS    1           DESTINATION SAP
          BSS    1           SOURCE SAP 
          BSS    1           CONTROL
          BSS    2           FRAME-ALIGNMENT BYTES
  
****
  
 L.MDIHDR BSS    0           DEFINE LENGTH OF MDI HEADER
 DIAGHDR  SPACE 2,12
****             MDI HEADER DEFINED FOR INLINE DIAGNOSTICS
* 
*                THE MDI HEADER FOR INLINE DIAGNOSTICS IS IN PACKED 
*                FORMAT, I.E. ALL 12 BITS OF EACH PP WORD IS USED.
**
  
          LOC    0
  
          BSS    4           DESTINATION ADDRESS
          BSS    4           SOURCE ADDRESS 
  
 L.ILLEN  BSS    0           DEFINE LENGTH UP TO LENGTH WORD
 ILLEN    BSS    1           WORD CONTAINING UPPER 12 BITS OF LENGTH
 ILDSAP   BSS    1           WORD CONTAINING LOWER 4 BITS OF LENGTH 
                             AND DESTINATION SAP
 ILSSAP   BSS    1           WORD CONTAINING SOURCE SAP AND UPPER 4 
 ILCTRL   BSS    0           BITS OF CONTROL
  
 L.ILFLG  BSS    0           DEFINE LENGTH UP TO ILFLAG WORD
 ILFLAG   BSS    1           WORD CONTAINING LOWER 4 BITS OF CONTROL
                             AND UPPER 8 BITS OF DIAGNOSTICS FLAGS
 ILSEQ    BSS    1           WORD CONTAINING LOWER 8 BITS OF DIAG FLGS
                             AND UPPER 4 BITS OF MESSAGE SEQUENCE NUMBER
          BSS    1           WORD CONTAINING LOWER 12 BITS OF SEQ NUMBER
 ILLNG    BSS    1           WORD CONTAINING UPPER 12 BITS OF MSG LENGTH
 ILSEED   BSS    1           WORD CONTAINING LOWER 4 BITS OF MSG LENGTH 
                             AND UPPER 8 BITS OF SEED 
          BSS    1           WORD CONTAINING LOWER 8 BITS OF SEED 
  
****
  
 L.ILHDR  BSS    0           LENGTH OF INLINE DIAGNOSTICS HEADER
 L.ILFLAG EQU    L.ILFLG/5   LENGTH UP TO DIAG FLAG BYTE IN CM WORDS
 L.ILHEAD EQU    L.ILHDR/5   LENGTH OF INLINE DIAG HEADER IN CM WORDS 
 L.ILHDR8 EQU    11D         NO OF 8 BIT BYTES IN HEADER FROM 
                             DESTINATION SAP FIELD TO SEED FIELD
  
 S.ILFNO  EQU    10D         NO FLAGS ABOVE THIS BIT POSITION 
 S.ILFDC  EQU    9           DISCARD MESSAGE
 S.ILFBB  EQU    8           BLOCK MODE BACK
 S.ILFRB  EQU    7           REGISTER MODE BACK 
 S.ILFDB  EQU    6           REGISTER MODE BACK WITH DELAY
 S.ILFBR  EQU    5           BLOCK MODE READ
 S.ILFRR  EQU    4           REGISTER MODE READ 
  
 M.ILLENU EQU    7777B       UPPER BITS OF LENGTH MASK
 M.ILLENL EQU    7400B       LOWER BITS OF LENGTH MASK
 M.ILFBK  EQU    7S6         BACK MODE MASK 
 M.ILFRD  EQU    3S4         READ MODE MASK 
  
 N.ILLENL EQU    4           NO OF LENGTH BITS IN SECOND BYTE 
 MDIHEAD  SPACE  2,12 
****             MDI HEADER FOR OUTBOUND TRAFFIC. 
* 
*                THE MDI HEADER FOR OUTBOUND TRAFFIC BEGINS EACH
*                OUTBOUND TRANSACTION WITH THE MAINFRAME INTERFACE
**               FRONT END. 
  
  
          LOC    0
  
          BSS    6           DESTINATION ADDRESS
          BSS    6           SOURCE ADDRESS 
          BSS    2           ZERO (16-BITS) 
          BSS    1           DESTINATION SAP
          BSS    1           SOURCE SAP 
          BSS    1           CONTROL
          BSS    2           FRAME-ALIGNMENT BYTES
  
****
  
 L.MDIHDR BSS    0           DEFINE LENGTH OF MDI HEADER
 HEADER   SPACE  2,12 
****             BLOCK PROTOCOL HEADER. 
* 
**               THE BLOCK PROTOCOL HEADER PRECEDES VARIABLE TEXT FOR 
*                EACH TRANSACTION WITH A FRONT END AND HAS THE FOLLOWING
**               FORMAT.
  
  
          LOC    0
  
 DN       BSS    1           DESTINATION NODE (RECEIVER)
 SN       BSS    1           SOURCE NODE (SENDER) 
 CN       BSS    1           CONNECTION NUMBER
 BNBT     BSS    1           PRIORITY, BLOCK NUMBER, BLOCK TYPE 
  
 S.PR     EQU    7           PRIORITY BIT POSITION
 S.BSN    EQU    4           BLOCK SERIAL NUMBER POSITION 
 M.BSN    EQU    0#7S4       BLOCK SERIAL NUMBER MASK 
 S.BT     EQU    0           BLOCK TYPE POSITION
 L.BT     EQU    0#F         BLOCK TYPE LENGTH
  
****
  
 L.BH     BSS    0           DEFINE LENGTH OF BLOCK PROTOCOL HEADER 
 DATAHEAD SPACE  2,12 
****             DATA BLOCK HEADER. 
* 
*                ALL DATA BLOCKS TRANSFERRED BETWEEN THE DRIVER AND 
*+               THE FRONT END HAVE THE FOLLOWING DATA BLOCK HEADER.
  
  
          LOC    0
  
 DBC      BSS    1           DATA BLOCK CLARIFIER 
  
****
  
 L.DH     BSS    0           DEFINE LENGTH OF DATA BLOCK HEADER 
 PRUDBC   SPACE  2,6
****             PRU DBC BIT DEFINITIONS. 
  
  
 S.PRU    EQU    7           PRU BLOCK (1 = YES)
 B.PRU    EQU    1S7         PRU BLOCK BIT
 S.EOI    EQU    6           EOI FLAG (1 = YES) 
 B.EOI    EQU    1S6         EOI BIT
 S.EOR    EQU    5           EOR FLAG (1 = YES) 
 B.EOR    EQU    1S5         EOR BIT
 S.EBD    EQU    4           EIGHT BIT DATA FLAG (1 = YES)
 B.EBD    EQU    1S4         8-BIT/TRANSPARENT DATA BIT 
 S.LVL    EQU    0           LEVEL NUMBER POSITION
 L.LVL    EQU    17B         LENGTH OF LEVEL NUMBER FIELD 
  
****
 IVTDBC   SPACE  2,6
****             IVT DBC BIT DEFINITIONS. 
  
  
 S.FE     EQU    3           FORMAT EFFECTOR FLAG (1 = NO)
  
****
 DATA     SPACE  2,12 
****             NPU DATA TEXT. 
* 
*                THE NPU DATA TEXT FOLLOWS THE NPU DATA BLOCK 
**               HEADER AND HAS THE FOLLOWING FORMAT. 
  
  
          LOC    0
  
 DATA     BSS    0           DATA TEXT
  
****
  
 L.DATA   EQU    2048-L.BH-L.DH DEFINE MAXIMUM LENGTH OF DATA TEXT
 BACK     SPACE  2,12 
****             NPU BACK FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE BLOCK 
**               ACKNOWLEDGMENT ELEMENT OF THE BLOCK PROTOCOL.
  
  
          LOC    0
  
          BSS    0           BACK CONTAINS NO TEXT
  
****
  
 L.BACK   BSS    0           DEFINE LENGTH OF BACK TEXT 
 CMD      SPACE  2,12 
****             NPU COMMAND FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               COMMAND ELEMENT OF THE BLOCK PROTOCOL. 
  
  
          LOC    0
  
 PFC      BSS    1           PRIMARY FUNCTION CODE
 SFC      BSS    1           SECONDARY FUNCTION CODE
  
 L.CH     BSS    0           DEFINE LENGTH OF COMMAND HEADER
  
          LOC    0
  
 CTEXT    BSS    0           COMMAND TEXT 
  
****
  
 L.CMD    EQU    2047-L.BH-L.CH DEFINE MAXIMUM LENGTH OF COMMAND TEXT 
 OVER(1)  SPACE  2,14 
****             NPU OVERLAY COMMAND LOAD FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY COMMAND 
*                ELEMENT OF THE BLOCK PROTOCOL USED FOR REQUESTING A
*                LOAD OF A NPU.  THE DRIVER IS RESPONSIBLE FOR
*                PROCESSING LOAD REQUESTS WHICH ARE ADDRESSED TO A
**               FRONT END NPU. 
  
  
          LOC    0
  
          BSS    1           PORT 
          BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION CODE (1)
          BSS    1           LOAD SEQUENCE NUMBER 
          BSS    1           FILL 
 BADR     BSS    3           BEGINNING LOAD ADDRESS 
 BC       BSS    1           BATCH COUNT (NON-ZERO INDICATES REQUEST
                                          RETURN OF ACCUMULATED BATCH 
                                          COUNT)
          BSS    1           FILL 
          BSS    2           CHECKSUM 
 NPUTEXTL BSS    MAXTEXT*2   NPU TEXT 
  
****
  
 L.OV(1)  BSS    0           DEFINE LENGTH OF OVERLAY COMMAND 
  
 MAXCMD   SET    L.OV(1)
 OVER(1)R SPACE  2,14 
****             NPU OVERLAY COMMAND LOAD RESPONSE FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY RESPONSE
*                ELEMENT OF THE BLOCK PROTOCOL USED AS A RESULT OF A
*                LOAD REQUEST.  THE DRIVER IS RESPONSIBLE FOR GENERATING
*                THE OVERLAY COMMAND LOAD RESPONSE AS A RESULT OF AN
**               OVERLAY LOAD COMMAND ADDRESSED TO A FRONT END NPU. 
  
  
          LOC    0
  
 OP       BSS    1           PORT 
 OSP      BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION CODE (1)
          BSS    1           LOAD SEQUENCE NUMBER 
 ORC      BSS    1           RESPONSE CODE
 BADR     BSS    3           BEGINNING LOAD ADDRESS 
 BC       BSS    1           BATCH COUNT
  
****
  
 L.OV(1)R BSS    0           DEFINE LENGTH OF OVERLAY COMMAND RESPONSE
  
 MAXCMD   MAX    MAXCMD,L.OV(1)R
 OVER(2)  SPACE  2,18 
****             NPU OVERLAY COMMAND START/WAIT FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY COMMAND 
*                ELEMENT OF THE BLOCK PROTOCOL USED FOR REQUESTING THE
*                START OF A NPU AFTER A LOAD AND WAIT FOR A NPU 
*                RESPONSE.  THE DRIVER IS RESPONSIBLE FOR PROCESSING
*                START/WAIT REQUESTS WHICH ARE ADDRESSED TO A FRONT 
**               END NPU. 
  
  
          LOC    0
  
          BSS    1           PORT 
          BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION COE (2) 
          BSS    1           LOAD SEQUENCE NUMBER 
  
****
  
 L.OV(2)  BSS    0           DEFINE LENGTH OF OVERLAY COMMAND 
  
 MAXCMD   MAX    MAXCMD,L.OV(2) 
 OVER(2)R SPACE  2,18 
****             NPU OVERLAY COMMAND START/WAIT RESPONSE FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY RESPONSE
*                ELEMENT OF THE BLOCK PROTOCOL USED AS A RESULT OF A
*                START/WAIT REQUEST.  THE DRIVER IS RESPONSIBLE FOR 
*                GENERATING THE OVERLAY COMMAND START/WAIT RESPONSE AS
*                A RESULT OF AN OVERLAY START/WAIT COMMAND ADDRESSED TO 
**               A FRONT END NPU. 
  
  
          LOC    0
  
 OP       BSS    1           PORT 
 OSP      BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION CODE (2)
          BSS    1           LOAD SEQUENCE NUMBER 
 ORC      BSS    1           RESPONSE CODE
  
****
  
 L.OV(2)R BSS    0           DEFINE LENGTH OF OVERLAY COMMAND RESPONSE
  
MAXCMD    MAX    MAXCMD,L.OV(2)R
 OVER(4)  SPACE  2,16 
****             NPU OVERLAY COMMAND START FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY COMMAND 
*                ELEMENT OF THE BLOCK PROTOCOL USED FOR REQUESTING THE
*                START OF A NPU.  THE DRIVER IS RESPONSIBLE FOR 
*                PROCESSING START REQUESTS WHICH ARE ADDRESSED TO A 
**               FRONT END NPU. 
  
  
          LOC    0
  
          BSS    1           PORT 
          BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION CODE (4)
          BSS    1           LOAD SEQUENCE NUMBER 
  
****
  
 L.OV(4)  BSS    0           DEFINE LENGTH OF OVERLAY COMMAND 
  
MAXCMD    MAX    MAXCMD,L.OV(4) 
 OVERER   SPACE  2,16 
****             NPU OVERLAY COMMAND ERROR RESPONSE FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE OVERLAY COMMAND 
*                ERROR RESPONSE ELEMENT OF THE BLOCK PROTOCOL USED AS 
*                A RESULT OF AN OVERLAY COMMAND THAT WAS FOUND TO BE
*                IN ERROR.  THE DRIVER IS RESPONSIBLE FOR GENERATING
*                AN OVERLAY COMMAND ERROR RESPONSE AS A RESULT OF AN
*                OVERLAY COMMAND ADDRESSED TO A FRONT END NPU THAT IS 
**               IN ERROR.
  
  
          LOC    0
  
 OP       BSS    1           PORT 
 OSP      BSS    1           SUB-PORT 
 FUNC     BSS    1           FUNCTION CODE
          BSS    1           LOAD SEQUENCE NUMBER 
 ORC      BSS    1           ERROR RESPONSE CODE
  
****
  
 L.OVERER BSS    0           DEFINE LENGTH OF OVERLAY ERROR RESPONSE
  
 MAXCMD   MAX    MAXCMD,L.OVERER
 LOADRQ   SPACE  2,16 
****             NPU LOAD REQUEST COMMAND FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE LOAD NPU COMMAND
*                ELEMENT OF THE BLOCK PROTOCOL.  THE DRIVER IS
*                RESPONSIBLE FOR GENERATING THE LOAD NPU COMMAND WHEN 
*                AN INITIALIZATION REQUEST IS RECEIVED FROM A FRONT END 
*                NPU OR A TIMEOUT OCCURS ON A FRONT END NPU THAT DOES 
**               NOT HAVE A SYSTEM AUTOSTART MODULE.
  
  
          LOC    0
  
 LP       BSS    1           PORT 
 LSP      BSS    1           SUB-PORT 
 LTYP     BSS    1           LOAD TYPE (0 = BOOTSTRAP, 1 = LOCAL NPU) 
  
****
  
 L.LDRQ   BSS    0           DEFINE LENGTH OF LOAD NPU COMMAND
  
 MAXCMD   MAX    MAXCMD,L.LDRQ
 CEERROR  SPACE  2,14 
****             FRONT END CE ERROR COMMAND FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE CE ERROR COMMAND
*                ELEMENT OF THE BLOCK PROTOCOL.  THE DRIVER IS
*                RESPONSIBLE FOR GENERATING THE CE ERROR COMMAND FOR
**               ERRORS DETECTED IN PROCESSING A FRONT END. 
  
  
          LOC    0
  
 CEERC    BSS    1           ERROR CODE 
 CEDEC    BSS    1           DRIVER ERROR CODE
 CECSR    BSS    2           FRONT END STATUS REGISTER CONTENTS 
 S.CESOFT EQU    4           MDI SOFT ERROR FLAG POSITION (IN CECSR)
  
****
  
 L.CEER   BSS    0           DEFINE LENGTH OF CE ERROR COMMAND
  
 MAXCMD   MAX    MAXCMD,L.CEER
 CRGL     SPACE  2,22 
****             FRONT END REGULATION CHANGE COMMAND FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE FRONT END REGULATION
*                CHANGE COMMAND.  THIS COMMAND IS USED BY THE DRIVER
*                TO INDICATE THAT TRAFFIC CAN NO LONGER BE SENT TO THE
*                FRONT END.  THIS OCCURS WHEN THE FRONT END IS TURNED 
*                OFF IN THE EQUIPMENT STATUS TABLE, A FRONT END ERROR 
*                HAS OCCURRED, THE NPU IS TIMED OUT, THE NPU HAS SENT 
*                AN INITIALIZATION REQUEST OR THE MDI IS DETECTED AS
*                INOPERTIVE.  IN ADDITION THE DRIVER WILL RECEIVE THE 
*                COMMAND AS A RESPONSE TO SENDING THE COMMAND WHEN ALL
*                TRAFFIC HAS BEEN DELETED FOR THE FRONT END AND ALSO
*                UNSOLICITED WHEN NAM FIRST BEGINS SERVICING THE FRONT
*                END OR WHEN THE HOST REGULATION LEVEL OF THE HOST
**               CHANGES. 
  
  
          LOC    0
  
 REG      BSS    1           REGULATION LEVEL CONTROL BYTE
  
 S.NS     EQU    3           NETWORK SUPERVISOR FLAG POSITION 
 S.CS     EQU    2           COMMUNICATION SUPERVISOR FLAG POSITION 
 L.ORL    EQU    3           OUTPUT REQULATION LEVEL LENGTH 
  
 REGR     BSS    1           RESPONSE FLAG (1 = RESPONSE TO DRIVER) 
  
****
  
 L.RGCP   BSS    0           DEFINE LENGTH OF REGULATION CHANGE COMMAND 
  
 MAXCMD   MAX    MAXCMD,L.RGCP
 RGST     SPACE  2,12 
****             REGULATION STATUS REQUEST COMMAND. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE REGULATION STATUS 
*                REQUEST COMMAND.  THIS COMMAND IS USED BY THE DRIVER 
**               TO REQUEST THE REGULATION LEVEL OF THE HOST. 
  
  
          LOC    0
  
          BSS    0           REGULATION STATUS REQUEST CONTAINS NO TEXT 
  
****
  
 L.RGST   BSS    0           DEFINE LENGTH OF REGULATION STATUS REQUEST 
  
 MAXCMD   MAX    MAXCMD,L.RGST
 MDII     SPACE  2,14 
****             REQUEST MDI INITIALIZATION COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE REQUEST MDI 
*                INITIALIZATION COMMAND.  THE COMMAND IS USED BY THE
*                DRIVER TO REPORT THE DETECTION OF A MDI THAT REQUIRES
**               INITIALIZATION.
  
  
          LOC    0
  
          BSS    0           REQUEST MDI INITIALIZATION CONTAINS NO TEXT
  
****
  
 L.RMDI   BSS    0           DEFINE LENGTH OF REQUEST MDI INITIALIZATION
  
 MAXCMD   MAX    MAXCMD,L.RMDI
 ESTOFF   SPACE  2,14 
****             EST TURNED OFF COMMAND FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE EQUIPMENT STATUS
*                TABLE ENTRY TURNED OFF COMMAND.  THIS COMMAND IS USED
*                BY THE DRIVER TO INDICATE THAT THE EQUIPMENT STATUS
*                TABLE ENTRY ASSOCIATED WITH AN ACTIVE FRONT END HAS
**               BEEN TURNED OFF. 
  
  
          LOC    0
  
          BSS    0           EST TURNED OFF COMMAND CONTAINS NO TEXT
  
****
  
 L.EQTO   BSS    0           DEFINE LENGTH OF EST TURNED OFF COMMAND
  
 MAXCMD   MAX    MAXCMD,L.EQTO
 BSTO     SPACE  2,12 
****             BOOTSTRAP LOAD TIMEOUT COMMAND.
* 
*                THE FOLLWOING IS THE FORMAT OF THE BOOTSTRAP LOAD
*                TIMEOUT COMMAND.  THIS COMMAND IS USED BY THE DRIVER 
**               TO INDICATE THAT THE BOOTSTRAP LOAD HAS BEEN TIMED OUT.
  
  
          LOC    0
  
          BSS    0           BOOTSTRAP LOAD TIMEOUT CONTAINS NO TEXT
  
****
  
 L.BSTO   BSS    0           DEFINE LENGTH OF BOOTSTRAP TIMEOUT COMMAND 
  
 MAXCMD   MAX    MAXCMD,L.BSTO
 HALTFE   SPACE  2,14 
****             HALT FRONT END COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE HALT FRONT END
*                COMMAND.  THE HALT FRONT END COMMAND IS SENT TO THE
*                FRONT END BY THE DRIVER WHEN A BLOCK PROTOCOL ERROR HAS
*                BEEN DETECTED BY THE DRIVER AND THE HALT FRONT END ON
**               ERROR FLAG IS SET IN THE DRIVER INTERFACE TABLE. 
  
  
          LOC    0
  
 DDP      BSS    1           DUMP NPU PARAMETER 
 DSS      BSS    2           DRIVER STREAM STATE
 DAC      BSS    1           DRIVER ACTION ORDINAL
 DBS      BSS    1           DRIVER BLOCK HANDLER STATE 
 DOV      BSS    1           DRIVER OVERLAY ORDINAL OF LOADED OVERLAY 
 DCC      BSS    1           DRIVER CHARACTER COUNT OF LAST INPUT 
 DLI      BSS    1           DRIVER LAST INPUT CHARACTER
 DET      BSS    1           DRIVER END OF TRANFER FLAG 
 DIC      BSS    2           DRIVER LAST INPUT CALL ADDRESS 
 DER      BSS    1           DRIVER ERROR CODE
 DHN      BSS    1           HOST NODE NUMBER 
 DTN      BSS    1           TERMINAL NODE NUMBER 
 DAD      BSS    1           DRIVER ACTION DIRECTORY OFFSET 
 DRT      BSS    2           DRIVER RESPONSE TABLE ENTRY
 DCO      BSS    1           DRIVER COMMAND ORDINAL/INPUT ORDER CODE
 DBA      BSS    2           DRIVER BLOCK SEQUENCE NUMBERS
 DBT      BSS    1           MESSAGE BLOCK TYPE 
 DNS      BSS    1           DRIVER NEXT STREAM STATE 
 DPR      BSS    1           PRU BUFFER SIZE
 DRE      BSS    1           DRIVER REQUEST END OF OUTPUT FLAG
 DOW      BSS    2           NPU ORDER WORD 
 DCP      BSS    2           DRIVER OUTPUT/INPUT PROCESSOR
 DCN      BSS    1           CONNECTION NUMBER
  
****
  
 L.HFE    BSS    0           DEFINE LENGTH OF HALT FRONT END COMMAND
  
 MAXCMD   MAX    MAXCMD,L.HFE 
 SFCH     SPACE  2,14 
****             SET FILE CHARACTERISTICS COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE SET FILE
*                CHARACTERISTICS COMMAND.  THE COMMAND IS USED BY THE 
*                DRIVER TO SET THE FILE ATTRIBUTES OF THE FOLLOWING 
**               OUTPUT FILE. 
  
  
          LOC    0
  
 FN       BSS    1           FIELD NAME 
 FV       BSS    1           FIELD VALUE
  
****
 SFCHFM   SPACE  2,6
****             FILE MODE VALUES.
  
  
 DISO26   EQU    0           DISPLAY CODE O26 
 DISO29   EQU    1           DISPLAY CODE O29 
 ASCII    EQU    2           ASCII
 TRANS    EQU    3           TRANSPARENT
  
****
 OSPM     SPACE  2,14 
****             OUTPUT STOPPED BY PM MESSAGE COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE OUTPUT STOPPED BY A 
*                PM MESSAGE COMMAND ELEMENT OF THE BLOCK PROTOCOL.  THE 
*                COMMAND IS USED TO INDICATE THAT A PRU OUTPUT STREAM 
*                HAS BEEN STOPPED BECAUSE A PM MESSAGE WAS DETECTED IN
**               THE OUTPUT DATA STREAM.
  
  
          LOC    0
  
 PMTEXT   BSS    80          PM TEXT
  
****
  
 L.OSPM   BSS    0           DEFINE LENGTH OF OUTPUT STOPPED BY PM
  
 MAXCMD   MAX    MAXCMD,L.OSPM+5*2
 EOF      SPACE  2,14 
****             END OF FILE COMMAND. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE END OF FILE COMMAND 
*                ELEMENT OF THE BLOCK PROTOCOL.  THE COMMAND IS USED TO 
*                INDICATE THAT ALL DATA HAS BEEN PROCESSED AND TO RETURN
**               THE ACCOUNTING INFORMATION FOR THE FILE. 
  
  
          LOC    0
  
 ACCDATA  BSS    3           ACCOUNTING DATA
  
****
  
 L.EOF    BSS    0           DEFINE LENGTH OF END OF FILE COMMAND 
  
 MAXCMD   MAX    MAXCMD,L.EOF 
 FABT     SPACE  2,14 
****             FILE ABORTED COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE FILE ABORTED COMMAND
*                ELEMENT OF THE BLOCK PROTOCOL.  THE COMMAND IS USED TO 
*                INDICATE THAT THE FILE ON THE STREAM HAS BEEN ABORTED
**               AND TO RETURN THE ACCOUNT INFORMATION FOR THE FILE.
  
  
          LOC    0
  
 ACCDATA  BSS    3           ACCOUNTING DATA
  
****
  
 L.FABT   BSS    0           DEFINE LENGTH OF FILE ABORTED COMMAND
  
 MAXCMD   MAX    MAXCMD,L.FABT
 PRUON    SPACE  2,14 
**               APPPLICATION TO APPLICATION PRU ON COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE PRU ON COMMAND
*                WHICH IS USED BY THE DRIVER TO SWITCH THE FRONT END
*                INTO PRU MODE FOR AN INCOMING APPLICATION TO 
**               APPLICATION FILE TRANSFER. 
  
  
          LOC    0
  
 BLKSZ    BSS    2           BLOCK SIZE IN CHARACTERS 
  
 L.PRUON  BSS    0           DEFINE LENGTH OF PRU ON COMMAND
  
 MAXCMD   MAX    MAXCMD,L.PRUON 
 PRUOFF   SPACE  2,14 
**               APPLICATION TO APPLICATION PRU OFF COMMAND.
* 
*                THE FOLLOWING IS THE FORMAT OF THE PRU OFF COMMAND 
*                WHICH IS USED BY THE DRIVER TO SWITCH THE FRONT END
*                FROM PRU MODE AFTER AN INCOMING APPLICATION TO 
**               APPLICATION FILE TRANSFER. 
  
  
          LOC    0
  
          BSS    0           PRU OFF COMMAND CONTAINS NO TEXT 
  
 L.PRUOFF BSS    0           DEFINE LENGTH OF PRU OFF COMMAND 
  
 MAXCMD   MAX    MAXCMD,L.PRUOFF
 BRK      SPACE  2,12 
****             NPU BREAK FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               BREAK ELEMENT OF THE BLOCK PROTOCOL. 
  
  
          LOC    0
  
 RC       BSS    1           REASON CODE
  
****
  
 L.BRK    BSS    0           DEFINE LENGTH OF BREAK TEXT
 STP      SPACE  2,12 
****             NPU STP FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               STOP ELEMENT OF THE BLOCK PROTOCOL.
  
  
          LOC    0
  
 RC       BSS    1           REASON CODE
  
****
  
 L.STP    BSS    0           DEFINE LENGTH OF STOP TEXT 
 STRT     SPACE  2,12 
****             NPU STRT FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               START ELEMENT OF THE BLOCK PROTOCOL. 
  
  
          LOC    0
  
 RC       BSS    1           REASON CODE (NOT CURRENTLY USED) 
  
****
  
 L.STRT   BSS    0           DEFINE LENGTH OF START TEXT
 RST      SPACE  2,12 
****             NPU RST FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               RESET ELEMENT OF THE BLOCK PROTOCOL. 
  
  
          LOC    0
  
          BSS    0           RESET CONTAINS NO TEXT 
  
****
  
 L.RST    BSS    0           DEFINE LENGTH OF RESET TEXT
 INIT     SPACE  2,12 
****             NPU INIT FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE 
**               INIT ELEMENT OF THE BLOCK PROTOCOL.
  
  
          LOC    0
  
          BSS    0           INIT CONTAINS NO TEXT
  
****
  
 L.INIT   BSS    0           DEFINE LENGTH OF INIT TEXT 
 ICMD     SPACE  2,12 
****             NPU ICMD FORMAT. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE INTERRUPT 
**               COMMAND ELEMENT OF THE BLOCK PROTOCOL. 
  
  
          LOC    0
  
 RC       BSS    1           REASON CODE
  
****
  
 L.ICMD   BSS    0           DEFINE LENGTH OF INTERRUPT COMMAND TEXT
 ICMDR    SPACE  2,12 
****             NPU ICMDR FORMAT.
* 
*                THE FOLLOWING IS THE FORMAT OF THE INTERRUPT 
**               COMMAND RESPONSE ELEMENT OF THE BLOCK PROTOCOL.
  
  
          LOC    0
  
          BSS    0           ICMDR CONTAINS NO TEXT 
  
****
  
 L.ICMDR  BSS    0           DEFINE LENGTH OF INTERRUPT RESPONSE TEXT 
 DRCALL   TITLE  NAM DEPENDENT DEFINITIONS. 
          QUAL   NAM
 DRCALL   SPACE  2,20 
**               DRIVER CALL. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE VARIOUS 
*                DRIVER CALLS WHICH ARE MADE OF THE DRIVER. 
* 
*TBL               18/PIP,1/0,5/CP,12/FC,6/0,18/PAD 
* 
*                    WHERE -
* 
*                      PIP = DRIVER NAME IN DISPLAY CODE, 
*                       CP = CONTROL POINT NUMBER,
*                       FC = FUNCTION CODE, 
**                     PAD = PARAMETER ADDRESS. 
  
  
          LOC    0
  
          BSS    1           DRIVER CALL IMAGE
  
 C.DFC    EQU    2           DRIVER FUNCTION CODE (0 - 2) 
 C.PAD    EQU    3 - 4       PARAMETER AREA ADDRESS (BITS 5-0+11-0) 
 PARAM(0) SPACE 2,12
**               PARAMETER AREA FOR PROCESS FRONT ENDS CALL.
* 
*                THE PARAMETER ADDRESS SPECIFIED IN THE PROCESS FRONT 
*                END CALL, (FC = 0), LOCATES THE DRIVER INTERFACE TABLE 
*                WHICH WILL BE USED TO PROCESS ASSIGNED FRONT ENDS.  THE
*                DRIVER INTERFACE TABLE FORMAT IS SUBSEQUENTLY DESCRIBED
**               UNDER THE PIP INTERFACE TABLE. 
 PARAM(1) SPACE  2,14 
**               PARAMETER AREA FOR INITIALIZE NAM FIELD LENGTH CALL. 
* 
*                THE PARAMETER ADDRESS SPECIFIED IN AN INITIALIZE NAM 
*                FIELD LENGTH CALL, (FC = 1), IS THE ADDRESS OF A BLOCK 
*                OF MEMORY TO BE INITIALIZED.  THE NETWORK BUFFER 
*                TABLES, THE DRIVER INTERFACE TABLES, THE COUPLER 
*                EQUIPMENT TABLE AND THE DRIVER OVERLAY AREA ARE
*                INITIALIZED.  THE FORMAT OF THESE TABLES ARE 
**               SUBSEQUENTLY DESCRIBED UNDER THE NAME OF THE TABLE.
 PARAM(2) SPACE  2,12 
**               PARAMETER AREA FOR SCAN EST FOR NEW EQUIPMENT CALL.
* 
*                THE PARAMETER ADDRESS SPECIFIED IN A SCAN EST FOR NEW
*                EQUIPMENT CALL, (FC = 2), IS THE ADDRESS OF THE COUPLER
*                EQUIPMENT TABLE IN THE FIELD LENGTH OF NAM.  THE 
*                FORMAT OF THE COUPLER EQUIPMENT TABLE IS SUBSEQUENTLY
**               DESCRIBED UNDER THE NAME OF THE TABLE. 
 DRVPTR   SPACE  2,20 
**               DRIVER POINTER AREA. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE DRIVER POINTER AREA 
*                WHICH ALLOWS THE DRIVER TO LOCATE THE DRIVER CONTROL 
*                AREAS AND NAM CONTROL TABLES.
* 
*TBL               42/0,18/DOA
*TBL,              42/0,18/DIT
*TBL,              42/0,18/NPT
* 
*                    WHERE -
* 
*                      DOA = ADDRESS OF DRIVER OVERLAY AREA,
*                      DIT = ADDRESS OF DRIVER INTERLOCK TABLE, 
**                     NPT = ADDRESS OF NAM POINTER TABLE.
  
  
          LOC    60B
  
 W.DOVA   BSS    1           DRIVER OVERLAY AREA POINTER WORD 
  
 C.DPT    EQU    3 - 4       OVERLAY AREA POINTER (BITS 5-0+11-0) 
  
 W.DITP   BSS    1           DRIVER INTERFACE TABLE POINTER WORD
  
 C.DPT    EQU    C.DPT       INTERFACE TABLE POINTER (BITS 5-0+11-0)
  
 W.NPTA   BSS    1           NAM POINTER AREA POINTER WORD
  
 C.DPT    EQU    C.DPT       NAM POINTER AREA POINTER (BITS 5-0+11-0) 
 DOA      SPACE  2,42 
**               DRIVER OVERLAY AREA. 
* 
*                THE DRIVER OVERLAY AREA IS ALLOCATED BY NAM AND
*                INITIALIZED BY THE DRIVER.  ONCE THE AREA IS 
*                INITIALIZED IT IS USED SOLELY BY THE DRIVERS TO
*                LOCATE AND LOAD TRANSIENT OVERLAYS USED BY THE 
*                DRIVERS.  THE FORMAT OF THE DRIVER OVERLAY AREA
*                IS DESCRIBED BELOW - 
* 
*TBL               6/BID,18/BWD,35/0,1/C
*TBL,              18/PPN,6/0,12/OVL,6/0,18/OVA 
*TBL,              .                          . 
*TBL,              .                          . 
*TBL,              12/TBL,12/TBL,12/TBL,12/TBL,12/0 
*TBL,              .                              . 
*TBL,              .                              . 
*TBL,              12/OVT,12/OVT,12/OVT,12/OVT,12/OVT 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL WORDS, 
*                        C = DRIVER COMPLETED INITIALIZATION FLAG,
*                      PPN = NAM OF PPU OVERLAY,
*                      OVL = LENGTH OF PPU OVERLAY, 
*                      OVA = CENTRAL MEMORY ADDRESS OF PPU OVERLAY, 
*                      TBL = TABLE TEXT BYTE, 
*                      OVL = OVERLAY TEXT BYTE. 
* 
*                THERE IS A POINTER TO THE CONTROL TABLE OVERLAY
*                ACCESSED BY THE DRIVER FLOLLOWED BY POINTERS TO EACH 
*                TRANSIENT OVERLAY LOADED BY THE DRIVER FOLLOWED BY 
*                CONTROL TABLE TEXT FOLLOWED BY THE TRANSIENT OVERLAY 
*                TEXTS.  THE CONTROL TABLE TEXT IS STORED AS FOUR PPU 
*                BYTES PER CENTRAL MEMORY WORD.  THE FIFTH BYTE OF THE
*                WORDS FOR CENTRAL TABLE TEXT ARE USED TO HELP DIVISION 
*                BY FIVE PROCESSING.  N-TH CM WORD OF THE TABLE HAS THE 
*                ROUND-UP QUOTIENT OF N DIVIDED BY FIVE AND THE DEFICIT 
**               BYTE COUNT TO MAKE A MULTIPLE OF FIVE. 
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    0           BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    6           BLOCK ID POSITION
  
 C.BWD    EQU    0 - 1       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.DOAC   EQU    4           INITIALIZATION COMPLETE FLAG BYTE
  
 B.DOAC   EQU    1S0         INITIALIZATION COMPLETE FLAG 
  
 W.DOA    BSS    1           DRIVER OVERLAY POINTER WORDS 
  
 C.DOAPN  EQU    0           PPU PROGRAM NAME (BITS 11-0+11-6)
 C.DOAOL  EQU    2           PPU PROGRAM LENGTH IN CENTRAL WORDS
 C.DOAOA  EQU    3 - 4       PPU PROGRAM ADDRESS (BITS 5-0+11-0)
  
 C.QUOT   EQU    4           DIVISION BY FIVE QOTIENT AND DEFICIT 
 S.QUOT   EQU    3           QUOTIENT POSITION
 M.DEFC   EQU    7           MASK FOR DEFICIT BYTE COUNT
 PRUBUF   SPACE  2,50 
**               PRU BUFFERS. 
* 
*                THE PRU BUFFERS ARE ALLOCATED DURING INITIALIZATION BY 
*                NAM AND RESIDE WITHIN THE FIELD LENGTH OF NAM.  ONCE 
*                THE PRU BUFFERS ARE ALLOCATED, THEY ARE MAINTAINED AND 
*                USED SOLELY BY THE DRIVERS.  THE PRU BUFFERS ARE USED
*                BY THE DRIVERS TO STORE DATA IN THE PROCESS OF BEING 
*                TRANSFERRED BETWEEN CENTRAL MEMORY AND MASS STORAGE. 
*                ALL PRU BUFFERS ARE SHARED BY ALL DRIVERS AND TIME-
*                SHARED BETWEEN ALL ACTIVE PRU DATA STREAMS.  A PRU 
*                BUFFER IS ASSIGNED TO A PRU DATA STREAM ONLY FOR THE 
*                TIME THAT THE PRU DATA EXISTS IN CENTRAL MEMORY. 
* 
*                THE FORMAT OF THE NAM PORTION OF THE PRU BUFFER IS 
*                DESCRIBED BELOW -
* 
*TBL                6/BID,18/BWD,36/0 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL MEMORY WORDS.
* 
*                THE FORMAT OF THE DRIVER PORTION OF THE PRU BUFFER IS
*                DESCRIBED BELOW -
* 
*TBL                3/BT,6/PRU,3/DOR,6/0,18/PCB,1/EIR,5/0,18/DLK
*TBL,              24/0,                     36/TBA 
*TBL,              24/BUC,                   36/TBU 
*TBL,              24/0,                     36/LTA 
*TBL,              60/0 
*TBL,              36/0,24/ACT
*TBL,               6/IN,6/OUT,6/WO,6/WO,6/WO,6/WO,6/WO,6/WO,6/WO,6/0 
*TBL,              42/LFN,               4/LVL,4/ATC,9/STS
*TBL,              12/0,1/R,1/0,1/EP,9/0,12/0, 6/LN,18/FST
*TBL,              42/0,                            18/IN 
*TBL,              42/0,                            18/OUT
*TBL,              12/FNT,12/0,                18/0,18/LMT
*TBL,              60/0 
*TBL,              30/CRI,                      6/0,24/RRQ
*TBL,              12/DAT,12/DAT,12/DAT,12/DAT,12/DAT 
* 
*                    WHERE -
* 
*                       BT = DRIVER BUFFER TYPE,
*                      PRU = PRU BUFFER SIZE ORDINAL, 
*                      DOR = DRIVER ORDINAL,
*                      PCB = ADDRESS PRU CONNECTION BLOCK OWNING BUFFER,
*                      EIR = END OF INFORMATION RECEIVED FLAG,
*                      DLK = ADDRESS OF NEXT BUFFER IN DRIVER CHAIN,
*                      TBA = TIME BUFFER WAS ALLOCATED (MS),
*                      BUC = NUMBER OF TIMES BUFFER WAS USED, 
*                      TBU = TOTAL TIME BUFFER WAS USED (MS), 
*                      LTA = LAST TIME BUFFER WAS ASSIGNED (MS),
*                      ACT = ACCOUNTING DATA, 
*                       IN = WORKLIST QUEUE IN POINTER, 
*                      OUT = WORKLIST QUEUE OUT POINTER,
*                       WO = QUEUED WORKLIST COMMAND ORDINAL, 
*                      LFN = LOCAL FILE NAME, 
*                      LVL = END OF RECORD LEVEL NUMBER,
*                      ATC = ABNORMAL TERMINATION CODE, 
*                      STS = FILE STATUS, 
*                        R = RANDOM FLAG, 
*                       EP = ERROR PROCESSING SELECTED, 
*                       LN = FET LENGTH (2),
*                      FST = FIRST DATA POINTER,
*                       IN = IN DATA POINTER, 
*                      OUT = OUT DATA POINTER,
*                      FNT = FNT ADDRESS, 
*                      LMT = LIMIT DATA POINTER,
*                      CRI = CURRENT RANDOM INDEX,
*                      RRQ = RANDOM REQUEST PRU ORDINAL,
**                     DAT = DATA BYTE. 
  
  
          LOC    0
  
 W.PRNH   BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
  
 C.DPT    EQU    3 - 4       FREE BUFFER LINK POINTER ( BITS  5-0+11-0) 
  
          QUAL
          LOC    0
  
 W.PRDH   BSS    1           DRIVER HEADER WORD 
  
 C.BST    EQU    0           BUFFER STATUS BYTE 
  
 S.BTP    EQU    9           BUFFER TYPE POSITION 
 S.PBS    EQU    3           PRU BUFFER SIZE ORDINAL POSITION 
  
 M.PBS    EQU    77BS3       MASK FOR PRU BUFFER SIZE ORDINAL 
 M.DOR    EQU    7           MASK FOR DRIVER ORDINAL
  
 C.PCB    EQU    1 - 2       OWNING PCB ADDRESS (BITS 5-0+11-0) 
 C.DLK    EQU    3 - 4       ADDRESS OF NEXT BUFFER (BITS 5-0+11-0) 
  
 S.EIR    EQU    11          END OF INFORMATION RECEIVED POSITION 
 B.EIR    EQU    1S11        END OF INFORMATION RECEIVED FLAG 
  
 W.TMA    BSS    1           TIME BUFFER ALLOCATED WORD 
  
 C.TM     EQU    2 - 4       TIME BUFFER ALLOCATED (MS) 
  
 W.TMU    BSS    1           BUFFER USE WORD
  
 C.BUC    EQU    0 - 1       BUFFER USE COUNT 
 C.TM     EQU    C.TM        TOTAL TIME BUFFER USED (MS)
  
 W.TML    BSS    1           LAST TIME BUFFER ASSIGNED WORD 
  
 C.TM     EQU    C.TM        LAST TIME BUFFER ASSIGNED (MS) 
  
          BSS    1           FILL 
 W.ACT    BSS    1           ACCOUNTING WORD
  
 C.ACT    EQU    3 - 4       ACCOUNTING INFORMATION 
  
 W.CLQ    BSS    1           COMMAND LINK QUEUE WORD
  
 C.QIO    EQU    0           QUEUE IN/OUT POINTER (6/IN,6/OUT)
 C.QUE    EQU    1 - 4       QUEUE
  
 W.PRFS   BSS    1           FILE STATUS WORD 
  
 C.FSB    EQU    3 - 4       FILE STATUS
  
 W.PRFRST BSS    1           FET FIRST POINTER WORD 
  
 C.FPP    EQU    1           FET PROCESSING PARAMETERS
  
 B.RP     EQU    1S11        RANDOM PROCESSING FLAG 
  
 C.PRUFP  EQU    3 - 4       FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
 W.PRIN   BSS    1           FET IN POINTER WORD
  
 C.PRUIP  EQU    3 - 4       FET IN DATA POINTER (BITS 5-0+11-0)
  
 W.PROUT  BSS    1           FET OUT POINTER WORD 
  
 C.PRUOP  EQU    3 - 4       FET OUT DATA POINTER (BITS 5-0+11-0) 
  
 W.PRLM   BSS    1           FET LIMIT POINTER WORD 
  
 C.FNT    EQU    0           FNT ORDINAL
 C.PRULP  EQU    3 - 4       FET LIMIT DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           FILL 
 W.FFP    BSS    1           FILE POSITION WORD 
  
 C.FFP    EQU    0 - 2       FILE POSITION (BITS 11-0+11-0+11-6)
 C.RWR    EQU    2           REWRITE-IN-PLACE FLAG BYTE 
 B.RWR    EQU    1S5         REWRITE-IN-PLACE FLAG
 C.RRQ    EQU    3 - 4       RANDOM REQUEST PRU ORDINAL 
 C.DEC    EQU    4           DETAIL MASS STORAGE ERROR CODE 
  
 W.PRDAT  BSS    1           FIRST DATA WORD
 BUFTYPE  SPACE  2,6
****             DRIVER PRU BUFFER TYPES. 
  
  
 Q.FRB    EQU    0           DRIVER FREE BUFFER TYPE
 Q.INB    EQU    2           DRIVER INBOUND BUFFER TYPE 
 Q.OTB    EQU    3           DRIVER OUTBOUND BUFFER TYPE
  
****
 NPT      SPACE  2,28 
          QUAL   NAM
  
**               NAM POINTER TABLE. 
* 
*                THE FOLLOWING IS THE FORMAT OF THE NAM POINTER TABLE 
*                WHICH IS USED BY THE DRIVER TO LOCATE THE ASSOCIATED 
*                NAM TABLE. 
* 
*TBL               42/0LPT,18/-0
*TBL,                 42/0,18/NBTA
*TBL,                 42/0,18/PITA
*TBL,                 42/0,18/CETA
*TBL,                 42/0,18/TNTA
*TBL,                 42/0,18/ATA 
* 
*                    WHERE -
* 
*                      NBTA = NETWORK BUFFER TABLE ADDRESS, 
*                      PITA = PIP INTERFACE TABLE ADDRESS,
*                      CETA = COUPLER EQUIPMENT TABLE ADDRESS,
*                      TNTA = TERMINAL NODE TABLE ADDRESS,
**                      ATA = APPLICATION TABLE ADDRESS.
  
  
          LOC    0
  
          BSS    1           NAM POINTER TABLE HEADER WORD
 W.NBTP   BSS    1           NETWORK BUFFER TABLE POINTER WORD
  
 C.DPT    EQU    C.DPT       NETWORK TABLE ADDRESS (BITS5-0+11-0) 
  
 W.CETP   BSS    1           COUPLER EQUIPMENT TABLE POINTER WORD 
  
 C.DPT    EQU    C.DPT       EQUIPMENT TABLE ADDRESS (BITS 5-0+11-0)
  
 W.TNTP   BSS    1           TERMINAL NODE TABLE POINTER WORD 
  
 C.DPT    EQU    C.DPT       TERMINAL NODE TABLE ADDRESS (BITS 5-0+11-0)
  
 W.ATP    BSS    1           APPLICATION TABLE POINTER
  
 C.DPT    EQU    C.DPT       APPLICATION TABLE ADDRESS (BITS 5-0+11-0)
 NBT      SPACE  2,50 
**               NETWORK BUFFER TABLE.
* 
*                EACH FRONT END THAT IS TO BE SERVICED BY THE DRIVER HAS
*                AN ASSOCIATED NETWORK BUFFER TABLE LOCATED IN THE FIELD
*                LENGTH OF NAM WHICH IS USED FOR DATA AND CONTROL 
*                INFORMATION TRANSFER.  EACH NETWORK BUFFER TABLE 
*                CONSISTS OF TWO INBOUND FETS FOLLOWED BY THREE OUTBOUND
*                PSEUDO FETS FOLLOWED BY MCI INLINE DIAGNOSTICS BUFFER
*                PSEUDO FET.
* 
*                NBT HEADER 
* 
*                THE FORMAT OF THE NBT HEADER IS DESCRIBED BELOW -
* 
*TBL               6/BID,18/BWD,6/NAE,6/NFE,23/0,1/C
* 
*                    WHERE -
* 
*                        BID = NAM BUFFER ID, 
*                        BWD = BLOCK SIZE IN CENTRAL MEMORY WORD, 
*                        NAE = NUMBER OF ACTIVE ENTRIES,
*                        NFE = NUMBER OF FREE ENTRIES,
*                          C = INITIALIZATION COMPLETED FLAG. 
* 
*                INBOUND FETS.
* 
*                THE INBOUND FETS ARE USED BY THE DRIVER TO TRANSFER
*                NON-PRU DATA AND ALL CONTROL INFORMATION TO NAM FOR A
*                GIVEN FRONT END.  THE INBOUND FETS DESCRIBE NORMAL 
*                CIRCULAR BUFFERS AND ARE USED ALTERNATELY.  THE FORMAT 
*                OF THE INBOUND FETS ARE DESCRIBED BELOW -
* 
*TBL               1/IU,1/0,1/SAM,1/BA,1/CB,1/BR,6/CH,3/EQ,9/EST, 
*TBL,                                             18/TA,18/FIRST
*TBL,              42/0,                                18/IN 
*TBL,              9/REGW,3/0,12/ET,4/IND,8/HN,6/DOR,   18/OUT
*TBL,              6/KBI,18/PBP,18/PFP,                 18/LIMIT
*TBL,              3/0,1/BA,1/CB,1/BR,10/0,8/TN,18/TA,  18/FIRST
*TBL,              42/0                                 18/IN 
*TBL,              12/RJCNT,6/0,12/CSIZE,12/COFF,       18/OUT
*TBL,              24/RTIME,3/0,6/CII,3/DRL,3/NRL,3/HRL,18/LIMIT
* 
*                    WHERE -
* 
*                         IU = ENTRY IN USE FLAG, 
*                        SAM = SYSTEM AUTOSTART MODULE FLAG,
*                         BA = BUFFER AVAILABLE FLAG, 
*                         CB = CURRENT BUFFER FLAG, 
*                         BR = REQUEST BUFFER RELEASE FLAG, 
*                         CH = FRONT END CHANNEL NUMBER,
*                         EQ = FRONT END EQUIPMENT NUMBER,
*                        EST = FRONT END EQUIPMENT STATUS TABLE ORDINAL,
*                        IND = NETWORK BUFFER TABLE INDEX 
*                         HN = HOST NODE ID,
*                        DOR = DRIVER ORDINAL,
*                      FIRST = FET FIRST DATA POINTER,
*                         IN = FET IN DATA POINTER, 
*                       REGW = NO OF (PRU) LLCBS LEFT TO BE CLEANED UP
*                         ET = EQUIPMENT MNEUMONIC
*                         TA = THRESHOLD ADDR FOR ALLOCATING NEXT BUFFER
*                        OUT = FET OUT DATA POINTER,
*                        KBI = K-DIPLAY BUFFER INDEX
*                        PBP = PRU CONNECTION RING BACKWARD POINTER,
*                        PFP = PRU CONNECTION RING FORWARD POINTER, 
*                      RTIME = TIMEOUT FOR NO PIP REJECTS OF IVT DATA 
*                      CSIZE = SIZE OF INBOUND BUFFER TO ALLOCATE 
*                       COFF = OFFSET FOR ADJUSTING THRESHOLD ADDRESS 
*                      RJCNT = CURRENT CNT OF NO OF PIP IVT REJECTS 
*                         TN = TERMINAL NODE FOR CDCNET FRONT END 
*                        CII = CURRENT INPUT FET INDEX, 
*                        DRL = DESTINATION HOST REGULATION LEVEL, 
*                        NRL = FRONT END REGULATION LEVEL,
*                        HRL = HOST REGULATION LEVEL. 
* 
*                OUTBOUND PSEUDO FETS.
* 
*                IMMEDIATELY FOLLOWING THE INBOUND FETS ARE THREE 
*                OUTBOUND PSEUDO FETS ASSOCIATED WITH THE FRONT END.
*                EACH OUTBOUND PSEUDO FET CORRESPONDS TO AN OUTPUT
*                PRIORITY LEVEL.  THE FIRST OUTBOUND PSEUDO FET IS THE
*                HIGHEST PRIORITY LEVEL AND THE THIRD OUTBOUND PSEUDO 
*                FET IS THE LOWEST PRIORITY LEVEL.  THE OUTBOUND PSEUDO 
*                FETS ARE USED BY NAM FOR NON-PRU DATA AND CONTROL
*                TRANSFERS TO THE ASSOCIATED FRONT END. 
* 
*                EACH OUTBOUND PSEUDO FET IS USED TO DESCRIBE AN OUTPUT 
*                MESSAGE LIST AS OPPOSED TO THE NORMAL CIRCULAR BUFFER. 
*                WHEN THE FIRST OUTBOUND MESSAGE IS QUEUED, THE IN
*                POINTER IS SET TO THE ADDRESS OF THE MESSAGE HEADER
*                WORD.  AS SUBSEQUENT MESSAGES ARE QUEUED THE IN POINTER
*                IS UPDATED TO THE ADDRESS OF THE LAST MESSAGE IN THE 
*                QUEUE AND EACH MESSAGE IN QUEUE IS LINKED TO THE 
*                PREVIOUS MESSAGE THROUGH THE LINK ADDRESS FIELD OF THE 
*                PREVIOUS MESSAGE HEADER WORD.  THE INITIAL MESSAGE IS
*                REMOVED FROM THE QUEUE LOCATED BY THE FIRST POINTER IN 
*                THE PSEUDO FET.  AFTER THE OUTBOUND MESSAGE IS 
*                PROCESSED, THE OUT POINTER OF THE PSEUDO FET IS UPDATED
*                TO THE ADDRESS OF THE MESSAGE HEADER WORD FOR THE
*                MESSAGE JUST PROCESSED.  SUSEQUENT OUTBOUND MESSAGES 
*                ARE DEQUEUED FROM THE LINK ADDRESS FIELD OF THE MESSAGE
*                HEADER WORD LOCATED BY THE OUT POINTER IN THE PSEUDO 
*                FET.  WHEN THE OUT AND IN POINTERS ARE EQUAL IN THE
*                PSEUDO FET THE OUTBOUND QUEUE HAS BEEN EXHAUSTED.
* 
*                THE FORMAT OF THE OUTBOUND PSEUDO FET IS 
*                DESCRIBED BELOW -
* 
*TBL               18/NMQ,    18/FIRST
*TBL,              36/LIC,6/0,18/IN 
*TBL,              42/0,      18/OUT
*TBL,              24/IWC,36/ICC
*TBL,              18/NMQ,    18/FIRST
*TBL,              36/LPC,6/0,18/IN 
*TBL,              42/0,      18/OUT
*TBL,              24/PWC,36/PCC
*TBL,              18/NMQ,    18/FIRST
*TBL,              42/0,      18/IN 
*TBL,              42/0,      18/OUT
*TBL,              1/NAC,1/NIN,1/NMM,1/NBL,1/NOF,1/NLL,1/NDN,5/0, 
*TBL,                        12/IRJN,12/PRJN,24/0 
* 
*                    WHERE -
* 
*                        NMQ = NUMBER OF MESSAGES IN QUEUE, 
*                      FIRST = FET FIRST DATA POINTER,
*                        LIC = LAST IVT CHARACTER COUNT,
*                         IN = FET IN DATA POINTER, 
*                        OUT = FET OUT DATA POINTER,
*                        IWC = IVT TOTAL WORDS TRANSFERRED, 
*                        ICC = IVT TOTAL CHARACTERS TRANSFERRED,
*                        LPC = LAST PRU CHARACTER COUNT,
*                        PWC = PRU TOTAL WORDS TRANSFERRED, 
*                        PCC = PRU TOTAL CHARACTERS TRASNFERRED,
*                        NAC = FRONT END ACTIVE FLAG, 
*                        NIN = FRONT END INITIALIZATION FLAG, 
*                        NMM = FRONT END MAINTENANCE MODE FLAG, 
*                        NBL = FRONT END BOOTSTRAP LOADED FLAG, 
*                        NOF = FRONT END OFF FLAG,
*                        NLL = WAIT REGULATION LEVEL ZERO RESPONSE FLAG,
*                        NDN = FRONT END DOWN FLAG, 
*                        PRU = TOTAL PRU COUNT TRANSFERRED, 
*                        IRJN = FRONT END REJECT COUNT FOR IVT BLOCKS,
*                MCI INLINE DIAGNOSTIC BUFFER PSEUDO FET. 
* 
*                THE LAST PSEUDO FET WHICH MAKES UP THE NETWORK BUFFER
*                TABLE ENTRY IS USED FOR MANAGING THE MCI INLINE
*                DIAGNOSTIC BUFFER.  INITIALLY THERE WILL BE NO BUFFER
*                ALLOCATED.  WHEN PIP DETECTS THAT THE MDI HAS AN INLINE
*                DIAGNOSTIC MESSAGE TO SEND TO THE HOST, IT WILL REQUEST
*                NIP TO ALLOCATE A BUFFER BY SETTING THE REQUEST BUFFER 
*                FLAG.  NIP WILL THEN ALLOCATE A BUFFER, SET UP THE 
*                FIRST AND LIMIT POINTERS, AND SET THE ACTIVE BUFFER
*                FLAG.  A BUFFER IS THEN AVAILABLE FOR PIP TO USE.
*                WHEN PIP DETECTS THAT NO INLINE DIAGNOSTIC TRAFFIC IS
*                OCCURING ANYMORE, IT WILL SET THE RELEASE BUFFER FLAG
*                IN THE PSEUDO FET TO INFORM NIP TO RELEASE THE BUFFER. 
*                NIP WILL THEN RELEASE THE BUFFER AND ZERO OUT THE
*                PSEUDO FET.
* 
*                THE FORMAT OF THE MCI INLINE DIAGNOSTICS BUFFER PSEUDO 
*                FET IS DESCRIBED BELOW - 
* 
*TBL               1/AC,41/0,                                 18/FIRST
*TBL,              1/RQ,1/RL,1/GB,2/0,1/EP,6/0,24/ITIM,12/SZWD,12/SZBY
*TBL,              60/0,
*TBL,              12/0,12/IRJP,12/PRJP,6/0,                  18/LIMIT
* 
*                    WHERE -
* 
*                         AC = INLINE DIAGNOSTIC BUFFER ACTIVE FLAG 
*                      FIRST = FIRST WORD ADDRESS OF DIAGNOSTICS BUFFER 
*                         RQ = INLINE DIAGNOSTIC BUFFER REQUESTED FLAG
*                         RL = RELEASE INLINE DIAGNOSTIC BUFFER FLAG
*                         GB = GETING NLINE DIAGNOSTIC DATA FLAG
*                         EP = ECHO PENDING OF DIAGNOSTICS DATA FLAG
*                       ITIM = TIME OF LAST INLINE DIAGNOSTIC TRANSFER
*                       SZWD = SIZE OF INLINE DIAGNOSTIC DATA IN CM WRDS
*                       SZBY = SIZE OF INLINE DIAGNOSTIC DATA IN PP WRDS
*                        PRJN = FRONT END REJECT COUNT FOR PRU BLOCKS,
*                        IRJP = PIP REJECT COUNT FOR IVT BLOCKS,
*                        PRJP = PIP REJECT COUNT FOR PRU BLOCKS,
*                      LIMIT = LWA+1 OF DIAGNOSTICS BUFFER
**
  
  
          LOC    0
  
 W.NBT    BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.NBTEC  EQU    2           ENTRY COUNTS BYTE (BITS 11-6, 5-0) 
  
 S.NBTAE  EQU    6           ACTIVE ENTRY COUNT POSITION
 L.NBTFE  EQU    77B         FREE ENTRY COUNT LENGTH
  
 C.NBTDC  EQU    4           DRIVER INITIALIZATION COMPLETED FLAG BYTE
  
          LOC    0
  
 W.NBTFP  BSS    1           NETWORK BUFFER TABLE FIRST INBOUND FET 
  
 C.NBTBS  EQU    0           BUFFER STATUS BYTE 
  
 S.NBTIU  EQU    11          ENTRY IN USE FLAG (1 = YES)
 S.NBTSN  EQU    10          SIMULATED NPU FLAG (1 = YES) 
 S.NBTSAM EQU    9           SYSTEM AUTOSTART MODULE FLAG (1 = YES) 
 S.NBTBA  EQU    8           BUFFER AVAILABLE FLAG (1 = YES)
 S.NBTCB  EQU    7           CURRENT BUFFER FLAG (1 = YES)
 S.NBTRB  EQU    6           REQUEST BUFFER RELEASE FLAG (1 = YES)
  
 S.NBTBS  EQU    6           BUFFER STATUS POSITION 
  
 B.NBTBA  EQU    1S2         BUFFER AVAILABLE FLAG (RELATIVE S.NBTBS) 
 B.NBTCB  EQU    1S1         CURRENT BUFFER FLAG (RELATIVE S,NBTBS) 
 B.NBTRB  EQU    1S0         REQUEST RELEASE FLAG (RELATIVE S.NBTBS)
  
 L.NBTCH  EQU    77B         FRONT END CHANNEL LENGTH 
  
 C.NBTNA  EQU    1           FRONT END EQUIPMENT BYTE 
  
 S.NBTEQ  EQU    9           FRONT END EQUIPMENT NUMBER POSITION
 L.NBTEQ  EQU    7S9         FRONT END EQUIPMENT NUMBER MASK
 L.NBTEST EQU    777B        FRONT END EQUIPMENT TABLE ORDINAL LENGTH 
  
 C.NBTFP  EQU    3 - 4       FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTIP  BSS    1           NETWORK BUFFER TABLE IN POINTER WORD 
  
 C.NBTIP  EQU    3 - 4       FET IN DATA POINTER (BITS 5-0+11-0)
  
 W.NBTOP  BSS    1           NETWORK BUFFER TABLE OUT POINTER WORD
  
 C.NBTID  EQU    2           NOST NODE AND NETWORK BUFFER INDEX BYTE
  
 S.NBTID  EQU    8           HOST NODE NUMBER LENGTH
 L.NBTHN  EQU    377B        HOST NODE MASK 
  
 C.NBTOP  EQU    3 - 4       FET OUT DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTLP  BSS    1           NETWORK BUFFER TABLE LIMIT POINTER WORD
  
 C.NBTPB  EQU    0 - 1       PRU RING BACKWARD POINTER (BITS 5-0+11-0)
 C.NBTPF  EQU    2 - 3       PRU RING FORWARD POINTER (BITS 11-0+11-6)
 C.NBTLP  EQU    3 - 4       FET LIMIT DATA POINTER (BITS 5-0+11-0) 
  
 L.FET    BSS    0           LENGTH OF FET ENTRY
  
          BSS    1           ALTERNATE NETWORK BUFFER TABLE INBOUND FET 
  
 C.NBTBS  EQU    C.NBTBS     BUFFER STATUS BYTE 
  
 S.NBTBA  EQU    S.NBTBA     BUFFER AVAILABLE FLAG (1 = YES)
 S.NBTCB  EQU    S.NBTCB     CURRENT BUFFER FLAG (1 = YES)
 S.NBTRB  EQU    S.NBTRB     REQUEST BUFFER RELEASE FLAG (1 = YES)
  
 S.NBTBS  EQU    S.NBTBS     BUFFER STATUS POSITION 
  
 B.NBTBA  EQU    B.NBTBA     BUFFER AVAILABLE FLAG (RELATIVE S.NBTBS) 
 B.NBTCB  EQU    B.NBTCB     CURRENT BUFFER FLAG (RELATIVE S.NBTBS) 
 B.NBTRB  EQU    B.NBTRB     REQUEST RELEASE FLAG (RELATIVE S.NBTBS)
  
 C.NBTTN  EQU    1           CDCNET FRONT END TERMINAL NODE BYTE
 S.NBTTN  EQU    0           POSITION OF TERMINAL NODE IN BYTE
 L.NBTTN  EQU    377B        TERMINAL NODE MASK 
  
 C.NBTFP  EQU    C.NBTFP     FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           ALTERNATE NETWORK BUFFER TABLE IN POINTER
  
 C.NBTIP  EQU    C.NBTIP     FET IN DATA POINTER (BITS 5-0+11-0)
  
          BSS    1           ALTERNATE NETWORK BUFFER TABLE OUT POINTER 
  
 C.NBTOP  EQU    C.NBTOP     FET OUT DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           ALTERNATE NETWORK BUFFER LIMIT POINTER 
  
 C.NBTLP  EQU    C.NBTLP     FET LIMIT DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTOF  BSS    1           NETWORK BUFFER TABLE FIRST OUTBOUND FET
  
 C.NBTFP  EQU    C.NBTFP     FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           NETWORK BUFFER TABLE OUTBOUND IN POINTER 
  
 C.NBTIP  EQU    C.NBTIP     FET IN DATA POINTER (BITS 5-0+11-0)
  
          BSS    1           NETWORK BUFFER TABLE OUTBOUND OUT POINTER
  
 C.NBTOP  EQU    C.NBTOP     FET OUT DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTIS  BSS    1           NETWORK BUFFER TABLE IVT STATISTICS WORD 
  
 C.NBTMC  EQU    0 - 1       IVT MESSAGE COUNT (BITS 11-0+11-0) 
 C.NBTCC  EQU    2 - 4       IVT CHARACTER COUNT (BITS 11-0+11-0+11-0)
  
          BSS    1           NETWORK BUFFER TABLE SECOND OUTBOUND FET 
  
 C.NBTFP  EQU    C.NBTFP     FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           NETWORK BUFFER TABLE OUTBOUND IN POINTER 
  
 C.NBTIP  EQU    C.NBTIP     FET IN DATA POINTER (BITS 5-0+11-0)
  
          BSS    1           NETWORK BUFFER TABLE OUTBOUND OUT POINTER
  
 C.NBTOP  EQU    C.NBTOP     FET OUT DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTPS  BSS    1           NETWORK BUFFER TABLE PRU STATISTICS WORD 
  
 C.NBTMC  EQU    C.NBTMC     PRU MESSAGE COUNT (BITS 11-0+11-0) 
 C.NBTCC  EQU    C.NBTCC     PRU CHARACTER COUNT (BITS 11-0+11-0+11-0)
  
          BSS    1           NETWORK BUFFER TABLE THIRD OUTBOUND FET
  
 C.NBTFP  EQU    C.NBTFP     FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
          BSS    1           NETWORK BUFFER TABLE OUTBOUND IN POINTER 
  
 C.NBTIP  EQU    C.NBTIP     FET IN DATA POINTER (BITS 5-0+11-0)
  
          BSS    1           NETWORK NBUFFER TABLE OUTBOUND OUT POINTER 
  
 C.NBTOP  EQU    C.NBTOP     FET OUT DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTNS  BSS    1           NETWORK BUFFER TABLE FRONT END STATUS
  
 C.NBTNS  EQU    0           FRONT END STATUS BYTE
  
 S.NBTNA  EQU    11          FRONT END ACTIVE (1 = YES) 
 S.NBTIF  EQU    10          FRONT END INITIALIZATION PENDING (1 = YES) 
 S.NBTMF  EQU    9           FRONT END MAINTENANCE (1 = YES)
 S.NBTBF  EQU    8           FRONT END BOOTSTRAP LOADED (1 = YES) 
 S.NBTOF  EQU    7           FRONT END OFF (1 = YES)
 S.NBTLF  EQU    6           WAIT REGULATION ZERO RESPONSE (1 = YES)
 S.NBTDF  EQU    5           FRONT END DOWN (1 = YES) 
  
 B.NBTNA  EQU    1S11        FRONT END ACTIVE FLAG
 B.NBTIF  EQU    1S10        FRONT END INITIALIZATION PENDING FLAG
 B.NBTMF  EQU    1S9         FRONT END MAINTENANCE FLAG 
 B.NBTBF  EQU    1S8         FRONT END BOOTSTRAP LOADED FLAG
 B.NBTOF  EQU    1S7         FRONT END OFF FLAG 
 B.NBTLF  EQU    1S6         WAIT REGULATION ZERO RESPONSE FLAG 
 B.NBTDF  EQU    1S5         FRONT END DOWN FLAG
  
 C.NBTIRJ EQU    1           IVT REJECT COUNT (NPU REJECT)
 C.NBTPRJ EQU    2           PRU REJECT COUNT (NPU REJECT)
  
 W.NBTIF  BSS    1           INLINE DIAG BUFFER FIRST POINTER WORD
  
 C.NBTIA  EQU    0           INLINE DIAG BUFFER ACTIVE FLAG BYTE
 S.NBTIA  EQU    11          INLINE DIAG BUFFER ACTIVE FLAG POSITION
 B.NBTIA  EQU    4000B       INLINE DIAG BUFFER ACTIVE FLAG 
 C.NBTFP  EQU    3 - 4       FET FIRST DATA POINTER (BITS 5-0+11-0) 
  
 W.NBTILE BSS    1           INLINE DIAG BUFFER MESSAGE LENGTH WORD 
  
 C.NBTIC  EQU    0           INLINE DIAG STATUS BYTE
  
 S.NBTIRF EQU    11          INLINE DIAG BUFFER REQUEST FLAG
 S.NBTIWF EQU    10          INLINE DIAG BUFFER RELEASE WAIT FLAG 
 S.NBTIGF EQU    9           INLINE DIAG GET BLOCK FLAG 
 S.NBTIPF EQU    6           INLINE DIAG ECHO PENDING FLAG
  
 B.NBTIRF EQU    4000B       INLINE DIAG BUFFER REQUEST FLAG
 B.NBTIWF EQU    2000B       INLINE DIAG BUFFER RELEASE WAIT FLAG 
 B.NBTIGF EQU    1000B       INLINE DIAG GET BLOCK FLAG 
 B.NBTIPF EQU    100B        INLINE DIAG ECHO PENDING FLAG
  
  
 C.NBTIT  EQU    1 - 2       INLINE DIAG TIMER BYTES
 C.NBTILC EQU    3           BYTE TO HOLD INLINE DIAG MSG SIZE IN CM WDS
 C.NBTILP EQU    4           BYTE TO HOLD INLINE DIAG MSG SIZE IN PP WDS
  
 W.NBTIO  BSS    1           FET OUT POINTER WORD (NOT USED)
  
 W.NBTIL  BSS    1           INLINE DIAG BUFFER LIMIT POINTER WORD
  
 C.NBTCV  EQU    0           CHANNEL PROTOCOL VERSION NEGOTIATED
 C.NBTLP  EQU    3 - 4       FET LIMIT DATA POINTER (BITS 5-0+11-0) 
  
 L.NBTE   BSS    0           DEFINE LENGTH OF NETWORK BUFFER TABLE ENTRY
 DIT      SPACE  2,50 
**               PIP INTERFACE TABLE. 
* 
*                THE PIP INTERFACE TABLE IS USED TO INTERFACE NAM AND 
*                THE DRIVER.  THE TABLE CONTAINS CONTROL FLAGS USED BY
*                NAM TO REQUEST DRIVER ACTION, A DRIVER DUMP INTERFACE
*                MECHANISM AND POINTERS TO EACH NETWORK BUFFER TABLE
*                ASSOCIATED WITH A FRONT END TO BE DRIVER BY THIS 
*                DRIVER.  THE FORMAT OF THE PIP INTERFACE TABLE IS
*                DESCRIBED BELOW -
* 
*TBL               36/0,1/NAC,5/0,18/DDA
*TBL,              36/XXX,1/PAC,23/XXX
*TBL,              1/IU,29/0,6/DOR,12/DEC,10/0,1/C,1/IA 
*TBL,              1/HN,1/DF,1/HD,1/DD,1/IR,1/SE,1/AI,1/IH,1/EH,3/0,
*TBL,                              12/NPC,6/0,6/NBI,6/0,18,NBT
*TBL,              1/HN,5/0,18/NDA,       6/0,6/NBI,6/0,18/NBT
*TBL,              1/HN,29/0,             6/0,6/NBI,6/0,18/NBT
*TBL,              1/HN,29/0,             6/0,6/NBI,6/0,18/NBT
*TBL,              12/MB1,24/FP1,24/LP1 
*TBL,              12/NP1,12/AP1,12/NO1,12/WO1,12/ITC 
*TBL,              12/MB2,24/FP2,24/LP2 
*TBL,              12/NP2,12/AP2,12/NO2,12/WO2,12/PTC 
*TBL,              12/MB3,24/FP3,24/LP3 
*TBL,              12/NP3,12/AP3,12/NO3,12/WO3,12/DCC 
* 
*                    WHERE -
* 
*                      NAC = NIP ACTIVITY REQUEST FLAG, 
*                      PAC = PRU ACTIVITY REQUEST FLAG, 
*                      DDA = DRIVER DUMP AREA ADDRESS,
*                       IU = ENTRY IN USE FLAG, 
*                      DOR = DRIVER ORDINAL,
*                      DEF = DRIVER ERROR FLAG, 
*                        C = DRIVER COMPLETED (TERMINATED), 
*                       IA = DRIVER ACKNOWLEDGES INTERLOCK REQUEST, 
*                       HN = DRIVER HALT NPU REQUESTED, 
*                       DF = DRIVER DROP REQUESTED, 
*                       HD = DRIVER HANG REUQUESTED,
*                       DD = DRIVER DUMP REQUESTED, 
*                       IR = DRIVER INTERLOCK REQUESTED,
*                       SE = DRIVER SCAN EST REQUESTED, 
*                       AI = DRIVER ABORT INTERLOCK REQUESTED,
*                       IH = DRIVER HALT NPU AT INITIALIZE REQUESTED, 
*                       EH = DRIVER HALT FRONT END AT ERROR REQUESTED,
*                      NPC = NUMBER OF PRU CONNECTIONS, 
*                      NBI = NETWORK BUFFER TABLE INDEX,
*                      NBT = NETWORK  BUFFER TABLE ADDRESS, 
*                      NDA = NAM ASSIGNED DRIVER DUMP ADDRESS,
*                      MB1 = MINIMUM ONE PRU BUFFER COUNT,
*                      FP1 = ADDRESS OF FIRST ONE PRU BUFFER, 
*                      LP1 = ADDRESS OF LAST ONE PRU BUFFER,
*                      NP1 = NUMBER OF ONE PRU BUFFERS, 
*                      AP1 = ADDITIONAL ONE PRU BUFFERS REQUIRED, 
*                      NO1 = CYCLES WITH NO OVERRUN ONE PRU BUFFERS,
*                      WO1 = CYCLES WITH OVERRUN ONE PRU BUFFERS, 
*                      ITC = IVT TRANSACTION COUNT, 
*                      MB2 = MINIMUM TWO PRU BUFFER COUNT,
*                      FP2 = ADDRESS OF FIRST TWO PRU BUFFER, 
*                      LP2 = ADDRESS OF LAST TWO PRU BUFFER,
*                      NP2 = NUMBER OF TWO PRU BUFFERS, 
*                      AP2 = ADDITIONAL TWO PRU BUFFERS REQUIRED, 
*                      NO2 = CYCLES WITH NO OVERRUN TWO PRU BUFFERS,
*                      WO2 = CYCLES WITH OVERRUN TWO PRU BUFFERS, 
*                      PTC = PRU TRANSACTION COUNT, 
*                      MB3 = MINIMUM THREE PRU BUFFER COUNT,
*                      FP3 = ADDRESS OF FIRST THREE PRU BUFFER, 
*                      LP3 = ADDRESS OF LAST THREE PRU BUFFER COUNT,
*                      NP3 = NUMBER OF THREE PRU BUFFERS, 
*                      AP3 = ADDITIONAL THREE PRU BUFFERS REQUIRED, 
*                      NO3 = CYCLES WITH NO OVERRUN THREE PRU BUFFERS,
*                      WO3 = CYCLES WITH OVERRUN THREE PRU BUFFERS, 
**                     DCC = DRIVER CYCLE COUNT.
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
 C.DPT    EQU    3 - 4       DRIVER DUMP AREA ADDRESS (INTERFACE TO NIP)
 C.DITNAC EQU    3           REQUEST NIP ACTIVITY FLAG BYTE 
  
 B.DITNAC EQU    1S11        REQUEST NIP ACTIVITY FLAG
  
          BSS    1           REQUEST PRU ACTIVITY FLAG WORD 
 C.DITPAC EQU    C.DITNAC    REQUEST PRU ACTIVITY FLAG BYTE 
 B.DITPAC EQU    B.DITNAC    REQUEST PRU ACTIVITY FLAG
  
          LOC    0
  
          BSS    1           PIP INTERFACE TABLE ENTRY
  
 C.DITIU  EQU    0           ENTRY IN USE FLAG BYTE 
  
 S.DITIU  EQU    11          ENTRY IN USE FLAG POSITION (1 = YES) 
 S.DITDU  EQU    10          DUMP AREA SET UP FLAG POSITION (1=YES) 
  
 B.DITIU  EQU    1S11        ENTRY IN USE FLAG
 B.DITDU  EQU    1S10        DUMP AREA SET UP FLAG
  
 C.DITDDA EQU    0 - 1       DRIVER DUMP AREA ADDRESS (BITS 5-0+11-0) 
  
 C.DITDOR EQU    2           DRIVER ORDINAL BYTE (BITS 5-0) 
 C.DITDEC EQU    3           DRIVER ERROR CODE BYTE 
 C.DITDF  EQU    4           DRIVER FLAG BYTE 
  
 B.DITDC  EQU    1S1         DRIVER COMPLETED FLAG
 B.DITIA  EQU    1S0         DRIVER ACKNOWLEDGES NAM INTERLOCK FLAG 
  
 W.DITNTP BSS    1           FIRST NETWORK BUFFER TABLE POINTER WORD
  
 C.DITAR  EQU    0           APPLICATION (NAM) REQUEST BYTE 
  
 S.DITHN  EQU    11          DRIVER HALT NPU REQUESTED (1 = YES)
 S.DITDF  EQU    10          DRIVER DROP REQUESTED (1 = YES)
 S.DITDH  EQU    9           DRIVER HANG REQUESTED (1 = YES)
 S.DITDD  EQU    8           DRIVER DUMP REQUESTED (1 = YES)
 S.DITDR  EQU    7           DRIVER INTERLOCK REQUESTED (1 = YES) 
 S.DITSE  EQU    6           DRIVER SCAN EST REQUESTED (1 = YES)
 S.DITAI  EQU    5           DRIVER ABORT INTERLOCK REQUEST (1 = YES) 
 S.DITIH  EQU    4           DRIVER HALT NPU AT INITIALIZATION (1 = YES)
 S.DITEH  EQU    3           DRIVER HALT NPU AT ERROR (1 = YES) 
  
 B.DITHN  EQU    1S11        DRIVER HALT NPU FLAG 
 B.DITDF  EQU    1S10        DRIVER DROP FLAG 
 B.DITDH  EQU    1S9         DRIVER HANG FLAG 
 B.DITDD  EQU    1S8         DRIVER DUMP FLAG 
 B.DITIR  EQU    1S7         DRIVER INTERLOCK REQUEST FLAG
 B.DITSE  EQU    1S6         DRIVER SCAN EST REQUEST FLAG 
 B.DITAI  EQU    1S5         DRIVER ABORT INTERLOCK REQUEST FLAG
 B.DITIH  EQU    1S4         DRIVER HALT NPU AT INITIALIZATION FLAG 
 B.DITEH  EQU    1S3         DRIVER HALT NPU AT ERROR FLAG
  
 C.DITPC  EQU    1           PRU CONNECTION COUNT BYTE
 C.DITNBI EQU    2           NETWORK BUFFER TABLE INDEX 
 C.DITNBT EQU    3 - 4       BUFFER TABLE ADDRESS (BITS 5-0+11-0) 
  
          BSS    1           SECOND NETWORK BUFFER TABLE POINTER WORD 
  
 C.DITNDA EQU    0 - 1       DRIVER DUMP ADDRESS
 C.DITNBI EQU    C.DITNBI    NETWORK BUFFER TABLE INDEX 
 C.DITNBT EQU    C.DITNBT    BUFFER TABLE ADDRESS (BITS 5-0+11-0) 
  
          BSS    1           THIRD NETWORK BUFFER TABLE POINTER WORD
  
 C.DITNBI EQU    C.DITNBI    NETWORK BUFFER TABLE INDEX 
  
 C.DITNBT EQU    C.DITNBT    BUFFER TABLE ADDRESD (BITS5-0+11-0)
          BSS    1           FOURTH NETWORK BUFFER TABLE POINTER WORD 
  
 C.DITNBI EQU    C.DITNBI    NETWORK BUFFER TABLE INDEX 
 C.DITNBT EQU    C.DITNBT    BUFFER TABLE ADDRESS (BITS 5-0+11-0) 
  
 W.DITDPA BSS    2*3         AREA TO WRITE DRIVER LIMBO BUFFER POINTERS 
                             AND PERFORMANCE DATA 
  
 L.DITE   BSS    0            LENGTH OF DRIVER INTERFACE TABLE ENTRY
 CET      SPACE  2,44 
**               COUPLER EQUIPMENT TABLE. 
* 
*                THE COUPLER EQUIPMENT TABLE IS USED BY NAM TO MAINTAIN 
*                INFORMATION CONCERNING THE FRONT END EQUIPMENTS
*                AVAILABLE TO THE NETWORK.  THE DRIVER IS PERIODICALLY
*                ASKED TO SCAN THE SYSTEM EQUIPMENT STATUS TABLE IN 
*                ORDER TO UPDATE THE NAM COUPLER EQUIPMENT TABLE.  THE
*                FORMAT OF THE COUPLER EQUIPMENT TABLE IS DESCRIBED 
*                BELOW -
* 
*TBL               6/BID,18/BWD,6/NON,6/NOF,24/0
*TBL,              57/0,1/DBZ,1/TCF,1/C 
*TBL,              1/ION,2/0,9/EST,6/CH,2/0,4/DOR,3/EQ,1/0,8/HN,
*TBL,                              1/OFF,11/ET,1/0,8/TN,1/0,1/SAM,1/ECF 
*TBL,              .                                            . 
*TBL,              .                                            . 
*TBL,              1/ION,2/0,9/EST,6/CH,2/0,4/DOR,3/EQ,1/0,8/HN,
*TBL,                              1/OFF,11/ET,1/0,8/TN,1/0,1/SAM,1/ECF 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL WORDS, 
*                      NON = NUMBER OF ON ENTRIES,
*                      NOF = NUMBER OF OFF ENTIES,
*                      DBZ = DRIVER SCANNING EST FLAG,
*                      TCF = TABLE CHANGED FLAG,
*                        C = DRIVER COMPLETED SCAN FLAG,
*                      ION = EQUIPMENT INITIALLY ON FLAG, 
*                      EST = EQUIPEMENT STATUS TABLE ORDINAL, 
*                       CH = FRONT END CHANNEL NUMBER,
*                      DOR = DRIVER ORDINAL,
*                       EQ = FRONT END EQUIPMENT NUMBER 
*                       HN = HOST NODE NUMBER,
*                      OFF = FRONT END OFF FLAG,
*                       ET = EQUIPMENT TYPE BYTE, 
*                       TN = CDCNET FRONT END TERMINAL NODE NUMBER
*                      SAM = NPU SYSTEM AUTOSTART MODULE FLAG,
**                     ECF = ENTRY CHANGED FLAG.
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.CETEC  EQU    2           ENTRY COUNTS BYTE (11-6, 5-0)
  
 S.CETON  EQU    6           ON ENTRY COUNT POSITION
 L.CETOF  EQU    77B         OFF ENTRY COUNT LENGTH 
  
 W.CETHW  BSS    1           COUPLER EQUIPMENT TABLE HEADER WORD
  
 C.CETCB  EQU    4           CONTROL BYTE 
  
 S.CETDB  EQU    2           DRIVER SCANNING EST POSITION (1 = YES) 
 S.CETTC  EQU    1           TABLE CHANGED POSITION (1 = YES) 
 S.CETDC  EQU    0           DRIVER COMPLETED POSITION (1 = YES)
  
 B.CETDB  EQU    1S2         DRIVER SCANNING EST FLAG 
 B.CETTC  EQU    1S1         TABLE CHANGED FLAG 
 B.CETDC  EQU    1S0         DRIVER COMPLETED FLAG
  
 W.CETE   BSS    1           COUPLER EQUIPMENT TABLE ENTRY
  
 C.CETEST EQU    0           EQUIPMENT STATUS TABLE BYTE
  
 S.CETIO  EQU    11          ENTRY INITALLY ON FLAG POSITION (1 = YES)
 L.CETEST EQU    777B        LENGTH OF EQUIPMENT STATUS TABLE ORDINAL 
  
 C.CETCH  EQU    1           FRONT END CHANNEL NUMBER (BITS 11-7) BYTE
 S.CETCH  EQU    6           POSITION OF CHANNEL NUMBER IN BYTE 
 L.CETCH  EQU    7700B       CHANNEL NUMBER MASK
  
 C.CETDOR EQU    1           DRIVER ORDINAL BYTE
 S.CETDOR EQU    0           POSITION OF DRIVER ORDINAL IN BYTE 
 L.CETDOR EQU    17B         DRIVER ORDINAL MASK
  
 C.CETEN  EQU    2           EQUIPMENT NUMBER BYTE
 S.CETEN  EQU    9           POSITION OF EQUIPMENT NUMBER IN BYTE 
 L.CETEN  EQU    7000B       EQUIPMENT NUMBER MASK
  
 C.CETHN  EQU    2           HOST NODE BYTE 
 S.CETHN  EQU    0           POSITION OF HOST NODE NUMBER IN BYTE 
 L.CETHN  EQU    377B        HOST NODE NUMBER LENGTH
  
 C.CETET  EQU    3           EQUIPMENT TYPE BYTE
  
 S.CETOF  EQU    11          EQUIPMENT OFF POSITION (1 = YES) 
 L.CETET  EQU    3777B       EQUIPMENT TYPE LENGTH
  
 C.CETTN  EQU    4           CDCNET FRONT END TERMINAL NODE NUMBER BYTE 
 S.CETTN  EQU    3           POSITION OF TERMINAL NODE NUMBER IN BYTE 
 L.CETTN  EQU    3770B       TERMINAL NODE NUMBER MASK
  
 S.CETSAM EQU    1           SYSTEM AUTOSTART MODULE POSITION (1 = YES) 
 S.CETEC  EQU    0           ENTRY CHANGED POSITION (1 = YES) 
  
 B.CETEC  EQU    1S0         ENTRY CHANGED FLAG 
 TNT      SPACE  2,26 
**               TERMINAL NODE TABLE. 
* 
*                NAM CONTAINS A TERMINAL NODE TABLE WHICH CONSISTS OF AN
*                ENTRY FOR ALL TERMINAL NODES BEING PROCESSED.  THE 
*                TERMINAL NODE TABLE IS USED TO LOCATE THE LOGICAL LINK 
*                CONTROL BLOCKS ASSOCIATED WITH THE TERMINAL NODE.  THE 
*                FORMAT OF THE TERMINAL NODE TABLE IS DESCRIBED BELOW - 
* 
*TBL               6/BID,18/BWD,36/0
*TBL,              8/TND,16/0,12/NLL,6/0,18/LAD 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD * BLOCK SIZE IN CENTRAL MEMORY WORDS,
*                      TND = TERMINAL NODE, 
*                      NLL = NUMBER OF ASSOCIATED LOGICAL LINKS,
**                     LAD = ADDRESS FIRST LOGICAL LINK CONTROL BLOCK.
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
  
 W.TNTE   BSS    1           TERMINAL NODE TABLE ENTRY
  
 C.TN     EQU    0           TERMINAL NODE (BITS 11-4)
  
 S.TN     EQU    4           TERMINAL NODE POSITION 
  
 C.NLL    EQU    2           NUMBER OF LOGICAL LINKS (BITS 11-0)
 C.LLA    EQU    3 - 4       LOGICAL LINK TABLE ADDRESS (BITS 5-0+11-0) 
 LLCB     SPACE  2,48 
**               LOGICAL LINK CONTROL BLOCK.
* 
*                THE LOGICAL LINK CONTROL BLOCK CONTAINS THE INFORMATION
*                THAT DESCRIBES A LOGICAL LINK.  THE LOGICAL LINK 
*                CONTROL BLOCK CONSISTS OF CONTROL INFORMATION AND
*                SIXTEEN POINTERS TO THE NETWORK CONNECTION TABLE FOR 
*                THAT SET OF CONNECTIONS.  THE FORMAT OF THE LOGICAL
*                LINK CONTROL BLOCK IS DESCRIBED BELOW -
* 
*TBL               6/BID,18/BWD,18/BLP,18/FLP 
*TBL,              8/HND,8/TND,5/NTI,1/CS,1/NS,1/HH,12/NPC,3/HRL,3/NRL, 
*TBL,                                               18/NC 
*TBL,              8/CI,10/0,6/KDI,18/CMC,18/NCT
*TBL,              8/CI,16/0,      18/LMC,18/NCT
*TBL,              .                           .
*TBL,              .                           .
*TBL,              8/CI,34/0,             18/NCT
*TBL,              60/CRT 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL MEMORY WORDS,
*                      BLP = BACKWARD LINK POINTER, 
*                      FLP = FORWARD LINK POINTER,
*                      HND = HOST NODE, 
*                      TND = TERMINAL NODE, 
*                      NTI = NETWORK BLOCK TABLE INDEX, 
*                       CS = COMMUNICATIONS SUPERVISOR FLAG,
*                       NS = NETWORK SUPERVISOR FLAG, 
*                       HH = HOST TO HOST LOGICAL LINK FLAG,
*                      NPC = NUMBER OF PRU CONNECTIONS, 
*                      HRL = HOST REGULATION LEVEL, 
*                      NRL = FRONT END REGULATION LEVEL,
*                       NC = NUMBER OF CONNECTIONS
*                       CI = CONNECTION INDEX,
*                      KDI = K-DISPLAY INDEX, 
*                      CMC = CURRENT MESSAGE COUNT, 
*                      NCT = NETWORK CONNECTION TABLE ADDRESS,
*                      LMC = LAST MESSAGE COUNT,
**                     CRT = TABLE CREATION TIME. 
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BUFFER ID BYTE (BITS 11-6) 
  
 S.BID    EQU    S.BID       BUFFER ID POSITION 
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.LLFP   EQU    C.LLA       FORWARD POINTER (BITS 5-0+11-0)
  
 W.LLCB2  BSS    1           SECOND LOGICAL LINK HEADER WORD
  
 C.LLNA   EQU    0 - 1       NETWORK ADDRESS (BITS 11-4, 3-0+11-7)
  
 S.LHN    EQU    4           HOST NODE POSITION 
 S.LTN    EQU    8           TERMINAL NODE POSITION 
  
 W.LLCBE  BSS    1           LOGICAL LINK CONTROL BLOCK ENTRY 
  
 C.LCI    EQU    0           CONNECTION INDEX (BITS 11-5) 
  
 S.LCI    EQU    4           CONNECTION INDEX POSITION
  
 C.LNCT   EQU    3 - 4       CONNECTION TABLE ADDRESS (BITS 5-0+11-0) 
 NCNT     SPACE  2,42 
**               NETWORK CONNECTION TABLE.
* 
*                THE NETWORK CONNECTION TABLE CONTAINS THE INFORMATION
*                THAT IDENTIFIES A LOGICAL CONNECTION THAT EXISTS 
*                BETWEEN NAM AND THE NPU.  CONNECTION TABLES AND ENTRIES
*                ARE ALLOCATED BY NAM AS REQUIRED.  IVT CONNECTION TABLE
*                ENTRIES ARE ACCESSED BY THE DRIVER BUT MAINTAINED BY 
*                NAM.  PRU CONNECTION TABLE ENTRIES ARE INITIALIZED BY
*                NAM AND MAINTAINED BY THE DRIVER.  THE NETWORK 
*                CONNECTION TABLE CONTAINS ENTRIES FOR A GROUP OF 
*                SIXTEEN CONNECTIONS AND IS INDEXED BY THE HIGH-ORDER 
*                OF THE CONNECTION NUMBER.  THE FORMAT OF THE NETWORK 
*                CONNECTION TABLE AND A PRU CONNECTION TABLE ENTRY
*                IS DESCRIBED BELOW - 
* 
*TBL               6/BID,18/BWD,8/HND,8/TND,8/0,4/NCN,8/CI
*TBL,              6/PPS,6/PCS,12/ISS,3/NIB,3/OIB,3/NOB,3/OOB,
*TBL,                              3/BHS,3/0,18/PCB 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL MEMORY WORDS,
*                      HND = HOST NODE, 
*                      TND = TERMINAL NODE, 
*                      NCN = NUMBER OF ACTIVE CONNECTIONS,
*                      PPS = PREVIOUS STREAM STATE (PRU), 
*                      PCS = CURRENT STREAM STATE (PRU),
*                      ISS = IVT STREAM STATES (NAM), 
*                      NIB = BSN OF NEXT INPUT BLOCK (PRU), 
*                      OIB = OUTSTANDING BACK COUNT FOR INPUT (PRU),
*                      NOB = BSN OF NEXT OUTPUT BLOCK (PRU),
*                      OOB = OUTSTANDING BACK COUNT FOR OUTPUT (PRU), 
*                      BHS = BLOCK HANDLER STATE, 
**                     PCB = PRU CONNECTION BLOCK ADDRESS (PRU).
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.NAD    EQU    2 - 3       NETWORK ADDRESS (BITS 11-5, 4-0+11-8)
  
 S.LHN    EQU    4           HOST NODE POSITION 
 S.LTN    EQU    8           TERMINAL NODE POSITION 
  
 C.NCI    EQU    4           CONNECTION INDEX (BITS 7-0)
  
 L.NCI    EQU    0#FF        CONNECTION INDEX LENGTH
  
 W.NCNTE  BSS    1           NETWORK CONNECTION TABLE ENTRY 
  
 C.PSS    EQU    0           PRU STREAM STATES
 C.PBB    EQU    2           BSN AND BACK COUNTS
  
 S.IBN    EQU    9           INPUT BLOCK SERIAL NUMBER POSITION 
 L.IBN    EQU    7           INPUT BLOCK SERIAL NUMBER LENGTH 
 I.IBN    EQU    1S9         INPUT BLOCK SERIAL NUMBER INCREMENT
 S.IBC    EQU    6           INPUT OUTSTANDING BACK COUNT POSITION
 L.IBC    EQU    7           INPUT OUTSTANDING BACK COUNT LENGTH
 I.IBC    EQU    1S6         INPUT OUTSTANDING BACK COUNT INCREMENT 
 S.OBN    EQU    3           OUTPUT BLOCK SERIAL NUMBER POSITION
 L.OBN    EQU    7           OUTPUT BLOCK SERIAL NUMBER LENGTH
 M.OBN    EQU    7S3         OUTPUT BLOCK SERIAL NUMBER MASK
 I.OBN    EQU    1S3         OUTPUT BLOCK SERIAL NUMBER INCREMENT 
 S.OBC    EQU    0           OUTPUT OUTSTANDING BACK COUNT POSITION 
 L.OBC    EQU    7           OUTPUT OUTSTANDING BACK COUNT LENGTH 
 I.OBC    EQU    1           OUTPUT OUTSTANDING BACK COUNT INCREMENT
  
 C.PBH    EQU    3           BLOCK HANDLER STATE
  
 S.PBH    EQU    9           BLOCK HANDLER STATE POSITION 
 L.PBH    EQU    3           BLOCK HANDLER STATE LENGTH 
  
                               0 = SERVICE CHANNEL
                               1 = IVT CONNECTION 
                               2 = PRU INPUT CONNECTION 
                               3 = PRU OUTPUT CONNECTION
  
 C.PCB    EQU    3 - 4       CONNECTION BLOCK ADDRESS (BITS 5-0+11-0) 
 PCB      SPACE  2,50 
**               PRU CONNECTION BLOCK.
* 
*                THE PRU CONNECTION BLOCK IDENTIFIES A LOGICAL
*                CONNECTION THAT EXISTS BETWEEN NAM AND THE NPU FOR A 
*                PRU STREAM.  PRU CONNECTION BLOCKS ARE ALLOCATED BY
*                NAM AS REQUIRED.  THE PRU CONNECTION BLOCKS ARE
*                INITIALIZED BY NAM AND ARE MAINTAINED BY BOTH NAM AND
*                THE DRIVER.  WORDS IN THE PRU CONNECTION BLOCK THAT
*                MAY BE WRITTEN BY BOTH THE DRIVER AND NAM ARE PROTECTED
*                BY THE PROTOCOL THAT ESTABLISHES WHEN WHICH CAN WRITE
*                THE WORD.  THE FORMAT OF THE PRU CONNECTION BLOCK IS 
*                DESCRIBED BELOW -
* 
*TBL               6/BID,18/BWD,3/NBL,3/PRI,1/0,1/HR,1/NR,1/AA,2/NBS, 
*TBL,                              3/DT,4/TC,8/PW,8/0 
*TBL,              8/TN,8/HN,8/CN,18/BLP, 18/FLP
*TBL,              1/WLC,1/DDO,1/INA,8/0.1/XFR,8/CWS,14/KVL,2/XDD.6/0 
*TBL,                                     18/QP1
*TBL,              1/WLC,1/0,4/NBI,18/ACB,18/QP2
*TBL,              1/WLC,            41/0,18/QP3
*TBL,              6/CST,6/BST,6/LCS,6/LBS,6/LCT,6/LBT,6/0,18/NCT 
*TBL,              42/TNM,10/0,8/RC 
*TBL,              42/LFN,6/0,12/FNT
*TBL,              12/FNT,24/NPR,6/WLP,6/CMD,6/0,1/FNL,1/EOL,1/LOC,3/FM 
*TBL,              6/SSI,6/SSE,1/EIR,5/0,18/CDB,6/0,18/LDB
*TBL,              30/CPR,6/0,24/ACT(L7P) 
*TBL,              12/MEC,24/PCN,24/PPR 
*TBL,              12/OCM,24/LAC,24/CPP 
*TBL,              12/FTO,6/BBC,6/BNC,12/L7T,24/L7N 
*TBL,              6/IN,6/OUT,6/WO,6/WO,6/WO,6/WO,6/WO,6/WO,6/WO,6/WO 
*TBL,              12/OSC,12/QBC,36/0 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTEAL WORDS, 
*                      NBL = NETWORK BLOCK LIMIT, 
*                      PRI = PRIORITY,
*                       HR = HOST REGULATION FLAG,
*                       NR = NPU REGULATION FLAG, 
*                       AA = APPLICATION TO APPLICATION FLAG, 
*                      NBS = BLOCK SIZE FOR DATA TRANSFERS IN PRUS, 
*                       DT = DEVICE TYPE, 
*                       TC = TERMINAL CLASS,
*                       PW = TERMINAL DEVICE PAGE WIDTH,
*                       HN = HOST NODE NUMBER,
*                       TN = TERMINAL NODE NUMBER,
*                       CN = CONNECTION NUMBER, 
*                      BLP = PREVIOUS PRU CONNECTION BLOCK ADDRESS, 
*                      FLP = NEXT PRU CONNECTION BLOCK ADRESS,
*                      WLC = WORKLIST PROCESSED FLAG, 
*                      DDO = DOWNLINE DATA NOT ALLOWED FLAG,
*                      INA = INACTIVE FLAG, 
*                      XFR = FILE TRANSFER FLAG,
*                      CWS = CHECKMARK WINDOW SIZE, 
*                      KVL = INITIAL CHACKMARK VALUE, 
*                      XDD = DATA DECLARATION,
*                      QP1 = PRIORITY ONE WORKLIST QUEUE POINTER, 
*                      NBI = NETWORK BUFFER TABLE INDEX,
*                      ACB = APPLICATION CONNECTION BLOCK ADDRESS,
*                      QP2 = PRIORITY TWO WORKLIST QUEUE POINTER, 
*                      QP3 = PRIORITY THREE WORKLIST QUEUE POINTER, 
*                      CST = CONNECTION STATE,
*                      BST = BLOCK STATE, 
*                      LCS = LAST CONNECTION STATE, 
*                      LBS = LAST BLOCK STATE,
*                      LCT = LAST COONNECTION STATE TRIGGER,
*                      LBT = LAST BLOCK STATE TRIGGER,
*                      NCT = NETWORK CONNECTION TABLE ADDRESS,
*                      TMN = TERMINAL NAME, 
*                       RC = BREAK CONNECTION REASON CODE,
*                      LFN = LOGICAL FILE NAME, 
*                      FNT = FILE NAME TABLE ORDINAL OF FILE. 
* 
*                THE FORMAT OF THE DRIVER PORTION OF THE PRU CONNECTION 
*                BLOCK IS DESCCRIBED BELOW -
* 
*                    WHERE -
* 
*                      FNT = FILE NAME TABLE ORDINAL OF ACTIVE FILE,
*                      NPR = NEXT PRU POSITION OF ACTIVE FILE,
*                      WLP = WORKLIST POINTER ORDINAL,
*                      CMD = COMMAND ORDINAL, 
*                      FNL = FORCE NEW LINE,
*                      EOL = LAST OUTPUT WAS END OF LINE, 
*                      LOC = LAST OUTPUT CHARACTER ZERO , 
*                       FM = FILE MODE, 
*                      SSI = INTERNALLY STOPPED REASON CODE,
*                      SSE = EXTERNALLY STOPPED REASON CODE,
*                      EIR = END OF INFORMATION RECEIVED FLAG,
*                      CDB = CURRENT DATA BUFFER ADDRESS, 
*                      LDB = LAST DATA BUFFER ADDRESS,
*                      CPR = CURRENT PRU POSITION OF ACTIVE FILE, 
*                      ACT = ACCOUNTING DATA, 
*                      L7P = FILE TRANSFER COMMAND PARAMETER, 
*                      MEC = MASS STORAGE ERROR CODE, 
*                      PCN = PENDING CHECKMARK NUMBER,
*                      PPR = CORRESPONDING PRU POSITION,
*                      OCM = OUTSTANDING CHECKMARK COUNT, 
*                      LAC = LAST ACKNOWLEDGED CHECKMARK, 
*                      CPP = CORRESPONDING PRU POSITION,
*                      FTO = PRU ON MODE, 
*                      BBC = BLOCKS BETWEEN CHECKMARKS, 
*                      BNC = BLOCKS UNTIL NEXT CHECKMARK, 
*                      L7T = LEVEL SEVEN TIMER, 
*                      L7N = LEVEL SEVEN BLOCK NUMBER,
*                       IN = WORKLIST QUEUE IN POINTER, 
*                      OUT = WORKLIST QUEUE OUT POINTER,
*                       WO = QUEUED WORKLIST COMMAND ORDINAL, 
*                      OSC = OUTSTANDING SPACES COUNT (PRU DEVICE). 
*                      QBC = QUEUED BUFFER COUNT. 
  
  
          LOC    0
  
          BSS    1           NAM HEADER WORD
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.PCBSP  EQU    2           STREAM PARAMETER BYTE
  
 S.PCBNBL EQU    9           NETWORK BLOCK LIMIT POSITION 
 S.PCBPR  EQU    6           PRIORITY LEVEL POSITION
 L.PCBPR  EQU    7           PRIORITY LEVEL LENGTH
 S.PCBHR  EQU    4           HOST REGULATION FLAG POSITION
 S.PCBNR  EQU    3           NPU REGULATION FLAG POSITION 
 S.PCBAA  EQU    2           APPLICATION TO APPLICATION FLAG POSITION 
 M.PCBAA  EQU    1S2         APPLICATION TO APPLICATION FLAG MASK 
 S.PCBNBS EQU    0           PRU BLOCK SIZE POSITION
 L.PCBNBS EQU    3           PRU BLOCK SIZE LENGTH
  
 C.PCBDT  EQU    3           DEVICE TYPE BYTE 
  
 S.PCBDT  EQU    9           DEVICE TYPE POSITION 
  
 W.PCBLP  BSS    1           PRU CONNECTION BLOCK LINK POINTER WORD 
  
 C.PCBNA  EQU    0 - 1       NETWORK ADDRESS FIELD BYTES
  
 S.PCBTN  EQU    4           TERMINAL NODE NUMBER POSITION
 S.PCBHN  EQU    8           HOST NODE NUMBER POSITIOM
 S.PCBCN  EQU    0           CONNECTION NUMBER POSITION 
  
 C.PCBFL  EQU    3 - 4       NEXT PRU CONNECTION BLOCK (BITS 5-0+11-0)
  
 W.PCBIWP BSS    1           IMMEDIATE WORKLIST POINTER WORD
  
 C.PCBWLC EQU    0           WORKLIST COMPLETED BYTE
  
 S.PCBWLC EQU    11          WORKLIST COMPLETED FLAG POSITION (1 = YES) 
 B.PCBWLC EQU    1S11        WORKLIST COMPLETED FLAG
  
 C.PCBFTP EQU    1 - 2       FILE TRANSFER PARAMETERSS
  
 S.PCBCWS EQU    4           CHECKMARK WINDOW SIZE (BITS 11-4)
 S.PCBKVL EQU    2           INITIAL CHECKMARK VALUE (BITS 3-0+11-2)
 L.PCBXDD EQU    3           DATA DECLARACTION FIELD SIZE 
  
                               0 = UNDEFINED (CONTROL WORD NOS TO NOS)
                               1 = UNDEFINED DATA IN UNDEFINED FORMAT (BINARY)
                               2 = UNDEFINED DATA IN DEFINED FORMAT (BINARY)
  
 C.PCBWLP EQU    3 - 4       WORKLIST POINTER (BITS 5-0+11-0) 
  
 W.PCBHWP BSS    1           HIGH PRIORITY WORKLIST POINTER WORD
  
 C.PCBWLC EQU    C.PCBWLC    WORKLIST COMPLETED BYTE
  
 S.PCBWLC EQU    S.PCBWLC    WORKLIST COMPLETED FLAG POSITION (1 = YES) 
 B.OCBWLC EQU    B.PCBWLC    WORKLIST COMPLETED FLAG
  
 C.PCBWLP EQU    C.PCBWLP    WORKLIST POINTER (BITS 5-0+11-0) 
  
 W.PCBLWP BSS    1           LOW PRIORITY WORKLIST POINTER WORD 
  
 C.PCBWLC EQU    C.PCBWLC    WORKLIST COMPLETED FLAG BYTE 
  
 S.PCBWLC EQU    S.PCBWLC    WORKLIST COMPLETED FLAG POSITION (1 = YES) 
 B.PCBWLC EQU    B.PCBWLC    WORKLIST COMPLETED FLAG
  
 C.PCBWLP EQU    C.PCBWLP    WORKLIST POINTER (BITS 5-0+11-0) 
  
 W.PCBNST BSS    1           NAM STATE WORD 
 W.PCBTNM BSS    1           NAM TERMINAL NAME WORD 
 W.PCBNFN BSS    1           NAM FILE NAME WORD 
 W.PCBPS1 BSS    1           PRU STREAM PARAMETER WORD ONE
  
 C.PCBFNT EQU    0           FILE NAME TABLE ORDINAL
 C.PCBNPR EQU    1 - 2       CURRENT PRU POSITION 
 C.PCBWP  EQU    3           WORKLIST PARAMETERS (6/POINTER, 6/COMMAND) 
 C.PCBFP  EQU    4           PRU FILE PARAMETER BYTE
  
 S.PCBFNL EQU    5           FORCE NEW LINE FLAG POSITION 
 B.PCBFNL EQU    1S5         FORCE NEW LINE FLAG
 S.PCBEOL EQU    4           LAST OPERATION FLAG POSITION 
 B.PCBEOL EQU    1S4         LAST OPERATION END OF LINE FLAG
 S.PCBLOC EQU    3           LAST OUTPUT CHARACTER ZERO FLAG POSITION 
 B.PCBLOC EQU    1S3         LAST OUTPUT CHARATER ZERO FLAG 
 S.PCBFM  EQU    0           FILE MODE POSITION 
 L.PCBFM  EQU    7           FILE MODE LENGTH 
  
 W.PCBPS2 BSS    1           PRU STREAM PARAMETER WORD TWO
  
 C.PCBSS  EQU    0           STREAM STOPPED REASON CODES (6/INT, 6/EXT) 
 C.PCBTRC EQU    C.PCBSS     TERMINATE PRU REASON CODE (6/0, 6/RC)
  
 C.PCBCDB EQU    1 - 2       CURRENT BUFFER ADDRESS (BITS 5-0+11-0) 
  
 S.PCBEIR EQU    S.EIR       END OF INFORMATION RECEIVED POSITION 
 B.PCBEIR EQU    B.EIR       END OF INFORMATION RECEIVED FLAG 
  
 C.PCBLDB EQU    3 - 4       LAST BUFFER ADDRESS (BITS 5-0+11-0)
  
 W.PCBPS3 BSS    1           PRU STREAM PARAMETER WORD THREE
  
 C.PCBCRI EQU    0 - 2       CURRENT RANDOM INDEX 
 C.PCBACT EQU    3 - 4       ACCOUNTING INFORMATION 
 C.PCBL7P EQU    C.PCBACT    FILE TRANSFER COMMAND PARAMETER
  
 W.PCBPS4 BSS    1           PRU STRAM PARAMETER WORD FOUR
  
 C.PCBMEC EQU    0           MASS STORAGE ERROR CODE
 C.PCBPCN EQU    1 - 2       PENDING CHECKMARK NUMBER 
 C.PCBPPR EQU    3 - 4       CORRESPONDING PRU POSITION 
  
 W.PCBPS5 BSS    1           PRU STREAM PARAMETER WORD FIVE 
  
 C.PCBOCM EQU    0           OUTSTANDING CHECKMARK COUNT
 C.PCBLAC EQU    1 - 2       LAST ACKNOWLEDGED CHECKMARK
 C.PCBCPP EQU    3 - 4       CORRESPONDING PRU POSITION 
  
 W.PCBPS6 BSS    1           PRU STREAM PARAMETER WORD SIX
  
 C.PCBFTS EQU    0           FILE TRANSFER STATUS 
  
 B.PCBFTF EQU    1S2         FILE TRANSFER PRU MODE OFF (1 = YES) 
 B.PCBBRR EQU    1S1         BREAK RECEIVED (1 = YES) 
 B.PCBFTO EQU    1S0         PRU MODE ON (1 = YES)
  
 C.PCBCMC EQU    1           CHECKMARK CONTROL (6/INTERVAL, 6/CURRENT)
 C.PCBL7T EQU    2           LEVEL SEVEN TIMER
 C.PCBL7N EQU    3 - 4       NEXT EXPECTED LEVEL SEVEN BLOCK NUMBER 
  
 W.PCBWLQ BSS    1           WORKLIST QUEUE WORD
  
 C.QIO    EQU    C.QIO       QUEUE IN-OUT POINTER (6/IN, 6/OUT) 
 C.QUE    EQU    C.QUE       WORKLIST QUEUE 
  
 W.PCBPS8 BSS    1           PRU STREAM PARAMETER WORD 8
  
 C.PCBOSC EQU    0           OUTSTANDING SPACES COUNT 
 C.PCBQBC EQU    1           NO. OF BUFFERS QUEUED TO THIS PCNB (INPUT) 
  
 L.PCB    BSS    0           DEFINE LENGTH OF PRU CONNECTION BLOCK
 DRVDMP   SPACE  2,24 
**               DRIVER DUMP AREA.
* 
*                THE FOLLOWING IS THE FORMAT OF THE DRIVER DUMP AREA
*                WHICH IS ALLOCATED BY A DRIVER WHICH DETECTS AN
*                ERROR AND ALL DRIVERS ARE REQUESTED TO DUMP PPU
*                MEMORY INTO THE ASSIGNED AREA. 
* 
*TBL                6/BID,18/BWD,12/0,12/0,9/0,3/DOR
*TBL,              12/PPM,12/PPM,12/PPM,12/PPM,12/PPM 
* 
*                    WHERE -
* 
*                      BID = NAM BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL WORDS, 
*                      DOR = DRIVER ORDINAL,
**                     PPM = PPU MEMORY BYTES.
  
  
          LOC    3
  
 W.PPD    BSS    1           PPU DUMP HEADER WORD 
  
 C.DDO    EQU    4           DRIVER ORDINAL 
 BLOCKHDR SPACE  2,24 
**               BLOCK HEADER.
* 
*                EACH MESSAGE THAT IS QUEUED THROUGH A FET STRUCTURE IS 
*                PRECEDED BY A BLOCK HEADER.  THE FORMAT OF THE BLOCK 
*                HEADER IS AS FOLLOWS - 
* 
*TBL               6/BID,18/BWD,18/BLK,18/QLK 
* 
*                    WHERE -
* 
*                      BID = BUFFER ID, 
*                      BWD = BLOCK SIZE IN CENTRAL MEMORY WORDS,
*                      BLK = ADDRESS OF LAST MESSAGE IN QUEUE 
*                            FOR OUTBOUND MESSAGES ONLY,
*                      QLK = ADDRESS OF NEXT MESSAGE IN QUEUE 
**                           FOR OUTBOUND MESSAGES ONLY.
  
  
          LOC    0
  
          BSS    1           BLOCK HEADER 
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
 C.QLK    EQU    3 - 4       QUEUED BLOCK ADDRESS (BITS 5-0+11-0) 
  
 L.BH     BSS    0           DEFINE LENGTH OF BLOCK HEADER
 BUFTYPE  SPACE  2,6
****             NAM BUFFER TYPES.
  
  
 Q.TNTID  EQU    10B         TERMINAL NODE TABLE ID 
 Q.PCBID  EQU    14B         PRU CONTROL BLOCK TABLE ID 
 Q.DITID  EQU    15B         DRIVER INTERFACE TABLE ID
 Q.NBTID  EQU    17B         NETWORK BUFFER TABLE ID
 Q.FPBID  EQU    21B         FREE PRU BUFFER ID 
 Q.IBID   EQU    46B         INBOUND BUFFER ID
 Q.OBID   EQU    47B         OUTBOUND BUFFER ID 
 Q.DOAID  EQU    52B         DRIVER OVERLAY AREA ID 
 Q.CETID  EQU    53B         COUPLER EQUIPEMENT TABLE ID
 Q.WLID   EQU    55B         WORKLIST BUFFER ID 
 Q.DMPID  EQU    60B         DUMP PPU BUFFER ID 
 Q.PRUID  EQU    62B         PRU BUFFER ID
 Q.PONID  EQU    65B         PRU/ON BUFFER ID 
 Q.LCNID  EQU    66B         LIMBO PRU CONNECTION BUFFER ID 
 Q.UOCID  EQU    67B         PRU BUFFER USED-ON-CHAIN ID
  
****
 NETHDR   SPACE  2,28 
**               NETWORK HEADER.
* 
*                EACH MESSAGE THAT IS QUEUED THROUGH A FET STRUCTURE
*                HAS A NETWORK HEADER FOLLOWING THE BLOCK HEADER.  THE
*                FORMAT OF THE NETWORK HEADER IS AS FOLLOWS - 
* 
*TBL               8/DN,8/SN,8/CN,1/PRI,3/BSN,4/BT,8/DBC,4/ACT,4/BBT, 
*TBL,                                                    12/MCC 
* 
*                    WHERE -
* 
*                       DN = DESTINATION NODE,
*                       SN = SOURCE NODE, 
*                       CN = CONNECTION NUBER,
*                      PRI = PRIORITY FLAG, 
*                      BSN = BLOCK SERIAL NUMBER, 
*                       BT = BLOCK TYPE,
*                      DBC = DATA BLOCK CLARIFIER,
*                      ACT = APPLICATION CHARACTER TYPE,
*                      BBT = BAD BLOCK TYPE,
**                     MCC = LENGTH OF MESSAGE IN CHARACTERS. 
  
  
 W.NNH    BSS    1           NAM NETWORK HEADER 
  
 C.BT     EQU    2           BLOCK TYPE (BITS 7-4)
 C.DBC    EQU    2 - 3       DATA BLOCK CLARIFIER (BITS 3-0+11-8) 
 C.CBT    EQU    3           CHARACTER TYPE AND BAD BLOCK TYPE
  
 S.ACT    EQU    4           CHARACTER TYPE POSITION
 L.ACT    EQU    17B         CHARACTER TYPE LENGTH
 S.BBT    EQU    0           BAD BLOCK TYPE POSITION
 L.BBT    EQU    17B         BAD BLOCK TYPE LENGTH
  
 C.MCC    EQU    4           MESSAGE LENGTH IN CHARACTERS 
  
 L.NH     EQU    *-W.NNH     DEFINE LENGTH OF NAM NETWORK HEADER
 BUFSIZE  SPACE  2,6
**               NAM BUFFER SIZE DEFINITIONS. 
  
  
 .1       SET    256-/BLOCK/L.BH+7
 .1       SET    .1*2/15
 L.SIB    EQU    .1+L.BH+L.NH  DEFINE BUFFER SIZE FOR SMALL IVT MSGS
  
 .1       SET    2047-/BLOCK/L.BH+7 
 .1       SET    .1*2/15
 L.LIB    EQU    .1+L.BH+L.NH  DEFINE BUFFER SIZE FOR LARGE IVT MSGS
 WORKLIST SPACE  2,36 
**               WORKLIST ENTRY.
* 
*                WORKLIST ENTRIES ARE QUEUED TO A PCB BY NAM TO ALLOW 
*                HIGH LEVEL CONTROL OF PRU STREAMS.  THE DRIVER 
*                GENERATES WORKLIST ENTRIES WHEN THE STATUS OF A PRU
*                STREAM CHANGES AND THE APPLICATION MUST BE INFORMED
*                OF THE CHANGE.  THE DRIVER WILL ALSO GENERATE WORKLIST 
*                ENTRIES TO REPORT NON-FATAL ERROR CONDITIONS.  DRIVER
*                GENERATED WORKLIST ENTRIES ARE PLACED INTO THE INBOUND 
*                BUFFER FOR THE ASSOCIATED FRONT END.  THE NAM PORTION
*                OF THE WORKLIST ENTRY IS DESCRIBED BELOW - 
* 
*TBL               6/BID,18/BWD,18/0,            18/QLK 
*TBL,              8/DN,8/SN,8/CN,8/EC,8/RC,8/OP,12/0 
* 
*                    WHERE -
* 
*                      BID = BLOCK ID,
*                      BWD = BLOCK SIZE IN CENTRAL MEMORY WORDS,
*                      QLK = ADDRESS OF NEXT WORKLIST ENTRY IN QUEUE, 
*                       DN = DESTINATION NODE,
*                       SN = SOURCE NODE, 
*                       CN = CONNECTION NUMBER, 
*                       EC = ERROR CODE,
*                       RC = REASON CODE, 
**                      OP = REQUEST CODE.
  
  
          LOC    0
  
          BSS    1           WORKLIST HEADER
  
 C.BID    EQU    C.BID       BLOCK ID BYTE (BITS 11-6)
  
 S.BID    EQU    S.BID       BLOCK ID POSITION
  
 C.BWD    EQU    C.BWD       BLOCK SIZE IN CENTRAL WORDS (BITS 5-0+11-0)
  
 W.WLH    BSS    1           WORKLIST HEADER
  
 WHCM     BSS    0           DEFINE CENTRAL LENGTH OF WORKLIST HEADER 
 WLREQ    SPACE  2,6
****             WORKLIST REQUEST CODES.
  
  
 PDWL     EQU    1           PROCESS DRIVER WORKLIST ENTRY
 RCWL     EQU    2           RELEASE COMPLETED WORKLIST ENTRY 
 PTWL     EQU    3           PRU CONNECTION TERMINATED WORKLIST ENTRY 
 ELWL     EQU    4           ERROR LOGICAL WORKLIST ENTRY 
 DFWL     EQU    5           DAYFILE WORKLIST ENTRY 
 BPWL     EQU    6           BLOCK PROTOCOL ERROR WORKLIST
  
 PAWL     EQU    10B         PROCESS APPLICATION WORKLIST ENTRY 
 TPWL     EQU    11B         TERMINATE PRU CONNECTION WORKLIST ENTRY
 REASON   SPACE  2,6
*                REASON CODES FOR DAYFILE WORKLIST ENTRY. 
  
  
 DFTX     EQU    0           DAYFILE DISPAY CODED TEXT IN WORKLIST
 DFBPE    EQU    1           DAYFILE BLOCK PROTOCOL ERROR WORKLIST
 DFME     EQU    2           DAYFILE MDI DETAIL STATUS
 DFNCV    EQU    3           DAYFILE NONSUPPORTED CH PROTOCOL MSG 
 DFRDM    EQU    4           DAYFILE BAD DOWNLINE MSG 
  
****
 WLRESP   SPACE  2,6
****             WORKLIST ERROR REASON CODES. 
  
  
 WLLE     EQU    13          ILLOGICAL WORKLIST REQUEST 
 WLFE     EQU    14          WORKLIST FORMAT ERROR
  
****
 WORKHEAD SPACE  2,24 
**               WORKLIST HEADER. 
* 
*                EACH WORKLIST ENTRY HAS A WORKLIST HEADER FOLLOWING THE
*                BLOCK HEADER.  THE FORMAT OF THE WORKLIST HEADER IS AS 
*                FOLLOWS -
* 
*TBL               8/HN,8/TN,8/CN,8/EC,8/RC,8/OC,12/0 
* 
*                    WHERE -
* 
*                      HN = HOST NODE,
*                      TN = TERMINAL NODE,
*                      CN = CONNECTION NUMBER,
*                      EC = ERROR CODE, 
*                      RC = REASON CODE,
**                     OC = REQUEST CODE. 
  
  
          LOC    0
  
 WHN      BSS    1           HOST NODE
 WTN      BSS    1           TERMINAL NODE
 WCN      BSS    1           CONNECTION NUMBER
 WEC      BSS    1           ERROR CODE 
 WRC      BSS    1           REASON CODE
 WOC      BSS    1           REQUEST CODE 
  
 L.WH     BSS    0           DEFINE LENGTH OF WORKLIST HEADER 
 WL(1)    SPACE  2,14 
****             DATA BLOCK DISCARDED WORKLIST ENTRY. 
* 
*                THE DATA BLOCK DISCARDED WORKLIST ENTRY IS USED BY THE 
*                DRIVER WHEN A BAD DATA BLOCK IS DETECTED.  THE DATA
*                BLOCK IS DISCARDED AND THE WORKLIST ENTRY IS 
*                TRANSFERRED TO THE INBOUND BUFFER WITH UP TO THE FIRST 
**               TEN CENTRAL MEMORY WORDS OF THE DISCARDED MESSAGE. 
  
  
          LOC    0
  
 DEC      BSS    1           DRIVER ERROR CODE
 DSS      BSS    1           DRIVER STREAM STATES 
          BSS    3           FILL 
  
 L.WH(1)  BSS    0           DEFINE LENGTH OF WORKLIST HEADER 
  
          LOC    0
  
          BSS    10*5        UP TO FIRST TEN WORDS OF DISCARDED MESSAGE 
  
****
  
 L.WL(1)  BSS    0           DEFINE LENGTH OF MESSAGE DISCARDED WORKLIST
 WL(2)    SPACE  2,14 
****             ERROR LOGICAL WORKLIST ENTRY.
* 
*                THE ERROR LOGICAL WORKLIST ENTRY IS USED BY THE DRIVER 
*                WHEN A ILLOGICAL WORKLIST IS DETECTED.  THE WORKLIST IS
*                DISCARDED AND THE ERROR LOGICAL WORKLIST ENTRY IS
*                TRANSFERRED TO THE INBOUND BUFFER WITH UP TO THE FIRST 
**               TEN CENTRAL MEMORY WORDS OF THE WORKLIST IN ERROR. 
  
  
          LOC    0
  
 DEC      BSS    1           DRIVER ERROR CODE
 DSS      BSS    1           DRIVER STREAM STATES 
 DAO      BSS    1           DRIVER ACTION ORDINAL
          BSS    2           FILL 
  
 L.WH(2)  BSS    0           DEFINE LENGTH OF WORKLIST HEADER 
  
          LOC    0
  
          BSS    10*5        UP TO FIRST TEN WORDS OF DISCARDED WORKLIST
  
****
  
 L.WL(2)  BSS    0           DEFINE LENGTH OF ERROR LOGICAL WORKLIST
 WL(3)    SPACE  2,16 
****             BLOCK PROTOCOL ERROR WORKLIST ENTRY. 
* 
*                THE BLOCK PROTOCOL ERROR WORKLIST ENTRY IS USED BY THE 
*                DRIVER WHEN A BLOCK PROTOCOL ERROR IS DETECTED.  THE 
*                FRONT END IS DECLARED INOPERATIVE AND THE BLOCK
*                PROTOCOL ERROR WORKLIST IS TRANSFERRED TO THE INBOUND
*                BUFFER.  NOT ALL FIELDS IN THE WORKLIST WILL APPLY TO
**               ALL BLOCK PROTOCOL ERROR CONDITIONS. 
  
  
          LOC    0
  
          BSS    1           UNUSED 
 DSS      BSS    2           DRIVER STREAM STATES 
 DAC      BSS    1           DRIVER ACTION ORDINAL
 DBS      BSS    1           DRIVER BLOCK HANDLER STATE 
 DOV      BSS    1           DRIVER OVERLAY ORDINAL OF LOADED OVERLAY 
 DCC      BSS    1           DRIVER CHARACTER COUNT OF LAST INPUT 
 DLI      BSS    1           DRIVER LAST INPUT CHARACTER
 DET      BSS    1           DRIVER END OF TRANSFER FLAG
 DIC      BSS    2           DRIVER LAST INPUT CALL ADDRESS 
 DER      BSS    1           DRIVER ERROR CODE
 DHN      BSS    1           HOST NODE NUMBER 
 DTN      BSS    1           TERMINAL NODE NUMBER 
 DAD      BSS    1           DRIVER ACTION DIRECTORY OFFSET 
 DRT      BSS    2           DRIVER RESPONSE TABLE ENTRY
 DCO      BSS    1           DRIVER COMMAND ORDINAL/INPUT ORDER CODE
 DBA      BSS    2           BLOCK SERIAL NUMBERS AND BACK COUNTS 
 DBT      BSS    1           MESSAGE BLOCK TYPE 
 DNS      BSS    1           DRIVER NEXT STREAM STATE 
 DPR      BSS    1           PRU BUFFER SIZE
 DRE      BSS    1           DRIVER REQUEST END OF OUTPUT FLAG
 DOW      BSS    2           NPU ORDER WORD 
 DCP      BSS    2           DRIVER OUTPUT/INPUT PROCESSOR
 DCN      BSS    1           CONNECTION NUMBER
  
 DIB      BSS    30          DRIVER INPUT BUFFER
  
****
  
 L.WL(3)  BSS    0           LENGTH OF BLOCK PROTOCOL ERROR WORKLIST
 WL(4)    SPACE  2,12 
****             DAYFILE TEXT WORKLIST ENTRY. 
* 
*                THE DAYFILE TEXT WORKLIST ENTRY IS USED BY THE DRIVER
*                TO PASS THE TEXT OF A DAYFILE MESSAGE TO NAM WHICH WILL
**               BE ISSUED TO THE DAYFILE.
  
  
          LOC    0
  
 DFT      BSS    80          DAYFILE TEXT 
  
****
  
 L.WL(4)  BSS    0           LENGTH OF DAYFILE TEXT WORKLIST
 WL(5)    SPACE  2,12 
****             MDI ERROR STATUS WORKLIST ENTRY. 
* 
*                THE MDI ERROR STATUS WORKLIST ENTRY IS USED BY THE 
*                DRIVER TO PASS THE MAINFRAME INTERFACE DETAIL STATUS 
**               TO NAM WHEN A MDI ERROR IS DETECTED. 
  
  
          LOC    0
  
 MDIDS    BSS    /MSTATUS/L.DSP  MDI DETAILED STATUS
 DSSS     BSS    1           DRIVER STREAM STATES 
 DSAO     BSS    1           DRIVER ACTION ORDINAL
 DSBS     BSS    1           DRIVER BLOCK HANDLER STATE 
 DSCC     BSS    1           DRIVER CHAR COUNT OF LAST INPUT
 DSGS     BSS    1           MDI GENERAL STATUS 
 DSIC     BSS    1           DRIVER LAST INPUT CALL ADDRESS 
 DSHN     BSS    1           HOST NODE NUMBER 
 DSTN     BSS    1           TERMINAL NODE NUMBER 
 DSAD     BSS    1           DRIVER ACTION DIRECTORY OFFSET 
 DSRT     BSS    1           DRIVER RESPONSE TABLE ENTRY
 DSCO     BSS    1           DRIVER COMMAND ORDINAL/INPUT ORDER CODE
 DSSB     BSS    1           BLOCK SERIAL NUMBERS AND BACK COUNTS 
 DSBT     BSS    1           MESSAGE BLOCK TYPE 
 DSNS     BSS    1           DRIVER NEXT STREAM STATE 
 DSPR     BSS    1           PRU BUFFER SIZE
 DSCP     BSS    1           DRIVER OUTPUT/INPUT PROCESSOR
 DSCN     BSS    1           CONNECTION NUMBER
  
****
  
 L.WL(5)  BSS    0           LENGTH OF MDI ERROR STATUS WORKLIST
 WL(6)    SPACE  2,12 
****             MDI CHANNEL PROTOCOL MISMATCH WORKLIST ENTRY 
* 
*                THE MDI CHANNEL PROTOCOL MISMATCH WORKLIST ENTRY IS
*                USED BY THE DRIVER WHEN IT FIRST ATTEMPTS TO 
*                COMMUNICATE WITH THE CDCNET FRONT END AND FIND THAT
*                THERE IS NO COMMON CHANNEL PROTOCOL VERSION THAT BOTH
*                PIP AND THE CDCNET FRONT END CAN USE TO COMMUNICATE
*                WITH EACH OTHER. 
**
  
          LOC    0
  
 MINPV    BSS    1           MINIMUM CH PROTOCOL VERS SUPPORTED BY PIP
 MAXPV    BSS    1           MAXIMUM CH PROTOCOL VERS SUPPORTED BY PIP
 MDIPV    BSS    1           IF MAX MDI CH PROTOCOL VERSION IS LESS THAN
                             PIP MINIMUM CH PROTOCOL VERSION, THEN THIS 
                             IS THE MAX MDI CH PROTOCOL VERSION.
                             OTHERWISE, IT IS THE CH PROTOCOL VERSION 
                             PIP SENT FOLLOWING SET PROTOCOL VERSION
                             TRANSPARENT FUNCTION.
 MDICV    BSS    1           MDI CH PROTOCOL VERSION READ IN DETAILED 
                             STATUS AFTER SET PROTOCOL VERSION FUNCTION 
                             WAS ISSUED.
          BSS    1           FILL 
  
****
  
 L.WL(6)  BSS    0           LENGTH OF CH PROTOCOL VERS MISMATCH WORKLST
  
  
 SMHDR    SPACE  2,12 
****             PRU APPLICATION SUPERVISORY MESSAGE HEADER.
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE HEADER IS THE
*                FIRST TEXT WORD IN THE WORKLIST FOR A PRU SUPERVISORY
**               MESSAGE. 
  
  
          LOC    0
  
 PFC      BSS    1           PRIMARY FUNCTION CODE (8-BITS) 
 SFC      BSS    1           SECONDARY FUNCTION CODE (8-BITS) 
 RC       BSS    1           RESPONSE CODE (8-BITS) 
  
 L.SMEB   BSS    0           DEFINE LENGTH OF EIGHT BIT FIELDS
 .1       SET    L.SMEB+2 
 .1       SET    .1/3*2 
          LOC    .1 
 ACN      BSS    1           APPLICATION CONNECTION NUMBER
 CPRU     BSS    2           CURRENT PRU POSITION 
  
          LOC    CPRU 
  
 ACNT     BSS    2           ACCOUNTING DATA
  
          LOC    CPRU+1 
  
 IMSEC    BSS    1           INPUT MASS STORAGE ERROR CODE
  
          LOC    CPRU+1 
  
 OEOJ     BSS    1           DIRECT OUTPUT END OF JOB REQUEST FLAG
  
****
  
 L.SMHDR  BSS    0           DEFINE LENGTH OF SERVICE MESSAGE HEADER
  
 B.NR     EQU    /BLOCK/B.NR NORMAL WORKLIST RESPONSE BIT 
 REASON   SPACE  2,6
****             DEVICE STOPPED REASON CODE DEFINITIONS.
  
  
 RCBI     EQU    1           BATCH INTERRUPT
 RCCS     EQU    2           CARD SLIPPED 
 RCPM     EQU    2           PM MESSAGE 
 RCEI     EQU    3           END OF INPUT STREAM
 RCFL     EQU    3           FILE LIMIT EXCEEDED
 RCNR     EQU    4           DEVICE NOT READY 
 RCMS     EQU    5           MASS STORAGE ERROR 
 RCNV    EQU       6         NO VFU FILE
  
****
 SMFPAR   SPACE  2,10 
****             PRU APPLICATION SUPERVISORY MESSAGE FILE PARAMETER.
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE FILE PARAMETER 
*                FOLLOWS THE PRU APPLICATION SUPERVISORY MESSAGE HEADER 
**               FOR FILE COMMANDS. 
  
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
  
****
  
 L.SMFP   BSS    0           DEFINE LENGTH OF FILE PARAMETER MESSAGE
 SMNPAR   SPACE  2,14 
****             PRU APPLICATION SUPERVISORY MESSAGE WITH FN/FV.
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE WITH FN/FV 
*                PARAMETERS FOR THE FRONT END FOLLOWS THE PRU 
*                APPLICATION SUPERVISORY MESSAGE HEADER FOR FRONT END 
**               PARAMETER CHANGE COMMANDS. 
  
  
          LOC    L.SMHDR
  
 FN       BSS    1           FIELD NAME (8-BITS)
 FV       BSS    1           FIELD VALUE (8-BITS) 
  
****
  
 BSFT     EQU    81          FILE MODE FIELD NAME VALUE 
 SMRJV    SPACE  2,10 
****             PRU APPLICATION SUPERVISORY MESSAGE FOR JOB VALIDATION.
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE FOR JOB
*                VALIDATION FOLLOWS THE PRU APPLICATION SUPERVISORY 
**               MESSAGE HEADER AND IS USED TO REQUEST JOB VALIDATION.
  
  
 L.SMRJV  EQU    L.SMHDR+90*2/2 MAXIMUM LENGTH OF JOB VALIDATION REQUEST
  
****
 SMDO     SPACE  2,10 
****             PRU APPLICATION SUPERVISORY MESSAGE FOR DIRECT OUTPUT. 
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE FOR DIRECT 
*                OUTPUT FOLLOWS THE PRU APPLICATION SUPERVISORY MESSAGE 
**               HEADER AND IS USED TO REQUEST DIRECT OUTPUT. 
  
  
 L.SMDO   EQU    L.SMHDR+192 DEFINE LENGTH OF DIRECT OUTPUT REQUEST 
  
****
 SMSS     SPACE  2,12 
****             PRU APPLICATION SUPERVISORY MESSAGE FOR STREAM STOPPED.
* 
*                THE PRU APPLICATION SUPERVISORY MESSAGE FOR STREAM 
*                STOPPED MAY HAVE ADDITIONAL INFORMATION FOLLOWING
**               THE PRU APPLICATION SUPERVISORY MESSAGE HEADER.
  
  
          LOC    L.SMHDR
  
 PMCC     BSS    1           PM MESSAGE TEXT CHARACTER COUNT
          BSS    3           FILL 
 OMSEC    BSS    1           OUTPUT MASS STORAGE ERROR CODE 
  
 PMTEXT   BSS    80          PM TEXT (8-BITS) 
  
****
  
 L.SMSS   BSS    0           DEFINE LENGTH OF STREAM STOPPED
 SMWLC    SPACE  2,12 
****             WORKLIST COMPLETED SERVICE MESSAGE HEADER. 
* 
*                THE WORKLIST COMPLETED SERVICE MESSAGE HEADER
*                IDENTIFIES THE WORKLIST FOR WHICH PROCESSING 
**               HAS BEEN COMPLETED.
  
  
          LOC    0
  
 WLP      BSS    1           WORKLIST PRIORITY
  
****
  
 L.WLC    BSS    0           DEFINE LENGTH OF WORKLIST COMPLETED
 FTSM     SPACE  2,12 
****             APPLICATION TO APPLICATION FILE TRANSFER.
* 
*                THE DRIVER SUPPORTS APPLICATION TO APPLICATION FILE
*                TRANSFERS IN PRU MODE.  THE FOLLOWING SUPERVISORY
*                MESSAGES ARE USED BETWEEN THE DRIVER AND THE HOST
*                APPLICATION TO CONTROL THE FILE TRANSFER.  THESE 
****             SUPERVISORY MESSAGES USE THE NORMAL WORKLIST HEADERS.
 FTSIF    SPACE  2,12 
****             START INBOUND FILE SUPERVISORY MESSAGE.
* 
*                THE START INBOUND FILE SUPERVISORY MESSAGE IS USED BY
*                THE HOST APPLICATION TO INITIATE RECEPTION OF A FILE 
**               TRANSFER IN PRU MODE.
  
  
          LOC    L.SMHDR
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
  
****
  
 L.FTSIF  BSS    0           DEFINE LENGTH OF START INBOUND FILE
 FTSOF    SPACE  2,12 
****             START OUTBOUND FILE SUPERVISORY MESSAGE. 
* 
*                THE START OUTBOUND FILE SUPERVISORY MESSAGE IS USED BY 
*                THE HOST APPLICATION TO INITIATE TRANSMISSION OF A 
**               FILE IN PRU MODE.
  
  
          LOC    L.SMHDR
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
  
****
  
 L.FTSOF  BSS    0           DEFINE LENGTH OF START OUTBOUND FILE 
 FTEIF    SPACE  2,12 
****             END INBOUND FILE SUPERVISORY MESSAGE.
* 
*                THE END INBOUND FILE SUPERVISORY MESSAGE IS USED BY
*                THE DRIVER TO INFORM THE HOST APPLICATION OF THE 
**               COMPLETION OF AN INBOUND FILE TRANSFER IN PRU MODE.
  
  
          LOC    L.SMHDR
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
  
****
  
 L.FTEF   BSS    0           DEFINE LENGTH OF END INBOUND FILE
 FTEOF    SPACE  2,12 
****             END OUTBOUND FILE SUPERVISORY MESSAGE. 
* 
*                THE END OUTBOUND FILE SUPERVISORY MESSAGE IS USED BY 
*                THE DRIVER TO INFORM THE HOST APPLICATION OF THE 
**               COMPLETION OF AN OUTBOUND FILE TRANSFER IN PRU MODE. 
  
  
          LOC    L.SMHDR
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
  
****
  
 L.FTEF   BSS    0           DEFINE LENGTH OF END OUTBOUND FILE 
 LEVEL7   TITLE  A-A FILE TRANSFER PROTOCOL DEFINITIONS.
 LEVEL7   SPACE  2,18 
****             APPLICATION TO APPLICATION FILE TRANSFER.
* 
*                THE DRIVER SUPPORTS APPLICATION TO APPLICATION FILE
*                TRANSFERS IN PRU MODE.  THE FOLLOWING LEVEL SEVEN
*                PROTOCOL ELEMENTS ARE EITHER USED OR PROCESSED BY
*                THE DRIVER IN THE DATA TRANSFER PHASE OF THE FILE
*                TRANSFER.  ANY OTHER LEVEL SEVEN PROTOCOL ELEMENTS 
*                RECEIVED WHILE IN DATA TRANSFER PHASE WILL BE PASSED 
*                TO THE APPLICATION FOR PROCESSING AND DO NOT DIRECTLY
*                AFFECT THE FILE TRANSFER.  ALL LEVEL SEVEN PROTOCOL
*                ELEMENTS ARE IS *ASCII* CHARACTER FORMAT INCLUDING 
****             NUMERIC FIELDS.
 L7SR     SPACE  2,16 
****             APPLICATION TO APPLICATION START OF DATA REPLY.
* 
*                THE APPLICATION TO APPLICATION START OF DATA REPLY IS
*                SENT BT THE DRIVER IN RESPONSE TO AN INPUT FILE
*                TRANSFER START WORKLIST RECEIVED FROM THE HOST 
*                APPLICATION AND INDICATES THAT THE DRIVER IS READY TO
**               RECEIVE PRU DATA FROM THE REMOTE APPLICATION.
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (37 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7CM     BSS    4           INITIAL CHECKMARK NUMBER 
  
****
  
 L.L7SR   BSS    0           DEFINE LENGTH OF START DATA REPLY
 L7ES     SPACE  2,18 
****             APPLICATION TO APPLICATION END OF DATA.
* 
*                THE APPLICATION TO APPLICATION END OF DATA IS RECEIVED 
*                BY THE DRIVER FROM THE REMOTE APPLICATION AND SIGNIFIES
*                THE END OF THE DATA TRANSFER PHASE.  THE ATTRIBUTE 
*                THAT ACCOMPANIES THE END OF DATA ELEMENT SPECIFIES THE 
*                STATUS OF THE FILE TRANSFER.  THE DRIVER WILL TRANSFER 
*                AN APPLICATION TO APPLICATION SUPERVISORY MESSAGE TO 
*                THE HOST APPLICATION WITH THE TEXT OF THE END OF DATA
**               ELEMENT INCLUDED.
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (32 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7EC     BSS    4           ERROR CODE 
  
****
  
 L.L7ES   BSS    0           DEFINE LENGTH OF END DATA
 L7RR     SPACE  2,16 
****             APPLICATION TO APPLICATION REQUEST RESTART.
* 
*                THE APPLICATION TO APPLICATION REQUEST RESTART IS
*                RECEIVED BY THE DRIVER FROM THE REMOTE APPLICATION 
*                WHEN THE REMOTE APPLICATION WANTS TO REQUEST THE 
*                RESTART OF A FILE TRANSFER.  THE DRIVER WILL TRANSFER
*                AN APPLICATION TO APPLICATION SUPERVISORY MESSAGE TO 
*                THE HOST APPLICATION WITH THE TEXT OF THE REQUEST
**               RESTART ELEMENT INCLUDED.
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (33 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7EC     BSS    4           ERROR CODE 
  
****
  
 L.L7RR   BSS    0           DEFINE LENGTH OF REQUEST RESTART 
 L7QR     SPACE  2,16 
****             APPLICATION TO APPLICATION QUIT. 
* 
*                THE APPLICATION TO APPLICATION QUIT IS RECEIVED BY THE 
*                DRIVER FROM A REMOTE APPLICATION WHEN THE REMOTE 
*                APPLICATION WANTS TO QUIT A FILE TRANSFER.  THE DRIVER 
*                WILL TRANSFER AN APPLICATION TO APPLICATION SUPERVISORY
*                MESSAGE TO THE HOST APPLICATION WITH THE TEXT OF THE 
**               QUIT ELEMENT INCLUDED. 
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (35 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7EC     BSS    4           ERROR CODE 
  
****
  
 L.L7QR   BSS    0           DEFINE LENGTH OF QUIT
 L7MS     SPACE  2,12 
****             APPLICATION TO APPLICATION CHECKMARK.
* 
*                THE APPLICATION TO APPLICATION CHECKMARK IS SENT BY
*                THE DRIVER SENDING A FILE TO A REMOTE APPLICATION AND
**               SIGNIFIES A RESTARTABLE POINT IN THE FILE TRANSFER.
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (31 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7CM     BSS    4           CHECKMARK NUMBER 
  
****
  
 L.L7MS   BSS    0           DEFINE LENGTH OF CHECKMARK 
 L7MR     SPACE  2,14 
****             APPLICATION TO APPLICATION CHECKMARK REPLY.
* 
*                THE APPLICATION TO APPLICATION CHECKMARK REPLY IS SENT 
*                BY THE DRIVER RECEIVING A CHECKMARK FROM A REMOTE
*                APPLICATION AFTER ALL THE DATA PRECEDING THE CHECKMARK 
**               HAS BEEN SUCCESSFULLY WRITTEN TO MASS STORAGE. 
  
  
          LOC    0
  
 L7CN     BSS    2           COMMAND NUMBER (34 IN *ASCII*) 
 L7PC     BSS    2           PARAMETER COUNT (1 IN *ASCII*) 
 L7AN     BSS    2           ATTRIBUTE NUMBER (23 IN *ASCII*) 
 L7AQ     BSS    1           ATTRIBUTE QUALIFIER (S IN *ASCII*) 
 L7AL     BSS    3           ATTRIBUTE LENGTH (4 IN *ASCII*)
 L7CM     BSS    4           CHECKMARK NUMBER 
  
****
  
 L.L7MR   BSS    0           DEFINE LENGTH OF CHECKMARK REPLY 
 FTES     SPACE  2,14 
****             END OF STREAM SUPERVISORY MESSAGE. 
* 
*                THE END OF STREAM SUPERVISORY MESSAGE IS USED BY THE 
*                DRIVER TO INFORM THE HOST APPLICATION THAT THE END 
*                OF DATA WITH NO ERROR LEVEL SEVEN PROTOCOL ELEMENT 
**               WAS RECEIVED FROM THE REMOTE APPLICATION.
  
  
          LOC    CPRU 
  
 .2       SET    *
  
 ESTEXT   BSS    L.L7ES      LEVEL SEVEN PROTOCOL TEXT (8-BIT)
  
****
  
 .1       SET    *-.2 
 .1       SET    2*.1+5 
 .1       SET    .1/6 
  
 L.FTES   EQU    .1+.2       DEFINE LENGTH OF END OF STREAM 
 FTER     SPACE  2,12 
****             ERROR SUPERVISORY MESSAGE. 
* 
*                THE ERROR SUPERVISORY MESSAGE IS USED BY THE DRIVER
**               TO INFORM THE HOST APPLICATION OF AN ERROR CONDITION.
  
  
          LOC    L.SMHDR
  
 FNAME    BSS    4           FILE NAME
 FNT      BSS    1           FILE NAME TABLE ORDINAL
 CKMS     BSS    3           LAST ACKNOWLEDGED CHECKMARK
 CKPRU    BSS    2           PRU POSITION OF LAST ACKNOWLEDGED CHECKMARK
  
 L.FTIE   BSS    0           DEFINE LENGTH OF INTERNAL ERROR
  
 .2       SET    *
  
 ERTEXT   BSS    L.L7RR      LEVEL SEVEN PROTOCOL TEXT (8-BIT)
  
****
  
 .1       SET    *-.2 
 .1       SET    2*.1+5 
 .1       SET    .1/6 
  
 L.FTER   EQU    .1+.2       DEFINE LENGTH OF LEVEL SEVEN ERROR 
 REASON   SPACE  2,6
****      FILE TRANSFER STOPPED REASON CODE DEFINITIONS.
  
  
 FTRCNO   EQU    0           NO ERROR 
 FTRCNE   EQU    1           BLOCK SEQUENCE ERROR 
 FTRCPE   EQU    2           LEVEL SEVEN PROTOCOL ERROR 
 FTRCBK   EQU    3           TRANSMISSION LEVEL RESET 
 FTRCRE   EQU    4           RECEIVER ERROR 
 FTRCSE   EQU    5           SENDER ERROR 
 FTRCRS   EQU    6           RESTART REQUESTED
 FTRCME   EQU    7           MASS STORAGE ERROR 
 FTRCDE   EQU    8           DATA STRUCTURE ERROR 
 FTRCTO   EQU    9           TRANSFER TIMED OUT 
 FTRCHE   EQU    10          LEVEL SEVEN HEADER FORMAT ERROR
 FTRCQM   EQU    11          Q-MESSAGE FORMAT ERROR 
 FTRCCE   EQU    12          CHECKMARK OR CHECKMARK REPLY NUMBER ERROR
  
****
 LEVEL7DH SPACE  2,14 
****             APPLICATION TO APPLICATION DATA HEADER.
* 
*                THE DRIVER SUPPORTS APPLICATION TO APPLICATION FILE
*                TRANSFERS IN PRU MODE.  THE FOLLOWING LEVEL SEVEN
*                DATA HEADER DEFINITIONS APPLY TO ALL DATA BLOCK
*                EXCHANGED WHILE IN DATA TRANSFER PHASE AND ARE EITHER
*                PROCESSED OR GENERATED BY THE DRIVER.
  
  
          LOC    0
  
 L7DBC    BSS    1           LEVEL SEVEN DATA BLOCK CLARIFIER 
 L7BL     BSS    2           BLOCK LENTH IN OCTETS
 L7BN     BSS    2           BLOCK NUMBER 
 L7UB     BSS    1           UNUSED BIT COUNT IN LAST OCTET (0 OR 4)
  
****
  
 L.L7DH   BSS    0           DEFINE LENGTH OF LEVEL SEVEN DATA HEADER 
  
          QUAL
 CLENGTH  TITLE  IVT COMMAND LENGTH DEFINITIONS.
          QUAL   NAM
 CLENGTH  SPACE  2,6
*                DEFINE IVT COMMAND LENGTHS.
  
  
          LEN    LDRQ        LOAD NPU REQUEST COMMAND 
          LEN    RGCP        COUPLER REGULATION CHANGE COMMAND
          LEN    RGST        COUPLER REGULATION REQUEST COMMAND 
          LEN    EQTO        EQUIPMENT TURNED OFF COMMAND 
          LEN    RMDI        REQUEST MDI INITIALIZATION 
          LEN    BSTO        BOOTSTRAP LOAD TIMEOUT COMMAND 
          LEN    CEER        CE ERROR MESSAGE COMMAND 
          LEN    HFE         HALT FRONT END COMMAND 
 RLENGTH  SPACE  2,6
*                DEFINE IVT COMMAND RESPONSE LENGTHS. 
  
  
          LEN    OV(1)R      OVERLAY LOAD COMMAND RESPONSE
          LEN    OV(2)R      OVERLAY START COMMAND RESPONSE 
          LEN    OVERER      OVERLAY COMMAND ERROR RESPONSE 
 WLLENGTH SPACE  2,6
*                DEFINE WORKLIST LENGTHS. 
  
  
          LENWL  WL(1)       BAD MESSAGE DISCARDED WORKLIST 
          LENWL  WH(1)       BAD MESSAGE DISCARDED WORKLIST HEADER
          LENWL  WL(2)       ERROR LOGICAL WORKLIST 
          LENWL  WH(2)       ERROR LOGICAL WORKLIST HEADER
          LENWL  WL(3)       BLOCK PROTOCOL ERROR WORKLIST
          LENWL  WL(5)       MDI DETAIL ERROR STATUS WORKLIST 
          LENWL  WL(6)       MDI CH PROTOCOL VERSION MISMATCH WORKLIST
          LENWL  WLC         WORKLIST COMPLETED WORKLIST
          LENWL  SMHDR       APPLICATION SERVICE MESSAGE WORKLIST HEADER
          LENWL  SMRJV       REQUEST JOB VALIDATION WORKLIST
          LENWL  SMFP        FILE PARAMETER WORKLIST
 WLENGTH  SPACE  2,6
*                DEFINE FILE TRANSFER WORKLIST LENGTHS. 
  
  
          LENWL  FTEF        END OF FILE WORKLIST 
          LENWL  FTES        END OF STREAM WORKLIST 
          LENWL  FTIE        INTERNAL ERROR WORKLIST
          LENWL  FTER        LEVEL SEVEN ERROR WORKLIST 
 SITE     TITLE  VARIABLE ASSIGNMENTS.
          QUAL
 SITE     SPACE  2,12 
**               SITE DEFINED DRIVER ASSEMBLY VARIABLES.
* 
*                THE FOLLOWING AREA IS RESERVED TO ALLOW A SITE TO
*                REDEFINE ASSEMBLY VARIABLES USED BY THE DRIVER.
*                IF A SITE WANTS TO REDEFINE A DRIVER VARIABLE THAT 
*                VARIABLE SHOULD BE DEFINED BY USING THE *EQU* PSEUDO 
**               OPERATION IN THE AREA BELOW. 
  
  
 DEFAULT  SPACE  2,6
*                DEFAULT DRIVER ASSEMBLY VARIABLES. 
  
  
 MAXFE    CEQU   4           MAXIMUM NUMBER OF FRONT ENDS FOR DRIVER
 MAXDRV   CEQU   4           MAXIMUM NUMBER OF DRIVERS IN SYSTEM
 MAXEQP   CEQU   16D         MAXIMUM NO OF FRONT ENDS TO SERVICE
  
 NCWO     CEQU   4           OVERRUN CYCLES BEFORE BUFFER REQUEST 
 NCNO     CEQU   700         NO OVERRUN CYCLES BEFORE BUFFER RETURN 
  
 NBBC     CEQU   20          NUMBER DATA BLOCKS BETWEEN CHECKMARKS
  
 .DEBUG   CEQU   1           DRIVER DEBUG OPTION (1 = ON) 
 .PERF    CEQU   1           DRIVER PERFORMANCE DATA OPTION (1 = ON)
 .PBSTAT  CEQU   1           PRU BUFFER STATISTICS (1 = ON) 
  
*IF,-DEF,MSS
 .MSS     EQU    0           TURN MSS OFF (0=OFF) 
*ENDIF
*IF,DEF,MSS                  FOR CDC INTERNAL USE ONLY
 .MSS     EQU    1           TURN MSS ON (1=ON) 
*ENDIF                       FOR CDC INTERNAL USE ONLY
 TIMERS   SPACE  2,6
*                DEFAULT TIMERS.
  
  
 Q.INDEAD CEQU   5           INITIAL NPU DEAD TIMER (SECONDS) 
 Q.MALIVE CEQU   5           MDI KEEP ALIVE TIMEOUT VALUE (SECONDS) 
 Q.NDEAD  CEQU   20          NPU DEAD TIMER (SECONDS) 
 Q.BSDEAD CEQU   30          BOOTSTRAP LOAD DEAD TIMER (SECONDS)
 Q.NINIT  CEQU   30          NPU INITIALIZATION REQUEST DELAY (SECONDS) 
 Q.NCLEAR CEQU   30          DELAY BETWEEN CLEAR FUNCTIONS (SECONDS)
 Q.NOWT   CEQU   500         NPU ORDER WORD DEAD TIMER (MS) 
 Q.MCIDLY CEQU   500         MCI FUNCTION DELAY TIMER (MS)
 Q.MCINIT CEQU   50          INITIAL MCI FUNCTION DELAY TIMER (MS)
 Q.NPBOT  CEQU   10          NO PRU BUFFER OVERRUN TIMEOUT INTERVAL 
 Q.IDT    CEQU   2           MAXIMUM IVT DATA CYCLE TIMER (SECONDS) 
 Q.L7TO   CEQU   10*60       LEVEL SEVEN TIMER (SECONDS)
 Q.BPET   CEQU   8           MDI BLOCK PROTOCOL ERROR TIMER (SECONDS) 
 Q.CHPRT  CEQU   30          DELAY CHANNEL PROTOCOL CHECKS (SECONDS)
 Q.WCHPRT CEQU   300         DELAY CHANNEL PROTOCOL CHECKS AFTER
                             DETECTING INCORRECT PROTOCOL (SECONDS) 
  
 Q.NOAC   CEQU   2           OUTPUT DELAY AFTER ACCEPT (MS) 
 Q.NORJ   CEQU   100         OUTPUT DELAY AFTER REJECT (MS) 
  
 Q.ILECHO CEQU   1000        INLINE DIAGNOSTICS ECHO TIMEOUT (MS) 
 Q.ILNOAC CEQU   10*60       INLINE DIAG NO ACTIVITY TIMEOUT (SECONDS)
 NPU      SPACE  2,6
*                NPU DELAY COUNTS.
  
  
 FNCDLY   CEQU   63          DELAY FOR FUNCTION ACCEPT
 CHDLY    CEQU   600         CHANNEL DELAY FOR OPERATION COMPLETE 
 NPUDLY   CEQU   60          DELAY BETWEEN CLEAR AND START FOR NPU
 MDI      SPACE  2,6
*                MDI RETRY COUNTS.
  
  
 MSTRY    CEQU   3           TIMES TO TRY INTERFACE RESET FUNCTION
 MAXILK   CEQU   120D        NUMBER OF SECONDS TO WAIT FOR INITMDI JOB
                             TO CLEAR INTERLOCK BIT.  IF INTERLOCK IS 
                             STILL SET AFTER THIS TIME INTERVAL, PIP
                             WILL REQUEST THE EQUIPMENT, CLEAR THE
                             INTERLOCK BIT, AND THEN START OVER AGAIN 
                             TRYING TO TALK TO THE MDI. 
 MAXMER   CEQU   8           MAXIMUM CONSECUTIVE MDI ERRORS ALLOWED 
 MAXBPE   CEQU   8           MAXIMUM CONSEC MDI BLOCK PROTOCOL ERRORS 
 MDIDLY   CEQU   4000        MDI INPUT/OUTPUT DELAY (CYCLES)
 VALUE    SPACE  2,6
*                VALUE ASSIGNMENTS. 
  
  
 NHO      EQU    1S5         CHANNEL NO-HANG BIT
 L.ACTORD EQU    77B         ACTION ORDINAL SIZE
 L.ACTOR  EQU    L.ACTORD    ACTION ORDINAL SIZE USED BY MACROS 
 S.CTLCD  EQU    6           CONTROL CODE POSITION
  
 LOWOPL   EQU    2           NORMAL (LOW) PRIORITY LEVEL
 MAXOPL   EQU    3           MAXIMUM OUTPUT PRIORITY LEVEL
 L.DBCM   EQU    64          LENGTH OF DRIVER BUFFER IN CENTRAL WORDS 
  
 HFPFC    EQU    0#1E        HALT FRONT END PRIMARY FUNCTION CODE 
 HFSFC    EQU    0#14        HALT FRONT END SECONDARY FUNCTION CODE 
  
  
 PACER    EQU    0#30        PACER CHANNEL PROTOCOL RANGE (20-3F) 
 DCSAVE   EQU    7700B       DIRECT CELL SAVE AREA
 .1       SET    4096+4+5 
 L.DMPPK  EQU    .1/5        LENGTH OF PPU DUMP PACKET
 .1       SET    /NAM/W.PPD 
 .1       SET    .1+MAXDRV*L.DMPPK+77B
 DMPFL    EQU    .1/100B     ADDITIONAL FIELD LENGTH FOR DRIVER DUMP
 CHARDEF  SPACE  2,6
*                CHARACTER VALUE ASSIGNMENTS. 
  
  
 .EOL     EQU    0#1F        IVT END OF LINE OUTPUT CHARACTER 
 .BLANK   EQU    0#20        ASCII BLANK
 .COLON   EQU    0#3A        ASCII COLON
 .Y       EQU    0#59        ASCII Y
 CIOCODES SPACE  2,6
*                CIO REQUEST CODES. 
  
  
 .CIORD   EQU    010B        READ REQUEST 
 .CIORCW  EQU    200B        READ CONTROL WORD
  
 .CIOWT   EQU    014B        WRITE REQUEST
 .CIOWER  EQU    024B        WRITE EOR REQUEST
 .CIOWEF  EQU    034B        WRITE EOF REQUEST
 .CIOWCW  EQU    204B        WRITE CONTROL WORD 
 SYSOVL   SPACE  2,6
*                SYSTEM OVERLAYS CALLED BY DRIVER.
  
  
 OV.1DL   EQU    3R1DL       PPU OVERLAY LOADER 
 OV.1RP   EQU    3R1RP       PPU RESIDENT LOADER
 OV.CIO   EQU    3RCIO       MASS STORAGE INPUT/OUTPUT
 DROVL    SPACE  2,6
*                INITIALIZATION OVERLAYS CALLED BY DRIVER.
  
  
 OV.2IN   EQU    3R2IN       INITIALIZATION OVERLAY 
 OV.3IN   EQU    3R3IN       PRESET MAIN DRIVER 
 DROVL    SPACE  2,6
*                FIRST LEVEL OVERLAYS CALLED BY DRIVER. 
  
  
 OV.1IL   EQU    3R1IL       NPU INPUT/OUTPUT SUPPORT ROUTINES
 OV.1IP   EQU    3R1IP       MDI INPUT/OUTPUT SUPPORT ROUTINES
 DROVL    SPACE  2,6
*                TRANSIENT OVERLAYS CALLED BY DRIVER. 
  
  
 OV.3IL   EQU    3R3IL       DRIVER SUPPORT ROUTINES
 OV.2IQ   EQU    3R2IQ       FE STATE/COMMAND PROCESSORS
 OV.3IQ   EQU    3R3IQ       COMMAND/SUPPORT PROCESSORS 
 OV.4IQ   EQU    3R4IQ       COMMAND/WORKLIST PROCESSORS
 OV.5IQ   EQU    3R5IQ       IVT OUTPUT COMMAND PROCESSORS
 OV.2IP   EQU    3R2IP       COMMAND/WORKLIST PROCESSORS
 OV.3IP   EQU    3R3IP       DRIVER SUPPORT ROUTINES
 OV.4IP   EQU    3R4IP       DRIVER SUPPORT ROUTINES
 OV.2IM   EQU    3R2IM       DRIVER SUPPORT ROUTINES
 OV.3IM   EQU    3R3IM       DRIVER SUPPORT ROUTINES
 OV.4IM   EQU    3R4IM       DRIVER SUPPORT ROUTINES
 OV.2IO   EQU    3R2IO       A-A SUPPORT PROCESSORS 
 OV.3IO   EQU    3R3IO       DRIVER SUPPORT ROUTINES
 OV.4IO   EQU    3R4IO       DRIVER SUPPORT ROUTINES
 OV.5IO   EQU    3R5IO       DRIVER SUPPORT ROUTINES
 OV.1IE   EQU    3R1IE       TERMINATION ROUTINES 
 OV.2IE   EQU    3R2IE       ERROR PROCESSORS 
 OV.3IE   EQU    3R3IE       ERROR PROCESSORS 
 OV.4IE   EQU    3R4IE       INLINE DIAGNOSTICS PROCESSING ROUTINES 
 OV.2PE   EQU    3R2PE       PROCESS MDI ERROR STATUS 
 DROVL    SPACE  2,6
*                DRIVER OVERLAYS ACCESSED BY DRIVER.
  
  
 OV.0IP   EQU    3R0IP       DRIVER CONTROL TABLES (CM RESIDENT)
 DIRECT   TITLE  DIRECT CELL ASSIGNMENTS. 
 DIRECT   SPACE  2,6
*                DIRECT CELL ASSIGNMENTS. 
  
  
 T0       EQU    T0          TEMPORARY STORAGE
 T1       EQU    T1          TEMPORARY STORAGE
 T2       EQU    T2          TEMPORARY STORAGE
 T3       EQU    T3          TEMPORARY STORAGE
 T4       EQU    T4          TEMPORARY STORAGE
 T5       EQU    T5          TEMPORARY STORAGE
 T6       EQU    T6          TEMPORARY STORAGE
 T7       EQU    T7          TEMPORARY STORAGE
  
 T10      EQU    10B         TEMPORARY STORAGE
 T11      EQU    11B         TEMPORARY STORAGE
 T12      EQU    12B         TEMPORARY STORAGE
 T13      EQU    13B         TEMPORARY STORAGE
 T14      EQU    14B         TEMPORARY STORAGE
 T15      EQU    15B         TEMPORARY STORAGE
 T16      EQU    16B         TEMPORARY STORAGE
 T17      EQU    17B         TEMPORARY STORAGE
  
 FEI      EQU    20B         FRONT END TABLE INDEX
 BHS      EQU    21B         BLOCK HANDLER OR NPU STATE 
 STS      EQU    22B         STREAM STATES (6/OLD, 6/CURRENT) 
 NSS      EQU    23B         NEXT STREAM STATE
 ADO      EQU    24B         ACTION DIRECTORY TABLE OFFSET
 RTE      EQU    25B         DRIVER RESPONSE TABLE ENTRY
 CTL      EQU    26B         DRIVER CONTROL PARAMETER 
 TAR      EQU    27B         DRIVER CONTROL TABLE ARGUMENT
 CWC      EQU    27B         STORAGE FOR CENTRAL WORD COUNT 
  
 PRU      EQU    30B         PRU SIZE ORDINAL (0 TO MAXPRU-1) 
 BTI      EQU    31B         PRU BUFFER TABLE INDEX 
 EOT      EQU    32B         END OF TRANSFER FLAG (0 = NOT EOT) 
 REOT     EQU    33B         REQUEST END OF TRANSFER FLAG (0 = NOT EOT) 
 L7IC     EQU    33B         LEVEL SEVEN INPUT OCTET COUNT
 NCC      EQU    34B         NPU MESSAGE CHARACTER COUNTER
 OW       EQU    35B         NPU ORDER WORD IMAGE 
 IOC      EQU    36B         NPU INPUT ORDER CODE ORDINAL 
 CO       EQU    36B         COMMAND ORDINAL
 OPL      EQU    37B         FET OUTPUT PRIORITY LEVEL
  
 FBA      EQU    40B         FIRST WORD ADDRESS OF ACTIVE BUFFER
 .USED    SET    41B
 CBA      EQU    42B         CURRENT WORD ADDRESS IN ACTIVE BUFFER
 .USED    SET    43B
 LBA      EQU    44B         LAST WORD ADDRESS OF ACTIVE BUFFER 
 .USED    SET    45B
 L7PR     EQU    44B         A-A LEVEL SEVEN PARAMETER
 .USED    SET    45B
 OCB      EQU    46B         OUTPUT MESSAGE CHARACTERS PER DRIVER BUFFER
 ICP      EQU    47B         INPUT CHARACTER PROCESSOR ADDRESS
 OCP      EQU    47B         OUTPUT CHARACTER PROCESSOR ADDRESS 
  
 BT       EQU    50B         BLOCK TYPE 
 BSBC     EQU    51B         BLOCK SERIAL NUMBER AND BACK COUNTS
 CN       EQU    52B         CONNECTION NUMBER
 TN       EQU    53B         TERMINAL NODE
 NBL      EQU    54B         NETWORK BLOCK LIMIT
 RA       EQU    RA          CONTROL POINT REFERENCE ADDRESS
 FL       EQU    FL          CONTROL POINT FIELD LENGTH 
 FTO      EQU    57B         CURRENT OUTBOUND FET OFFSET
  
 PCB      EQU    60B         PRU CONNECTION BLOCK ADDRESS 
 .USED    SET    61B
 NMA      EQU    60B         NPU MEMORY ADDRESS FOR NPU LOAD
 .USED    SET    61B
 WLP      EQU    62B         WORKLIST POINTER WORD ORDINAL
 WLO      EQU    63B         WORKLIST TABLE ORDINAL 
 AAC      EQU    67B         A-A CONNECTION FLAG (NON-ZERO = YES) 
  
                               7/0,1/A-A,2/0,2/DATA DECLARACTION
  
 DIT      EQU    64B         PIP INTERFACE TABLE ADDRESS
 .USED    SET    65B
 PWO      EQU    66B         PIP INTERFACE TABLE POINTER WORD OFFSET
  
 ON       EQU    ON          CONSTANT OF ONE
 CP       EQU    CP          CONTROL POINT AREA ADDRESS 
 IA       EQU    IA          PPU INPUT REGISTER ADDRESS 
 OA       EQU    OA          PPU OUTPUT REGISTER ADDRESS
 MA       EQU    MA          PPU MESSAGE BUFFER ADDRESS 
 INIT     SPACE  2,8
*                INITIALIZATION DIRECT CELL ASSIGNMENTS.
  
  
          QUAL   INIT 
  
 PAD      EQU    20B         PARAMETER AREA ADDRESS 
 .USED    SET    21B
 IPA      EQU    22B         INITIALIZATION PROCESSOR ADDRESS 
 DRW      EQU    23B         DRIVER RESPONSE WORD IMAGE 
 .USED    SET    24B
 .USED    SET    25B
 .USED    SET    26B
 .USED    SET    27B
  
 ZR       EQU    30B         ZERO WORD
 .USED    SET    31B
 .USED    SET    32B
 .USED    SET    33B
 .USED    SET    34B
 OTI      EQU    35B         OVERLAY NAME TABLE INDEX 
 LIR      EQU    36B         LOADER PPU INPUT REGISTER ADDRESS
  
 IR       EQU    IR          PPU INPUT REGISTER IMAGE 
  
          QUAL
 NPUTABLE TITLE  LOW CORE RESIDENT CONTROL TABLES.
          USE    LAST 
 B.LCM    BSS    0           DEFINE MOVE TO LOW CORE BEGINNING ADDRESS
          LOC    EFTN 
 FETABLE  SPACE  2,12 
**               FRONT END TABLES.
* 
*                THE FRONT END TABLES CONTAIN PARAMETERS USED BY THE
*                DRIVER IN SERVICING EACH FRONT END THAT IS ASSIGNED
*                TO THE DRIVER.  THERE IS A TABLE FOR EACH FRONT END
**               AND THE INDEX FOR THE TABLE IS *FEI*.
  
  
 FETABLE  BSS    0           FRONT END TABLE ENTRY
  
          LOC    0
  
 FES      BSSZ   1           FRONT END STATE
 CAD      BSSZ   1           COUPLER ADDRESS (3/EQUIP,9/0)
 CHN      BSSZ   1           CHANNEL NUMBER (1/HALT,5/0,6/CH) 
 FTY      BSSZ   1           FRONT END TYPE (0 = NPU, 1 = MDI,
                                             2 = UNAVAILABLE MDI) 
 S.REG    EQU    3           REGULATION LEVEL FIELD POSITION (MDI)
 L.REG    EQU    3S3         CURRENT REGULATION LEVEL MASK (MDI)
 MGS      BSS    0           MDI GENERAL STATUS 
 CSR      BSSZ   1           COUPLER STATUS REGISTER
 BPE      BSS    0           CONSECUTIVE BLOCK PROTOCOL ERR COUNT (MDI) 
 NSW      BSSZ   1           NPU STATUS WORD
 DEC      BSSZ   1           DRIVER ERROR CODE
 S.SERR   EQU    11          MDI SOFT ERROR FLAG POSITION 
 B.SERR   EQU    1S11        MDI SOFT ERROR FLAG
 PEC      BSSZ   1           PREVIOUS DRIVER ERROR CODE 
 ECT      BSS    0           CONSECUTIVE ERROR COUNT (MDI)
 ABC      BSSZ   1           ACCUMULATED BATCH COUNT FOR LOAD (NPU) 
 DTM      BSSZ   1           NPU DEADMAN TIMER / MDI KEEP ALIVE TIMER 
 OTM      BSSZ   1           OUTPUT RESUME TIMER
 HND      BSSZ   1           HOST NODE ID 
 IBS      BSSZ   1           INBOUND BUFFER SPACE (0 = REQUEST PENDING) 
 IMC      BSSZ   1           IVT MESSAGE COUNT
 ICC      BSSZ   2           IVT MESSAGE CHARACTER COUNT
 PMC      BSSZ   1           PRU MESSAGE COUNT
 PCC      BSSZ   2           PRU MESSAGE CHARACTER COUNT
 NBT      BSSZ   2           NETWORK BUFFER TABLE ADDRESS 
 AIF      BSSZ   1           ACTIVE INBOUND FET OFFSET
 CHVER    BSSZ   1           CHANNEL PROTOCOL VERSION TO BE USED FOR
                             INTERFACING WITH THE CDCNET FRONT END
                             CURRENTLY BEING PROCESSED. 
  
                             FOLLOWING BYTE IS USED FOR TIME DELAYS 
  
 ETM      BSS    0           MDI READ ERROR RETRY START TIME
 CTM      BSSZ   1           CHANNEL PROTOCOL VERSION CHECK TIMER 
  
 L.FETBL  BSS    0           LENGTH OF FRONT END TABLE ENTRY
 .1       SET    MAXFE-1
 .1       SET    .1*L.FETBL 
          BSSZ   .1          ALLOCATE REMAINING FRONT END TABLES
  
 .LAST    SET    *
          LOC    FETABLE+.LAST
 LIMBO    SPACE  2,30 
**               DRIVER PRU LIMBO BUFFER TABLES.
* 
*                THE DRIVER PRU LIMBO BUFFER TABLES ARE USED BY THE 
*                DRIVER TO MAINTAIN POOLS OF PRU BUFFERS WHICH ARE USED 
*                FOR PRU STREAM PROCESSING.  THE DRIVER OBTAINS PRU 
*                LIMBO BUFFERS FROM THE SYSTEM POOL AS REQUIRED AND 
*                RETURNS EXECESSIVE PRU LIMBO BUFFERS BACK TO THE SYSTEM
*                POOL.  THE DRIVER ANTICIPATES ITS BUFFER REQUIREMENTS
*                BASE ON THE CURRENT LOAD AND IF THERE ARE NOT ENOUGH 
*                SYSTEM PRU BUFFERS AVAILABLE THE DRIVER WILL REQUEST 
*                ADDITIONAL PRU BUFFERS FROM NAM.  THE DRIVER WRITES THE
*                PRU LIMBO BUFFER TABLES TO THE DRIVER INTERFACE TABLE
*                ON A DRIVER INTERLOCK REQUEST FROM NAM.  THIS PROVIDES 
*                NAM AN OPPORTUNITY TO RELOCATE THE BUFFERS IN THE
*                DRIVER LIMBO POOL OR TO RELEASE EXCESSIVE PRU BUFFERS
*                IN THE SYSTEM POOL.  AT THE COMPLETION OF THE DRIVER 
*                INTERLOCK REQUEST THE DRIVER WILL REFRESH THE PRU
*                LIMBO BUFFER TABLE FROM THE DRIVER INTERFACE TABLE.
* 
*                INTERNALLY THE DRIVER ALLOCATES PRU BUFFERS AS NEEDED
*                FROM THE START OF THE LIMBO BUFFER CHAIN AND RETURNS 
*                PRU BUFFERS TO THE END OF THE LIMBO BUFFER CHAIN.
*                THERE IS A PRU LIMBO BUFFER TABLE FOR EACH PRU BUFFER
**               SIZE IN THE SYSTEM.
  
  
 LIMBOP1  BSS    0           LIMBO BUFFER TABLE FOR ONE PRU BLOCKS
  
          LOC    0
  
 MFB      BSS    1           MIN/MAX COUNTS OF BUFFERS TO BE ASSIGNED 
                             (6/MINIMUM COUNT,6/MAXIMUM COUNT)
 NCA      BSS    1           COUNT OF BUFFERS CURRENTLY ASSIGNED BY NIP 
 NPC      BSS    1           NUMBER OF PRU CONNECTIONS
 FPB      BSS    2           ADDRESS OF FIRST BUFFER ON THE CHAIN 
 NFB      EQU    15          COUNT OF BUFFERS ON THE CHAIN THAT ARE FREE
 NRA      EQU    16          COUNT OF BUFFERS REQUESTGED BY PIP 
 RPB      EQU    18          ADDRESS OF BUFFER RELEASED BY PIP
 NSA      EQU    30          COUNT OF BUFFERS ASSIGNMENT LAST RECOGNIZED
 NBOT     EQU    31          NO BUFFER OVERRUN TIMER
 AFB      EQU    32          ACCUMULATED BUFFER REQUIREMENT COUNT 
 INB      EQU    33          NUMBER OF BUFFERS ASSIGNED INBOUND 
  
 .1       SET    *+4
 .1       SET    .1/5 
  
          BSS    .1*5-*      FILL 
  
 .LAST    SET    *
          LOC    LIMBOP1+.LAST
  
  
 LIMBOP2  BSS    0           LIMBO BUFFER TABLE FOR TWO PRU BLOCKS
  
          LOC    0
  
 MFB      BSS    1           MIN/MAX COUNTS OF BUFFERS TO BE ASSIGNED 
                             (6/MINIMUM COUNT,6/MAXIMUM COUNT)
 NCA      BSS    1           COUNT OF BUFFERS CURRENTLY ASSIGNED BY NIP 
 NPC      BSS    1           NUMBER OF PRU CONNECTIONS
 FPB      BSS    2           ADDRESS OF FIRST BUFFER ON THE CHAIN 
 NFB      EQU    15          COUNT OF BUFFERS ON THE CHAIN THAT ARE FREE
 NRA      EQU    16          COUNT OF BUFFERS REQUESTGED BY PIP 
 RPB      EQU    18          ADDRESS OF BUFFER RELEASED BY PIP
 NSA      EQU    30          COUNT OF BUFFERS ASSIGNMENT LAST RECOGNIZED
 NBOT     EQU    31          NO BUFFER OVERRUN TIMER
 AFB      EQU    32          ACCUMULATED BUFFER REQUIREMENT COUNT 
 INB      EQU    33          NUMBER OF BUFFERS ASSIGNED INBOUND 
  
 .1       SET    *+4
 .1       SET    .1/5 
  
          BSS    .1*5-*      FILL 
  
 .LAST    SET    *
          LOC    LIMBOP2+.LAST
  
  
 LIMBOP3  BSS    0           LIMBO BUFFER TABLE FOR THREE PRU BLOCKS
  
          LOC    0
  
 MFB      BSS    1           MIN/MAX COUNTS OF BUFFERS TO BE ASSIGNED 
                             (6/MINIMUM COUNT,6/MAXIMUM COUNT)
 NCA      BSS    1           COUNT OF BUFFERS CURRENTLY ASSIGNED BY NIP 
 NPC      BSS    1           NUMBER OF PRU CONNECTIONS
 FPB      BSS    2           ADDRESS OF FIRST BUFFER ON THE CHAIN 
 NFB      EQU    15          COUNT OF BUFFERS ON THE CHAIN THAT ARE FREE
 NRA      EQU    16          COUNT OF BUFFERS REQUESTGED BY PIP 
 RPB      EQU    18          ADDRESS OF BUFFER RELEASED BY PIP
 NSA      EQU    30          COUNT OF BUFFERS ASSIGNMENT LAST RECOGNIZED
 NBOT     EQU    31          NO BUFFER OVERRUN TIMER
 AFB      EQU    32          ACCUMULATED BUFFER REQUIREMENT COUNT 
 INB      EQU    33          NUMBER OF BUFFERS ASSIGNED INBOUND 
  
 .1       SET    *+4
 .1       SET    .1/5 
  
          BSS    .1*5-*      FILL 
  
 .LAST    SET    *
          LOC    LIMBOP3+.LAST
  
 .1       SET    *-LIMBOP1+4
  
 L.FRNIP  EQU    .1/5        CENTRAL WORDS FOR NIP WORDS
 L.FRPIP  EQU    L.FRNIP     CENTRAL WORDS FOR PIP WORDS (SAME COUNT) 
          BSSZ   L.FRPIP*5   PP WORDS FOR PIP WORDS (NFB-NBOT-(PERF)) 
 L.FREE   EQU    L.FRNIP+L.FRPIP PRU FREE BUFFER TABLE SIZE (CM WORDS)
  
 .PERF    IFEQ   .PERF,1
 PERFTBL  SPACE  2,6
*                DRIVER PERFORMANCE DATA STORAGE. 
  
  
 IVTTRAN  EQU    LIMBOP1+NRA+1 IVT TRANSACTIONS THIS DRIVER CYCLE 
 PRUTRAN  EQU    LIMBOP2+NRA+1 PRU TRANSACTIONS THIS DRIVER CYCLE 
 DRCYCLE  EQU    LIMBOP3+NRA+1 DRIVER CYCLE COUNTER 
  
 .PERF    ENDIF 
  
          ERRNZ  *-LIMBOP1-NSA LIMBOP1 EXTENSION
          BSSZ   4           NSA, NBOT, AFB AND INB FOR LIMBOP1 
  
 DROR     CON    -0          DRIVER ORDINAL 
  
          ERRNZ  *-LIMBOP2-NSA LIMBOP2 EXTENSION
          BSSZ   4           NSA, NBOT, AFB AND INB FOR LIMBOP2 
  
 CHAN     CON    -0          ACTIVE FRONT END CHANNEL NUMBER
  
          ERRNZ  *-LIMBOP3-NSA LIMBOP3 EXTENSION
          BSSZ   4           NSA, NBOT, AFB AND INB FOR LIMBOP2 
  
 CCIO     SPACE  2,6
*                CIO CALL IMAGE 
  
  
 CCIO     VFD    18/OV.CIO
  
          VFD    6/**        CONTROL POINT NUMBER 
          VFD    18/0 
          VFD    18/**       FET ADDRESS
 BAT      SPACE  2,10 
**               BUFFER TABLE ADDRESS TABLE.
* 
*                THE BUFFER TABLE ADDRESS TABLE CONTAINS AN ENTRY FOR 
*                EACH PRU BUFFER SIZE.  THE CONTENTS OF EACH ENTRY IS 
*                THE ADDRESS OF THE BUFFER TABLE FOR THAT PRU BUFFER
**               SIZE.  THE BUFFER ADDRESS TABLE IS INDEXED BY *PRU*. 
  
  
 BAT      BSS    0           BUFFER TABLE ADDRESS TABLE 
  
          LOC    0
  
 PRU1     CON    LIMBOP1     ADDRESS BUFFER TABLE FOR ONE PRU BLOCKS
 PRU2     CON    LIMBOP2     ADDRESS BUFFER TABLE FOR TWO PRU BLOCKS
 PRU3     CON    LIMBOP3     ADDRESS BUFFER TABLE FOR THREE PRU BLOCKS
  
 MAXPRU   BSS    0           MAXIMUM LEGAL PRU BLOCK SIZE 
 .LAST    SET    *
          LOC    BAT+.LAST
 LASTFET  TITLE  DRIVER RESIDENT STORAGE AREA IN LOW CORE.
 STORAGE  SPACE  2,6
*                DRIVER RESIDENT STORAGE AREA.
  
  
 OVL      CON    -0          CURRENT TRANSIENT RESIDENT OVERLAY ORDINAL 
 ERRCODE  CON    0           DRIVER ERROR CODE
 ACTFES   CON    0           ACTIVE FRONT END COUNT 
 OLDMGS   BSS    1           OLD MCI GENERAL STATUS REGISTER VALUE
 CPCB     BSS    2           CURRENT PCB ADDRESS
 LPCB     BSSZ   2           LAST PCB ADDRESS 
 FCT      BSS    0           FRONT END CHANNEL TABLE
          DUP    MAXFE,1
          CON    0           6/COUNT, 6/CHANNEL 
 ACI      BSSZ   1           ACTIVE CONNECTION TABLE IDENTIFICATION 
                               (4/LINK OFFSET,8/TERMINAL NODE)
 ACT      BSSZ   2           CURRENTLY ACTIVE CONNECTION TABLE ADDRESS
 IDT      BSSZ   1           IVT DATA CYCLE TIMER 
  
  
 .BUF     EQU    *
          LOC    *O 
 BUFF     BSS    0
          LOC    .BUF 
 NAM      SPACE  2,6
*                NAM BUFFER AREAS.
  
  
 NBH      BSS    /NAM/L.BH*5 NAM BLOCK HEADER BUFFER
 NNH      BSS    /NAM/L.NH*5 NAM NETWORK HEADER BUFERR
 BLOCK    SPACE  2,6
*                FRONT END BLOCK PROTOCOL BUFFER AREAS. 
  
  
 BHB      BSS    /BLOCK/L.BH FRONT END BLOCK HEADER BUFFER AREA 
 DHB      BSS    /BLOCK/L.DH FRONT END DATA BLOCK HEADER BUFFER 
 NCH      BSS    /BLOCK/L.CH FRONT END COMMAND HEADER BUFFER
  
 .LAST    SET    *
 WORKLIST SPACE  2,12 
*                WORKLIST BUFFER AREAS. 
  
  
          ORG    BHB
  
 WHB      BSS    /NAM/L.WH   WORKLIST HEADER BUFFER 
  
 .LAST    MAX    .LAST,*
          ORG    .LAST
 DRVBUF   SPACE  2,6
*                DRIVER BUFFER AREAS. 
  
  
 DRBUF    BSS    L.DBCM*5    DRIVER BUFFER AREA 
  
 E.DRBUF  EQU    *-1         DEFINE END OF DRIVER BUFFER
  
          ORG    DRBUF
  
 .1       SET    /BLOCK/MAXCMD
          BSS    .1          UNPACKED IVT COMMAND TEXT BUFFER 
 .1       SET    E.DRBUF-*
 .1       SET    .1/5 
 .1       SET    .1/2 
 .1       SET    .1*2 
 PCBUFI   BSS    .1*5        PACKED IVT INBOUND COMMAND TEXT BUFFER 
 PCBICM   EQU    .1          INBOUND COMMAND TEXT BUFFER WORD LENGTH
 .1       SET    .1/2 
 .1       SET    .1*15
 PCBICH   EQU    .1          INBOUND COMMAND TEXT CHARACTER LENGTH
  
 .1       SET    /BLOCK/MAXCMD+2
 .1       SET    .1/3 
          ORG    DRBUF+.1 
 .1       SET    E.DRBUF-*
 PCBUFO   BSS    .1          PACKED IVT OUTBOUND COMMAND TEXT BUFFER
 PCBOCM   EQU    .1/5        OUTBOUND COMMAND TEXT BUFFER WORD LENGTH 
 WLBUF    EQU    PCBUFI      WORKLIST BUFFER
 WLBCM    EQU    PCBICM      WORKLIST BUFFER WORDLENGTH 
  
 E.LCA    SET    *+1         DEFINE END OF LOW-CORE AREA
          ORG    BUFF 
 E.LCM    BSS    0           DEFINE MOVE TO LOW CORE ENDING ADDRESS 
 DOA      SET    E.LCA
 BEGIN    TITLE  MAIN DRIVER INITIALIZATION.
          ORG    PPFW 
          QUAL   INIT 
 BEGIN    SPACE  2,18 
**               DRIVER ENTRY POINT BEGIN.
* 
*                DRIVER ENTRY POINT BEGIN TRANSFERS CONTROL TO THE
*                INITIALIZATION CONTROL PROCESSOR.  WHEN CONTROL IS 
*                RETURNED FROM THE INITIALIZATION CONTROL PROCESSOR 
*                THE INITIALIZATION OVERLAY IS LOADED AND EXECUTED. 
*                IF THE DRIVER FUNCTION REQUESTED DOES NOT REQUIRE
*                FRONT END SERVICING THE FUNCTION IS COMPLETELY 
*                PROCESSED BY THE INITIALIZATION OVERLAY.  IF CONTROL IS
*                RETURNED THE FUNCTION IS A REQUEST TO SERVICE FRONT
*                ENDS AND THE DRIVER CONTROL TABLES AND INITIALIZATION
*                CODE ARE COPIED TO LOW MEMORY AND THE MAIN DRIVER
**               INITIALIZATION ROUTINE IS ENTERED. 
  
  
 BEGIN    BSS    0           DRIVER ENTRY 
          RJM    INIT        EXIT TO INITIALIZATION CONTROL 
          RJM    EXR         LOAD AND EXECUTE INITIALIZATION OVERLAY
          LDC    B.LCM       LOAD SOURCE DATA ADDRESS 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDC    EFTN        LOAD DESTINATION ADDRESS 
          STD    T2          STORE DESTINATION ADDRESS
  
 BEGIN.1  LDI    T1          LOAD SOURCE DATA BYTE
          STI    T2          STORE INTO DESTINATION ADDRESS 
          AOD    T2          INCRMENT DESTINATION ADDRESS 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LMC    E.LCM       LESS ENDING SOURCE DATA ADDRESS
          NJN    BEGIN.1     EXIT IF NOT END OF SOURCE DATA 
          RJM    PRS         EXIT TO PRESET MAIN DRIVER MEMORY
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRM    NBH,ON      ZERO NAM BLOCK HEADER AREA 
          LJM    DCR.1       EXIT TO INITIALIZE FRONT END TABLE OFFSET
  
          QUAL
 E.INT    SET    *           DEFINE END OF INITIALIZATION CODE
 DOA      MAX    E.LCA,E.INT DEFINE MAIN DRIVER ORIGIN ADDRESS
 OL.INIT  BSS    5           INITIALIZATION OVERLAY LOAD ADDRESS
 OF.INIT  BSS    0           INITIALIZATION OVERLAY FIRST WORD ADDRESS
 DCR      TITLE  MAIN DRIVER CONTROL ROUTINES.
          ORG    DOA
 DCR      SPACE  2,14 
**               DRIVER CONTROL ROUTINE DCR.
* 
*                DRIVER CONTROL ROUTINE DCR CHECKS FOR ACTIVE FRONT 
*                ENDS.  IF THERE ARE NO ACTIVE FRONT ENDS, THE DRIVER 
*                DROPS DUE TO INACTIVITY. 
*                BEFOREHAND, THE FRONT END TABLE OFFSET IS INITIALIZED
*                FOR THE FIRST DRIVER FRONT END TABLE ENTRY AND THE 
*                NETWORK BUFFER TABLE POINTER WORD FOR THE INTERFACE
*                TABLE IS INITIALIZED FOR THE FIRST NETWORK BUFFER
**               TABLE POINTER. 
  
  
 DCR      LINK               ENTRY
          LDM    ACTFES      LOAD ACTIVE FRONT END COUNT
          ZJN    DROP        EXIT TO DROP DRIVER DUE TO NO ACTIVITY 
  
 DCR.1    LINK               ENTRY
 DCR.2    SPACE  2,16 
**               DRIVER CONTROL ROUTINE DCR.2.
* 
*                DRIVER CONTROL ROUTINE DCR.2 CHECKS FOR A KNOWN NETWORK
*                BUFFER TABLE ADDRESS BY EXAMINING THE ADDRESS IN THE 
*                FRONT END TABLE.  IF THE NETWORK BUFFER TABLE ADDRESS
*                IS KNOWN THE FRONT END HAS BEEN PROCESSED PREVIOUSLY 
*                AND CONTROL IS TRANSFERRED DIRECTLY TO THE FRONT END 
*                PROCESSING ROUTINE.  OTHERWISE THE PROCESSOR TO CHECK
*                THE POINTER WORD IN THE INTERFACE TABLE FOR A NEW
**               NETWORK BUFFER TABLE ADDRESS IS LOADED AND EXECUTED. 
  
  
 DCR.2    LINK               ENTRY
          LDM    NBT,FEI     LOAD HIGH-ORDER OF NETWORK BUFFER TABLE
          ADM    NBT+1,FEI   PLUS LOW-ORDER OF NETWORK BUFFER TABLE 
          NJN    PFE         EXIT IF NETWORK BUFFER TABLE ADDRESS KNOWN 
          LOPA   3IQ,INPT    OVERLAY ORDINAL AND PROCESSOR ADDRESS
  
 DCR.3    LINK               ENTRY
          STM    DCR.4+1     STORE ADDRESS OF PROCESSOR 
          SHN    -12         POSITION OVERLAY ORDINAL 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
  
 DCR.4    LINK               ENTRY
          LJM    **          EXIT TO OVERLAY PROCESSOR
 DROP     SPACE  2,10 
**               TERMINATION PROCESSOR DROP.
* 
*                TERMINATION PROCESSOR DROP LOADS THE TERMINATION 
**               OVERLAY AND ENTERS THE TERMINATION PROCESSOR.
  
  
 DROP     LINK               ENTRY
          LOPA   1IE,PEND    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 PFE      SPACE  2,16 
**               DRIVER CONTROL PROCESSOR PFE.
* 
*                DRIVER CONTROL PROCESSOR PFE CALLS THE PROCESSOR TO
*                CHECK FOR NAM REQUESTS AND TO INITIALIZE THE IVT DATA
*                CYCLE TIMER.  THE CHANNEL OF THE NEW FRONT END IS
*                CHECKED AGAINST THE CURRENTLY ACTIVE FRONT END CHANNEL.
*                IF THE CHANNELS ARE NOT THE SAME THE PROCESSOR IS
*                CALLED TO CHECK THAT THE CORRECT DEVICE DEPENDENT
*                OVERLAY IS LOADED AND TO INITIALIZE THE CHANNEL
**               INSTRUCTIONS IN THE DEVICE DEPENDENT OVERLAY.
  
  
 PFE      LINK               ENTRY
          LOOR   3IQ         LOAD OVERLAY ORDINAL OF SUBROUTINE 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    IDDO        EXIT TO INITIALIZE DEVICE DEPENDENT OVERLAY
  
**               CHECK FOR APPLICATION REQUEST
* 
*                EXTRA CHECK FOR APPLICATION REQUEST IS DONE IF THE 
**               FIRST NBT ENTRY IS FREE.  RETURN FROM CNIR IS TO DCR.
  
 PFE.0    LINK               ENTRY IF FIRST NBT IS FREE 
          LOOR   3IO         LOAD OVERLAY ORDINAL OF SUBROUTINE 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    CNIR        EXIT TO CHECK FOR APPLICATION REQUEST
 PFE.1    SPACE  2,14 
**               DRIVER CONTROL ROUTINE PFE.1.
* 
*                DRIVER CONTROL ROUTINE PFE.1 SCANS THE FRONT END 
*                OUTPUT FETS FOR IVT OUTPUT.  IF IVT OUTPUT IS AVAILABLE
*                THE COUPLER EXCHANGE HANDLER IS CALLED TO INITIATE THE 
*                OUTPUT.  IF THE FRONT END IS UNABLE TO ACCEPT THE
*                OUTPUT OR ALL FRONT END OUTPUT FETS HAVE BEEN
**               PROCESSED, PRU PROCESSING IS INITIATED.
  
  
 PFE.1    LINK               ENTRY
          LDM    HND,FEI     LOAD HOST NODE ID
          STD    TN          STORE TERMINAL NODE
          LDN    0           CONSTANT OF ZERO 
          STD    CN          ZERO CONNECTION NUMBER 
          STM    OTM,FEI     RESET OUTPUT DELAY TIMER 
          STM    ACI         RESET ACTIVE TABLE IDENTIFICATION
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          LDN    0           CONSTANT OF ZERO 
          RJM    CEH         NULL CALL TO COUPLER EXCHANGE HANDLER
          LDD    BHS         LOAD BLOCK HANDLER STATE 
          SBN    /TABLES/TEBS LESS FIRST TRANSITORY ERROR STATE 
          MJN    PFE.2       EXIT IF NOT TRANSITORY ERROR STATE 
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 PFE.2    LINK               ENTRY
          LOPA   2IM,PIOD    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 PFE.3    LINK               ENTRY
          RJM    CEH         EXIT TO TRANSFER IVT BLOCK TO FRONT END
          FEIO   FEOA        CHECK OUTPUT ALLOWED TO FRONT END
          ZJN    PPRU.0      EXIT IF FRONT END CANNOT ACCEPT OUTPUT 
          UJK    PFE.2       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 PFE.4    LINK               ENTRY
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          PJN    PFE.6       EXIT IF CONNECTION NUMBER ASSIGNED 
          LDD    CN          LOAD CONNECTION NUMBER 
          ZJN    PFE.6       EXIT IF SERVICE CHANNEL
  
 PFE.5    EREXIT CNU         EXIT TO ERROR - CONNECTION UNASSIGNED
  
 PFE.6    LDD    STS         LOAD STREAM STATE
          NJN    PFE.5       EXIT IF NOT IVT STREAM 
          LDD    BT          LOAD OUTBOUND BLOCK TYPE 
          UJK    PFE.3       EXIT TO TRANSFER IVT BLOCK TO FRONT END
 PPRU     SPACE  2,12 
**               DRIVER CONTROL ROUTINE PPRU. 
* 
*                DRIVER CONTROL ROUTINE PPRU CHECKS FOR PRU STREAMS ON
*                THE CURRENT FRONT END.  IF PRU STREAMS ARE PRESENT THE 
*                ADDRESS OF THE PCB IS SAVED AND THE PRU STREAM STATE 
**               PROCESSING IS PERFORMED. 
  
  
 PPRU.0   LDC    /NAM/C.NBTIRJ+T10+/NAM/W.NBTNS*10000B
                             STATUS = FRONT END REJECTED IVT BLOCK
          RJM    UNSB        EXIT TO INCREMENT FRONT END REJECT COUNT 
  
  
 PPRU     LINK               ENTRY
          LDN    /NAM/W.NBTLP DELTA FOR PCB POINTER WORD
          RJM    GNBT        EXIT TO GET PCB POINTER ABSOLUTE ADDRESS 
          CRD    T0          READ PCB POINTER WORD FROM BUFFER TABLE
          LDD    T0+/NAM/C.NBTPB LOAD HIGH-ORDER OF LAST PCB ADDRESS
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.NBTPB+1 PLUS LOW-ORDER OF LAST PCB ADDRESS 
          ZJN    NFE         EXIT IF NO PRU CONNECTIONSFOR FRONT END
          STM    LPCB+1      STORE LOW-ORDER OF LAST PCB ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STM    LPCB        STORE HIGH-ORDER OF LAST PCB ADDRESS 
          LOPA   3IL,PPST    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 NPRU     SPACE  2,12 
**               DRIVER CONTROL ROUTINE NPRU. 
* 
*                DRIVER CONTROL ROUTINE NPRU IS THE RETURN POINT FROM 
*                PRU STREAM STATE PROCESSING.  IF THIS IS NOT THE LAST
*                PRU STREAM FOR THE CURRENT FRONT END STREAM STATE
**               PROCESSING IS PERFORMED FOR THE NEXT PRU STREAM. 
  
  
 NPRU     LINK               ENTRY
          LDM    CPCB        LOAD HIGH-ORDER OF CURRENT PCB ADDRESS 
          LMM    LPCB        LESS HIGH-ORDER OF LAST PCB ADDRESS
          SHN    12          POSITION HIGH-ORDER OF RESULT
          ADM    CPCB+1      PLUS LOW-ORDER OF CURRENT PCB ADDRESS
          LMM    LPCB+1      LESS LOW-ORDER OF LAST PCB ADDRESS 
          ZJN    NFE         EXIT IF ALL PRU STREAMS PROCESSED
          LOPA   3IL,PPST.7  OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PORCESSOR LOADED 
 NFE      SPACE  2,14 
**               DRIVER CONTROL ROUTINE NFE.
* 
*                DRIVER CONTROL ROUTINE NFE UPDATES THE STATISTICS FOR
*                THE CURRENT FRONT END AND SETS UP TO PROCESS THE NEXT
*                FRONT END.  IF ALL FRONT ENDS HAVE BEEN PROCESSED THE
*                PRU BUFFER MANAGER IS ENTERED TO MAINTAIN THE DRIVER 
*                LIMBO BUFFER POOL.  OTHERWISE THE FRONT END TABLE IS 
*                ADVANCED TO THE NEXT FRONT END AND PROCESSING CONTINUES
**               WITH THAT FRONT END. 
  
  
 NFE      LINK               ENTRY
          LOPA   4IM,PNST    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 NFE.1    LINK               ENTRY
          LDK    L.FETBL     LOAD LENGTH OF FRONT END TABLE ENTRY 
          RAD    FEI         ADD TO FRONT END TABLE ADDRESS 
          AOD    PWO         INCREMENT TABLE POINTER WORD OFFSET
          LMN    MAXFE       LESS ENDING VALUE
          ZJN    NFE.2       EXIT IF LAST FRONT END TABLE PROCESSED 
          EXIT   DCR.2       EXIT TO CHECK FOR EXISTING FRONT END TABLE 
  
 NFE.2    LOPA   4IM,PBM     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 BIAS     TITLE  BLOCK HANDLER STATE PROCESSORS.
          QUAL   STATES 
 BIAS     SPACE  2,34 
**               BLOCK HANDLER STATE PROCESSOR BIAS.
* 
*                BLOCK HANDLER STATE PROCESSOR BIAS IS THE STATE
*                RESPONSIBLE FOR CO-ORDINATING OUTPUT WITH ACTIVE 
*                IVT CONNECTIONS.  THE BLOCK TYPE SPECIFIED IN THE
*                CALL, IF ANY, IS TRANSFERRED TO THE FRONT END IF 
*                THE FRONT END WILL ACCEPT OUTPUT.
* 
*                  ENTRY -
* 
*                          (BT) = OUTPUT BLOCK TYPE, IF ANY,
*                    (BHB+L.BH) = BLOCK PROTOCOL HEADER.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    EORA - EXECUTE OUTPUT BLOCK RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  MACRO CALLS -
* 
*                    FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    OUTPUT BLOCK RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BIAS     STATE              IVT ACTIVE BLOCK HANDLER STATE PROCESSOR 
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          MJN    BIAS.4      EXIT IF OUTPUT NOT REQUIRED
  
 BIAS.1   LINK               ENTRY
          FEIO   FERO        REQUEST OUTPUT TO FRONT END
          NJN    BIAS.3      EXIT IF OUTPUT ALLOWED 
          LCN    /NAM/C.NBTPRJ-/NAM/C.NBTIRJ OFFSET FOR IVT REJECT
  
 BIAS.1A  LINK               ENTRY
          ADC    /NAM/C.NBTPRJ+T10+/NAM/W.NBTNS*10000B
                             STATUS = FRONT END REJECTED PRU BLOCK
          RJM    UNSB        EXIT TO INCREMENT FRONT END REJECT COUNT 
  
 BIAS.2   LINK               ENTRY
          EXIT   CEH.3       EXIT TO INPUT IF OUTPUT NOT POSSIBLE 
  
 BIAS.3   LINK               ENTRY
 EORA     LDC    /TABLES/OBR LOAD FWA OF OUTPUT BLOCK RESPONSE TABLE
          ADD    BT          PLUS BLOCK TYPE
          EXIT EIIA.1        EXIT TO GET RESPONSE TABLE ENTRY 
                             EXIT TO CEHX AFTER BLOCK RESPONSE ACTION 
  
 BIAS.4   ADN    1           PLUS ONE 
          ZJN    BIAS.2      EXIT IF NO IVT COMMAND TO PROCESS
  
 BIAS.5   LINK               ENTRY
          LDD    T17         LOAD IVT COMMAND ORDINAL 
          STD    CO          STORE COMMAND ORDINAL
  
 BIAS.6   LINK               ENTRY
          RJM    EBRA        EXIT TO EXECUTE BLOCK RESPONSE ACTION
          EXIT   CEHX        RETURN VIA COUPLER EXCHANGE ROUTINE RETURN 
 BPAS     SPACE  2,36 
**               BLOCK HANDLER STATE PROCESSOR BPAS.
* 
*                BLOCK HANDLER STATE PROCESSOR BPAS IS THE STATE
*                RESPONSIBLE FOR CO-ORDINATING OUTPUT WITH ACTIVE 
*                PRU CONNECTIONS.  THE BLOCK PROTOCOL HEADER IS FORMED
*                AND THE BLOCK TYPE SPECIFIED IN THE CALL, IF ANY, IS 
*                TRANSFERRED TO THE FRONT END IF THE FRONT END WILL 
*                ACCEPT OUTPUT. 
* 
*                  ENTRY -
* 
*                     (BT) = OUTPUT BLOCK TYPE, IF ANY, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (HND) = HOST NODE, 
*                     (TN) = TERMINAL NODE, 
*                     (CN) = CONNECTION NUMBER. 
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  MACRO CALLS -
* 
*                    FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
**                   OUTPUT BLOCK RESPONSE ACTION PROCESSOR.
  
  
 BPAS     STATE              PRU ACTIVE BLOCK HANDLER STATE PROCESSOR 
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          MJN    BIAS.2      EXIT IF OUTPUT NOT REQUIRED
          FEIO   FERO        REQUEST OUTPUT TO FRONT END
          ZJN    BIAS.1A     EXIT IF OUTPUT NOT ALLOWED 
          LDM    HND,FEI     LOAD HOST NODE ID
          STM    BHB+/BLOCK/SN STORE SOURCE NODE OF MESSAGE 
          LDD    TN          LOAD TERMINAL NODE 
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE OF MESSAGE
          LDD    CN          LOAD CONNECTION NUMBER 
          STM    BHB+/BLOCK/CN STORE CONNECTION NUMBER OF MESSAGE 
          LDD    BT          LOAD OUTPUT BLOCK TYPE 
          RAM    BHB+/BLOCK/BNBT ADD TO BLOCK NUMBER OF MESSAGE 
          EXIT   BIAS.3      EXIT TO EXECUTE OUTPUT BLOCK RESPONSE
 SILL     TITLE  STREAM STATE PROCESSORS. 
 SILL     SPACE  2,12 
**               STREAM STATE PROCESSOR SILL. 
* 
*                STREAM STATE PROCESSOR SILL PROCESSES A STREAM STATE 
*                THAT CANNOT BE LOGICALLY EXECUTED.  IF THE STATE IS
*                ENTERED CONTROL IS TRANSFERRED TO THE DRIVER ERROR 
**               ROUTINE. 
  
  
 SILL     STATE              ILLEGAL STREAM STATE 
          EREXIT ISS         EXIT TO ERROR - ILLEGAL STREAM STATE 
 SCWL     SPACE  2,26 
**               STREAM STATE PROCESSOR SCWL. 
* 
*                STREAM STATE PROCESSOR SCWL CHECKS FOR A WORKLIST ENTRY
*                TO PROCESS.  IF A WORKLIST NEEDS TO BE PROCESSED THE 
*                WORKLIST VALIDATION PROCESSOR OVERLAY IS LOADED AND THE
*                WORKLIST IS PROCESSED. 
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                     COL - CHECK OVERLAY LOADED, 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST VALIDATION PROCESSOR, 
*                    WORKLIST PROCESSOR,
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SCWL     STATE              CHECK FOR WORKLIST ENTRY TO PROCESS
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
  
 SCWL.1   LINK               ENTRY
          MJN    SSNA        EXIT IF LOGICAL LINK IN REGULATION 
          NJN    SCWL.2      EXIT IF WORKLIST TO PROCESS
          RJM    CWLQ        EXIT TO CHECK FOR NORMAL WORKLIST ENTRY
          ZJN    SSNA        EXIT IF NO WORKLIST TO PROCESS 
  
 SCWL.2   LINK               ENTRY
          STD    FBA+1       STORE LOW-ORDER OF WORKLIST ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    FBA         STORE HIGH-ORDER OF WORKLIST ADDRESS 
          LOPA   4IQ,VWLE    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 SCWL.3   LINK               ENTRY
          RJM    EWLP        EXIT TO EXECUTE WORKLIST PROCESSOR 
  
 SCWL.4   LINK               ENTRY
          RJM    ESRA        EXIT TO EXECUTE STREAM RESPONSE ACTION 
 SSNA     SPACE  2,10 
**               STREAM STATE PROCESSOR SSNA. 
* 
*                STREAM STATE PROCESSOR SSNA PROCESSES A NO ACTION
**               STATE BY TRANSFERRING TO PROCESS THE NEXT PRU STREAM.
  
  
 SSNA     STATE              NO ACTION REQUIRED 
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 SIWL     SPACE  2,24 
**               STREAM STATE PROCESSOR SIWL. 
* 
*                STREAM STATE PROCESSOR SIWL CHECKS FOR AN IMMEDIATE
*                WORKLIST ENTRY TO PROCESS.  IF AN IMMEDIATE WORKLIST 
*                NEEDS TO BE PROCESSED THE WORKLIST VALIDATION PROCESSOR
*                OVERLAY IS LOADED AND THE WORKLIST IS PROCESSED. 
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                     COL - CHECK OVERLAY LOADED, 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST VALIDATION PROCESSOR, 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SIWL     STATE              CHECK FOR IMMEDIATE WORKLIST ENTRY 
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          NJN    SCWL.1      EXIT IF WORKLIST OR REGULATION 
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 SOPC     SPACE  2,40 
**               STREAM STATE PROCESSOR SOPC. 
* 
*                STREAM STATE PROCESSOR SOPC PROCESSES A QUEUED PRU 
*                COMMAND TO THE FRONT END.  IF THERE IS AN IMMEDIATE
*                WORKLIST QUEUED FOR THE STREAM IT IS PROCESSED.  IF
*                THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE 
*                WORKLIST COMPLETED WORKLIST THE NETWORK BLOCK LIMIT IS 
*                CHECKED.  IF THE NETWORK BLOCK LIMIT HAS NOT BEEN
*                REACHED THE WORKLIST PARAMETER WORD IS OBTAINED FROM 
*                THE PCB, THE COMMAND AND WORKLIST POINTER WORD ORDINALS
*                ARE STORED, THE COMMAND ACTION PROCESSOR IS CALLED AND 
*                THE PRU COMMAND IS TRANSFERRED TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM. 
* 
*                  EXIT - 
* 
*                     (CO) = NPU COMMAND ORDINAL, 
*                    (WLP) = WORKLIST POINTER WORD ORDINAL. 
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    EOCP - EXECUTE PRU COMMAND PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO FRONT END. 
* 
*                  PROCESSOR CALLS -
* 
**                   PRU OUTPUT COMMAND PROCESSOR.
  
  
 SOPC     STATE              OUTPUT PRU STREAM COMMAND TO NPU 
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          NJN    SCWL.1      EXIT IF WORKLIST OR REGULATION 
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETE WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    SOPC.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 SOPC.1   LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          LMD    NBL         LESS NETWORK BLOCK LIMIT 
          ZJN    SOPC.4      EXIT IF NETWORK BLOCK LIMIT REACHED
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBWP LOAD WORKLIST PARAMETER BYTE
          SHN    12          WORKLIST POINTER WORD ORDINAL TO LOW-ORDER 
          STD    WLP         STORE WORKLIST POINTER WORD ORDINAL
          SHN    -12         NPU COMMAND ORDINAL TO LOW-ORDER 
  
 SOPC.2   LINK               ENTRY
          STD    CO          STORE COMMAND ORDINAL
 EOCP     LDN    /ACTORD/CMDOUT OUTPUT COMMAND DIRECTORY TABLE ADDRESS
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/NPOR FWA OF OUTPUT COMMAND RESPONSE TABLE
          EXIT   EICA.1      EXIT TO GET RESPONSE TABLE ADDRESS 
  
 SOPC.3   LINK               ENTRY
          RJM    CEH         EXIT TO TRANSFER OUTPUT TO FRONT END 
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 SOPC.4   EXIT   SPIQ.6      EXIT TO CHECK FOR BACK OWED
 SIQP     SPACE  2,40 
**               STREAM STATE PROCESSOR SIQP. 
* 
*                STREAM STATE PROCESSOR SIQP PROCESSES THE QUEUE FOR
*                PRU INPUT STREAMS.  THE OLD STATE IS SET TO THE CURRENT
*                STATE.  IF A WORKLIST COMMAND IS QUEUED ON THE PCB THE 
*                WORKLIST COMMAND ORDINAL IS STORED AND THE WORKLIST
*                COMMAND IS PROCESSED.  IF DATA IS QUEUED TO THE PCB THE
*                STREAM STATE RESPONSE ACTION IS EXECUTED TO PROCESS THE
*                QUEUED DATA.  OTHERWISE A CHECK IS MADE FOR A WORKLIST 
*                TO PROCESS.  IF A WORKLIST NEEDS TO BE PROCESSED THE 
*                WORKLIST VALIDATION PROCESSOR OVERLAY IS LOADED AND THE
*                WORKLIST IS PROCESSED.  IF THERE ARE OUTSTANDING BACKS 
*                ON THE STREAM AN ATTEMPT IS MADE TO TRANSFER A BACK TO 
*                THE FRONT END. 
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    SCSS - SET OLD STATE TO CURRENT STREAM STATE,
*                    RPCB - READ WORD FROM PCB, 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                     CEH - TRANSFER OUTPUT TO FRONT END, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT.
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SIQP     STATE              PROCESS QUEUE FOR PRU INPUT STREAM 
          RJM    SCSS        EXIT TO SET OLD STATE TO CURRENT STATE 
 SPIQ     SPACE  2,38 
**               STREAM STATE PROCESSOR SPIQ. 
* 
*                STREAM STATE PROCESSOR SPIQ PROCESSES THE QUEUE FOR
*                PRU INPUT STREAMS.  IF A WORKLIST COMMAND IS QUEUED ON 
*                THE PCB THE WORKLIST COMMAND ORDINAL IS STORED AND THE 
*                WORKLIST COMMAND IS PROCESSED.  IF DATA IS QUEUED TO 
*                THE PCB THE STREAM STATE RESPONSE ACTION IS EXECUTED TO
*                PROCESS THE QUEUED DATA.  OTHERWISE A CHECK IS MADE
*                FOR A WORKLIST TO PROCESS.  IF A WORKLIST NEEDS TO BE
*                PROCESSED THE WORKLIST VALIDATION PROCESSOR OVERLAY IS 
*                LOADED AND THE WORKLIST IS PROCESSED.  IF THERE ARE
*                OUTSTANDING BACKS ON THE STREAM AN ATTEMPT IS MADE TO
*                TRANSFER A BACK TO THE FRONT END.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CIWL - CHECK IMMEDIATE WORKLIST ENTRY, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                     CEH - TRANSFER OUTPUT TO FRONT END, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT.
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SPIQ     STATE              PROCESS QUEUE FOR PRU INPUT STREAM 
          LDN    /NAM/W.PCBWLQ LOAD WORKLIST QUEUE POINTER WORD ORDINAL 
          RJM    RPCB        EXIT TO READ WORKLIST QUEUE POINTER WORD 
          ADN    /NAM/W.PCBPS8-/NAM/W.PCBPS2 DELTA TO PARAMETER WORD 8
          CRD    T2          READ PARAMETER WORD EIGHT
          LDD    T10+/NAM/C.QIO LOAD QUEUE IN/OUT POINTER BYTE
          ZJN    SPIQ.3      EXIT IF WORKLIST COMMAND QUEUE EMPTY 
          LPN    77B         EXTRACT WORKLIST COMMAND QUEUE OUT POINTER 
          SHN    18-1        DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          ADN    T10+/NAM/C.QUE PLUS FWA OF WORKLIST COMMAND QUEUE
          STD    T1          STORE WORKLIST COMMAND QUEUE BYTE ADDRESS
          MJN    SPIQ.2      EXIT IF RIGHT POSITION OF BYTE 
          LDI    T1          LOAD WORKLIST COMMAND QUEUE BYTE 
          SHN    -6          POSITION WORKLIST COMMAND ORDINAL
  
 SPIQ.1   LINK               ENTRY
          STD    WLO         STORE WORKLIST COMMAND ORDINAL 
          EXIT   SCWL.3      EXIT TO EXECUTE WORKLIST PROCESSOR 
  
 SPIQ.2   LDI    T1          LOAD WORKLIST COMMAND QUEUE BYTE 
          LPN    77B         EXTRACT WORKLIST COMMAND ORDINAL 
          UJK    SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
  
 SPIQ.3   LDD    T2+/NAM/C.PCBQBC LOAD QUEUED BUFFER COUNT
          SBN    7           LESS MAXIMUM ALLOWED TO BE QUEUED
          PJN    SPIQ.3A     EXIT 7 OR MORE QUEUED - DONT ISSUE BACK
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          SHN    -/NAM/S.IBC OUTSTANDING BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING BACK COUNT 
          NJN    SPIQ.7      EXIT IF OUTSTANDING BACKS
 SPIQ.3A  LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF BUFFER ADDRESS
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF BUFFER ADDRESS 
          ZJN    SPIQ.4      EXIT IF NO DATA QUEUED TO PCB
          LDN    /TABLES/.SQID STREAM ACTION ORDINAL FOR QUEUED DATA
          EXIT   SCWL.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 SPIQ.4   RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          NJN    SPIQ.5      EXIT IF WORKLIST OR REGULATION 
          RJM    CWLQ        EXIT TO CHECK FOR NORMAL WORKLIST ENTRY
          ZJN    SPIQ.6      EXIT IF NO WORKLIST TO PROCESS 
  
 SPIQ.5   EXIT   SCWL.1      EXIT TO PROCESS WORKLIST OR REGULATION 
  
 SPIQ.6   LINK               ENTRY
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          SHN    -/NAM/S.IBC OUTSTANDING BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING BACK COUNT 
          ZJN    SPIQ.8      EXIT IF NO OUTSTANDING BACKS 
  
 SPIQ.7   LINK               ENTRY
          LDN    /BLOCK/L.BACK TEXT CHARACTER LENGTH OF BACK
          STM    NNH+/NAM/C.MCC STORE OUTPUT TEXT CHARACTER LENGTH
          LDN    /BLOCK/BACK LOAD BACK BLOCK TYPE 
          EXIT   SOPC.3      EXIT TO TRANSFER BACK TO FRONT END 
  
 SPIQ.8   LINK               ENTRY
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    SPIQ.9      EXIT IF NOT APPLICATION TO APPLICATION 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          SBD    T10+/NAM/C.PCBL7T LESS LEVEL SEVEN TIMEOUT VALUE 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    SPIQ.9      EXIT IF LEVEL SEVEN TIMER NOT EXPIRED
  
          EREXIT TO7         EXIT TO ERROR - LEVEL SEVEN TIMEOUT
  
 SPIQ.9   EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 SPOQ     SPACE  2,44 
**               STREAM STATE PROCESSOR SPOQ. 
* 
*                STREAM STATE PROCESSOR SPOQ PROCESSES THE QUEUE FOR
*                PRU OUTPUT STREAMS.  THE OLD STATE IS SET TO THE 
*                CURRENT STATE.  IF AN APPLICATION WORKLIST IS AVAILABLE
*                IT IS PROCESSED.  IF THERE ARE OUTSTANDING BACKS OWED
*                ON THE STREAM AN ATTEMPT IS MADE TO TRANSFER A BACK TO 
*                A BACK TO THE FRONT END.  IF THE CONNECTION IS AN
*                APPLICATION TO APPLICATION CONNECTION AND THE NETWORK
*                BLOCK LIMIT HAS NOT BEEN REACHED FOR THE STREAM A CHECK
*                IS MADE FOR A CHECKMARK REQUIRED.  IF A CHECKMARK IS 
*                REQUIRED AND THE LAST CHECKMARK HAS BEEN ACKNOWLEDGED
*                AN ATTEMPT IS MADE TO ISSUE THE CHECKMARK COMMAND TO 
*                THE FRONT END.  IF A CHECKMARK IS NOT REQUIRED A CHECK 
*                IS MADE TO SEE IF THE CHECKMARK WINDOW SIZE HAS BEEN 
*                REACHED.  IF THE CHECKMARK WINDOW SIZE HAS BEEN REACHED
*                THE NEXT PRU STREWM IS PROCESSED.  OTHERWISE THE STREAM
*                STATE RESPONSE ACTION FOR OUTPUT ALLOWED IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    SCSS - SET OLD STATE TO CURRENT STREAM STATE,
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                     CEH - TRANSFER OUTPUT TO FRONT END, 
*                    RPCB - READ WORD FROM PCB, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CL7T - CHECK LEVEL SEVEN TIMEOUT.
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SPOQ     STATE              PROCESS QUEUE FOR PRU OUTPUT STREAM
          RJM    SCSS        EXIT TO SET OLD STATE TO CURRENT STATE 
 SPDQ     SPACE  2,42 
**               STREAM STATE PROCESSOR SPDQ. 
* 
*                STREAM STATE PROCESSOR SPDQ PROCESSES THE QUEUE FOR
*                PRU OUTPUT STREAMS.  IF AN APPLICATION WORKLIST IS 
*                AVAILABLE IT IS PROCESSED.  IF THERE ARE OUTSTANDING 
*                BACKS OWED ON THE STREAM AN ATTEMPT IS MADE TO TRANSFER
*                A BACK TO THE FRONT END.  IF THE CONNECTION IS AN
*                APPLICATION TO APPLICATION CONNECTION AND THE NETWORK
*                BLOCK LIMIT HAS NOT BEEN REACHED FOR THE STREAM A CHECK
*                IS MADE FOR A CHECKMARK REQUIRED.  IF A CHECKMARK IS 
*                REQUIRED AND THE LAST CHECKMARK HAS BEEN ACKNOWLEDGED
*                AN ATTEMPT IS MADE TO ISSUE THE CHECKMARK COMMAND TO 
*                THE FRONT END.  IF A CHECKMARK IS NOT REQUIRED A CHECK 
*                IS MADE TO SEE IF THE CHECKMARK WINDOW SIZE HAS BEEN 
*                REACHED.  IF THE CHECKMARK WINDOW SIZE HAS BEEN REACHED
*                THE NEXT PRU STREAM IS PROCESSED.  OTHERWISE THE STREAM
*                STATE RESPONSE ACTION FOR OUTPUT ALLOWED IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                     CEH - TRANSFER OUTPUT TO FRONT END, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                    RPCB - READ WORD FROM PCB, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT.
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SPDQ     STATE              PROCESS QUEUE FOR PRU OUTPUT STREAM
          LOPA   4IO,PPOS    OVERLAY ORDINAL & PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO LOAD OVERLAY 
 SRJV     SPACE  2,20 
**               STREAM STATE PROCESSOR SRJV. 
* 
*                STREAM STATE PROCESSOR SRJV REQUESTS JOB VALIDATION
*                BY STORING THE WORKLIST COMMAND ORDINAL FOR REQUEST
*                JOB VALIDATION.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SRJV     STATE              REQUEST JOB VALIDATION 
          LDN    /TABLES/ISJV LOAD WORKLIST COMMAND ORDINAL 
          EXIT   SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SRSI     SPACE  2,20 
**               STREAM STATE PROCESSOR SRSI. 
* 
*                STREAM STATE PROCESSOR SRSI REPORTS THE PRU INPUT
*                STREAM STOPPED INTERNALLY BY STORING THE WORKLIST
*                COMMAND ORDINAL FOR INPUT STREAM STOPPED INTERNALLY. 
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SRSI     STATE              REPORT INPUT STREAM STOPPED INTERNALLY 
          LDN    /TABLES/ISSI LOAD WORKLIST COMMAND ORDINAL 
          EXIT   SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SRSA     SPACE  2,22 
**               STREAM STATE PROCESSOR SRSA. 
* 
*                STREAM STATE PROCESSOR SRSA REPORTS THE PRU OUTPUT 
*                STREAM STOPPED BY THE APPLICATION BY STORING THE 
*                WORKLIST COMMAND ORDINAL FOR OUTPUT STREAM STOPPED 
*                BY THE APPLICATION.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SRSA     STATE              REPORT OUTPUT STREAM STOPPED BY APPLICATION
          LDN    /TABLES/OSAS LOAD WORKLIST COMMAND ORDINAL 
          EXIT   SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SRSO     SPACE  2,20 
**               STREAM STATE PROCESSOR SRSO. 
* 
*                STREAM STATE PROCESSOR SRSO REPORTS THE PRU OUTPUT 
*                STREAM STOPPED INTERNALLY BY STORING THE WORKLIST
*                COMMAND ORDINAL FOR OUTPUT STREAM STOPPED INTERNALLY.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SRSO     STATE              REPORT OUTPUT STREAM STOPPED INTERNALLY
          LDN    /TABLES/OSSI LOAD WORKLIST COMMAND ORDINAL 
          EXIT   SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SFIE     SPACE  2,24 
**               STREAM STATE PROCESSOR SFIE. 
* 
*                STREAM STATE PROCESSOR SFIE REPORTS THE END OF THE 
*                INBOUND FILE TRANSFER BY STORING THE STREAM STOPPED
*                REASON CODE IN THE PCB AND SETTING THE WORKLIST
*                ORDINAL TO TRANSFER THE END OF INBOUND FILE TRANSFER 
*                SUPERVISORY MESSAGE TO THE HOST APPLICATION. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SFIE     STATE              REPORT END OF INBOUND FILE TRANSFER
          LDN    /TABLES/L7EI LOAD END OF INBOUND FILE WORKLIST ORDINAL 
  
 SFIE.1   LINK               ENTRY
          STD    T7          STORE WORKLIST COMMAND ORDINAL 
          LDN    /NAM/FTRCNO LOAD STREAM STOPPED REASON CODE
  
 SFIE.2   LINK               ENTRY
          STD    T17         STORE STREAM STOPPED REASON CODE 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SCN    77B         CLEAR OLD EXTERNALLY STOPPED REASON CODE 
          ADD    T17         PLUS NEW EXTERNALLY STOPPED REASON CODE
          STD    T10+/NAM/C.PCBSS STORE STREAM STOPPED REASON CODES 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    T7          LOAD WORKLIST COMMAND ORDINAL
          EXIT   SPIQ.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SFOE     SPACE  2,24 
**               STREAM STATE PROCESSOR SFOE. 
* 
*                STREAM STATE PROCESSOR SFOE REPORTS THE END OF THE 
*                OUTBOUND FILE TRANSFER BY STORING THE STREAM STOPPED 
*                REASON CODE IN THE PCB AND SETTING THE WORKLIST
*                ORDINAL TO TRANSFER THE END OF OUTBOUND FILE TRANSFER
*                SUPERVISORY MESSAGE TO THE HOST APPLICATION. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SFOE     STATE              REPORT END OF OUTBOUND FILE TRANSFER 
          LDN    /TABLES/L7EO LOAD END OF OUTBOUND FILE WORKLIST ORDINAL
          EXIT   SFIE.1      EXIT TO STORE WORKLIST COMMAND ORDINAL 
 SFTE     SPACE  2,24 
**               STREAM STATE PROCESSOR SFTE. 
* 
*                STREAM STATE PROCESSOR SFTE REPORTS A MASS STORAGE 
*                ERROR ON A FILE TRANSFER BY STORING THE STREAM STOPPED 
*                REASON CODE IN THE PCB AND SETTING THE WORKLIST
*                ORDINAL TO TRANSFER THE MASS STORAGE ERROR ON FILE 
*                TRANSFER SUPERVISORY MESSAGE TO THE HOST APPLICATION.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SFTE     STATE              REPORT MASS STORAGE ERROR ON FILE TRANSFER 
          LDN    /TABLES/L7ER LOAD MASS STORAGE ERROR WORKLIST ORDINAL
          STD    T7          STORE WORKLIST COMMAND ORDINAL 
          LDN    /NAM/FTRCME LOAD STREAM STOPPED REASON CODE
          EXIT   SFIE.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 SEL7     SPACE  2,22 
**               STREAM STATE PROCESSOR SEL7. 
* 
*                STREAM STATE PROCESSOR SEL7 REPORTS A LEVEL SEVEN ERROR
*                ON A FILE TRANSFER.  THE WORKLIST COMMAND ORDINAL IS 
*                STORED AND THE WORKLIST IS TRANSFERRED TO THE INBOUND
*                BUFFER.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
*                    WORKLIST ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 SEL7     STATE              PROCESS LEVEL SEVEN ERROR
          LOPA   2IO,PEL7    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT DCR.3         EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRNO     SPACE  2,30 
**               STREAM STATE PROCESSOR SRNO. 
* 
*                STREAM STATE PROCESSOR SRNO REQUESTS THE NEXT OUTPUT 
*                DATA BLOCK FOR A PRU STREAM.  IF THE LIMBO BUFFER IS 
*                ALREADY QUEUED TO THE PCB A CHECK IS MADE TO ASSURE
*                THAT THE OVERLAY PORCESSOR IS LOADED AND THE DRIVER
*                SUPPORT PROCESSOR TO CALL CIO IS EXECUTED.  OTHERWISE
*                IF A LIMBO BUFFER IS AVAILABLE A CHECK IS MADE TO
*                ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE
*                DRIVER SUPPORT PROCESSOR TO REQUEST THE NEXT OUTPUT
*                DATA BLOCK IS EXECUTED.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU BUFFER SIZE ERROR IN PCB. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                     COL - CHECK OVERLAY LOADED. 
* 
*                  PROCESSOR CALLS -
* 
*                    PSNO - SET FOR NEXT OUTPUT BLOCK PROCESSOR,
**                   PCIO - CIO SUPPORT PROCESSOR.
  
  
 SRNO     STATE              REQUEST NEXT OUTPUT DATA BLOCK 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF BUFFER ADDRESS
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF BUFFER ADDRESS 
          NJN    SRMS        EXIT IF LIMBO BUFFER ASSIGNED
          RJM    RPCB        EXIT TO READ PCB HEADER WORD 
          LDD    T10+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE
          LPN    /NAM/L.PCBNBS EXTRACT PRU BUFFER SIZE
          SBN    1           LESS ONE FOR RELATIVE ZERO 
          STD    PRU         STORE PRU BUFFER SIZE ORDINAL
          SBN    MAXPRU      LESS MAXIMUM BUFFER SIZE ORDINAL 
          MJN    SRNO.2      EXIT IF BUFFER SIZE VALID
  
 SRNO.1   LINK               ENTRY
          EREXIT PBS         EXIT TO ERROR - PCB PRU BUFFER SIZE ERROR
  
 SRNO.1A  AOM    AFB,BTI     INCREMENT ADDITIONAL FREE BUFFER REQUIRED
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 SRMS     STATE              REQUEST MASS ATORAGE OPERATION 
          LOPA   4IM,PCIO    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 SRNO.2   LDM    BAT,PRU     LOAD ADDRESS OF PRU BUFFER TABLE 
          STD    BTI         STORE PRU BUFFER TABLE INDEX 
          LDM    NFB,BTI     LOAD FREE BUFFER COUNT 
          SBN    1           CHECK FOR ONE FREE BUFFER
          MJN    SRNO.1A     EXIT IF PRU BUFFER NOT AVAILABLE 
          ADM    MFB,BTI     MIN/MAX BUFFER COUNTS
          LPN    77B         EXTRACT MAXIMUM BUFFER COUNT TO BE ASSIGNED
          SBM    NCA,BTI     MINUS CURRENT BUFFER COUNT 
          ADM    INB,BTI     PLUS INBOUND BUFFER ASSIGNMENT COUNT 
          ZJN    SRNO.1A     EXIT IF LIMIT REACHED AND NO INBOUNDS
                             AND ONLY ONE BUFFER REMAINING
  
 SRNO.3   LOPA   4IO,PSNO    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SPIN     SPACE  2,20 
**               STREAM STATE PROCESSOR SPIN. 
* 
*                STREAM STATE PROCESSOR SPIN PROCESSES A STREAM THAT IS 
*                BEING INITIALIZED AS A PRU STREAM BY LOADING THE PRU 
*                STREAM STATE INITIALIZATION PROCESSOR AND EXECUTING THE
*                PRU STREAM STATE INITIALIZATION PROCESSOR. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSORS CALLS - 
* 
**                   INSS - INITIALIZE PRU STREAM STATE.
  
  
 SPIN     STATE              INITIAL PRU STREAM STATE 
          LOPA   2IM,INSS    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRMS     SPACE  2,20 
**               STREAM STATE PROCESSOR SRMS. 
* 
*                STREAM STATE PROCESSOR SRMS REQUESTS CIO TO PERFORM A
*                MASS STORAGE OPERATION ON THE STREAM.  A CHECK IS MADE 
*                TO ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE 
*                DRIVER SUPPORT PROCESSOR TO CALL CIO IS EXECUTED.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PCIO - CIO SUPPORT PROCESSOR.
  
  
*                            THE CODE IS PLACED IN SRNO.
 SWMS     SPACE  2,20 
**               STREAM STATE PROCESSOR SWMS. 
* 
*                STREAM STATE PROCESSOR SWMS WAITS FOR A MASS STORAGE 
*                OPERATION TO COMPLETE.  A CHECK IS MADE TO ASSURE THAT 
*                THE OVERLAY PROCESSOR IS LOADED AND THE DRIVER SUPPORT 
*                PROCESSOR TO CHECK THE MASS STORAGE OPERATION STATUS 
*                IS EXECUTED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PCMS - CHECK MASS STORAGE COMPLETE PROCESSOR.
  
  
 SWMS     STATE              WAIT FOR MASS STORAGE COMPLETE 
          LOPA   4IO,PCMS    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SWDO     SPACE  2,20 
**               STREAM STATE PROCESSOR SWDO. 
* 
*                STREAM STATE PROCESSOR SWDO TRANSFERS A DIRECT OUTPUT
*                BLOCK TO THE FRONT END.  A CHECK IS MADE TO ASSURE THAT
*                THE OVERLAY PROCESSOR IS LOADED AND THE DRIVER SUPPORT 
*                PROCESSOR TO TRANSFER THE DIRECT OUTPUT BLOCK TO THE 
*                FRONT END IS EXECUTED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PDOR - DIRECT OUTPUT REQUEST PROCESSOR.
  
  
 SWDO     STATE              TRANSFER DIRECT OUTPUT REQUEST TO FRONT END
          LOPA   5IO,PDOR    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 SWDO.1   LINK               ENTRY
          LOPA   3IM,PPOD.6  OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TOP CHECK OVERLAYU PROCESSOR LOADED 
 SWEJ     SPACE  2,20 
**               STREAM STATE PROCESSOR SWEJ. 
* 
*                STREAM STATE PROCESSOR SWEJ TRANSFERS AN END OF JOB
*                DIRECT OUTPUT REQUEST TO THE FRONT END.  A CHECK IS
*                MADE TO ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND
*                THE DRIVER SUPPORT PROCESSOR TO TRANSFER THE END OF JOB
*                DIRECT OUTPUT BLOCK TO THE FRONT END IS EXECUTED.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PEOR - END OF JOB DIRECT OUTPUT REQUEST PROCESSOR. 
  
  
 SWEJ     STATE              TRANSFER EOJ DIRECT OUTPUT TO FRONT END
          LOPA   5IO,PEOR    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 STPO     SPACE  2,20 
**               STREAM STATE PROCESSOR STPO. 
* 
*                STREAM STATE PROCESSOR STPO TRANSFERS A PRU OUTPUT 
*                BLOCK TO THE FRONT END.  A CHECK IS MADE TO ASSURE THAT
*                THE OVERLAY PROCESSOR IS LOADED AND THE DRIVER SUPPORT 
*                PROCESSOR TO TRANSFER THE PRU OUTPUT BLOCK TO THE NPU
*                IS EXECUTED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PPOD - PRU OUTPUT PROCESSOR. 
  
  
 STPO     STATE              TRANSFER PRU OUTPUT TO NPU 
          LOPA   3IM,PPOD    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 STSR     SPACE  2,20 
**               STREAM STATE PROCESSOR STSR. 
* 
*                STREAM STATE PROCESSOR STSR TRANSFERS THE START OF 
*                DATA REPLY TO THE REMOTE APPLICATION.  A CHECK IS MADE 
*                TO ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE 
*                DRIVER SUPPORT PROCESSOR TO TRANSFER THE START OF DATA 
*                REPLY IS EXECUTED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   TSR - TRANSFER START OF DATA REPLY.
  
  
 STSR     STATE              TRANSFER START DATA REPLY TO REMOTE
          LOPA   4IO,TSR     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY LOADED 
 STCR     SPACE  2,18 
**               STREAM STATE PROCESSOR STCR. 
* 
*                STREAM STATE PROCESSOR STCR TRANSFERS A CHECKMARK
*                REPLY TO THE REMOTE APPLICATION. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   ICR - TRANSFER CHECKMARK REPLY.
  
  
 STCR     STATE              TRANSFER CHECKMARK REPLY TO REMOTE 
          LOPA   4IO,ICR     OVERLIAY ORDINAL AND PROCESSOR ADDRESS 
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SOIC     SPACE  2,20 
**               STREAM STATE PROCESSOR SOIC. 
* 
*                STREAM STATE PROCESSOR SOIC PROCESSES A QUEUED PRU 
*                INTERRUPT COMMAND TO THE FRONT END.  A CHECK IS MADE TO
*                ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE
*                DRIVER SUPPORT PROCESSOR TO TRANSFER THE INTERRUPT 
*                COMMAND IS EXECUTED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   OIC - TRANSFER INTERRUPT COMMAND TO FRONT END. 
  
  
 SOIC     STATE              TRANSFER INTERRUPT COMAND TO FRONT END 
          LOPA   4IO,OIC     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY LOADED 
 SWNA     SPACE  2,20 
**               STREAM STATE PROCESSOR SWNA. 
* 
*                STREAM STATE PROCESSOR SWNA WAITS FOR NO OUTPUT
*                ACTIVITY ON A PRU STREAM.  A CHECK IS MADE TO
*                ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE
*                DRIVER SUPPORT PROCESSOR TO WAIT FOR NO OUTPUT 
*                ACTIVITY IS EXECUTED.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   WNA - WAIT NO OUTPUT ACTIVITY. 
  
  
 SWNA     STATE              WAIT NO OUTPUT ACTIVITY
          LOPA   4IO,WNA     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY LOADED 
 SWNO     SPACE  2,20 
**               STREAM STATE PROCESSOR SWNO. 
* 
*                STREAM STATE PROCESSOR SWNO WAITS FOR NO OUTPUT
*                ACTIVITY ON A PRU STREAM.  A CHECK IS MADE TO
*                ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE
*                DRIVER SUPPORT PROCESSOR TO WAIT FOR NO OUTPUT 
*                ACTIVITY IS EXECUTED.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   WNO - WAIT NO OUTPUT ACTIVITY. 
  
  
 SWNO     STATE              WAIT NO OUTPUT ACTIVITY
          LOPA   4IO,WNO     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY LOADED 
 STPS     SPACE  2,20 
**               STREAM STATE PROCESSOR STPS. 
* 
*                STREAM STATE PROCESSOR STPS PROCESSES A STREAM THAT IS 
*                BEING TERMINATED AS A PRU STREAM.  A CHECK IS MADE TO
*                ASSURE THAT THE OVERLAY PROCESSOR IS LOADED AND THE
*                DRIVER SUPPORT PROCESSOR TO TERMINATE A PRU STREAM IS
*                EXECUTED.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   TMSS - TERMINATE PRU STREAM PROCESSOR. 
  
  
 STPS     STATE              TERMINATE PRU STREAM PROCESSING
          LOPA   4IO,TMSS    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 IISI     TITLE  INPUT INITIATOR RESPONSE ACTION PROCESSORS.
          QUAL   ACTIONS
 IISI     SPACE  2,26 
**               INPUT INITIATOR RESPONSE ACTION IISI.
* 
*                INPUT INITIATOR RESPONSE ACTION IISI ASSURES THAT THERE
*                IS SUFFICIENT SPACE IN THE INBOUND BUFFER TO ACCEPT A
*                SHORT IVT MESSAGE FROM THE FRONT END.  IF THE BUFFER 
*                SPACE IS AVAILABLE THE DRIVER BUFFER POINTERS ARE
*                INITIALIZED. 
* 
*                  EXIT - 
* 
*                              (A) = MINUS ONE IF NO BUFFER SPACE,
*                      (FBA-FBA+1) = ADDRESS OF FET BUFFER, 
*                      (CBA-CBA+1) = FET BUFFER ADDRESS FOR TEXT, 
*                      (LBA-LBA+1) = ADDRESS OF END OF FET BUFFER,
*                      (NBH+C.BID) = NAM BUFFER ID, 
*                    (NBH+C.BWD+1) = CURRENT MESSAGE WORD LENGTH. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK AVAILABLE INBOUND BUFFER SPACE, 
**                   IIIP - INITIALIZE FOR IVT INPUT. 
  
  
 IISI     BSS    0           CHECK BUFFER SPACE FOR SHORT IVT MESSAGE 
          LDN    /NAM/L.SIB  LOAD BUFFER LENGTH FOR SHORT IVT MESSAGE 
  
 IISI.1   LINK               ENTRY
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    IISI.3      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          LDN    /NAM/C.NBTIRJ+T10 IVT REJECT COUNTER BYTE OFFSET 
  
 IISI.2   LINK               ENTRY
          ADC    /NAM/W.NBTNS*10000B+40000B 
                             DELTA FOR PIP REJECT COUNTER WORD * 10000B 
          RJM    UNSB        EXIT TO INCREMENT PIP REJECT COUNT 
          LCN    1           SET A-REGISTER TO MINUS ONE
          EXIT   EIIAX       RETURN VIA INPUT INITIATOR ACTION RETURN 
  
 IISI.3   LDN    /NAM/Q.IBID LOAD NAM INBOUND BUFFER ID 
          RJM    IIIP        EXIT TO INITIALIZE FOR IVT INPUT 
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          STM    NBH+/NAM/C.BWD+1 INITIALIZE MESSAGE WORD LENGTH
          EXIT   EIIAX       RETURN VIA INPUT INITIATOR ACTION RETURN 
 IILI     SPACE  2,26 
**               INPUT INITIATOR RESPONSE ACTION IILI.
* 
*                INPUT INITIATOR RESPONSE ACTION IILI ASSURES THAT THERE
*                IS SUFFICIENT SPACE IN THE INBOUND BUFFER TO ACCEPT A
*                LONG IVT MESSAGE FROM THE FRONT END.  IF THE BUFFER
*                SPACE IS AVAILABLE THE DRIVER BUFFER POINTERS ARE
*                INITIALIZED. 
* 
*                  EXIT - 
* 
*                              (A) = MINUS ONE IF NO BUFFER SPACE,
*                      (FBA-FBA+1) = ADDRESS OF FET BUFFER, 
*                      (CBA-CBA+1) = FET BUFFER ADDRESS FOR TEXT, 
*                      (LBA-LBA+1) = ADDRESS OF END OF FET BUFFER,
*                      (NBH+C.BID) = NAM BUFFER ID, 
*                    (NBH+C.BWD+1) = CURRENT MESSAGE WORD LENGTH. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK AVAILABLE INBOUND BUFFER SPACE, 
**                   IIIP - INITIALIZE FOR IVT INPUT. 
  
  
 IILI     BSS    0           CHECK BUFFER SPACE FOR LONG IVT MESSAGE
          LDC    /NAM/L.LIB  LOAD BUFFER LENGTH FOR LONG IVT MESSAGE
          EXIT   IISI.1      EXIT TO CHECK SPACE AVAILABLE
 IIPI     SPACE  2,20 
**               INPUT INITIATOR RESPONSE ACTION IIPI.
* 
*                INPUT INITIATOR RESPONSE ACTION IIPI ASSURES THAT THERE
*                IS A PRU LIMBO BUFFER OF THE CORRECT SIZE TO ACCEPT THE
*                PRU MESSAGE FROM THE FRONT END.
* 
*                  ENTRY -
* 
*                    (PRU) = PRU BUFFER SIZE ORDINAL. 
* 
*                  EXIT - 
* 
*                      (A) = NEGATIVE IF PRU BUFFER NOT AVAILABLE,
*                    (BTI) = PRU BUFFER TABLE INDEX,
**                   (ALB) = INCREMENTED IF ADDITIONAL BUFFER REQUIRED. 
  
  
 IIPI     BSS    0           CHECK FOR AVAILABLE PRU BUFFER 
          LDM    BAT,PRU     LOAD ADDRESS OF PRU BUFFER TABLE 
          STD    BTI         STORE PRU BUFFER TABLE INDEX 
          LDM    NFB,BTI     LOAD FREE BUFFER COUNT 
          ZJN    IIPI.1      EXIT IF NONE AVAILABLE 
          SBN    1           CHECK GREATER THAN 1 AVAILABLE 
 IIPI.0   NJN    IISI        EXIT GREATER THAN 1 AVAILABLE
          LDM    MFB,BTI     LOAD MIN/MAX BUFFER COUNTS 
          LPN    77B         EXTRACT MAXIMUM COUNT
          SBM    INB,BTI     LESS CURRENT INPUT ASSIGNMENT
          SBN    1           LESS THIS POSSIBLE ASSIGNMENT
          NJN    IIPI.0      EXIT IF WILL NOT CAUSE ALL ASSIGNED TO I/P 
  
 IIPI.1   AOM    AFB,BTI     INCREMENT ADDITIONAL FREE BUFFER REQUIRED
          LDN    /NAM/C.NBTPRJ+T10 PRU REJECT COUNTER BYTE OFFSET 
          EXIT   IISI.2      EXIT TO SET A-REGISTER TO MINUS ONE
 OIIL     TITLE  OUTPUT INITIATOR RESPONSE ACTION PROCESSORS. 
 TYPEACT  MICRO  1,,*OUTINT* DEFINE ACTION TYPE 
 OIIL     SPACE  2,10 
**               OUTPUT INITIATOR RESPONSE ACTION OIIL. 
* 
*                OUTPUT INITIATOR RESPONSE ACTION OIIL PROCESSES
*                AN ILLEGAL OUTPUT INITIATOR RESPONSE ACTION BY 
**               TRANSFERRING CONTROL TO THE DRIVER ERROR ROUTINE.
  
  
 OIIL     ACTION             ILLEGAL OUTPUT INITIATOR RESPONSE
          EREXIT OIA         EXIT TO ERROR - ILLEGAL OUTPUT INIT ACTION 
 OINO     SPACE  2,14 
**               OUTPUT INITIATOR RESPONSE ACTION OINO. 
* 
*                OUTPUT INITIATOR RESPONSE ACTION OINO PROCESSES A NO 
*                OUTPUT REQUIRED ACTION RESPONSE BY RETURNING A NEGATIVE
*                VALUE TO THE OUTPUT INITIATOR ACTION EXECUTIVE.
* 
*                  EXIT - 
* 
**                   (A) = NEGATIVE.
  
  
 OINO     ACTION             NO OUTPUT OUTPUT INITIATOR RESPONSE
          LCN    1           SET A-REGISTER NEGATIVE
          EXIT   EOIAX       RETURN VIA OUTPUT INITIATOR ACTION RETURN
 OIOD     TITLE  IVT OUTPUT INITIATOR RESPONSE ACTION PROCESSORS. 
 OIOD     SPACE  2,32 
**               IVT OUTPUT INITIATOR RESPONSE ACTION OIOD. 
* 
*                IVT OUTPUT INITIATOR RESPONSE ACTION OIOD PROCESSES AN 
*                IVT DATA OUTPUT TO THE FRONT END.  THE IVT TEXT
*                PARAMETERS ARE VALIDATED AND THE LENGTH OF THE OUTPUT
*                BLOCK IS CALCULATED. 
* 
*                  ENTRY -
* 
*                             (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  EXIT - 
* 
*                    (OW) = NPU ORDER WORD IMAGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF IVT OUTPUT PARAMETER ERROR. 
* 
*                  CALLS -
* 
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR.
* 
*                  PROCESSOR CALLS -
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 OIOD     ACTION             SET TO TRANSFER IVT OUTPUT TO FRONT END
          LDN    /BLOCK/L.DH LOAD LENGTH OF DATA HEADER 
          RAM    NNH+/NAM/C.MCC ADD HEADER LENGTH TO CHARACTER COUNT
 OIOT     SPACE  2,32 
**               IVT OUTPUT INITIATOR RESPONSE ACTION OIOT. 
* 
*                IVT OUTPUT INITIATOR RESPONSE ACTION OIOT PROCESSES AN 
*                IVT TEXT OUTPUT TO THE FRONT END.  THE IVT TEXT
*                PARAMETERS ARE VALIDATED AND THE LENGTH OF THE OUTPUT
*                BLOCK IS CALCULATED. 
* 
*                  ENTRY -
* 
*                             (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  EXIT - 
* 
*                    (OW) = NPU ORDER WORD IMAGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF IVT OUTPUT PARAMETER ERROR. 
* 
*                  CALLS -
* 
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR.
* 
*                  PROCESSOR CALLS -
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 OIOT     ACTION             SET TO TRANSFER IVT TEXT TO FRONT END
          LDM    NNH+/NAM/C.CBT LOAD APPLICATION CHARACTER TYPE BYTE
          SHN    -/NAM/S.ACT APPLICATION CHARACTER TYPE TO LOW-ORDER
          LPN    /NAM/L.ACT  EXTRACT APPLICATION CHARACTER TYPE 
          RJM    EOVP        EXIT TO EXECUTE OUTPUT VALIDATION PROCESSOR
          NJN    OIOT.2      EXIT IF VALID OUTPUT REQUEST 
  
 OIOT.1   LINK               ENTRY
          EREXIT ILO         EXIT TO ERROR - ILLEGAL OUTPUT BLOCK 
  
 OIOT.2   LINK               ENTRY
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER LENGTH
          ADN    /BLOCK/L.BH PLUS NPU BLOCK HEADER CHARACTER LENGTH 
          ADN    16-1        ROUND UP FOR MODULUS SIXTEEN 
          SHN    -4          CHARACTER LENGTH MODULUS SIXTEEN 
          STD    OW          STORE LENGTH IN NPU ORDER WORD FORMAT
          LDD    OPL         LOAD OUTPUT PRIORITY LEVEL 
          SHN    /NORDER/S.NPUOL PRIORITY TO ORDER WORD FORMAT
          RAD    OW          ADD TO OUTPUT BLOCK LENGTH 
          EXIT   EOIAX       RETURN VIA OUTPUT INITIATOR ACTION RETURN
 OIOH     SPACE  2,24 
**               IVT OUTPUT INITIATOR RESPONSE ACTION OIOH. 
* 
*                IVT OUTPUT INITIATOR RESPONSE ACTION OIOH PROCESSES AN 
*                OUTPUT TO THE FRONT END THAT CONSISTS OF THE BLOCK 
*                PROTOCOL HEADER ONLY.  THE MESSAGE LENGTH IS VALIDATED 
*                AND THE LENGTH OF THE OUTPUT BLOCK IS CALCULATED.
* 
*                  ENTRY -
* 
*                             (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  EXIT - 
* 
*                    (OW) = NPU ORDER WORD IMAGE. 
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF IVT OUTPUT PARAMETER ERROR. 
  
  
 OIOH     ACTION             SET TO TRANSFER BLOCK PROTOCOL HEADER
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER LENGTH
          ZJN    OIOT.2      EXIT IF CORRECT MESSAGE LENGTH 
          EXIT   OIOT.1      EXIT TO ERROR - ILLEGAL OUTPUT BLOCK 
 OIOC     SPACE  2,36 
**               IVT OUTPUT INITIATOR RESPONSE ACTION OIOC. 
* 
*                IVT OUTPUT INITIATOR RESPONSE ACTION OIOC PROCESSES AN 
*                IVT COMMAND OUTPUT TO THE FRONT END.  IF THE COMMAND IS
*                NOT ADDRESSED TO A FRONT END ON THE SERVICE CHANNEL THE
*                IVT TEXT PARAMETERS ARE VALIDATED AND THE LENGTH OF THE
*                OUTPUT BLOCK IS CALCULATED.
* 
*                  ENTRY -
* 
*                              (CN) = CONNECTION NUMBER OF COMMAND, 
*                              (TN) = TERMINAL NODE OF COMMAND, 
*                             (FEI) = FRONT END TABLE ADDRESS,
*                             (HND) = HOST NODE ID, 
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                             (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  EXIT - 
* 
*                    (OW) = NPU ORDER WORD IMAGE. 
* 
*                  CALLS -
* 
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR,
*                     COL - CHECK OVERLAY LOADED. 
* 
*                  PRCESSOR CALLS - 
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 OIOC     ACTION             CHECK FOR COMMAND PROCESSED BY DRIVER
          LDD    CN          LOAD CONNECTION NUMBER OF OUTBOUND COMMAND 
          NJN    OIOT        EXIT IF COMMAND NOT ON SERVICE CHANNEL 
          LDD    TN          LOAD TERMINAL NODE OF OUTBOUND COMMAND 
          LMM    HND,FEI     LESS NODE ID OF FRONT END
          NJN    OIOT        EXIT IF COMMAND NOT ADDRESSED TO FRONT END 
          LOPA   2IQ,PDCM    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 OIOF     TITLE  PRU OUTPUT INITIATOR RESPONSE ACTION PROCESSORS. 
 OIOF     SPACE  2,34 
**               PRU OUTPUT INITIATOR RESPONSE ACTION OIOF. 
* 
*                PRU OUTPUT INITIATOR RESPONSE ACTION OIOF PROCESSES AN 
*                OUTPUT TO THE FRONT END THAT REQUIRES FLOW CONTROL.  A 
*                CHECK IS MADE TO ASSURE THAT THE NETWORK BLOCK LIMIT IS
*                NOT EXCEEDED FOR THE STREAM.  THE BLOCK SERIAL NUMBER
*                FOR THE TRANSFER IS OBTAINED AND THE BLOCK SERIAL
*                NUMBER IS UPDATED FOR THE NEXT TRANSFER.  THE
*                OUTSTANDING OUTPUT BACK COUNT IS INCREMENTED TO REFLECT
*                THE CURRENT TRANSFER TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                         (BSBN) = BLOCK SERIAL NUMBERS AND BACK COUNTS,
*                          (NBL) = NETWORK BLOCK LIMT FOR STREAM, 
*                     (BHB+BNBT) = OUTPUT PRIORITY FOR STREAM,
*                          (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM,
*                    (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT.
* 
*                  EXIT - 
* 
*                          (OW) = NPU ORDER WORD IMAGE, 
*                        (BSBN) = UPDATED FOR CURRENT TRANSFER, 
*                    (BHB+BNBT) = OUTPUT PRIORITY AND BLOCK NUMBER. 
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF FLOW CONTROL LOGIC ERROR. 
  
  
 OIOF     ACTION             CHECK OUTPUT FLOW CONTROL
          LOPA   2IQ,PIOF    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 OIOF.2   LINK               ENTRY
          EREXIT DFC         EXIT TO ERROR - DRIVER FLOW CONTROL ERROR
 OIOB     SPACE  2,30 
**               PRU OUTPUT INITIATOR RESPONSE ACTION OIOB. 
* 
*                PRU OUTPUT INITIATOR RESPONSE ACTION OIOB PROCESSES THE
*                TRANSFER OF A BACK TO THE FRONT END.  A CHECK IS MADE
*                TO ASSURE THAT A BACK IS OUTSTANDING ON THE STREAM.
*                THE BLOCK SERIAL NUMBER FOR THE BACK IS CALCULATED AND 
*                THE OUTSTANDING INPUT BACK COUNT IS DECREMENTED. 
* 
*                  ENTRY -
* 
*                         (BSBN) = BLOCK SERIAL NUMBERS AND BACK COUNTS,
*                     (BHB+BNBT) = OUTPUT PRIORITY FOR STREAM,
*                          (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM,
*                    (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT.
* 
*                  EXIT - 
* 
*                          (OW) = NPU ORDER WORD IMAGE, 
*                        (BSBN) = UPDATED FOR CURRENT TRANSFER, 
*                    (BHB+BNBT) = OUTPUT PRIORITY AND BLOCK NUMBER. 
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF NO OUTSTANDING BACKS ON STREAM. 
  
  
 OIOB     ACTION             CHECK OUTSTANDING BACK 
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SHN    -/NAM/S.IBC POSITION OUTSTANDING INPUT BACK COUNT
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING INPUT BACK COUNT 
          ZJN    OIOF.2      EXIT IF NO OUTSTANDING BACKS ON STREAM 
          STD    T0          STORE OUTSTANDING INPUT BACK COUNT 
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SHN    -/NAM/S.IBN INPUT BLOCK SERIAL NUMBER TO LOW-ORDER 
          SBD    T0          LESS OUTSTANDING INPUT BLOCK COUNT 
          LPN    /NAM/L.IBN  EXTRACT BLOCK SERIAL NUMBER FOR BACK 
          NJN    OIOB.1      EXIT IF NO COUNTER WRAP AROUND 
          LDN    8-1         FORCE BLOCK SERIAL NUMBER TO MAXIMUM VALUE 
  
 OIOB.1   SHN    /BLOCK/S.BSN POSITION BLOCK NUMBER TO NPU FORMAT 
          RAM    BHB+/BLOCK/BNBT ADD TO BLOCK PRIORITY FOR STREAM 
          LDC    777777B-/NAM/I.IBC VALUE TO DECREMENT INPUT BACK COUNT 
          RAD    BSBC        DECREMENT OUTSTANDING INPUT BACK COUNT 
 OIIC     SPACE  2,18 
**               PRU OUTPUT INITIATOR RESPONSE ACTION OIIC. 
* 
*                PRU OUTPUT INITIATOR RESPONSE ACTION OIIC PROCESSES
*                THE TRANSFER OF AN INTERRUPT COMMAND TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                          (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM,
*                    (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT.
* 
*                  EXIT - 
* 
**                   (OW) = NPU ORDER WORD IMAGE. 
  
  
 OIIC     ACTION SET TO TRANSFER INTERRUPT COMMAND
 OIRS     SPACE  2,18 
**               PRU OUTPUT INITIATOR RESPONSE ACTION OIRS. 
* 
*                PRU OUTPUT INITIATOR RESPONSE ACTION OIRS
*                PROCESSES THE TRANSFER OF A RESET TO THE FRONT END.
* 
*                  ENTRY -
* 
*                          (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM,
*                    (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT.
* 
*                  EXIT - 
* 
**                   (OW) = NPU ORDER WORD IMAGE. 
  
  
 OIRS     ACTION             SET TO TRANSFER RESET TO FRONT END 
          EXIT   OIOT.2      EXIT TO CALCULATE OUTPUT ORDER WORD
 VPEB     TITLE  IVT OUTPUT VALIDATION ACTION PROCESSORS. 
          QUAL
 VPEB     SPACE  2,16 
**               IVT OUTPUT VALIDATION ACTION PROCESSOR VPEB. 
* 
*                IVT OUTPUT VALIDATION ACTION PROCESSOR VPEB SETS THE 
*                OUTPUT PARAMETERS FOR AN IVT OUTPUT OF PACKED EIGHT
*                BIT DATA.
* 
*                  EXIT - 
* 
*                    (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (OCP) = ADDRESS OF OUTPUT CHARACTER PROCESSOR. 
  
  
 VPEB     BSS    0           VALIDATE EIGHT BIT PACKED OUTPUT REQUEST 
          LDC    L.DBCM*15/2 LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDC    FEOP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
  
 VPEB.1   LINK               ENTRY
          STD    OCP         STORE ADDRESS OF OUTPUT CHARACTER PROCESSOR
          EXIT   EOVPX       RETURN VIA VALIDATION PROCESSOR RETURN 
 VUEB     SPACE  2,16 
**               IVT OUTPUT VALIDATION PROCESSOR VUEB.
* 
*                IVT OUTPUT VALIDATION ACTION PROCESSOR VUEB SETS THE 
*                OUTPUT PARAMETERS FOR AN IVT OUTPUT OF UNPACKED EIGHT
*                BIT DATA.
* 
*                  EXIT - 
* 
*                    (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (OCP) = ADDRESS OF OUTPUT CHARACTER PROCESSOR. 
  
  
 VUEB     BSS    0           VALIDATE EIGHT BIT UNPACKED OUTPUT REQUEST 
          LDC    L.DBCM*5    LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDC    TTBF        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          EXIT   VPEB.1      EXIT TO STORE CHARACTER PROCESSOR ADDRESS
 VDSB     SPACE  2,16 
**               IVT OUTPUT VALIDATION PROCESSOR VDSB.
* 
*                IVT OUTPUT VALIDATION ACTION PROCESSOR VDSB SETS THE 
*                OUTPUT PARAMETERS FOR AN IVT OUTPUT OF DISPLAY CODE
*                DATA.
* 
*                  EXIT - 
* 
*                    (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (OCP) = ADDRESS OF OUTPUT CHARACTER PROCESSOR. 
  
  
 VDSB     BSS    0           VALIDATE DISPLAY CODE OUTPUT REQUEST 
          LDC    L.DBCM*10   LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDC    TDCI        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          EXIT   VPEB.1      EXIT TO STORE CHARACTER PROCESSOR ADDRESS
 TCRN     TITLE  COMMAND ACTION RETURN POINTS.
          QUAL   ACTIONS
 TCRN     SPACE  2,16 
**               COMMAND ACTION RETURN POINT TCRN.
* 
*                COMMAND ACTION RETURN POINT TCRN PROCESSES A 
*                COMMAND ACTION PROCESSOR RETURN THAT REQUIRES A COMMAND
*                RESPONSE TO BE TRANSFERRED TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED,
**                   TCR - TRANSFER COMMAND RESPONSE. 
  
  
*                CODE IS PLACED IN EBRA TO SAVE SPACE AND TIME. 
 IBIL     TITLE  INPUT BLOCK RESPONSE ACTION PROCESSORS.
 TYPEACT  MICRO  1,,*BLKIN*  DEFINE ACTION TYPE 
 IBIL     SPACE  2,10 
**               INPUT BLOCK RESPONSE ACTION IBIL.
* 
*                INPUT BLOCK RESPONSE ACTION IBIL PROCESSES AN ILLEGAL
*                INPUT BLOCK RESPONSE ACTION BY TRANSFERRING CONTROL
**               TO THE DRIVER ERROR PROCESSOR. 
  
  
 IBIL     ACTION             ILLEGAL INPUT BLOCK RESPONSE 
          EREXIT IBI         EXIT TO ERROR - INPUT BLOCK RESPONSE ERROR 
 IBPB     SPACE  2,24 
**               INPUT BLOCK RESPONSE ACTION IBPB.
* 
*                INPUT BLOCK RESPONSE ACTION IBPB PROCESSES THE RECEIPT 
*                OF A BREAK ON A PRU CONNECTION.  IF THE BREAK IS OF
*                THE CORRECT FORMAT AN ERROR EXIT IS TAKEN TO TRANSFER
*                CONTROL TO THE LEVEL SEVEN ERROR ROUTINE.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF BREAK FORMAT ERROR, 
*                    EXIT TO *ERROR* FOR LEVEL SEVEN ERROR CONTROL. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 IBPB     ACTION             PROCESS BREAK ON PRU CONNECTION
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    IBIL        EXIT IF END OF TRANSFER RECEIVED 
          EREXIT TBR         EXIT TO ERROR - BREAK RECEIVED PRU STREAM
 IBIB     SPACE  2,36 
**               INPUT BLOCK RESPONSE ACTION IBIB.
* 
*                INPUT BLOCK RESPONSE ACTION IBIB PROCESSES RECEPTION 
*                OF A BACK FROM THE FRONT END.  A CHECK IS MADE TO
*                ASSURE THAT A BACK IS OUTSTANDING ON THE STREAM.  THE
*                BLOCK SERIAL NUMBER RECEIVED FROM THE FRONT END IS 
*                CHECKED AGAINST THE EXPECTED BLOCK SERIAL NUMBER AND 
*                THE OUTSTANDING OUTPUT BACK COUNT IS DECREMENTED.
* 
*                  ENTRY -
* 
*                        (BSBN) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                    (BHB+BNBT) = BLOCK SERIAL NUMBER FROM FRONT END, 
* 
*                  EXIT - 
* 
*                    (BSBC) = UPDATED FOR CURRENT TRANSFER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF FLOW CONTROL LOGIC ERROR, 
*                    EXIT TO *ERROR* IF BLOCK NUMBER SEQUENCE ERROR.
* 
*                  CALLS -
* 
*                    EBRA - EXECUTE BLOCK RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE ACTION RESPONSE PROCESSOR. 
  
  
 IBIB     ACTION             CHECK OUTSTANDING BACK AND BLOCK NUMBER
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          NJN    IBIB.2      EXIT IF OUTSTANDING BACK ON STREAM 
  
 IBIB.1   LINK               ENTRY
          EREXIT NFC         EXIT TO ERROR - FLOW CONTROL ERROR 
  
 IBIB.2   STD    T0          STORE OUTSTANDING OUTPUT BACK COUNT
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SHN    -/NAM/S.OBN OUTPUT BLOCK SERIAL NUMBER TO LOW-ORDER
          LPN    /NAM/L.OBN  EXTRACT OUTPUT BLOCK SERIAL NUMBER 
          SBD    T0          LESS OUTSTANDING OUTPUT BACK COUNT 
          NJN    IBIB.3      EXIT IF NO COUNTER WRAP AROUND 
          LDN    8-1         FORCE BLOCK SERIAL NUMBER TO MAXIMUM VALUE 
  
 IBIB.3   SHN    /BLOCK/S.BSN POSITION BLOCK NUMBER TO NPU FORMAT 
          LMM    BHB+/BLOCK/BNBT LESS BLOCK SERIAL NUMBER FORM NPU
          LPC    /BLOCK/M.BSN EXTRACT BLOCK SERIAL NUMBER DIFFERENCE
          ZJN    IBIB.5      EXIT IF BLOCK SERIAL NUMBERS MATCH 
  
 IBIB.4   LINK               ENTRY
          EREXIT NSE         EXIT TO ERROR - BLOCK SEQUENCE ERROR 
  
 IBIB.5   SOD    BSBC        DECREMENT OUTSTANDING BACK COUNT 
          UJN    IBIF.0      EXIT TO UPDATE L7 TIMER IF A-A CONNECTION
 IBIF     SPACE  2,44 
**               INPUT BLOCK RESPONSE ACTION IBIF.
* 
*                INPUT BLOCK RESPONSE ACTION IBIF PROCESSES AN INPUT
*                FROM THE FRONT END THAT REQUIRES FLOW CONTROL.  A CHECK
*                IS MADE TO ASSURE THAT THE MAXIMUM UPLINE BLOCK LIMIT
*                IS NOT EXCEEDED FOR THE STREAM.  THE BLOCK SERIAL
*                NUMBER OF THE INPUT IS CHECKED AGAINST THE EXPECTED
*                BLOCK SERIAL NUMBER.  THE BLOCK SERIAL NUMBER IS 
*                UPDATED FOR THE NEXT TRANSFER AND THE INPUT BACK COUNT 
*                INCREMENTED TO REFLECT THE CURRENT TRANSFER FROM THE 
*                FRONT END.  IF THE CONNECTION IS AN APPLICATION TO 
*                APPLICATION CONNECTION THE LEVEL SEVEN TIMER IS RESET. 
* 
*                  ENTRY -
* 
*                        (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                    (BHB+BNBT) = BLOCK SERIAL NUMBER FROM FRONT END, 
*                         (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  EXIT - 
* 
*                                 (BSBC) = UPDATED FOR CURRENT TRANSFER,
*                    (W.PCBPS6+C.PCBL7T) = RESET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF FLOW CONTROL LOGIC ERROR, 
*                    EXIT TO *ERROR* IF BLOCK NUMBER SEQUENCE ERROR.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    EBRA - EXECUTE BLOCK RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE ACTION RESPONSE PROCESSOR. 
  
  
 IBIF     ACTION             CHECK FLOW CONTROL AND INCREMENT COUNTERS
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SHN    -/NAM/S.IBN+/BLOCK/S.BSN INPUT BLOCK SERIAL NUMBER 
                                          POSITIONED TO NPU FORMAT
          LMM    BHB+/BLOCK/BNBT LESS BLOCK SERIAL NUMBER FROM NPU
          LPC    /BLOCK/M.BSN EXTRACT BLOCK SERIAL NUMBER DIFFERENCE
          NJN    IBFF.1      EXIT IF BLOCK SERIAL NUMBERS DIFFER
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SHN    -/NAM/S.IBC OUTSTANDING INPUT BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING INPUT BACK COUNT 
          SBN    7           LESS MAXIMUM UPLINE BLOCK LIMIT
          ZJN    IBFF.2      EXIT IF UPLINE BLOCK LIMIT EXCEEDED
          LDC    /NAM/I.IBN&/NAM/I.IBC INCREMENTS FOR NUMBER AND COUNT
          RAD    BSBC        INCREMENT BLOCK NUMBER AND BACK COUNT
          SHN    -12         POSITION POSSIBLE CARRY TO LOW-ORDER 
          SHN    /NAM/S.IBN  POSSIBLE CARRY TO INPUT BLOCK NUMBER 
          RAD    BSBC        ADD POSSIBLE CARRY TO INPUT BLOCK NUMBER 
  
 IBIF.0   LINK               ENTRY
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    IBNA        EXIT IF NOT APPLICATION TO APPLICATION 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          ADK    Q.L7TO      PLUS LEVEL SEVEN TIMEOUT QUANTUM 
          STD    T10+/NAM/C.PCBL7T STORE LEVEL SEVEN TIMER
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
  
 IBNA     SPACE  2,18 
**               INPUT BLOCK RESPONSE ACTION IBNA.
* 
*                INPUT BLOCK RESPONSE ACTION IBNA PROCESSES A NO ACTION 
*                INPUT BLOCK RESPONSE BY CALLING THE BLOCK HANDLER STATE
*                ACTION RESPONSE PROCESSOR. 
* 
*                  CALLS -
* 
*                    EBRA - EXECUTE BLOCK RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE ACTION RESPONSE PROCESSOR. 
  
  
 IBNA     ACTION             NO ACTION INPUT BLOCK RESPONSE ACTION
          QUAL   STATES 
          EXIT   BIAS.6      EXIT TO EXECUTE BLOCK RESPONSE ACTION
          QUAL   ACTIONS
 IBFF     SPACE  2,26 
**               INPUT BLOCK RESPONSE ACTION IBFF.
* 
*                INPUT BLOCK RESPONSE ACTION IBFF PROCESSES AN INPUT OF 
*                A BLOCK BLOCK TO A PRU CONNECTION.  IF THE BLOCK IS
*                RECEIVED AFTER FT/OFF IS SENT TO THE FRONT END FOR END 
*                OF FILE TRANSFER, NO ACTION IS TAKEN.  OTHERWISE, BLOCK
*                PROTOCOL ERROR EXIT IS MADE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF BLOCK PROTOCOL ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ PCB WORD,
*                    EBRA - EXECUTE BLOCK RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE ACTION RESPONSE PROCESSOR. 
  
  
 IBFF.1   LINK               ENTRY FOR BLOCK SEQUENCE ERROR 
          LDN    /ERROR/NSE-/ERROR/NFC DELTA FOR ERROR CODE 
  
 IBFF.2   LINK               ENTRY FOR FLOW CONTROL ERROR 
          ADN    /ERROR/NFC-100B SET UP ERROR CODE
          UJN    IBFF.3      EXIT TO CHECK FILE TRANSFER MODE 
  
 IBFF     ACTION
          LDN    /ERROR/IBI-100B SET UP INPUT BLOCK RESPONSE ERROR
  
 IBFF.3   STD    T17         STORE ERROR CODE 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          LPN    /NAM/B.PCBFTF EXTRACT FILE TRANSFER OFF FLAG 
          NJN    IBNA        EXIT IF FILE TRANSFER IS OFF 
          LDD    T17         LOAD ERROR CODE
          EXIT   ERROR       EXIT TO ERROR
 OBIL     TITLE  OUTPUT BLOCK RESPONSE ACTION PROCESSORS. 
 OBIL     SPACE  2,10 
**               OUTPUT BLOCK RESPONSE ACTION OBIL. 
* 
*                OUTPUT BLOCK RESPONSE ACTION OBIL PROCESSES AN ILLEGAL 
*                OUTPUT BLOCK RESPONSE ACTION BY TRANSFERRING CONTROL TO
**               THE DRIVER ERROR ROUTINE.
  
  
 OBIL     BSS    0           ILLEGAL OUTPUT BLOCK RESPONSE ACTION 
          EREXIT OBI         EXIT TO ERROR - OUTPUT BLOCK RESPONSE ERROR
 OBTH     SPACE  2,30 
**               OUTPUT BLOCK RESPONSE ACTION OBTH. 
* 
*                OUTPUT BLOCK RESPONSE ACTION OBTH PROCESSES AN OUTPUT
*                MESSAGE TO THE FRONT END.  IF THE OUTPUT MESSAGE 
*                CONSISTS OF THE BLOCK PROTOCOL HEADER ONLY THE REQUEST 
*                FOR END OF TRANSFER IS SET.  THE BLOCK PROTOCOL HEADER 
*                IS TRANSFERRED TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                       (NNH+C.MCC) = MESSAGE TEXT CHARACTER COUNT, 
*                    (BHB-BHB+L.BH) = BLOCK PROTOCOL HEADER.
* 
*                  CALLS -
* 
*                    EBRA - EXECUTE BLOCK RESPONSE ACTION.
* 
*                  MACRO CALLS -
* 
*                    FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE ACTION RESPONSE PROCESSOR. 
  
  
 OBTH     BSS    0           TRANSFER BLOCK PROTOCOL HEADER 
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          NJN    OBTH.2      EXIT IF MESSAGE TEXT 
          LDN    1           CONSTANT OF ONE
  
 OBTH.1   STD    REOT        STORE END OF TRANSFER REQUEST FLAG 
          FEIO   FEOH        OUTPUT BLOCK PROTOCOL HEADER TO FRONT END
          QUAL   STATES 
          EXIT   BIAS.6      EXIT TO EXECUTE BLOCK RESPONSE ACTION
          QUAL   ACTIONS
  
 OBTH.2   LDN    0           CONSTANT OF ZERO 
          UJK    OBTH.1      EXIT TO RESET END OF TRANSFER REQUEST
 BRIL     TITLE  BLOCK HANDLER STATE RESPONSE ACTION PROCESSORS.
 TYPEACT  MICRO  1,,*BLOCK*  DEFINE ACTION TYPE 
 BRIL     SPACE  2,10 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIL.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIL PROCESSES AN
*                ILLEGAL BLOCK HANDLER STATE RESPONSE ACTION BY 
**               TRANSFERRING CONTROL TO THE DRIVER ERROR ROUTINE.
  
  
 BRIL     ACTION             ILLEGAL BLOCK HANDLER STATE RESPONSE ACTION
          EREXIT IBR         EXIT TO ERROR - ILLEGAL BLOCK RESPONSE 
 BRLE     SPACE  2,10 
**               BLOCK HANDLER STATE RESPONSE ACTION BRLE.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRLE PROCESSES AN
*                ILLOGICAL BLOCK HANDLER STATE RESPONSE ACTION BY 
**               TRANSFERRING CONTROL TO THE DRIVER ERROR ROUTINE.
  
  
 BRLE     ACTION             ILLOGICAL BLOCK HANDLER STATE RESPONSE 
          EREXIT BRE         EXIT TO ERROR - ILLOGICAL BLOCK RESPONSE 
 BRAE     SPACE  2,12 
**               BLOCK HANDLER STATE RESPONSE ACTION BRAE.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRAE PROCESSES AN
*                ILLOGICAL BLOCK HANDLER STATE RESPONSE ACTION FROM AN
*                APPLICATION BY TRANSFERRING TO THE DRIVER ERROR
**               ROUTINE. 
  
  
 BRAE     ACTION             ILLEGAL APPLICATION BLOCK STATE RESPONSE 
          EREXIT IAR         EXIT TO ERROR - ILLEGAL APPLICATION REQUEST
 BRPT     SPACE  2,22 
**               BLOCK HANDLER STATE RESPONS ACTION BRPT. 
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRPT ALLOWS A
*                COMMAND ADDRESSED TO A FRONT END THAT IS NOT PROCESSED 
*                BY THE DRIVER TO BE PASSED THROUGH TO THE FRONT END. 
* 
*                  CALLS -
* 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                     RCO - REQUEST COUPLER OUTPUT, 
*                    EORA - EXECUTE OUTPUT RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT BLOCK RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BRPT     ACTION             ALLOW COMMAND PASS THROUGH 
          LDC    /TABLES/IOIT+/BLOCK/CMD COMMAND RESPONSE TABLE ENTRY 
          RJM    GTE         EXIT TO GET RESPONSE TABLE ENTRY 
          SHN    -S.CTLCD    POSITION CONTROL CODE TO LOW-ORDER 
          STD    CTL         STORE CONTROL CODE FROM TABLE ENTRY
          UJK    /STATES/BIAS.1 EXIT TO REQUEST COUPLER OUTPUT
 BRDI     SPACE  2,36 
**               BLOCK HANDLER STATE RESPONSE ACTION BRDI.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRDI PROCESSES THE 
*                RECEIPT OF A DATA MESSAGE ON AN IVT STREAM FROM THE
*                FRONT END.  THE DATA HEADER MESSAGE IS ACCEPTED AND
*                PACKED WITH THE BLOCK PROTOCOL HEADER TO FORM THE NAM
*                NETWORK HEADER.  THE STREAM STATE RESPONSE ACTION FOR
*                THE INPUT IS EXECUTED AND THE IVT STATISTICS ARE 
*                UPDATED IN THE FRONT END TABLE.
* 
*                  ENTRY -
* 
*                    (BHB-BHB+L.BH) = BLOCK PROTOCOL HEADER,
*                             (FEI) = FRONT END TABLE ADDRESS.
* 
*                  EXIT - 
* 
*                    (DHB-DHB+L.DH) = DATA HEADER FROM FRONT END, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER, 
*                             (IMC) = UPDATED FOR CURRENT MESSAGE,
*                       (ICC-ICC+1) = UPDATED FOR CURRENT MESSAGE.
* 
*                  CALLS -
* 
*                     IDH - INPUT DATA HEADER FROM NPU, 
*                     PKD - PACK DATA TEXT, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRDI     ACTION             INPUT DATA HEADER FOR IVT DATA 
          RJM    IDH         EXIT TO INPUT DATA HEADER FROM NPU 
          ZJN    BRDI.2      EXIT IF DATA HEADER FORMAT CORRECT 
  
 BRDI.1   LINK               ENTRY
          EREXIT DHE         EXIT TO ERROR - DATA HEADER FORMAT ERROR 
  
 BRDI.2   LINK               ENTRY
          LDC    NNH         LOAD ADDRESS OF NAM NETWORK HEADER 
          STD    T2          STORE DESTINATION DATA ADDRESS 
          ADN    BHB-NNH     DELTA FOR BLOCK PROTOCOL HEADER BUFFER 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDN    /BLOCK/L.BH+/BLOCK/L.DH LENGTH OF BLOCK AND DATA HEADER
          RJM    PKD         EXIT TO PACK INTO NAM NETWORK HEADER 
          LDN    0           CONSTANT OF ZERO 
          STM    NNH+/NAM/C.MCC INITIALIZE MESSAGE TEXT CHARACTER COUNT 
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    -/BLOCK/S.PRU POSITION PRU FLAG TO LOW-ORDER 
          ZJN    BRDI.3      EXIT IF NOT PRU FORMAT 
          LDN    /TABLES/.SRII-/TABLES/.SRID DELTA FOR INVALID INPUT
  
 BRDI.3   LINK               ENTRY
          ADN    /TABLES/.SRID DELTA FOR INPUT DATA ACTION ORDINAL
  
 BRDI.4   LINK               ENTRY
          RJM    ESRA        EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 BRDI.5   LINK               ENTRY
          LDD    NCC         LOAD NPU MESSAGE CHARACTER COUNT 
          ZJN    BRNA        EXIT IF NO MESSAGE TRANSFERRED 
          LDD    STS         LOAD STREAM STATES 
          ZJN    BRDI.6      EXIT IF NOT PRU STREAM 
          LDN    PMC-IMC     DELTA FOR PRU STREAM STATISTICS
  
 BRDI.6   ADD    FEI         PLUS FRONT END TABLE ADDRESS 
          STD    T1          STORE FRONT END TABLE OFFSET FOR STATISTICS
          AOM    IMC,T1      INCREMENT MESSAGE COUNT
          LDD    NCC         LOAD MESSAGE CHARACTER COUNT 
          RAM    ICC+1,T1    ADD TO LOW-ORDER OF CHARACTER COUNT
          SHN    -12         POSITION CARRY 
          RAM    ICC,T1      ADD TO HIGH-ORDER OF CHARACTER COUNT 
 BRNA     SPACE  2,10 
**               BLOCK HANDLER STATE RESPONSE ACTION BRNA.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRNA PROCESSES A 
*                NO ACTION BLOCK RESPONSE BY RETURNING BY WAY OF THE
**               BLOCK HANDLER STATE RESPONSE ACTION EXECUTIVE. 
  
  
 BRNA     ACTION             NO ACTION BLOCK HANDLER STATE RESPONSE 
          EXIT   EBRAX       RETURN VIA BLOCK STATE ACTION RETURN 
 BRBO     SPACE  2,18 
**               BLOCK HANDLER STATE RESPONSE ACTION BRBO.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRBO 
*                BYPASSES THE CURRENT IVT OUTPUT MESSAGE. 
* 
*                  ENTRY -
* 
*                    (FBA-FBA+1) = ADDRESS OF HEADER WORD 
*                                  FOR CURRENT IVT MESSAGE. 
* 
*                  CALLS -
* 
**                   UFOP - UPDATE FET OUT DATA POINTER.
  
  
 BRBO     ACTION             BYPASS OUTPUT BLOCK HANDLER RESPONSE 
          RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          EXIT   EBRAX       RETURN VIA BLOCK STATE ACTION RETURN 
 BRIH     SPACE  2,28 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIH.
* 
*                BLOCK HANDER STATE RESPONSE ACTION BRIH PROCESSES THE
*                RECEIPT OF A DATA MESSAGE ON A PRU STREAM FROM THE 
*                FRONT END.  THE DATA MESSAGE HEADER IS ACCEPTED, THE 
*                STREAM STATE RESPONSE ACTION FOR THE INPUT IS EXECUTED 
*                AND THE PRU STATISTICS ARE UPDATED IN THE FRONT END
*                TABLE. 
* 
*                  EXIT - 
* 
*                    (DHB-DHB+L.DH) = DATA HEADER FROM FRONT END, 
*                             (PMC) = UPDATED FOR CURRENT MESSAGE,
*                       (PCC-PCC+1) = UPDATED FOR CURRENT MESSAGE.
* 
*                  CALLS -
* 
*                     IDH - INPUT DATA HEADER FROM NPU. 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRIH     ACTION             INPUT DATA HEADER FOR PRU STREAMS
          RJM    IDH         EXIT TO INPUT DATA HEADER FROM NPU 
          ZJN    BRDI.3      EXIT IF DATA HEADER FORMAT CORRECT 
          EXIT   BRDI.1      EXIT TO ERROR - DATA HEADER FORMAT ERROR 
 BRBK     SPACE  2,16 
**               BLOCK HANDLER STATE RESPONSE ACTION BRBK.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRBK PROCESSES THE 
*                RECEIPT OF A BACK ON AN IVT STREAM FROM THE NPU. 
*                A CM WORD IS PLACED IN PIP INBOUND BUFFER AND THE
*                POINTER IS INCREMENTED TO INCLUDE THE WORD.
*                THE PROCESSING CONTINUES ON THE NEXT PROCESSOR BRNI. 
* 
*                  CALLS -
* 
**                   WDIB - WRITE DATA TO THE INBOUND BUFFER. 
  
  
 BRBK     ACTION             GENERATE EXTRA WORD FOR AN IVT BACK
          LDN    1           LOAD EXTRA CM WORD COUNT 
          STD    T7          STORE AS DATA LENGTH WORD COUNT
          RAM    NBH+/NAM/C.BWD+1 ADD TO MESSAGE WORD COUNT 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         GENERATE A CENTRAL WORD OF ZEROES
          LDN    T10         LOAD ADDRESS OF ZERO WORD
          RJM    WDIB        EXIT TO WRITE ZERO WORD TO INBOUND BUFFER
 BRNI     SPACE  2,32 
**               BLOCK HANDLER STATE RESPONSE ACTION BRNI.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRNI PROCESSES THE 
*                RECEIPT OF A MESSAGE ON AN IVT STREAM FROM THE FRONT 
*                END THAT CONSISTS OF THE BLOCK PROTOCOL HEADER ONLY. 
*                A CHECK IS MADE TO ASSURE THAT THE END OF TRANSFER HAS 
*                BEEN RECEIVED, THE STREAM STATE RESPONSE ACTION FOR A
*                NULL TEXT INPUT IS EXECUTED AND THE IVT STATISTICS ARE 
*                UPDATED IN THE FRONT END TABLE.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER RECEIVED FLAG,
*                    (BHB-BHB+L.BH) = BLOCK PROTOCOL HEADER.
* 
*                  EXIT - 
* 
*                          (IMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (ICC-ICC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRNI     ACTION             VALIDATE NULL IVT TEXT INPUT FROM FRONT END
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    BRNI.2      EXIT IF END OF TRANSFER RECEIVED 
  
 BRNI.1   LINK               ENTRY
          EREXIT MFE         EXIT TO ERROR - MESSAGE FORMAT ERROR 
  
 BRNI.2   LINK               ENTRY
          LDN    0           CONSTANT OF ZERO 
          STM    DHB+/BLOCK/DBC ZERO DATA BLOCK CLARIFIER 
          EXIT   BRDI.2      EXIT TO FORM NAM NETWORK HEADER
 BRND     SPACE  2,32 
**               BLOCK HANDLER STATE RESPONSE ACTION BRND.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRND PROCESSES THE 
*                RECEIPT OF A MESSAGE ON AN IVT STREAM FROM A FRONT END 
*                THAT DOES NOT CONTAIN A DATA HEADER.  A CHECK IS MADE
*                TO ASSURE THAT THE END OF TRANSFER HAS NOT BEEN
*                RECEIVED, THE STREAM STATE RESPONSE ACTION FOR THE 
*                INPUT IS EXECUTED AND THE IVT STATISTICS ARE UPDATED 
*                IN THE FRONT END TABLE.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER RECEIVED FLAG,
*                    (BHB-BHB+L.BH) = BLOCK PROTOCOL HEADER.
* 
*                  EXIT - 
* 
*                          (IMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (ICC-ICC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRND     ACTION             ACCEPT NON-DATA IVT TEXT FROM FRONT END
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    BRNI.1      EXIT IF END OF TRANSFER RECEIVED 
          EXIT   BRNI.2      EXIT TO ZERO DATA BLOCK CLARIFIER
 BRIB     SPACE  2,34 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIB.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIB PROCESSES THE 
*                RECEIPT OF A BACK ON A PRU STREAM FROM THE FRONT END.
*                A CHECK IS MADE TO ASSURE THAT THE END OF TRANSFER HAS 
*                BEEN RECEIVED, THE STREAM STATE RESPONSE ACTION FOR THE
*                BACK IS EXECUTED AND THE PRU STATISTICS ARE UPDATED IN 
*                THE FRONT END TABLE. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER RECEIVED FLAG. 
* 
*                  EXIT - 
* 
*                          (PMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (PCC-PCC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF BACK FORMAT ERROR.
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRIB     ACTION             VALIDATE BACK FOR PRU STREAMS
          LDD    EOT         LOAD END OF TRANSFER RECEIVED FLAG 
          NJN    BRIB.1      EXIT IF END OF TRANSFER RECEIVED 
          EREXIT BFE         EXIT TO ERROR ROUTINE - BACK FORMAT ERROR
  
 BRIB.1   LDN    /TABLES/.SRIB LOAD BACK RECEIVED ACTION ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BROR     SPACE  2,26 
**               BLOCK HANDLER STATE RESPONSE ACTION BROR.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BROR PROCESSES THE 
*                TRANSFER OF A RESET ON A PRU STREAM TO THE FRONT END.
*                THE STREAM STATE RESPONSE ACTION FOR RESET ISSUED IS 
*                EXECUTED AND THE PRU STATISTICS ARE UPDATED IN THE 
*                FRONT END TABLE. 
* 
*                  EXIT - 
* 
*                          (PMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (PCC-PCC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BROR     ACTION             TRANSFER RESET FOR PRU STREAMS 
          LDN    /TABLES/.SRSI LOAD RESET ISSUED ACTION ORDINAL 
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BRIR     SPACE  2,36 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIR.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIR PROCESSES THE 
*                RECEIPT OF AN INTERRUPT COMMAND RESPONSE ON A PRU
*                STREAM.  A CHECK IS MADE TO ASSURE THAT THE END OF 
*                TRANSFER HAS BEEN RECEIVED, THE STREAM STATE RESPONSE
*                ACTION FOR THE INTERRUPT COMMAND RESPONSE IS EXECUTED
*                AND THE PRU STATISTICS ARE UPDATED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                          (PMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (PCC-PCC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ICMD RESPONSE FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRIR     ACTION             VALIDATE ICMD RESPONSE FOR PRU STREAMS 
          LDD    EOT         LOAD END OF TRANSFER RECEIVED FLAG 
          NJN    BRIR.1      EXIT IF END OF TRANSFER RECEIVED 
          EREXIT ICE         EXIT TO ERROR - ICMD RESPONSE FORMAT ERROR 
  
 BRIR.1   LDN    /TABLES/.SICR LOAD ICMD RESPONSE ACTION ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BRIC     SPACE  2,42 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIC.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIC PROCESSES THE 
*                RECEIPT OF A COMMAND ON A PRU STREAM FROM THE FRONT
*                END.  THE PRIMARY AND SECONDARY FUNCTION CODES ARE 
*                ACCEPTED AND VALIDATED, THE INPUT COMMAND RESPONSE 
*                ACTION FOR THE COMMAND IS EXECUTED, THE STREAM STATE 
*                RESPONSE ACTION FOR THE COMMAND IS EXECUTED AND THE
*                PRU STATISTICS ARE UPDATED IN THE FRONT END TABLE. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER RECEIVED FLAG. 
* 
*                  EXIT - 
* 
*                    (NCH-NCH+L.CH) = COMMAND HEADER FROM FRONT END,
*                              (CO) = INPUT COMMAND ORDINAL,
*                             (PMC) = UPDATED FOR CURRENT MESSAGE,
*                       (PCC-PCC+1) = UPDATED FOR CURRENT MESSAGE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    ASUD - ACCEPT AND STORE UNPACKED DATA, 
*                     TLU - TABLE LOOKUP, 
*                    EICA - EXECUTE INPUT COMMAND RESPONSE ACTION,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
*                    INPUT COMMAND RESPONSE ACTION PROCESSOR, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRIC     ACTION             INPUT COMMAND HEADER FOR PRU STREAMS 
          LDD    EOT         LOAD END OF TRANSFER RECEIVED FLAG 
          ZJN    BRIC.2      EXIT IF END OF TRANSFER NOT RECEIVED 
  
 BRIC.1   LINK               ENTRY
          EREXIT ICM         EXIT TO ERROR - ILLEGAL COMMAND FORMAT 
  
 BRIC.2   LDC    NCH         ADDRESS OF BUFFER FOR NPU COMMAND HEADER 
          STD    T1          STORE STARTING BUFFER ADDRESS
          ADN    /BLOCK/L.CH-1 PLUS LENGTH OF COMMAND HEADER
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /BLOCK/L.CH LESS EXPECTED INPUT LENGTH 
          NJN    BRIC.1      EXIT IF INCORRECT INPUT LENGTH 
          LDM    NCH+/BLOCK/SFC SECONDARY FUNCTION CODE FROM FRONT END
          SCN    17B         CLEAR SECONDARY FUNCTION CODE
          NJN    BRIC.1      EXIT IF SECONDARY FUNCTION CODE RANGE ERROR
          LDM    NCH+/BLOCK/PFC LOAD PRIMARY CODE FROM FRONT END
          SHN    4           POSITION TO TABLE FORMAT 
          ADM    NCH+/BLOCK/SFC PLUS SECONDARY CODE FROM FRONT END
          STD    TAR         STORE TABLE ARGUMENT 
          LDC    /TABLES/NPIC LOAD ADDRESS OF PRU INPUT COMMAND TABLE 
          RJM    TLU         EXIT TO FIND PRU COMMAND TABLE ENTRY 
          PJN    BRIC.4      EXIT IF PRU COMMAND TO PROCESS 
          LDC    /TABLES/NPIB LOAD ADDRESS OF PRU COMMAND BYPASS TABLE
          RJM    TLU         EXIT TO FIND COMMAND BYPASS TABLE ENTRY
          MJN    BRIC.3      EXIT IF UNKNOWN PRU COMMAND
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    BRIC.3      EXIT IF END OF TRANSFER NOT RECEIVED 
          EXIT   BRDI.5      EXIT TO UPDATE FRONT END STATISTICS
  
 BRIC.3   UJK    BRIC.1      EXIT TO PROCESS UNKNOWN PRU COMMAND
  
 BRIC.4   STD    CO          STORE PRU COMMAND ORDINAL
  
          QUAL
 EICA     LDN    /ACTORD/CMDIN INPUT COMMAND DIRECTORY TABLE OFFSET 
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/NPIR FWA OF INPUT COMMAND RESPONSE TABLE 
  
 EICA.1   LINK               ENTRY
          ADD    CO          PLUS COMMAND ORDINAL 
  
 EICA.2   LINK               ENTRY
          RJM    GTE         EXIT TO GET COMMAND RESPONSE TABLE ENTRY 
          STD    RTE         STORE COMMAND RESONSE TABLE ENTRY
          SHN    -S.CTLCD    POSITION OVERLAY ORDINAL TO LOW-ORDER
          ZJN    EICA.3      EXIT IF COMMAND PROCESSOR NOT IN OVERLAY 
          RJM    COL         EXIT TO CHECK FOR OVERLAY LOADED 
  
 EICA.3   EXIT   ERA         EXIT TO EXECUTE RESPONSE ACTION
                             EXIT TO BRDI.4 TO EXECUTE STREAM RESPONSE
  
          QUAL   ACTIONS
 BROH     SPACE  2,34 
**               BLOCK HANDLER STATE RESPONSE ACTION BROH.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BROH PROCESSES THE 
*                TRANSFER OF A DATA MESSAGE TO THE FRONT END.  THE DATA 
*                MESSAGE HEADER IS TRANSFERRED, THE STREAM STATE
*                RESPONSE ACTION FOR THE OUTPUT IS EXECUTED AND THE 
*                APPROPRIATE STATISTICS ARE UPDATED IN THE FRONT END
*                TABLE. 
* 
*                  ENTRY -
* 
*                    (DHB-DHB+L.DH) = DATA HEADER FOR FRONT END.
* 
*                  EXIT - 
* 
*                          (IMC) = UPDATED FOR IVT STREAMS, 
*                    (ICC-ICC+1) = UPDATED FOR IVT STREAMS, 
*                          (PMC) = UPDATED FOR PRU STREAMS, 
*                    (PCC-PCC+1) = UPDATED FOR PRU STREAMS. 
* 
*                  CALLS -
* 
*                     TDH - TRANSFER DATA HEADER TO FRONT END,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BROH     ACTION             TRANSFER DATA HEADER TO FRONT END
          SOM    NNH+/NAM/C.MCC REDUCE CHARACTER COUNT FOR DBC
          NJN    BROH.1      EXIT IF DATA TEXT
          AOD    REOT        SET END OF TRANSFER REQUEST FLAG 
  
 BROH.1   RJM    TDH         EXIT TO OUTPUT DATA HEADER TO FRONT END
 BROT     SPACE  2,26 
**               BLOCK HANDLER STATE RESPONSE ACTION BROT.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BROT PROCESSES THE 
*                TRANSFER OF AN IVT TEXT MESSAGE TO THE FRONT END.  THE 
*                STREAM STATE RESPONSE ACTION FOR THE OUTPUT IS EXECUTED
*                AND THE IVT STATISTICS ARE UPDATED IN THE FRONT END
*                TABLE. 
* 
*                  EXIT - 
* 
*                          (IMC) = UPDATED FOR CURRENT MESSAGE, 
*                    (ICC-ICC+1) = UPDATED FOR CURRENT MESSAGE. 
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BROT     ACTION             TRANSFER IVT TEXT TO FRONT END 
          LDN    /TABLES/.SROD LOAD OUTPUT DATA RESPONSE ACTION ORDINAL 
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BRCO     SPACE  2,24 
**               BLOCK HANDLER STATE RESPONSE ACTION BRCO.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRCO PROCESSES AN
*                IVT OUTPUT COMMAND ADDRESSED TO A FRONT END WHICH IS 
*                PROCESSED BY THE DRIVER.  THE OUTPUT COMMAND NORMAL
*                RESPONSE ACTION IS EXECUTED FOR THE COMMAND. 
* 
*                  ENTRY -
* 
*                    (CO) = OUTPUT COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    EOCI - EXECUTE OVT OUTPUT COMMAND PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
**                   IVT OUTPUT COMMAND ACTION PROCESSOR. 
  
  
 BRCO     ACTION             PROCESS IVT OUTPUT COMMAND 
 EOCI     LDN    /ACTORD/CMDOUT OUTPUT COMMAND DIRECTORY TABLE ADDRESS
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/NIOR FWA OF OUTPUT COMMAND RESPONSE TABLE
          EXIT   EICA.1      EXIT TO GET RESPONSE TABLE ADDRESS 
                             RETURN VIA BLOCK STATE ACTION RETURN 
 BRCE     SPACE  2,24 
**               BLOCK HANDLER STATE RESPONSE ACTION BRCE.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRCE PROCESSES AN
*                IVT OUTPUT COMMAND ADDRESSED TO A FRONT END WHICH IS 
*                IN ERROR.  THE OUTPUT COMMAND ERROR RESPONSE ACTION
*                IS EXECUTED FOR THE COMMAND. 
* 
*                  ENTRY -
* 
*                    (CO) = OUTPUT COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    EOCE - EXECUTE IVT OUTPUT COMMAND ERROR PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
**                   IVT OUTPUT COMMAND ERROR PROCESSOR.
  
  
 BRCE     ACTION             PROCESS IVT OUTPUT COMMAND IN ERROR
 EOCE     LDN    /ACTORD/CMDOUT OUTPUT COMMAND DIRECTORY TABLE ADDRESS
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/NIOE FWA OF OUTPTU COMMAND ERROR RESPONSE TABLE
          EXIT   EICA.1      EXIT TO GET RESPONSE TABLE ADDRESS 
                             RETURN VIA BLOCK STATE ACTION RETURN 
 BRTC     SPACE  2,26 
**               BLOCK HANDLER STATE RESPONSE ACTION BRTC.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRTC PROCESSES A 
*                PRU OUTPUT COMMAND.  THE COMMAND HEADER AND THE COMMAND
*                TEXT IS TRANSFERRED TO THE FRONT END.
* 
*                  ENTRY -
* 
*                        (NCH-NCH+L.CH) = NPU COMMAND HEADER, 
*                    (DRBUF-DRBUF+L.CT) = UNPACKED COMMAND TEXT,
*                           (NNH+C.MCC) = COMMAND TEXT CHARACTER COUNT. 
* 
*                  CALLS -
* 
*                    TTBF - TRANSFER TWELVE BIT FORMATTED DATA, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRTC     ACTION             TRANSFER PRU STREAM COMMAND TO FRONT END 
          LDN    /TABLES/.SNCI LOAD NPU COMMAND ISSUED ACTION ORDINAL 
  
 BRTC.1   LINK               ENTRY
          STD    T7          STORE STREAM STATE RESPONSE ACTION ORDINAL 
          AOD    REOT        SET REQUEST END OF TRANSFER
          LDC    NCH         LOAD ADDRESS OF COMMAND HEADER BUFFER
          STD    T1          STORE STARTING BUFFER ADDRESS
          LDM    NNH+/NAM/C.MCC LOAD COMMAND TEXT CHARACTER COUNT 
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRANSFER TWELVE BIT FORMATTED DATA 
          LDD    T7          LOAD STREAM STATE RESPONSE ACTION ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BRPE     SPACE  2,20 
**               BLOCK HANDLER STATE RESPONSE ACTION BRPE.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRPE PROCESSES A 
*                BLOCK PROTOCOL ERROR ON AN ACTIVE STREAM.  THE STREAM
*                STATE RESPONSE ACTION FOR BLOCK PROTOCOL ERROR IS
*                EXECUTED FOR THAT STREAM.
* 
*                  CALLS -
* 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRPE     ACTION             PROCESS BLOCK PROTOCOL ERROR 
          LDN    /TABLES/.SBPE LOAD PROTOCOL ERROR ACTION ORDINAL 
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 BRTI     SPACE  2,24 
**               BLOCK HANDLER STATE RESPONSE ACTION BRTI.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRTI PROCESSES A 
*                PRU OUTPUT INTERRUPT COMMAND.  THE INTERRUPT COMMAND 
*                REASON CODE IS TRANSFERRED TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                          (NCH) = INTERRUPT COMMAND REASON CODE, 
*                    (NNH+C.MCC) = COMMAND TEXT CHARACTER COUNT.
* 
*                  CALLS -
* 
*                    TTBF - TRANSFER TWELVE BIT FORMATTED DATA, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BRTI     ACTION             TRANSFER ICMD TO FRONT END FOR PRU STREAMS 
          LDN    /TABLES/.SICI LOAD INTERRUPT COMMAND ISSUED ORDINAL
          EXIT   BRTC.1      EXIT TO STORE RESPONSE ACTION ORDINAL
 BRIQ     SPACE  2,26 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIQ.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIQ INPUTS THE
*                Q-MESSAGE HEADER FOR PRU STREAMS.  IF THE END OF 
*                TRANSFER IS NOT SET THE OVERLAY SUPPORT PROCESSOR IS 
*                CALLED TO INPUT AND PROCESS THE ACTUAL Q-MESSAGE 
*                HEADER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF Q-MESSAGE FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    IDH - INPUT DATA HEADER FROM FRONT END,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   IPQM - INPUT AND PROCESS Q-MESSAGE HEADER. 
  
  
 BRIQ     ACTION             INPUT Q-MESSAGE HEADER FOR PRU STREAMS 
          RJM    IDH         EXIT TO INPUT DATA HEADER FROM FRONT END 
          NJN    BRIQ.1      EXIT IF DATA HEADER FORMAT HEADER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    BRIQ.2      EXIT IF END OF TRANSFER NOT RECEIVED 
  
 BRIQ.1   LINK               ENTRY
          EREXIT QME         EXIT TO ERROR - Q-MESSAGE FORMAT ERROR 
  
 BRIQ.2   LOPA   2IO,IPQM    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 BROQ     SPACE  2,26 
**               BLOCK HANDLER STATE RESPONSE ACTION BROQ.
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BROQ PROCESSES A 
*                LEVEL SEVEN Q-MESSAGE OUTPUT FOR PRU STREAMS.  THE 
*                Q-MESSAGE TEXT IS TRANSFERRED TO THE FRONT END.
* 
*                  ENTRY -
* 
*                    (DRBUF-DRBUF+L.CT) = PACKED Q-MESSAGE TEXT,
*                           (NNH+C.MCC) = Q-MESSAGE TEXT CHARACTER COUNT. 
* 
*                  CALLS -
* 
*                     TDH - TRANSFER DATA HEADER TO FRONT END,
*                    TTBF - TRANSFER TWELVE BIT FORMATTED DATA, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BROQ     ACTION             TRANSFER PRU Q-MESSAGE TEXT TO FRONT END 
          LDN    0           CONSTANT OF ZERO 
          STM    DHB+/BLOCK/DBC STORE DATA BLOCK CLARIFIER
          RJM    TDH         EXIT TO TRANSFER DATA HEADER TO FRONT END
          AOD    REOT        SET REQUEST END OF TRANSFER
          LDC    DRBUF       LOAD ADDRESS OF Q-MESSAGE TEXT 
          STD    T1          STORE STARTING BUFFER ADDRESS
          LDM    NNH+/NAM/C.MCC LOAD Q-MESSAGE TEXT CHARACTER COUNT 
          STD    T2          STORE OUTPUT TEXT CHARACTER COUNT
          RJM    TTBF        EXIT TO TRANSFER TWELVE BIT FORMATTED DATA 
          LDN    /TABLES/.S7CI LOAD LEVEL SEVEN COMMAND ISSUED ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 SRIL     TITLE  STREAM STATE RESPONSE ACTION PROCESSORS. 
 TYPEACT  MICRO  1,,*STREAM* DEFINE ACTION TYPE 
 SRIL     SPACE  2,12 
**               STREAM STATE RESPONSE ACTION SRIL. 
* 
*                STREAM STATE RESPONSE ACTION SRIL PROCESSES AN ILLEGAL 
*                STREAM STATE RESPONSE ACTION BY TRANSFERRING CONTROL 
**               TO THE DRIVER ERROR ROUTINE. 
  
  
 SRIL     ACTION             ILLEGAL STREAM STATE RESPONSE ACTION 
          EREXIT ISR         EXIT TO ERROR - ILLEGAL STREAM RESPONSE
 SRLE     SPACE  2,12 
**               STREAM STATE RESPONSE ACTION SRLE. 
* 
*                STREAM STATE RESPONSE ACTION SRLE PROCESSES AN 
*                ILLOGICAL STREAM STATE RESPONSE ACTION BY TRANSFERRING 
**               CONTROL TO THE DRIVER ERROR ROUTINE. 
  
  
 SRLE     ACTION             ILLOGICAL STREAM STATE RESPONSE ACTION 
          EREXIT SRE         EXIT TO ERROR - ILLOGICAL STREAM RESPONSE
 SRAE     SPACE  2,10 
**               STREAM STATE RESPONSE ACTION SRAE. 
* 
*                STREAM STATE RESPONSE ACTION SRAE PROCESSES AN 
*                ILLOGICAL PRU APPLICATION STREAM STATE RESPONSE ACTION 
*                BY TRANSFERRING CONTROL TO THE DRIVER ERROR ROUTINE. 
  
  
 SRAE     ACTION             PRU APPLICATION ERROR RESPONSE ACTION
          EREXIT SAE         EXIT TO ERROR - PRU APPLICATION ERROR
 S7IL     SPACE  2,10 
**               STREAM STATE RESPONSE ACTION S7IL. 
* 
*                STREAM STATE RESPONSE ACTION S7IL PROCESSES AN A-A 
*                LEVEL SEVEN PROTOCOL ERROR BY TRANSFERRING CONTROL 
**               TO THE DRIVER ERROR ROUTINE. 
  
  
 S7IL     ACTION             A-A LEVEL SEVEN PROTOCOL ERROR 
          EREXIT L7E         EXIT TO ERROR - LEVEL SEVEN PROTOCOL ERROR 
 SRIT     SPACE  2,36 
**               STREAM STATE RESPONSE ACTION SRIT. 
* 
*                STREAM STATE RESPONSE ACTION SRIT ACCEPTS IVT TEXT FROM
*                THE FRONT END.  THE IVT TEXT IS ACCEPTED FROM THE FRONT
*                END AND STORED IN THE DRIVER BUFFER IN PACKED FORMAT.
*                WHEN THE DRIVER BUFFER IS FILLED THE IVT TEXT IS 
*                WRITTEN TO THE INBOUND BUFFER AND THE PROCESS IS 
*                REPEATED UNTIL THE COMPLETE MESSAGE HAS BEEN RECEIVED. 
*                AT THE COMPLETION OF THE INPUT THE NAM BLOCK HEADER AND
*                NETWORK HEADER ARE WRITTEN TO THE INBOUND BUFFER AND 
*                THE FET IN DATA POINTER IS UPDATED.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER RECEIVED FLAG,
*                       (FBA-FBA+1) = ADDRESS OF FET BUFFER,
*                       (CBA-CBA+1) = FET BUFFER ADDRESS FOR TEXT,
*                       (LBA-LBA+1) = ADDRESS OF END OF FET BUFFER, 
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MESSAGE EXCEEDS FET BUFFER. 
* 
*                  CALLS -
* 
*                    ASED - ACCEPT AND STORE PACKED DATA, 
*                    WDIB - WRITE INPUT DATA TO INBOUND BUFFER, 
**                   UFIP - UPDATE FET IN POINTER.
  
  
 SRIT     ACTION             ACCEPT IVT TEXT FROM FRONT END 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    SRIT.1      EXIT IF END OF TRANSFER NOT RECEIVED 
          UJN    SRUI        EXIT TO UPDATE DATA IN POINTER 
  
 SRIT.1   LOPA   2IM,PRIT    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY IS LOADED
  
 SRUI     SPACE  2,24 
**               STREAM STATE RESPONSE ACTION SRUI. 
* 
*                STREAM STATE RESPONSE ACTION SRUI WRITES THE NAM BLOCK 
*                HEADER AND NETWORK HEADER TO THE INBOUND FET BUFFER
*                AND UPDATES THE DATA IN POINTER IN THE FRONT END INPUT 
*                FET FOR THE IVT INPUT MESSAGE THAT HAS BEEN RECEIVED.
* 
*                  ENTRY -
* 
*                       (FBA-FBA+1) = ADDRESS OF FET BUFFER,
*                       (CBA-CBA+1) = FET BUFFER ADDRESS FOR TEXT,
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  CALLS -
* 
*                    WNHB - WRITE NAM HEADER TO INBOUND BUFFER, 
**                   UFIP - UPDATE FET IN DATA POINTER. 
  
  
 SRUI     ACTION             WRITE NAM HEADER AND UPDATE IN DATA POINTER
          RJM    WNHB        EXIT TO WRITE NAM HEADER TO BUFFER 
          RJM    UFIP        EXIT TO UPDATE FET IN DATA POINTER 
 SRNA     SPACE  2,10 
**               STREAM STATE RESPONSE ACTION SRNA. 
* 
*                STREAM STATE RESPONSE ACTION SRNA PROCESSES A NO ACTION
*                STREAM RESPONSE BY RETURNING BY WAY OF THE STREAM STATE
**               RESPONSE ACTION EXECUTIVE. 
  
  
 SRNA     ACTION             NO ACTION STREAM STATE RESPONSE
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRII     SPACE  2,28 
**               STREAM STATE RESPONSE ACTION SRII. 
* 
*                STREAM STATE RESPONSE ACTION SRII PROCESSES AN ILLEGAL 
*                INPUT ON AN IVT STREAM.  THE INPUT TEXT IS BYPASSED
*                FROM THE FRONT END, THE ORIGINAL BLOCK TYPE IS SET TO
*                ZERO, THE BLOCK TYPE IS STORED IN THE BAD BLOCK TYPE 
*                FIELD, THE MESSAGE CHARACTER COUNT IS STORED AND THE 
*                NAM NETWORK HEADER IS TRANSFERRED TO THE INBOUND 
*                BUFFER.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER FLAG, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  CALLS -
* 
*                    WNHB - WRITE NAM HEADER TO INBOUND BUFFER, 
*                    UFIP - UPDATE FET IN DATA POINTER. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 SRII     ACTION             PROCESS INVALID IVT INPUT
          LOPA   4IM,PIII    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
  
 SRIP     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SRIP. 
* 
*                STREAM STATE RESPONSE ACTION SRIP ACCEPTS PRU INPUT
*                FROM THE FRONT END.  THE OVERLAY SUPPORT PROCESSOR 
*                IS CALLED TO PERFORM THE INPUT.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   IPD - INPUT PRU DATA PROCESSOR.
  
  
 SRIP     ACTION             ACCEPT PRU INPUT FROM FRONT END
          LOPA   4IP,IPD     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRQW     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SRQW. 
* 
*                STREAM STATE RESPONSE ACTION SRQW QUEUES THE WORKLIST
*                COMMAND TO THE PRU INPUT STREAM.  THE OVERLAY SUPPORT
*                PROCESSOR IS CALLED TO QUEUE THE WORKLIST COMMAND. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   QIWL - QUEUE INBOUND WORKLIST PROCESSOR. 
  
  
 SRQW     ACTION             QUEUE WORKLIST COMMAND TO PRU INPUT STREAM 
          LOPA   2IP,QIWL    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRPO     SPACE  2,20 
**               STREAM STATE RESPONSE ACTION SRPO. 
* 
*                STREAM STATE RESPONSE ACTION SRPO TRANSFERS PRU OUTPUT 
*                TO THE FRONT END AND RELEASES THE ACTIVE PRU BUFFER TO 
*                THE DRIVER LIMBO BUFFER CHAIN.  THE OVERLAY SUPPORT
*                PROCESSOR IS CALLED TO RETURN THE ACTIVE PRU BUFFER. 
* 
*                  CALLS -
* 
*                    POC - PRU OUTPUT CONTROL,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   RPLB - RETURN PRU BUFFER PROCESSOR.
  
  
 SRPO     ACTION             TRANSFER PRU OUTPUT TO FRONT END 
          LOOR   3IM         LOAD OVERLAY ORDINAL OF SUBROUTINE 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    POC         EXIT TO PRU OUTPUT CONTROL 
 SRRB     SPACE  2,20 
**               STREAM STATE RESPONSE ACTION SRRB. 
* 
*                STREAM STATE RESPONSE ACTION SRRB RETURNS THE ACTIVE 
*                PRU BUFFER TO THE DRIVER LIMBO BUFFER CHAIN.  THE
*                OVERLAY SUPPORT PROCESSOR IS CALLED TO RETURN THE
*                ACTIVE PRU BUFFER. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   RPLB - RETURN PRU BUFFER PROCESSOR.
  
  
 SRRB     ACTION             RETURN PRU BUFFER TO LIMBO CHAIN 
          LOPA   3IP,RPLB    OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SPMS     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SPMS. 
* 
*                STREAM STATE RESPONSE ACTION SPMS PROCESSES A LEVEL
*                SEVEN CHECKMARK ISSUED.  THE OVERLAY SUPPORT PROCESSOR 
*                IS CALLED TO PROCESS THE CHECKMARK ISSUED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PMS - PROCESS LEVEL SEVEN CHECKMARK ISSUED.
  
  
 SPMS     ACTION             PROCESS LEVEL SEVEN CHECKMARK ISSUED 
          LOPA   3IL,PMS     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SPMR     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SPMR. 
* 
*                STREAM STATE RESPONSE ACTION SPMR PROCESSES A LEVEL
*                SEVEN CHECKMARK REPLY ISSUED.  THE OVERLAY SUPPORT 
*                PROCESSOR IS CALLED TO PROCESS CHECKMARK REPLY ISSUED. 
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   PMR - PROCESS CHECKMARK REPLY ISSUED.
  
  
 SPMR     ACTION             PROCESS LEVEL SEVEN CHECKMARK REPLY ISSUED 
          LOPA   3IL,PMR     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRBR     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SRBR. 
* 
*                STREAM STATE RESPONSE ACTION SRBR RESETS THE 
*                BREAK RECEIVED FLAG IN THE PRU CONTROL BLOCK.
* 
*                  CALLS -
* 
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   RBR - RESET BREAK RECEIVED.
  
  
 SRBR     ACTION             RESET BREAK RECEIVED FLAG
          LOPA   3IL,RBR     OVERLAY ORDINAL AND PROCESSOR ADDRESS
          EXIT   DCR.3       EXIT TO CHECK OVERLAY PROCESSOR LOADED 
 SRAQ     SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRAQ. 
* 
*                STREAM STATE RESPONSE ACTION SRAQ ADVANCES THE 
*                WORKLIST COMMAND QUEUE AND TRANSFERS THE WORKLIST
*                TO THE INBOUND BUFFER. 
* 
*                  CALLS -
* 
*                    AWQ - ADVANCE WORKLIST QUEUE,
**                   TWL - TRANSFER WORKLIST TO INBOUND BUFFER. 
  
  
 SRAQ     ACTION             ADVANCE WORKLIST COMMAND QUEUE 
          RJM    AWQ         EXIT TO ADVANCE WORKLIST QUEUE 
 SRTW     SPACE  2,14 
**               STREAM STATE RESPONSE ACTION SRTW. 
* 
*                STREAM STATE RESPONSE ACTION SRTW TRANSFERS
*                THE WORKLIST TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
**                   TWL - TRANSFER WORKLIST TO INBOUND BUFFER. 
  
  
 SRTW     ACTION             TRANSFER WORKLIST TO INBOUND BUFFER
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRQA     SPACE  2,14 
**               STREAM STATE RESPONSE ACTION SRQA. 
* 
*                STREAM STATE RESPONSE ACTION SRQA ADVANCES THE 
*                WORKLIST COMMAND QUEUE.
* 
*                  CALLS -
* 
**                   AWQ - ADVANCE WORKLIST QUEUE.
  
  
 SRQA     ACTION             ADVANCE WORKLIST COMMAND QUEUE 
          RJM    AWQ         EXIT TO ADVANCE WORKLIST QUEUE 
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SROA     SPACE  2,20 
**               STREAM STATE RESPONSE ACTION SROA. 
* 
*                STREAM STATE RESPONSE ACTION SROA GENERATES THE DIRECT 
*                OUTPUT ACKNOWLEDGMENT WORKLIST AND TRANSFERS THE 
*                WORKLIST TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR, 
*                     TWL - TRANSFER WORKLIST TO INBOUNF BUFFER.
* 
*                  PROCESSOR CALLS -
* 
**                   WORKLIST ACTION PROCESSOR. 
  
  
 SROA     ACTION             DIRECT OUTPUT ACKNOWLEDGMENT 
          LDN    /TABLES/OSDA OUTPUT ACKNOWLEDGMENT WORKLIST ORDINAL
          STD    WLO         STORE WORKLIST ORDINAL 
          RJM    EWLP        EXIT TO EXECUTE WORKLIST PROCESSOR 
          EXIT   SRTW        EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
 SRSO     SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRSO. 
* 
*                STREAM STATE RESPONSE ACTION SRSO SETS THE OLD STATE 
*                TO THE CURRENT STATE AND TRANSFERS THE WORKLIST TO THE 
*                INBOUND BUFFER.
* 
*                  CALLS -
* 
*                    SCSS - SET OLD STATE TO CURRENT STREAM STATE,
**                    TWL - TRANSFER WORKLIST TO INBOUND BUFFER.
  
  
 SRSO     ACTION             SET OLD STATE TO CURRENT STREAM STATE
          RJM    SCSS        EXIT TO SET OLD STATE TO CURRENT STATE 
          EXIT   SRTW        EXIT TO TRANSFER WORKLIST TO BUFFER
 SROT     SPACE  2,22 
**               STREAM STATE RESPONSE ACTION SROT. 
* 
*                STREAM STATE RESPONSE ACTION SROT TRANSFERS IVT TEXT 
*                TO THE FRONT END.  AT THE COMPLETION OF THE TRANSFER 
*                THE FET OUT DATA POINTER IS UPDATED. 
* 
*                  ENTRY -
* 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER, 
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER. 
* 
*                  CALLS -
* 
*                     COL - CHECK OVERLAY LOADED, 
*                     TOT - TRANSFER OUTPUT TEXT TO FRONT END,
**                   UFOP - UPDATE FET OUT DATA POINTER.
  
  
 SROT     ACTION             TRANSFER IVT TEXT TO NPU 
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          ZJN    SRUO        EXIT IF NO MESSAGE TEXT
          LOOR   2IM         OVERLAY ORDINAL OF OUTPUT TEXT SUBROUTINE
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    TOT         EXIT TO TRANSFER OUTPUT TEXT TO NPU
 SRUO     SPACE  2,20 
**               STREAM STATE RESPONSE ACTION SRUO. 
* 
*                STREAM STATE RESPONSE ACTION SRUO UPDATES THE DATA OUT 
*                POINTER IN A FRONT END OUTPUT PSEUDO FET FOR THE IVT 
*                OUTPUT MESSAGE THAT HAS BEEN PROCESSED.
* 
*                  ENTRY -
* 
*                    (FBA-FBA+1) = ADDRESS OF HEADER WORD 
*                                  FOR CURRENT IVT MESSAGE. 
* 
*                  CALLS -
* 
**                   UFOP - UPDATE FET OUT DATA POINTER.
  
  
 SRUO     ACTION             UPDATE FET OUT DATA POINTER
          RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
  
 SRUO.1   LINK               ENTRY
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRBI     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SRBI. 
* 
*                STREAM STATE RESPONSE ACTION SRBI BYPASSES THE 
*                CURRENT INPUT MESSAGE FROM THE FRONT END.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 SRBI     ACTION             BYPASS FRONT END INPUT MESSAGE 
  
 SRBI.1   LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    SRUO.1      EXIT IF END OF TRANSFER RECEIVED 
          CLIO   FEIC        ACCEPT NEXT DATA CHARACTER FROM FRONT END
          UJK    SRBI.1      EXIT TO CHECK FOR END OF TRANSFER
 SROS     SPACE  2,18 
**               STREAM STATE RESPONSE ACTION SROS. 
* 
*                STREAM STATE RESPONSE ACTION SROS RETURNS TO THE OLD 
*                STREAM STATE, SETS THE WORKLIST COMPLETED STATUS IN
*                THE WORKLIST POINTER WORD OF THE PCB AND TRANSFERS THE 
*                WORKLIST COMPLETED RESPONSE TO THE INBOUND BUFFER. 
* 
*                  CALLS -
* 
*                    RPSS - RETURN TO OLD STREAM STATE, 
**                   SWLC - SET WORKLIST COMPLETED. 
  
  
 SROS     ACTION             RETURN OLD STATE AND WORKLIST COMPLETED
          RJM    RPSS        EXIT TO RETURN TO OLD STREAM STATE 
 SRWC     SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRWC. 
* 
*                STREAM STATE RESPONSE ACTION SRWC SETS THE WORKLIST
*                COMPLETED STATUS IN THE WORKLIST POINTER WORD OF THE 
*                PCB AND TRANSFERS THE WORKLIST COMPLETED RESPONSE TO 
*                THE INBOUND BUFFER.
* 
*                  CALLS -
* 
**                   SWLC - SET WORKLIST COMPLETED. 
  
  
 SRWC     ACTION             SET WORKLIST COMPLETED 
          RJM    SWLC        EXIT TO SET WORKLIST COMPLETED 
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRDO     SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRDO. 
* 
*                STREAM STATE RESPONSE ACTION SRDO TRANSFERS THE DIRECT 
*                OUTPUT TO THE FRONT END AND TRANSFERS THE WORKLIST 
*                COMPLETED RESPONSE TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
*                     COL - CHECK OVERLAY LOADED, 
*                     POC - PRU OUTPUT CONTROL, 
**                   SWLC - SET WORKLIST COMPLETED. 
  
  
 SRDO     ACTION             TRANSFER DIRECT OUTPUT TO FRONT END
          LOOR   3IM         LOAD OVERLAY ORDINAL OF SUBROUTINE 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    POC         EXIT TO PRU OUTPUT CONTROL 
          EXIT   SRWC        EXIT TO SET WORKLIST COMPLETED 
 SRSB     SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRSB. 
* 
*                STREAM STATE RESPONSE ACTION SRSB SETS THE OLD STREAM
*                STATE TO BYPASS AND TRANSFERS THE WORKLIST COMPLETED 
*                RESPONSE TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
*                    SRSS - SET OLD STREAM STATE, 
**                   SWLC - SET WORKLIST COMPLETED. 
  
  
 SRSB     ACTION             SET OLD STREAM STATE TO BYPASS 
          LDN    /TABLES/STS16 STREAM STATE FOR BYPASS
          RJM    SRSS        EXIT TO SET OLD STREAM STATE 
          EXIT   SRWC        EXIT TO SET WORKLIST COMPLETED 
SRFO      SPACE  2,16 
**               STREAM STATE RESPONSE ACTION SRFO. 
* 
*                STREAM STATE RESPONSE ACTION SRFO SETS THE PRU MODE
*                ON FLAG IN THE PCB AND TRANSFERS THE WORKLIST
*                COMPLETED RESPONSE TO THE INBOUND BUFFER.
* 
*                  CALLS -
* 
*                    UPRM - UPDATE PRU MODE,
**                   SWLC - SET WORKLIST COMPLETED. 
  
  
 SRFO     ACTION             SET PRU MODE ON FLAG 
          LDN    /NAM/B.PCBFTO LOAD PRU ON STATUS 
          RJM    UPRM        EXIT TO EXIT TO SET PRU MODE ON FLAG 
          EXIT   SRWC        EXIT TO SET WORKLIST COMPLETED 
 SROF     SPACE  2,14 
**               STREAM STATE RESPONSE ACTION SROF. 
* 
*                STREAM STATE RESPONSE ACTION SROF RESETS THE 
*                PRU MODE ON FLAG IN THE PRU CONTROL BLOCK. 
* 
*                  CALLS -
* 
**                   UPRM - UPDATE PRU MODE.
  
  
 SROF     ACTION             RESET PRU MODE ON FLAG 
          LDN    0           CONSTANT OF ZERO 
          RJM    UPRM        EXIT TO RESET PRU MODE ON FLAG 
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRRS     SPACE  2,14 
**               STREAM STATE RESPONSE ACTION SRRS. 
* 
*                STREAM STATE RESPONSE ACTION SRRS
*                RETURNS TO THE OLD STREAM STATE. 
* 
*                  CALLS -
* 
*                    RPSS - RETURN TO OLD STREAM STATE. 
  
  
 SRRS     ACTION             RETURN TO OLD STREAM STATE 
          RJM    RPSS        EXIT TO RETURN TO OLD STATE
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 SRWE     SPACE  2,14 
**               STREAM STATE RESPONSE ACTION SRWE. 
* 
*                STREAM STATE RESPONSE ACTION SRWE SETS THE 
*                OLD STREAM STATE TO WAIT FOR EOI DELIVERED.
* 
*                  CALLS -
* 
**                   SRSS - SET OLD STREAM STATE. 
  
  
 SRWE     ACTION             SET OLD STREAM STATE TO WAIT EOI DELIVERED 
          LDN    /TABLES/STS34 STREAM STATE FOR WAIT EOI DELIVERED
          RJM    SRSS        EXIT TO SET OLD STREAM STATE 
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 CEH      TITLE  COUPLER EXCHANGE HANDLER.
          QUAL
 CEH      SPACE  2,48 
**               SUBROUTINE CEH.
* 
*                SUBROUTINE CEH HANDLES EXCHANGES BETWEEN THE DRIVER
*                AND THE FRONT END.  IF THE OUTPUT DELAY TIMER IS 
*                NOT IN EFFECT OR HAS EXPIRED, THE BLOCK HANDLER STATE
*                PROCESSOR IS CALLED TO HANDLE AN OUTPUT SEQUENCE.
*                IF THE OUTPUT DELAY TIMER HAS NOT EXPIRED, AN ATTEMPT
*                IS MADE TO ACCEPT INPUT FROM THE FRONT END.  IF AN 
*                INPUT MESSAGE IS AVAILABLE AND CAN BE ACCEPTED, THE
*                BLOCK HEADER IS READ AND THE APPROPRIATE RESPONSE
*                ACTIONS ARE CALLED TO PROCESS THE INPUT. 
* 
*                **NOTE** - EXIT FROM SUBROUTINE CEH IS MADE
*                           EXPLICITLY BY THE STATE PROCESSORS
*                           HANDLING OUTPUT SEQUENCES TO THE
*                           FRONT END.
* 
*                  ENTRY -
* 
*                      (A) = OUTPUT BLOCK TYPE, 
*                    (BHS) = BLOCK HANDLER STATE. 
* 
*                  CALLS -
* 
*                     COL - CHECK OVERLAY LOADED, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    EIIA - EXECUTE INPUT INITIATOR RESPONSE ACTION,
*                    EIRA - EXECUTE INPUT BLOCK RESPONSE ACTION.
* 
*                  MACRO CALLS -
* 
*                    FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
* 
*                  PROCESSOR CALLS -
* 
*                    BLOCK HANDLER STATE PROCESSOR, 
*                    INPUT INITIATOR RESPONSE ACTION PROCESSOR, 
*                    INPUT BLOCK RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
*                    T0-T0+4 = SYSTEM REAL-TIME CLOCK,
**                        T1 = BLOCK HANDLER STATE PROCESSOR ADDRESS. 
  
  
 CEH      SUBR               ENTRY/EXIT 
          STD    BT          STORE BLOCK TYPE OF OUTPUT REQUESTED 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDM    OTM,FEI     LOAD OUTPUT DELAY TIMER FOR FRONT END
          ZJN    CEH.1       EXIT IF OUTPUT DELAY NOT IN EFFECT 
          SBD    T0+4        LESS SYSTEM MILLISECOND TIMER
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          PJN    CEH.3       EXIT IF OUTPUT DELAY NOT EXPIRED 
  
 CEH.1    LDD    BHS         LOAD BLOCK HANDLER STATE 
          SBN    /TABLES/BHS4 LESS VALUE FOR FIRST NPU STATE
          MJN    CEH.2       EXIT IF NOT NPU STATE
          LOOR   2IQ         OVERLAY ORDINAL OF NPU STATE PROCESSORS
          RJM    COL         EXIT TO CHECK IF OVERLAY LOADED
  
 CEH.2    LDD    BHS         LOAD BLOCK HANDLER STATE 
          ADC    /TABLES/BHSTATES PLUS FWA OF BLOCK HANDLER STATE TABLE 
          RJM    GTE         EXIT TO GET BLOCK HANDLER STATE TABLE ENTRY
          STD    T1          STORE ADDRESS OF STATE PROCESSOR 
          LJM    0,T1        EXIT TO BLOCK HANDLER STATE PROCESSOR
  
 CEH.3    LINK               ENTRY
          FEIO   FEIA        CHECK FOR INPUT AVAILABLE FROM FRONT END 
          MJN    CEHX        EXIT IF INPUT NOT AVAILABLE
          LDN    0           CONSTANT OF ZERO 
          STD    STS         RESET STREAM STATES
          STM    OTM,FEI     RESET OUTPUT DELAY TIMER 
 EIIA     LDD    IOC         LOAD INPUT ORDER CODE ORDINAL
          ADC    /TABLES/IIT PLUS FWA OF INPUT INITIATOR TABLE
  
 EIIA.1   LINK               ENTRY
          RJM    GTE         EXIT TO GET DRIVER TABLE ENTRY 
  
 EIIA.2   LINK               ENTRY
          STM    EIIA.3+1    STORE ACTION PROCESSOR ADDRESS 
  
 EIIA.3   LJM    **          EXIT TO EXECUTE ACTION PROCESSOR 
  
 EIIAX    MJN    CEH.5       EXIT IF INPUT NOT POSSIBLE 
          FEIO   FEIH        INPUT BLOCK PROTOCOL HEADER FROM FRONT END 
 EIRA     LDN    /ACTORD/BLKIN INPUT BLOCK DIRECTORY TABLE OFFSET 
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDD    STS         LOAD PRU STREAM STATES 
          ZJN    EIRA.1      EXIT IF NOT PRU STREAM 
          LDN    /TABLES/PIBR-/TABLES/IIBR DELTA FOR PRU BLOCK TABLE
  
 EIRA.1   ADC    /TABLES/IIBR PLUS FWA OF IVT BLOCK INPUT TABLE 
          UJN    EOIA.2      EXIT TO GET RESPONSE TABLE ENTRY 
                             EXIT TO CEHX AFTER ACTION
  
 CEH.5    LINK               ENTRY
          FEIO   FENI        SET NOT READY FOR INPUT TO FRONT END 
          UJK    CEHX        RETURN 
 EIIA     TITLE  MAIN DRIVER CONTROL PROCESSORS.
 EIIA     SPACE  2,26 
**               SUBROUTINE EIIA. 
* 
*                SUBROUTINE EIIA EXECUTES AN INPUT INITIATOR ACTION.
*                THE INPUT INITIATOR CONTROL TABLE ENTRY IS OBTAINED
*                AND THE INPUT INITIATOR ACTION IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (IOC) = INPUT ORDER CODE ORDINAL FROM FRONT END. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    INPUT INITIATOR ACTION PROCESSOR.
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
*                CODE IS PLACED INLINE IN CEH TO SAVE SPACE AND TIME. 
 EOIA     SPACE  2,36 
**               SUBROUTINE EOIA. 
* 
*                SUBROUTINE EOIA EXECUTES AN OUTPUT INITIATOR ACTION. 
*                THE OUTPUT INITIATOR CONTROL TABLE ENTRY IS OBTAINED,
*                THE CONTROL CODE SAVED AND THE OUTPUT INITIATOR ACTION 
*                IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (STS) = PRU STREAM STATES, 
*                     (BT) = OUTPUT BLOCK TYPE. 
* 
*                  EXIT - 
* 
*                    (CTL) = OUTPUT INITIATOR RESPONSE CONTROL CODE,
*                    (RTE) = OUTPUT INITIATOR RESPONSE TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR ACTION PROCESSOR. 
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
 EOIA     SUBR               ENTRY/EXIT 
          LDN    /ACTORD/OUTINT OUTPUT INITIATOR DIRECTORY TABLE OFFSET 
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDD    STS         LOAD PRU STREAM STATES 
          ZJN    EOIA.1      EXIT IF NOT PRU STREAM 
          LDN    /TABLES/POIT-/TABLES/IOIT DELTA FOR PRU INITIATOR TABLE
  
 EOIA.1   ADC    /TABLES/IOIT PLUS FWA OF IVT OUTPUT INITIATOR TABLE
  
 EOIA.2   LINK               ENTRY
          ADD    BT          PLUS BLOCK TYPE
  
 EOIA.3   LINK               ENTRY
          RJM    GTE         EXIT TO GET RESPONSE TABLE ENTRY 
          STD    RTE         STORE RESPONSE TABLE ENTRY 
          SHN    -S.CTLCD    POSITION CONTROL CODE TO LOW-ORDER 
          STD    CTL         STORE CONTROL CODE FROM TABLE ENTRY
 ERA      SPACE  2,28 
**               ROUTINE ERA. 
* 
*                ROUTINE ERA EXECUTES A DRIVER RESPONSE ACTION.  THE
*                ACTION ORDINAL IS OBTAINED FROM THE RESPONSE TABLE 
*                ENTRY.  THE ACTION ADDRESS IS OBTAINED FROM THE ACTION 
*                DIRECTORY TABLE AND THE ACTION IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (RTE) = RESPONSE TABLE ENTRY,
*                    (ADO) = ACTION DIRECTORY TABLE OFFSET. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
 ERA      LINK               ENTRY
          LDD    RTE         LOAD RESPONSE TABLE ENTRY
          LPN    L.ACTORD    EXTRACT ACTION ORDINAL 
          ADD    ADO         PLUS ACTION DIRECTORY TABLE OFFSET 
          EXIT   EIIA.1      EXIT TO GET DRIVER CONTROL TABLE ENTRY 
 EOVP     SPACE  2,34 
**               SUBROUTINE EOVP. 
* 
*                SUBROUTINE EOVP EXECUTES AN OUTPUT VALIDATION ACTION 
*                PROCESSOR.  THE OUTPUT VALIDATION CONTROL TABLE ENTRY
*                IS OBTAINED AND THE OUTPUT VALIDATION ACTION PROCESSOR 
*                IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (A) = APPLICATION CHARACTER TYPE.
* 
*                  EXIT - 
* 
*                      (A) = ZERO IF INVALID OUTPUT PARAMETER,
*                    (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
*                    (OCP) = OUTPUT CHARACTER PROCESSOR ADDRESS.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT VALIDATION ACTION PROCESSOR.
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
 EOVP     SUBR               ENTRY/EXIT 
          ADC    /TABLES/VMP PLUS FWA OF VALIDATION PROCESSOR TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          ZJN    EOVPX       RETURN IF INVALID TABLE ENTRY
          EXIT   EIIA.2      EXIT TO STORE PROCESSOR ADDRESS
 EIRA     SPACE  2,34 
**               SUBROUTINE EIRA. 
* 
*                SUBROUTINE EIRA EXECUTES AN INPUT BLOCK RESPONSE 
*                ACTION.  THE INPUT BLOCK RESPONSE CONTROL TABLE
*                ENTRY IS OBTAINED, THE CONTROL CODE SAVED AND THE
*                INPUT BLOCK RESPONSE ACTION IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (STS) = PRU STREAM STATES, 
*                     (BT) = INPUT BLOCK TYPE.
* 
*                  EXIT - 
* 
*                    (CTL) = INPUT BLOCK RESPONSE CONTROL CODE, 
*                    (RTE) = INPUT BLOCK RESPONSE CONTROL TABLE ENTRY.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    INPUT BLOCK RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
*                CODE IS PLACED INLINE IN CEH TO SAVE SPACE AND TIME. 
 EORA     SPACE  2,28 
**               SUBROUTINE EORA. 
* 
*                SUBROUTINE EORA EXECUTES AN OUTPUT BLOCK RESPONSE
*                ACTION.  THE OUTPUT BLOCK RESPONSE CONTROL TABLE 
*                ENTRY IS OBTAINED AND THE OUTPUT BLOCK RESPONSE ACTION 
*                IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT BLOCK RESPONSE ACTION PROCESSOR.
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
*                CODE IS PLACED INLINE IN BIAS TO SAVE SPACE AND TIME.
 EBRA     SPACE  2,36 
**               SUBROUTINE EBRA. 
* 
*                SUBROUTINE EBRA EXECUTES A BLOCK HANDLER STATE RESPONSE
*                ACTION.  THE BLOCK HANDLER STATE RESPONSE TABLE ENTRY
*                IS OBTAINED, THE BLOCK HANDLER STATE IS SET TO THE 
*                VALUE OF THE TABLE CONTROL PARAMETER, THE ACTION IS
*                EXECUTED AND THE CONNECTION TABLE IS REWRITTEN.
* 
*                  ENTRY -
* 
*                    (CTL) = BLOCK HANDLER STATE
*                            RESPONSE ACTION ORDINAL. 
* 
*                  EXIT - 
* 
*                    (BHS) = NEW BLOCK HANDLER STATE, 
*                    (RTE) = BLOCK HANDLER STATE RESPONSE TABLE ENTRY.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    WCT - WRITE CONNECTION TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
 TCRN     LINK               ENTRY
          LOOR   3IL         LOAD ORVERLAY ORDINAL OF SUBROUTINE
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          RJM    TCR         EXIT TO TRANSFER COMMAND RESPONSE
  
 EBRAX    LINK               RETURN POINT 
          RJM    WCT         EXIT TO WRITE CONNECTION TABLE ENTRY 
  
 EBRA     SUBR   NOX         ENTRY/EXIT 
          LDN    /ACTORD/BLOCK BLOCK HANDLER DIRECTORY TABLE OFFSET 
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/BHSRP LOAD ADDRESS OF RESPONSE TABLE POINTERS
          ADD    BHS         PLUS BLOCK HANDLER STATE 
          RJM    GTE         EXIT TO GET TABLE POINTER ENTRY
          ADD    CTL         PLUS STATE RESPONSE ACTION ORDINAL 
          RJM    GTE         EXIT TO GET RESPONSE TABLE ENTRY 
          STD    RTE         STORE RESPONSE TABLE ENTRY 
          SHN    -S.CTLCD    POSITION CONTROL CODE TO LOW-ORDER 
          STD    BHS         STORE NEXT BLOCK HANDLER STATE 
          EXIT   ERA         EXIT TO EXECUTE RESPONSE ACTION
 ESRA     SPACE  2,38 
**               SUBROUTINE ESRA. 
* 
*                SUBROUTINE ESRA EXECUTES A STREAM STATE RESPONSE 
*                ACTION.  THE STREAM STATE RESPONSE TABLE ENTRY IS
*                OBTAINED, THE STREAM STATE IS SET TO THE VALUE OF
*                THE TABLE CONTROL PARAMETER, THE ACTION IS EXECUTED
*                AND THE CONNECTION TABLE IS REWRITTEN. 
* 
*                  ENTRY -
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (STS) = STREAM STATES. 
* 
*                  EXIT - 
* 
*                    (STS) = NEW STREAM STATE,
*                    (RTE) = STREAM STATE RESPONSE TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    WCT - WRITE CONNECTION TABLE ENTRY.
* 
*                  PROCESSOR CALLS -
* 
*                    STREAM STATE RESPONSE ACTION PROCESSOR.
* 
*                  USES - 
* 
*                    CTL = STREAM STATE RESPONSE ACTION ORDINAL,
*                    NSS = NEXT STREAM STATE, 
**                    T1 = ACTION PROCESSOR ADDRESS.
  
  
 ESRAX    LINK               RETURN POINT 
          LDD    STS         LOAD STREAM STATES 
          SCN    77B         CLEAR CURRENT STREAM STATE 
          LMD    NSS         SET NEXT STREAM STATE
          STD    STS         STORE STREAM STATES
          RJM    WCT         EXIT TO WRITE CONNECTION TABLE ENTRY 
  
 ESRA     SUBR   NOX         ENTRY/EXIT 
          STD    CTL         STORE STREAM STATE RESPONSE ACTION ORDINAL 
          LDC    /ACTORD/STREAM STREAM ACTION DIRECTORY TABLE OFFSET
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDD    STS         LOAD STREAM STATES 
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          ADC    /TABLES/SSRP PLUS ADDRESS OF RESPONSE TABLE POINTERS 
          RJM    GTE         EXIT TO GET TABLE POINTER ENTRY
          ADC    /TABLES/STSRT*2 PLUS OFFSET FOR RESPONSE TABLE POINTER 
          SHN    17          DIVIDE BY TWO
          STD    T10         STORE RESPONSE TABLE POINTER 
          SHN    -17         ENTRY SIZE FLAG (0=3-BIT, 1=6-BIT) 
          ZJN    ESRA.1      EXIT IF 3-BIT ENTRY
          LDN    70B         SETUP HIGHER 3-BIT MASK
  
 ESRA.1   ADC    1207B       LPN INSTRUCTION WITH LOWER 3-BIT MASK
          STM    ESRA.4      STORE MASK INSTRUCTION 
          LPN    70B         CHECK FOR 3-BIT MASK 
          ZJN    ESRA.2      EXIT IF 3-BIT MASK 
          LDD    CTL         TABLE OFFSET DOUBLED IF 6-BIT ENTRY
          ADN    1           PLUS ONE 
  
 ESRA.2   ADD    CTL         TBLE OFFSET IF 3-BIT ENTRY 
          SHN    16          OFFSET DIVIDED BY 4
          STD    T11         BYTE OFFSET - 4 ENTRIES / BYTE 
          SHN    -16         REMAINDER OF DIVISION BY 4 
          STD    T12         STORE REMAINDER
          SHN    2           REMAINDER OF DIVISION BY 4 TIMES 4 
          SBD    T12         REMAINDER * 3
          ADC    1011B       SHIFT INSTRUCTION WITH ADDITINAL 9 BITS
          STM    ESRA.3      STORE SHIFT INSTRUCTION
          LDD    T10         RESPONSE TABLE ADDRESS 
          ADD    T11         PLUS BYTE OFFSET 
          RJM    GTE         EXIT TO GET ACTION ENTRY INDEX 
  
 ESRA.3   SHN    **          SHIFT 9, 12, 15 OR 18
 ESRA.4   LPN    **          MASK 7 OR 77B
          STD    T11         STORE ACTION ENTRY INDEX 
          LDD    T10         RESPONSE TABLE ADDRESS 
          SBD    T11         MINUS ACTION ENTRY INDEX 
          SBN    1           ADJUSTMENT TO DELTA
          RJM    GTE         EXIT TO GET ACTION ENTRY 
          STD    RTE         STORE RESPONSE TABLE ENTRY 
          SHN    -S.CTLCD    POSITION CONTROL CODE TO LOW-ORDER 
          STD    NSS         STORE NEXT STREAM STATE
          EXIT   ERA         EXIT TO EXECUTE RESPONSE ACTION
 EICA     SPACE  2,36 
**               SUBROUTINE EICA. 
* 
*                SUBROUTINE EICA EXECUTES AN INPUT COMMAND RESPONSE 
*                ACTION.  THE INPUT COMMAND RESPONSE TABLE ENTRY IS 
*                OBTAINED AND THE CONTROL PARAMETER IS CHECKED.  IF 
*                THE CONTROL PARAMETER IS NON-ZERO IT IDENTIFIES THE
*                OVERLAY THAT CONTAINS THE INPUT COMMAND PROCESSOR. 
*                IF THE INPUT COMMAND PROCESSOR IS OVERLAY RESIDENT 
*                A CHECK IS MADE TO ASSURE THAT THE OVERLAY IS LOADED.
* 
*                  ENTRY -
* 
*                    (CO) = INPUT COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                    (RTE) = INPUT COMMAND RESPONSE TABLE ENTRY.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
*                    INPUT COMMAND RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
**                   T1 = ACTION PROCESSOR ADDRESS. 
  
  
*                CODE IS PLACED INLINE IN BRIC TO SAVE SPACE AND TIME.
 EWLP     SPACE  2,32 
**               SUBROUTINE EWLP. 
* 
*                SUBROUTINE EWLP EXECUTES A WORKLIST COMMAND PROCESSOR. 
*                THE WORKLIST COMMAND PROCESSOR TABLE ENTRY IS OBTAINED 
*                AND THE CONTROL PARAMETER IS CHECKED.  IF THE CONTROL
*                PARAMETER IS NON-ZERO IT IDENTIFIES THE OVERLAY THAT 
*                CONTAINS THE WORKLIST COMMAND PROCESSOR.  IF THE 
*                WORKLIST COMMAND PROCESSOR IS OVERLAY RESIDENT A CHECK 
*                IS MADE TO ASSURE THAT THE OVERLAY IS LOADED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                    (RTE) = WORKLIST COMMAND PROCESSOR TABLE ENTRY.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
**                   WORKLIST COMMAND ACTION PROCESSOR. 
  
  
 EWLP     SUBR               ENTRY/EXIT 
          LDC    /ACTORD/WORK WORKLIST COMMAND DIRECTORY OFFSET 
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/AWLPT FWA OF WORKLIST COMMAND PROCESSOR TABLE
          ADD    WLO         PLUS WORKLIST ORDINAL
          EXIT   EICA.2      EXIT TO GET RESPONSE TABLE ENTRY 
 EOCI     SPACE  2,36 
**               SUBROUTINE EOCI. 
* 
*                SUBROUTINE EOCI EXECUTES AN IVT OUTPUT COMMAND NORMAL
*                RESPONSE ACTION.  THE OUTPUT COMMAND RESPONSE TABLE
*                ENTRY IS OBTAINED AND THE CONTROL PARAMETER IS CHECKED.
*                IF THE CONTROL PARAMETER IS NON-ZERO IT IDENTIFIES THE 
*                OVERLAY THAT CONTAINS THE OUTPUT COMMAND PROCESSOR.
*                IF THE OUTPUT COMMAND PROCESSOR IS OVERLAY RESIDENT
*                A CHECK IS MADE TO ASSURE THAT THE OVERLAY IS LOADED.
* 
*                  ENTRY -
* 
*                    (CO) = OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                    (RTE) = OUTPUT COMMAND RESPONSE TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
*                    IVT COMMAND RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
*                    T0-T0+1 = RESPONSE TABLE ADDRESS,
**                        T1 = ACTION PROCESSOR ADDRESS.
  
  
*                CODE IS PLACED INLINE IN BRCO TO SAVE SPACE AND TIME.
 EOCE     SPACE  2,36 
**               SUBROUTINE EOCE. 
* 
*                SUBROUTINE EOCE EXECUTES AN IVT OUTPUT COMMAND ERROR 
*                RESPONSE ACTION.  THE OUTPUT COMMAND RESPONSE TABLE
*                ENTRY IS OBTAINED AND THE CONTROL PARAMETER IS CHECKED.
*                IF THE CONTROL PARAMETER IS NON-ZERO IT IDENTIFIES THE 
*                OVERLAY THAT CONTAINS THE OUTPUT COMMAND PROCESSOR.
*                IF THE OUTPUT COMMAND PROCESSOR IS OVERLAY RESIDENT
*                A CHECK IS MADE TO ASSURE THAT THE OVERLAY IS LOADED.
* 
*                  ENTRY -
* 
*                    (CO) = OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                    (RTE) = OUTPUT COMMAND RESPONSE TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
*                    IVT COMMAND ERROR RESPONSE ACTION PROCESSOR. 
* 
*                  USES - 
* 
*                    T0-T0+1 = RESPONSE TABLE ADDRESS,
**                        T1 = ACTION PROCESSOR ADDRESS.
  
  
*                CODE IS PLACED INLINE IN BRCE TO SAVE SPACE AND TIME.
 EOCP     SPACE  2,36 
**               SUBROUTINE EOCP. 
* 
*                SUBROUTINE EOCP EXECUTES A PRU OUTPUT COMMAND RESPONSE 
*                ACTION.  THE OUTPUT COMMAND RESPONSE TABLE ENTRY IS
*                OBTAINED AND THE CONTROL PARAMETER IS CHECKED.  IF 
*                THE CONTROL PARAMETER IS NON-ZERO IT IDENTIFIES THE
*                OVERLAY THAT CONTAINS THE OUTPUT COMMAND PROCESSOR.
*                IF THE OUTPUT COMMAND PROCESSOR IS OVERLAY RESIDENT
*                A CHECK IS MADE TO ASSURE THAT THE OVERLAY IS LOADED.
* 
*                  ENTRY -
* 
*                    (CO) = OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                    (RTE) = OUTPUT COMMAND RESPONSE TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    COL - CHECK OVERLAY LOADED.
* 
*                  PROCESSOR CALLS -
* 
*                    PRU OUTPUT COMMAND RESPONSE ACTION PROCESSOR.
* 
*                  USES - 
* 
*                    T0-T0+1 = RESPONSE TABLE ADDRESS,
**                        T1 = ACTION PROCESSOR ADDRESS.
  
  
*                CODE IS PLACED INLINE IN SOPC TO SAVE SPACE AND TIME.
 ROPW     TITLE  DRIVER CONTROL TABLE MANAGEMENT SUBROUTINES. 
 GOCA     SPACE  2,30 
**               SUBROUTINE GOCA. 
* 
*                SUBROUTINE GOCA GETS THE ABSOLUTE CENTRAL ADDRESS OF 
*                THE SPECIFIED OVERLAY.  THE OVERLAY POINTER WORD IS
*                READ BY ADDING THE FIRST WORD ADDRESS OF THE OVERLAY 
*                POINTER AREA TO THE GIVEN POINTER WORD DISPLACEMENT. 
*                CHECKS ARE MADE ON THE FORMAT OF THE POINTER WORD, 
*                AND, IF CORRECT, THE ABSOLUTE ADDRESS OF THE OVERLAY 
*                IS FORMED. 
* 
*                  ENTRY -
* 
*                    (A) = OVERLAY POINTER WORD DISPLACEMENT. 
* 
*                  EXIT - 
* 
*                            (A) = OVERLAY ABSOLUTE CENTRAL ADDRESS, OR 
*                                  0 IF POINTER WORD FORMAT ERROR.
* 
*                    (T10-T10+4) = OVERLAY POINTER WORD.
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 GOCA     SUBR               ENTRY/EXIT 
          ACMA   W.OVLP      PLUS BASE ADDRESS OF OVERLAY POINTER AREA
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ OVERLAY POINTER WORD
          LDD    T10+/NAM/C.DOAOL LOAD OVERLAY LENGTH IN CENTRAL WORDS
          ZJN    GOCAX       EXIT IF OVERLAY TABLE ERROR
          LDD    T10+/NAM/C.DOAOA LOAD HIGH-ORDER OF OVERLAY ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DOAOA+1 PLUS LOW-ORDER OF OVERLAY ADDRESS 
          ZJN    GOCAX       EXIT IF OVERLAY ADDRESS NOT KNOWN
          ADD    T10+/NAM/C.DOAOL PLUS OVERLAY LENGTH IN CENTRAL WORDS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T10+/NAM/C.DOAOL LESS OVERLAY LENGTH IN CENTRAL WORDS
          UJK    GOCAX       RETURN 
 COL      SPACE  2,36 
**               SUBROUTINE COL.
* 
*                SUBROUTINE COL CHECKS THE OVERLAY LOADED IN THE DRIVER 
*                TRANSIENT OVERLAY AREA.  IF THE OVERLAY REQUESTED IS 
*                NOT LOADED IT WILL BE LOADED IN THE OVERLAY AREA.
* 
*                  ENTRY -
* 
*                      (A) = ORDINAL OF REQUESTED OVERLAY,
*                    (OVL) = ORDINAL OF CURRENTLY LOADED OVERLAY. 
* 
*                  EXIT - 
* 
*                    (OVL) = LOADED OVERLAY ORDINAL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF INVALID OVERLAY ADDRESS,
*                    EXIT TO *ERROR* IF OVERLAY FORMAT ERROR. 
* 
*                  FATAL ERRORS - 
* 
*                    IF AN OVERLAY ERROR OCCURS ON A REQUEST FOR THE
*                    ERROR PROCESSING OVERLAY OR THE TERMINATION
*                    OVERLAY THE DRIVER PPU HANGS SINCE NO FURTHER
*                    PROCESSING IS POSSIBLE.
* 
*                  CALLS -
* 
**                   GOCA - GET OVERLAY ABSOLUTE CENTRAL ADDRESS. 
  
  
 COL      SUBR               ENTRY/EXIT 
          SBM    OVL         LESS CURRENTLY RESIDENT OVERLAY ORDINAL
          ZJN    COLX        RETURN IF OVERLAY ALREADY LOADED 
          RAM    OVL         STORE OVERLAY RESIDENT ORDINAL 
          RJM    GOCA        EXIT TO GET OVERLAY ABSOLUTE ADDRESS 
          NJN    COL.4       EXIT IF OVERLAY ADDRESS KNOWN
  
 COL.1    LDM    OVL         LOAD REQUESTED OVERLAY ORDINAL 
          SBN    #1IE        LESS TERMINATION OVERLAY ORDINAL 
          PJN    COL.3       EXIT IF TERMINATION OR ERROR OVERLAY 
  
 COL.2    LINK               ENTRY
          EREXIT OFE         EXIT TO ERROR ROUTINE - OVERLAY ERROR
  
 COL.3    LDK    MXFM        LOAD HANG PPU MONITOR FUNCTION 
          RJM    MTR         EXIT TO HANG PPU 
          UJK    COL.3       EXIT TO ISSUE HANG PPU MONITOR FUNCTION
  
 COL.4    BSS    0
  
          CRM    OL.TRANS,T10+/NAM/C.DOAOL READ OVERLAY 
  
 .DEBUG   IFEQ   .DEBUG,1 
  
          LDD    T10+/NAM/C.DOAPN LOAD FIRST CHARACTERS OF OVERLAY NAME 
  
          LMM    OL.TRANS    LESS NAME OF OVERLAY LOADED
          NJN    COL.1       EXIT IF OVERLAY NAME ERROR 
          LDD    T10+/NAM/C.DOAPN+1 LOAD LAST CHARACTER OF OVERLAY NAME 
  
          LMM    OL.TRANS+1  LESS NAME OF OVERLAY LOADED
          NJN    COL.1       EXIT IF OVERLAY NAME ERROR 
  
 .DEBUG   ENDIF 
  
          UJK    COLX        RETURN 
 SCSS     SPACE  2,18 
**               SUBROUTINE SCSS. 
* 
*                SUBROUTINE SCSS SETS THE OLD STREAM
*                STATE TO THE CURRENT STREAM STATE. 
* 
*                  ENTRY -
* 
*                    (STS) = STREAM STATES. 
* 
*                  EXIT - 
* 
**                   (STS) = OLD STATE SET TO CURRENT STREAM STATE. 
  
  
 SCSS     SUBR               ENTRY/EXIT 
          LDD    STS         LOAD STREAM STATES 
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          STD    STS         STORE CURRENT STREAM STATE 
          SHN    6           POSITION CURRENT STATE TO OLD STATE
          RAD    STS         SET OLD STATE TO CURRENT STREAM STATE
          UJK    SCSSX       RETURN 
 SRSS     SPACE  2,18 
**               SUBROUTINE SRSS. 
* 
*                SUBROUTINE SRSS SETS THE OLD STREAM
*                STATE TO THE SPECIFIED STREAM STATE. 
* 
*                  ENTRY -
* 
*                      (A) = OLD STREAM STATE,
*                    (STS) = STREAM STATES. 
* 
*                  EXIT - 
* 
**                   (STS) = OLD STATE SET TO SPECIFIED STREAM STATE. 
  
  
 SRSS     SUBR               ENTRY/EXIT 
          SHN    6           POSITION STATE TO OLD STATE
          STD    T0          STORE OLD STREAM STATE 
          LDD    STS         LOAD STREAM STATES 
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          ADD    T0          PLUS OLD STREAM STATE
          STD    STS         STORE STREAM STATES
          UJK    SRSSX       RETURN 
 RPSS     SPACE  2,18 
**               SUBROUTINE RPSS. 
* 
*                SUBROUTINE RPSS SETS THE NEXT STREAM 
*                STATE TO THE OLD STREAM STATE. 
* 
*                  ENTRY -
* 
*                    (STS) = STREAM STATES. 
* 
*                  EXIT - 
* 
**                   (NSS) = OLD STREAM STATE.
  
  
 RPSS     SUBR               ENTRY/EXIT 
          LDD    STS         LOAD STREAM STATES 
          SHN    -6          POSITION OLD STATE TO CURRENT STATE
          STD    NSS         SET NEXT STREAM STATE TO OLD STREAM STATE
          UJK    RPSSX       RETURN 
 TFL      TITLE  CENTRAL MEMORY TABLE SUPPORT SUBROUTINES.
 TFL      SPACE  2,30 
**               SUBROUTINE TFL.
* 
*                SUBROUTINE TFL TESTS THE RELATIVE ADDRESS CALLING
*                VALUE AGAINST THE FIELD LENGTH OF THE CONTROL POINT. 
*                IF THE CALLING ADDRESS IS IN RANGE, THE REFERENCE
*                ADDRESS IS ADDED TO FORM THE ABSOLUTE ADDRESS. 
* 
*                  ENTRY -
* 
*                     (A) = RELATIVE ADDRESS, 
*                    (FL) = FIELD LENGTH OF CONTROL POINT,
*                    (RA) = REFERENCE ADDRESS OF CONTROL POINT. 
* 
*                  EXIT - 
* 
*                    (A) = ABSOLUTE ADDRESS IF IN RANGE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CALLING VALUE OUT OF RANGE. 
* 
*                  USES - 
* 
*                    T0-T0+4 = CONTROL POINT STATUS WORD, 
**                   T5-T5+1 = CALLING VALUE. 
  
  
 TFL      SUBR               ENTRY/EXIT 
          MJN    TFL.3       EXIT IF CALLING VALUE TOO LARGE
  
 TFL.1    SHN    18-6        CALLING VALUE DIVIDED BY 100B
          SBD    FL          LESS FIELD LENGTH DIVIDED BY 100B
          SHN    18-18+6     POSITION BORROW INDICATOR TO SIGN
          PJN    TFL.2       EXIT IF CALLING VALUE OUT OF RANGE 
          SHN    18-6        REPOSITION TO RESULT DIVIDED BY 100B 
          ADD    FL          ADD BACK FIELD LENGTH DIVIDED BY 100B
          ADD    RA          PLUS REFERENCE ADDRESS DIVIDED BY 100B 
          SHN    18-18+6     MULTIPLY BY 100B 
          UJK    TFLX        RETURN 
  
 TFL.2    SHN    18-6        REPOSITION TO RESULT DIVIDED BY 100B 
          ADD    FL          ADD BACK FIELD LENGTH DIVIDED BY 100B
          SHN    18-18+6     MULTIPLY BY 100B 
          STD    T5+1        STORE LOW-ORDER OF CALLING VALUE 
          SHN    -12         POSITION HIGH-ORDER OF CALLING VALUE 
          STD    T5          STORE HIGH-ORDER OF CALLING VALUE
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    FLSW        DELTA FOR CONTROL POINT FIELD LENGTH WORD
          CRD    T0          READ CONTROL POINT FIELD LENGTH WORD 
          LDD    T0+4        LOAD CONTROL POINT FIELD LENGTH
          LMD    FL          LESS PREVIOUS FIELD LENGTH VALUE 
          ZJN    TFL.3       EXIT IF NO CHANGE IN FIELD LENGTH
          LDD    T0+4        LOAD NEW FIELD LENGTH VALUE
          STD    FL          STORE NEW FIELD LENGTH VALUE 
          LDD    T5          LOAD HIGH-ORDER OF CALLING VALUE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF CALLING VALUE
          UJK    TFL.1       EXIT TO TEST CALLING VALUE AGAIN 
  
 TFL.3    EREXIT AOR         EXIT TO ERROR - ADDRESS OUT OF RANGE 
 TLU      SPACE  2,32 
**               SUBROUTINE TLU.
* 
*                SUBROUTINE TLU PERFORMS A TABLE LOOKUP ON THE CALLING
*                ARGUMENT AGAINST THE CONTROL TABLE SPECIFIED BY THE
*                CALLING ROUTINE.  END OF TABLE IS DEFINED TO BE A ZERO 
*                ENTRY IN THE CONTROL TABLE.
* 
*                  ENTRY -
* 
*                      (A) = ADDRESS OF CONTROL TABLE,
*                    (TAR) = TABLE ARGUMENT.
* 
*                  EXIT - 
* 
*                    (A) = TABLE ORDINAL IF MATCH 
*                          OR NEGATIVE IF NO MATCH. 
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY.
* 
*                  USES - 
* 
*                    T16-T16+1 = ADDRESS OF CONTROL TABLE,
*                          T15 = TABLE ORDINAL, 
**                          T7 = CONTROL TABLE ENTRY BYTE DISPLACEMENT. 
  
  
 TLU      SUBR               ENTRY/EXIT 
          STD    T16+1       STORE LOW-ORDER OF CONTROL TABLE ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T16         STORE HIGH-ORDER OF CONTROL TABLE ADDRESS
          LDN    0           CONSTANT OF ZERO 
          STD    T15         INITIALZE TABLE ORDINAL
  
 TLU.1    LDD    T16         LOAD HIGH-ORDER OF CONTROL TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T16+1       PLUS LOW-ORDER OF CONTROL TABLE ADDRESS
          RJM    GTE         EXIT TO GET NEXT CONTROL TABLE ENTRY 
  
 TLU.2    ZJN    TLU.4       EXIT IF END OF CONTROL TABLE 
          LMD    TAR         LESS CALLING ARGUMENT
          ZJN    TLU.3       EXIT IF CALLING ARGUMENT FOUND 
          AOD    T15         INCREMENT TABLE ORDINAL
          AOD    T16+1       INCREMENT LOW-ORDER OF CONTROL TABLE ADDRESS 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    T16         ADD TO HIGH-ORDER OF CONTROL TABLE ADDRESS 
          LDD    T16+1       LOAD LOW-ORDER OF CONTROL TABLE ADDRESS
          LPN    3           EXTRACT BYTE DISPLACEMENT
          ZJN    TLU.1       EXIT IF ENTRY IN NEXT CONTROL TABLE WORD 
          STD    T7          STORE ADDRESS OF NEXT TABLE ENTRY
          LDI    T7          LOAD NEXT TABLE ENTRY
          UJK    TLU.2       EXIT TO CHECK FOR END OF CONTROL TABLE 
  
 TLU.3    LDD    T15         LOAD CONTROL TABLE ORDINAL 
          UJK    TLUX        RETURN WITH CONTROL TABLE ORDINAL OF MATCH 
  
 TLU.4    LCN    1           SET A-REGISTER NEGATIVE
          UJK    TLUX        RETURN - NO MATCH FOUND
 GTE      SPACE  2,28 
**               SUBROUTINE GTE.
* 
*                SUBROUTINE GTE GETS THE DRIVER CONTROL TABLE ENTRY 
*                FROM THE DRIVER CONTROL TABLE STORED IN CENTRAL MEMORY.
* 
*                  ENTRY -
* 
*                    (A) = CONTROL TABLE ENTRY DISPLACEMENT.
* 
*                  EXIT - 
* 
*                          (A) = CONTROL TABLE ENTRY VALUE, 
*                    (T0-T0+4) = CONTROL TABLE WORD IMAGE.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                         T7 = CONTROL TABLE ENTRY DISPLACEMENT,
*                    T0-T0+4 = DRIVER CONTROL TABLE WORD, 
**                        T7 = CONTROL TABLE ENTRY BYTE DISPLACEMENT. 
  
  
 GTE      SUBR               ENTRY/EXIT 
          STD    T7          STORE CONTROL TABLE ENTRY DISPLACEMENT 
          SHN    -2          DIVIDED BY FOUR FOR WORD DISPLACEMENT
          ACMA   W.CTLT      PLUS FWA OF DRIVER CONTROL TABLES
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ DRIVER CONTROL TABLE WORD 
          LDD    T7          LOAD CONTROL TABLE ENTRY DISPLACEMENT
          LPN    3           EXTRACT CONTROL TABLE BYTE DISPLACEMENT
          STD    T7          STORE CONTROL TABLE BYTE DISPLACEMENT
          LDI    T7          LOAD DRIVER CONTROL TABLE ENTRY
          UJK    GTEX        RETURN 
 WCT      SPACE  2,42 
**               SUBROUTINE WCT.
* 
*                SUBROUTINE WCT STORES DRIVER PARAMETERS INTO THE 
*                CONNECTION TABLE ENTRY AND WRITES THE CONNECTION 
*                TABLE ENTRY INTO CENTRAL MEMORY FOR PRU STREAMS. 
*                FOR IVT MESSAGES ADDRESSED TO THE SERVICE CHANNEL
*                THE FRONT END STATE IS SET TO THE CURRENT BLOCK
*                HANDLER STATE. 
* 
*                  ENTRY -
* 
*                     (STS) = STREAM STATES,
*                      (CN) = CONNECTION NUMBER OF ACTIVE STREAM, 
*                     (FEI) = FRONT END TABLE ADDRESS,
*                     (BHS) = CURRENT BLOCK HANDLER STATE,
*                      (TN) = TERMINAL NODE OF CURRENT STREAM,
*                     (ACI) = ACTIVE CONNECTION TABLE IDENTIFIER, 
*                     (ACT) = ACTIVE CONNECTION TABLE ADDRESS,
*                    (BSBN) = BSN AND BACK COUNTS.
* 
*                  EXIT - 
* 
*                    (FES) = UPDATED IF FRONT END STATE CHANGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NO ACTIVE CONNECTION TABLE. 
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
*                           T6 = CONNECTION TABLE OFFSET, 
*                    T10-T10+4 = CONNECTION TABLE ENTRY,
**                     T6-T6+1 = CONNECTION TABLE ENTRY ADDRESS.
  
  
 WCT      SUBR               ENTRY/EXIT 
          LDD    STS         LOAD STREAM STATES 
          NJN    WCT.3       EXIT IF PRU STREAM 
  
 WCT.1    LDD    BHS         LOAD CURRENT BLOCK HANDLER STATE 
          ZJN    WCT.2       EXIT IF FRONT END OPERATIONAL
          SBN    /TABLES/BHS4 LESS VALUE FOR FIRST FRONT END STATE
          MJN    WCTX        RETURN IF NOT FRONT END STATE
  
 WCT.2    LDD    BHS         LOAD CURRENT BLOCK HANDLER STATE 
          STI    FEI         STORE NEXT FRONT END STATE 
          UJK    WCTX        RETURN 
  
 WCT.3    LDD    CN          LOAD CONNECTION NUMBER OF CURRENT STREAM 
          LPN    0#F         EXTRACT CONNECTION TABLE OFFSET
          STD    T6          STORE CONNECTION TABLE OFFSET
          LMD    CN          REDUCE TO LOGICAL LINK POINTER DISPLACEMENT
          SHN    8-4         POSITION POINTER WORD DISPLACEMENT 
          LMD    TN          PLUS TERMINAL NODE OF CURRENT STREAM 
          LMM    ACI         LESS ACTIVE CONNECTION TABLE IDENTIFIER
          ZJN    WCT.5       EXIT IF NO CONNECTION TABLE SWITCH 
  
 WCT.4    LINK               ENTRY
          EREXIT NCT         EXIT TO ERROR - NO ACTIVE CONNECTION TABLE 
  
 WCT.5    LDM    ACT         LOAD HIGH-ORDER OF ACTIVE CONNECTION TABLE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    ACT+1       PLUS LOW-ORDER OF ACTIVE CONNECTION TABLE
          ZJN    WCT.4       EXIT IF NO ACTIVE CONNECTION TABLE 
          ADN    /NAM/W.NCNTE DELTA FOR FIRST CONNECTION TABLE ENTRY
          ADD    T6          PLUS CONNECTION TABLE OFFSET 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ CONNECTION TABLE ENTRY
          STD    T6+1        STORE LOW-ORDER OF CENTRAL ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T6          STORE HIGH-ORDER OF CENTRAL ADDRESS
          LDD    STS         LOAD PRU STREAM STATES 
          STD    T10+/NAM/C.PSS STORE INTO CONNECTION TABLE ENTRY 
          LDD    BSBC        LOAD BSN AND BACK COUNTS 
          STD    T10+/NAM/C.PBB STORE INTO CONNECTION TABLE ENTRY 
          LDD    T6          LOAD HIGH-ORDER OF CONNECTION TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T6+1        PLUS LOW-ORDER OF CONNECTION TABLE ADDRESS 
          CWD    T10         REWRITE CONNECTION TABLE ENTRY 
          UJK    WCT.1       EXIT TO UPDATE FRONT END STATE IF CHANGED
 RCT      SPACE  2,50 
**               SUBROUTINE RCT.
* 
*                SUBROUTINE RCT READS THE CONNECTION TABLE ENTRY FOR
*                THE CURRENT STREAM FROM CENTRAL MEMORY AND STORES THE
*                DRIVER PARAMETERS INTO PPU MEMORY.  FOR MESSAGES 
*                ADDRESSED TO THE DRIVER OR FOR UNASSIGNED CONNECTIONS
*                A ZERO CONNECTION TABLE ENTRY IS USED.  IF THE CURRENT 
*                STREAM CAUSES A CONNECTION TABLE SWITCH THE OVERLAY
*                WITH THE CONNECTION TABLE SWITCH PROCESSOR IS LOADED 
*                AND EXECUTED.
* 
*                **NOTE** - OVERLAY PROCESSORS MUST NOT CALL *RCT*
*                           UNLESS THEY CAN GUARANTEE THAT A
*                           CONNECTION TABLE SWITCH WILL NOT OCCUR. 
* 
*                  ENTRY -
* 
*                     (TN) = TERMINAL NODE OF CURRENT STREAM, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (HND) = HOST NODE ID OF FRONT END, 
*                    (FES) = FRONT END STATE, 
*                     (CN) = CONNECTION NUMBER OF CURRENT STREAM, 
*                    (ACI) = ACTIVE CONNECTION TABLE IDENTIFIER,
*                    (ACT) = ACTIVE CONNECTION TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                       (A) = NEGATIVE IF CONNECTION NOT ASSIGNED,
*                     (STS) = STREAM STATES,
*                    (BSBC) = BSN AND BACK COUNTS,
*                     (BHS) = BLOCK HANDLER STATE,
*                     (PCB) = PCB ADDRESS,
*                     (NBL) = NETWORK BLOCK LIMIT,
*                     (AAC) = NON-ZERO IF APPLICATION TO APPLICATION. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NO ACTIVE CONNECTION TABLE. 
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                    COL - CHECK OVERLAY LOADED,
*                    CTS - PROCESS CONNECTION TABLE SWITCH. 
* 
*                  USES - 
* 
*                      T0-T0+4 = CONNECTION TABLE ENTRY,
*                           T7 = CONNECTION TABLE OFFSET, 
**                     T0-T0+4 = NETWORK BLOCK LIMIT WORD FROM PCB. 
  
  
 RCT      SUBR               ENTRY/EXIT 
          LDD    TN          LOAD TERMINAL NODE OF CURRENT STREAM 
          ZJN    RCT.1       EXIT IF TERMINAL NODE IS ZERO
          LMM    HND,FEI     LESS HOST NODE ID OF FRONT END 
          NJN    RCT.6       EXIT IF MESSAGE NOT ADDRESSED TO DRIVER
  
 RCT.1    LDN    ZERL        LOAD ADDRESS OF ZERO WORD
  
 RCT.2    CRD    T0          READ CONNECTION TABLE ENTRY
          LDD    T0+/NAM/C.PSS LOAD STREAM STATES FROM TABLE ENTRY
          STD    STS         STORE DRIVER STREAM STATES 
          LDD    T0+/NAM/C.PBB LOAD BSN AND BACK COUNTS FROM TABLE ENTRY
          STD    BSBC        STORE DRIVER BSN AND BACK COUNTS 
          LDI    FEI         LOAD FRONT END STATE 
          NJN    RCT.3       EXIT IF FRONT END NOT OPERATIONAL
          LDD    T0+/NAM/C.PBH LOAD BLOCK HANDLER STATE FROM TABLE ENTRY
          SHN    -/NAM/S.PBH POSITION BLOCK HANDLER STATE TO LOW-ORDER
  
 RCT.3    STD    BHS         STORE DRIVER BLOCK HANDLER STATE 
          LDD    T0+/NAM/C.PCB LOAD HIGH-ORDER PCB ADDRESS FROM TABLE 
          LPN    37B         EXTRACT ADDRESS BITS 
          STD    PCB         STORE HIGH-ORDER OF DRIVER PCB ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.PCB+1 PLUS LOW-ORDER PCB ADDRESS FROM TABLE
          STD    PCB+1       STORE LOW-ORDER PCB ADDRESS
          NJN    RCT.8       EXIT IF PRU CONTROL BLOCK ASSIGNED 
          LDD    CN          LOAD CONNECTION NUM,BER OF CURRENT STREAM
          ZJN    RCT.5       EXIT IF SERVICE CHANNEL
          LDI    FEI         LOAD FRONT END STATE 
          NJN    RCT.4       EXIT IF FRONT END NOT OPERATIONAL
          LDN    /TABLES/BHS1 LOAD IVT BLOCK HANDLER STATE
          STD    BHS         SET BLOCK HANDLER STATE TO IVT 
  
 RCT.4    LCN    1           SET A-REGISTER NEGATIVE
  
 RCT.5    UJK    RCTX        RETURN 
  
 RCT.6    LDD    CN          LOAD CONNECTION NUMBER OF CURRENT STREAM 
          LPN    0#F         EXTRACT CONNECTION TABLE OFFSET
          STD    T7          STORE CONNECTION TABLE OFFSET
          LMD    CN          REDUCE TO LOGICAL LINK POINTER DISPLACEMENT
          SHN    8-4         POSITION POINTER WORD DISPLACEMENT 
          LMD    TN          PLUS TERMINAL NODE OF CURRENT STREAM 
          LMM    ACI         LESS ACTIVE CONNECTION TABLE IDENTIFICATION
          ZJN    RCT.7       EXIT IF NO CONNECTION TABLE SWITCH 
          LJM    RCT.11      EXIT TO PROCESS CONNECTION TABLE SWITCH
  
 RCT.7    LDM    ACT         LOAD HIGH-ORDER OF CONNECTION TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    ACT+1       PLUS LOW-ORDER OF CONNECTION TABLE ADDRESS 
          NJN    RCT.10      EXIT IF ACTIVE CONNECTION TABLE
          EXIT   WCT.4       EXIT TO ERROR - NO ACTIVE CONNECTION TABLE 
  
 RCT.8    ADN    /NAM/W.PCBIWP DELTA FOR FILE TRANSFER PARAMETER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T5          READ APPLICATION OARAMETER WORD
          SBN    /NAM/W.PCBIWP DELTA FOR PCB HEADER WORD
          CRD    T0          READ NETWORK BLOCK LIMIT WORD FROM PCB 
          LDD    T0+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE 
          SHN    -/NAM/S.PCBNBL NETWORK BLOCK LIMIT TO LOW-ORDER
          STD    NBL         STORE DRIVER NETWORK BLOCK LIMIT 
          LDD    T0+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE 
          LPN    /NAM/M.PCBAA EXTRACT APPLICATION TO APPLICATION FLAG 
          STD    AAC         STORE APPLICATION TO APPLICATION FLAG
          ZJN    RCT.9       EXIT IF NOT APPLICATION TO APPLICATION 
          LDD    T5+/NAM/C.PCBFTP+1 LOW-ORDER FILE TRANSFER PARAMETERS
          LPN    /NAM/L.PCBXDD EXTRACT APPLICATION DATA DECLARATION 
          RAD    AAC         ADD TO APPLICATION TO APPLICATION FLAG 
  
 RCT.9    UJK    RCTX        RETURN 
  
 RCT.10   LINK               ENTRY
          ADN    /NAM/W.NCNTE DELTA FOR FIRST CONNECTION TABLE ENTRY
          ADD    T7          PLUS CONNECTION TABLE OFFSET 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          UJK    RCT.2       EXIT TO READ CONNECTION TABLE ENTRY
  
 RCT.11   LOOR   3IL         LOAD OVERLAY ORDINAL OF SUBROUTINE 
          RJM    COL         EXIT TO CHECK OVERLAY LOADED 
          LCMA   W.TNTP      LOAD TERMINAL NODE TABLE POINTER ADDRESS 
          RJM    CTS         EXIT TO PROCESS CONNECTION TABLE SWITCH
          NJN    RCT.10      EXIT IF CONNECTION NUMBER ASSIGNED 
          UJK    RCT.1       EXIT TO SET FOR NO CONNECTION TABLE ENTRY
 RPCB     SPACE  2,22 
**               SUBROUTINE RPCB. 
* 
*                SUBROUTINE RPCB READS THE SPECIFIED WORD FROM THE PCB. 
* 
*                  ENTRY -
* 
*                            (A) = PCB WORD DISPLACEMENT, 
*                    (PCB-PCB+1) = PCB ADDRESS. 
* 
*                  EXIT - 
* 
*                            (A) = ABSOLUTE PCB WORD ADDRESS, 
*                    (T10-T10+4) = PCB WORD.
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 RPCB     SUBR               ENTRY/EXIT 
          ADD    PCB+1       PLUS LOW-ORDER OF PCB ADDRESS
          SHN    6           POSITION TO HIGH-ORDER 
          ADD    PCB         PLUS HIGH-ORDER OF PCB ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ PCB WORD
          UJK    RPCBX       RETURN 
 RSPB     SPACE  2,24 
**               SUBROUTINE RSPB. 
* 
*                SUBROUTINE RSPB READS THE SPECIFIED WORD FROM THE
*                PCB AND STORES THE ABSOLUTE ADDRESS OF THE PCB WORD. 
* 
*                  ENTRY -
* 
*                    (A) = PCB WORD DISPLACEMENT. 
* 
*                  EXIT - 
* 
*                            (A) = ADDRESS OF PCB WORD, 
*                    (T10-T10+4) = PCB WORD,
*                    (T15-T15+1) = ADDRESS OF PCB WORD. 
* 
*                  CALLS -
* 
**                   RPCB - READ WORD FROM PCB. 
  
  
 RSPB     SUBR               ENTRY/EXIT 
          RJM    RPCB        EXIT TO READ WORD FROM PCB 
          STD    T15+1       STORE LOW-ORDER OF PCB WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF PCB WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF PCB WORD ADDRESS 
          UJK    RSPBX       RETURN 
 WCMW     SPACE  2,18 
**               SUBROUTINE WCMW. 
* 
*                SUBROUTINE WCMW REWRITES THE SPECIFIED 
*                CENTRAL MEMORY WORD. 
* 
*                  ENTRY -
* 
*                    (T15-T15+1) = ABSOLUTE ADDRESS OF CM WORD, 
*                    (T10-T10+4) = CM WORD. 
* 
*                  EXIT - 
* 
**                   (A) = ABSOLUTE CM WORD ADDRESS.
  
  
 WCMW     SUBR               ENTRY/EXIT 
          LDD    T15         LOAD HIGH-ORDER OF CM WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF CM WORD ADDRESS
          CWD    T10         REWRITE CM WORD
          UJK    WCMWX       RETURN 
 CIWL     SPACE  2,20 
**               SUBROUTINE CIWL. 
* 
*                SUBROUTINE CIWL CHECKS FOR AN IMMEDIATE WORKLIST ENTRY.
* 
*                  EXIT - 
* 
*                      (A) = ADDRESS OF WORKLIST IF AVAILABLE OR
*                            NEGATIVE IF FRONT END IN REGULATION, 
*                    (WLP) = PCB WORKLIST POINTER WORD DISPLACEMENT.
* 
*                  CALLS -
* 
*                    RWLP - READ WORKLIST QUEUE POINTER WORD, 
**                   RPCB - READ WORD FROM PCB. 
  
  
 CIWL     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.PCBIWP DELTA FOR IMMEDIATE WORKLIST POINTER WORD
          STD    WLP         STORE WORKLIST POINTER WORD DISPLACEMENT 
          RJM    RWLP        EXIT TO READ WORKLIST QUEUE POINTER WORD 
          NJN    CIWLX       RETURN IF WORKLIST AVAILABLE 
          RJM    RPCB        EXIT TO READ PCB HEADER WORD 
          LDD    T10+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE
          SHN    17-/NAM/S.PCBNR POSITION REGULATION FLAG TO SIGN 
          MJN    CIWLX       RETURN IF FRONT END IN REGULATION
          LDN    0           CONSTANT OF ZERO 
          UJK    CIWLX       RETURN 
 CWLQ     SPACE  2,18 
**               SUBROUTINE CWLQ. 
* 
*                SUBROUTINE CWLQ CHECKS FOR EITHER A HIGH PRIORITY
*                OR LOW PRIORITY WORKLIST ENTRY FOR PROCESSING. 
* 
*                  EXIT - 
* 
*                      (A) = ADDRESS OF WORKLIST IF AVAILABLE,
*                    (WLP) = PCB WORKLIST POINTER WORD DISPLACEMENT.
* 
*                  CALLS -
* 
**                   RWLP - READ WORKLIST QUEUE POINTER WORD. 
  
  
 CWLQ     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.PCBHWP DELTA FOR HIGH PRIORITY WORKLIST POINTER 
          STD    WLP         INITIALIZE WORKLIST POINTER DISPLACEMENT 
  
 CWLQ.1   RJM    RWLP        EXIT TO READ WORKLIST QUEUE POINTER WORD 
          NJN    CWLQX       RETURN IF WORKLIST TO PROCESS
  
 CWLQ.2   LDD    WLP         LOAD WORKLIST POINTER DISPLACEMENT 
          LMN    /NAM/W.PCBLWP LESS ENDING VALUE
          ZJN    CWLQX       RETURN IF NO WORKLIST TO PROCESS 
          AOD    WLP         INCREMENT WORKLIST POINTER DISPLACEMENT
          UJK    CWLQ.1      EXIT TO CHECK NEXT WORKLIST POINTER WORD 
 RWLP     SPACE  2,22 
**               SUBROUTINE RWLP. 
* 
*                SUBROUTINE RWLP READS A WORKLIST 
*                QUEUE POINTER WORD FROM THE PCB. 
* 
*                  ENTRY -
* 
*                    (A) = WORKLIST QUEUE POINTER WORD OFFSET.
* 
*                  EXIT - 
* 
*                            (A) = WORKLIST ADDRESS IF AVAILABLE, 
*                    (T10-T10+4) = WORKLIST QUEUE POINTER WORD. 
* 
*                  CALLS -
* 
**                   RPCB - READ WORD FROM PCB. 
  
  
 RWLP     SUBR               ENTRY/EXIT 
          RJM    RPCB        EXIT TO READ WORKLIST POINTER WORD FROM PCB
          LDD    T10+/NAM/C.PCBWLC LOAD WORKLIST COMPLETED BYTE 
          SHN    17-/NAM/S.PCBWLC WORKLIST COMPLETED FLAG TO SIGN 
          MJN    RWLP.1      EXIT IF WORKLIST COMPLETED 
          LDD    T10+/NAM/C.PCBWLP LOAD HIGH-ORDER OF WORKLIST POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBWLP+1 PLUS LOW-ORDER OF WORKLIST POINTER 
          UJK    RWLPX       RETURN 
  
 RWLP.1   LDN    0           CONSTANT OF ZERO 
          UJK    RWLPX       RETURN 
 UNSB     SPACE  2,24 
**               SUBROUTINE UNSB. 
* 
*                SUBROUTINE UNSB UPDATES THE FRONT END STATUS BYTE IN 
*                THE NETWORK BUFFER TABLE ASSIGNED TO THE FRONT END.
*                THIS SUBROUTINE IS ALSO USED TO INCREMENT PIP/NPU(MDI) 
*                REJECT COUNTS IN THE STATUS WORD AND INLINE DIAGNOSTICS
*                LIMIT POINTER WORD.
* 
*                  ENTRY -
* 
*                    IF UPPER 6-BIT FIELD IS ZERO,
*                    (A) = FRONT END STATUS.
* 
*                    IF UPPER 6-BIT FIELD IS NOT ZERO, IT IS THE WORD 
*                    OFFSET (W.NBTNS OR W.NBTIL) AND LOWER 12-BIT FIELD 
*                    IS BYTE ADDRESS (10B - 14B) TO BE INCREMENTED BY 1.
* 
*                  CALLS -
* 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                           T7 = FRONT END STATUS,
*                          T17 = CM WORD OFFSET OF REJECT COUNTER,
*                    T10-T10+4 = FRONT END STATUS WORD, 
**                   T15-T15+1 = FRONT END STATUS WORD ADDRESS. 
  
  
 UNSB     SUBR               ENTRY/EXIT 
          STD    T7          STORE FRONT END STATUS 
          SHN    -12         POSITION HIGH-ORDER 6 BITS 
          STD    T17         STORE BYTE ADDRESS IF NON-ZERO 
          ZJN    UNSB.0      EXIT TO UPDATE FRONT END STATUS BYTE 
          SBN    /NAM/W.NBTNS MINUS DELTA FOR FRONT END STATUS WORD 
  
 UNSB.0   ADN    /NAM/W.NBTNS PLUS DELATA FOR FRONT END STATUS WORD 
          RJM    GNBT        EXIT TO GET NBT WORD ABSOLUTE ADDRESS
          CRD    T10         READ STATUS WORD FROM NETWORK BUFFER TABLE 
          STD    T15+1       STORE LOW-ORDER OF STATUS WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF STATUS WORD ADDRESS
          LDD    T17         LOAD CM WORD OFFSET FOR COUNTERS 
          NJN    UNSB.2      EXIT TO INCREMENT COUNTER IF NON-ZERO
          LDD    T7          LOAD FRONT END STATUS
          STD    T10+/NAM/C.NBTNS STORE FRONT END STATUS BYTE 
 UNSB.1   LDD    T15         LOAD HIGH-ORDER OF STATUS WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF STATUS WORD ADDRESS
          CWD    T10         REWRITE STATUS WORD TO NETWORK BUFFER TABLE
          UJK    UNSBX       RETURN 
  
 UNSB.2   AOI    T7          INCREMENT COUNTER
          UJN    UNSB.1      EXIT TO REWRITE STATUS WORD
 UPRM     SPACE  2,22 
**               SUBROUTINE UPRM. 
* 
*                SUBROUTINE UPRM UPDATES THE PRU MODE IN THE PCB. 
* 
*                  ENTRY -
* 
*                    (A) = NEW PRU MODE.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB.
* 
*                  USES - 
* 
**                   T17 = NEW PRU MODE.
  
  
 UPRM     SUBR               ENTRY/EXIT 
          STD    T17         STORE NEW PRU MODE 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          SCN    /NAM/B.PCBFTO CLEAR PRU ON STATUS
          ADD    T17         PLUS NEW PRU MODE
          STD    T10+/NAM/C.PCBFTS STORE NEW PRU MODE 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          UJK    UPRMX       RETURN 
 AWQ      SPACE  2,14 
**               SUBROUTINE AWQ.
* 
*                SUBROUTINE AWQ ADVANCES THE WORKLIST COMMAND QUEUE.
* 
*                  CALLS -
* 
*                    RSPB -READ AND STORE ADDRESS OF PCB WORD,
**                   WCMW - WRITE WORD TO PCB.
  
  
 AWQ      SUBR               ENTRY/EXIT 
          LDN    /NAM/W.PCBWLQ LOAD WORKLIST QUEUE POINTER WORD ORDINAL 
          RJM    RSPB        EXIT TO READ WORKLIST POINTER WORD FROM PCB
          AOD    T10+/NAM/C.QIO INCREMENT WORKLIST QUEUE OUT POINTER
          LPN    77B         EXTRACT QUEUE OUT POINTER
          SHN    6           POSITION TO QUEUE IN POINTER 
          LMD    T10+/NAM/C.QIO LESS QUEUE IN POINTER 
          SCN    77B         CLEAR EXTRANEOUS BITS
          NJN    AWQ.1       EXIT IF OUT UNEQUAL TO IN
          STD    T10+/NAM/C.QIO RESET QUEUE IN/OUT POINTER
  
 AWQ.1    RJM    WCMW        EXIT TO WRITE WORKLIST POINTER WORD TO PCB 
          UJK    AWQX        RETURN 
 IIIP     TITLE  IVT BUFFER MANAGEMENT SUBROUTINES. 
 IIIP     SPACE  2,36 
**               SUBROUTINE IIIP. 
* 
*                SUBROUTINE IIIP INITIALIZES FOR IVT INPUT.  THE FIRST
*                BUFFER ADDRESS IS SET TO THE VALUE OF THE IN DATA
*                POINTER IN THE INBOUND FET.  THE CURRENT DATA ADDRESS
*                IS SET TO THE FIRST BUFFER ADDRESS PLUS THE LENGTH 
*                OF THE NAM HEADER WORDS.  THE LAST BUFFER ADDRESS IS 
*                SET TO THE VALUE OF THE LIMIT POINTER IN THE INBOUND 
*                FET.  THE INBOUND BUFFER ID IS STORED IN THE NAM BUFFER
*                ID BYTE OF THE NAM BLOCK HEADER WORD IMAGE.
* 
*                  ENTRY -
* 
*                    (A) = NAM INBOUND BUFFER ID. 
* 
*                  EXIT - 
* 
*                    (FBA-FBA+1) = FIRST BUFFER ADDRESS,
*                    (CBA-CBA+1) = FIRST DATA TEXT BUFFER ADDRESS,
*                    (LBA-LBA+1) = LAST BUFFER ADDRESS. 
*                    (NBH+C.BID) = NAM INBOUND BUFFER ID. 
* 
*                  CALLS -
* 
*                    GIFA - GET INBOUND FET ADDRESS,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                    T0-T0+4 = LIMIT POINTER WORD FROM FET, 
**                   T5-T5+4 = IN DATA POINTER WORD FROM FET. 
  
  
 IIIP     SUBR               ENTRY/EXIT 
          SHN    /NAM/S.BID  POSITION NAM INBOUND BUFFER ID 
          STM    NBH+/NAM/C.BID STORE NAM BUFFER ID 
          LDN    /NAM/W.NBTLP DELTA FOR FET LIMIT POINTER WORD
          RJM    GIFA        EXIT TO GET LIMIT POINTER ABSOLUTE ADDRESS 
          CRD    T0          READ LIMIT POINTER WORD FROM FET 
          SBN    /NAM/W.NBTLP-/NAM/W.NBTIP DELTA FOR FET IN POINTER WORD
          CRD    T5          READ IN POINTER WORD FROM FET
          LDD    T5+/NAM/C.NBTIP LOAD HIGH-ORDER OF IN POINTER FROM FET 
          STD    FBA         STORE HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+/NAM/C.NBTIP+1 PLUS LOW-ORDER OF IN POINTER FROM FET
          STD    FBA+1       STORE LOW-ORDER OF FIRST BUFFER ADDRESS
          ADN    /NAM/L.BH+/NAM/L.NH PLUS LENGTH OF NAM HEADER WORDS
          STD    CBA+1       STORE LOW-ORDER OF CURRENT BUFFER ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF CURRENT BUFFER ADDRESS 
          LDD    T0+/NAM/C.NBTLP LOAD HIGH-ORDER LIMIT POINTER FROM FET 
          LPN    37B         EXTRACT ADDRESS BITS 
          STD    LBA         STORE HIGH-ORDER OF LAST BUFFER ADDRESS
          LDD    T0+/NAM/C.NBTLP+1 LOAD LOW-ORDER LIMIT POINTER FROM FET
          STD    LBA+1       STORE LOW-ORDER OF LAST BUFFER ADDRESS 
          UJK    IIIPX       RETURN 
 WNHB     SPACE  2,28 
**               SUBROUTINE WNHB. 
* 
*                SUBROUTINE WNHB WRITES THE NAM HEADER WORD AND NETWORK 
*                HEADER WORD TO THE INBOUND BUFFER FOR THE CURRENT
*                INBOUND MESSAGE.  THE NEXT AVAILABLE INBOUND BUFFER
*                WORD IS INITIALIZED WITH THE NAM INBOUND BUFFER ID.
* 
*                  ENTRY -
* 
*                       (FBA-FBA+1) = ADDRESS OF FET BUFFER,
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER, 
*                       (CBA-CBA+1) = NEXT AVAILABLE BUFFER ADDRESS.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                           (T7) = CENTRAL WORD COUNT,
**                   (T10-T10+4) = NEXT AVAILABLE BUFFER HEADER.
  
  
 WNHB     SUBR               ENTRY/EXIT 
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF FET BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF FET BUFFER ADDRESS 
          ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
          CWM    NBH,T7      WRITE OUT NAM BLOCK AND NETWORK HEADER 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         GENERATE A CENTRAL WORD OF ZEROES
          LDN    /NAM/Q.IBID LOAD NAM INBOUND BUFFER ID 
          SHN    /NAM/S.BID  POSITION NAM INBOUND BUFFER ID 
          STD    T10+/NAM/C.BID STORE NAM BUFFER ID 
          LDD    CBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF NEXT BUFFER ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         WRITE OUT NEXT BUFFER HEADER WORD
          UJK    WNHBX       RETURN 
 UFOP     SPACE  2,26 
**               SUBROUTINE UFOP. 
* 
*                SUBROUTINE UFOP UPDATES THE DATA OUT POINTER IN A FRONT
*                END OUTPUT PSEUDO FET FOR THE IVT OUTPUT MESSAGE THAT
*                HAS BEEN PROCESSED.
* 
*                  ENTRY -
* 
*                    (FBA-FBA+1) = ADDRESS OF HEADER WORD 
*                                  FOR CURRENT IVT MESSAGE. 
* 
*                  CALLS -
* 
*                    GCTA - GET CURRENT FRONT END FET ADDRESS,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                    T0-T0+4 = FET DATA OUT POINTER WORD, 
**                   T5-T5+1 = ADDRESS OF FET OUT DATA POINTER WORD.
  
  
 UFOP     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTOP DELTA FOR FET OUT POINTER WORD
          RJM    GCTA        EXIT TO GET CURRENT FET OUT POINTER ADDRESS
          CRD    T0          READ DATA OUT POINTER WORD FROM FET
          STD    T5+1        STORE LOW-ORDER OF POINTER WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF POINTER WORD ADDRESS 
          LDD    FBA         LOAD HIGH-ORDER OF CURRENT BUFFER ADDRESS
          STD    T0+/NAM/C.NBTOP STORE HIGH-ORDER OF FET OUT POINTER
          LDD    FBA+1       LOAD LOW-ORDER OF CURRENT BUFFER ADDRESS 
          STD    T0+/NAM/C.NBTOP+1 STORE LOW-ORDER OF FET OUT POINTER 
          LDD    T5          LOAD HIGH-ORDER OF POINTER WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF POINTER WORD ADDRESS 
          CWD    T0          REWRITE DATA OUT POINTER TO FET
          UJK    UFOPX       RETURN 
 GNBT     SPACE  2,24 
**               SUBROUTINE GNBT. 
* 
*                SUBROUTINE GNBT RETURNS THE ABSOLUTE ADDRESS OF THE
*                NETWORK BUFFER TABLE ASSIGNED TO THE FRONT END THAT
*                IS BEING PROCESSED.
* 
*                  ENTRY -
* 
*                            (A) = DELTA FOR NBT WORD TO BE ACCESSED, 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                    (NBT-NBT+1) = ADDRESS OF NETWORK BUFFER TABLE. 
* 
*                  EXIT - 
* 
*                    (A) = ABSOLUTE ADDRESS OF THE SPECIFIED NBT WORD.
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF NO NETWORK BUFFER TABLE.
  
  
 GNBT     SUBR               ENTRY/EXIT 
          STD    T6          SAVE DELTA FOR FET WORD
          LDM    NBT,FEI     LOAD HIGH-ORDER OF NETWORK BUFFER TABLE
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    NBT+1,FEI   PLUS LOW-ORDER OF NETWORK BUFFER TABLE 
          NJN    GNBT.1      EXIT IF NETWORK BUFFER TABLE KNOWN 
          EREXIT UBT         EXIT TO ERROR - NO NETWORK BUFFER TABLE
  
 GNBT.1   ADD    T6          PLUS DELTA FOR FET WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          UJN    GNBTX
 GIFA     SPACE  2,24 
**               SUBROUTINE GIFA. 
* 
*                SUBROUTINE GIFA RETURNS THE ABSOLUTE ADDRESS OF THE
*                CURRENT INBOUND FILE ENVIRONMENT TABLE ASSIGNED TO 
*                THE FRONT END THAT IS BEING PROCESSED BY THE DRIVER. 
* 
*                  ENTRY -
* 
*                      (A) = DELTA IN A 4-WORD FET
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (AIF) = ACTIVE INBOUND FET OFFSET. 
* 
*                  EXIT - 
* 
*                    (A) = RELATIVE ADDRESS OF INBOUND FET. 
* 
*                  CALLS -
* 
**                   GNBT - GET NETWORK BUFFER TABLE ADDRESS. 
  
  
 GIFA     SUBR               ENTRY/EXIT 
          ADM    AIF,FEI     PLUS ACTIVE INBOUND FET OFFSET 
          RJM    GNBT        EXIT TO GET NBT WORD ABSOLUTE ADDRESS
          UJK    GIFAX       RETURN 
 UFIP     SPACE  2,40 
**               SUBROUTINE UFIP. 
* 
*                SUBROUTINE UFIP UPDATES THE DATA IN POINTER IN A 
*                INPUT FET FOR THE IVT INPUT MESSAGE THAT HAS BEEN
*                PROCESSED.  IF THERE IS NOT SUFFICIENT INBOUND BUFFER
*                SPACE REMAINING TO ACCEPT A SMALL IVT INPUT MESSAGE, 
*                THE CURRENT INBOUND BUFFER IS RELEASED.
* 
*                  ENTRY -
* 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                    (CBA-CBA+1) = ADDRESS OF NEXT DATA 
*                                  WORD IN INPUT BUFFER.
* 
*                  EXIT - 
* 
*                    (IBS) = UPDATED TO INBOUND BUFFER SPACE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF BUFFER SPACE REQUEST PENDING. 
* 
*                  CALLS -
* 
*                    GIFA - GET INBOUND FET ADDRESS,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    GIBS - GET AVAILABLE IN BOUND BUFFER SPACE,
*                    RIBF - RELEASE CURRENT INBOUND BUFFER. 
* 
*                  USES - 
* 
*                    T0-T0+4 = FET DATA IN POINTER WORD,
**                   T5-T5+1 = ADDRESS OF FET DATA IN POINTER WORD. 
  
  
 UFIP.0   RJM    RNAC        EXIT TO REQUEST NIP ACTIVITY 
  
 UFIP     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTIP DELTA FOR IN POINTER WORD FROM FET
          RJM    GIFA        EXIT TO GET IN POINTER ABSOLUTE ADDRESS
          CRD    T0          READ DATA IN POINTER WORD FROM FET 
          STD    T5+1        STORE LOW-ORDER OF POINTER WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF POINTER WORD ADDRESS 
          LDD    CBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          STD    T0+/NAM/C.NBTIP STORE HIGH-ORDER FET IN DATA POINTER 
          LDD    CBA+1       LOAD LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T0+/NAM/C.NBTIP+1 STORE LOW-ORDER FET IN DATA POINTER
          LDD    T5          LOAD HIGH-ORDER OF POINTER WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF POINTER WORD ADDRESS 
          CWD    T0          REWRITE DATA IN POINTER TO FET 
          RJM    GIBS        EXIT TO GET AVAILABLE INBOUND BUFFER SPACE 
          MJN    UFIP.2      EXIT IF BUFFER SPACE REQUEST PENDING 
          SBN    /NAM/L.SIB+1 LESS BUFFER LENGTH FOR SMALL IVT MESSAGE
          PJN    UFIP.0      EXIT IF BUFFER SPACE AVAILABLE FOR MESSAGE 
          RJM    RIBF        EXIT TO RELEASE CURRENT INBOUND BUFFER 
  
 UFIP.1   UJK    UFIPX       RETURN 
  
 UFIP.2   EREXIT FIE         EXIT TO ERROR - BUFFER SPACE REQUEST ACTIVE
 GCTA     SPACE  2,26 
**               SUBROUTINE GCTA. 
* 
*                SUBROUTINE GCTA RETURNS THE ABSOLUTE ADDRESS OF THE
*                CURRENT OUTBOUND FILE ENVIRONMENT TABLE ASSIGNED TO
*                THE FRONT END THAT IS BEING PROCESSED BY THE DRIVER. 
* 
*                  ENTRY -
* 
*                            (A) = DELTA FOR POINTER WORD IN AN FET,
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                    (NBT-NBT+1) = ADDRESS OF NETWORK BUFFER TABLE, 
*                          (FTO) = CURRENT OUTBOUND FET OFFSET. 
* 
*                  EXIT - 
* 
*                    (A) = RELATIVE ADDRESS OF CURRENT FET. 
* 
*                  CALLS -
* 
**                   GNBT - GET NETWORK BUFFER TABLE ADDRESS. 
  
  
 GCTA     SUBR               ENTRY/EXIT 
          ADD    FTO         PLUS CURRENT OUTBOUND FET OFFSET 
          RJM    GNBT        EXIT TO GET NBT WORD ABSOLUTE ADDRESS
          UJK    GCTAX       RETURN 
 RNAC     SPACE  2,12 
**               SUBROUTINE RNAC. 
* 
*                SUBROUTINE RNAC SETS NIP ACTIVITY REQUEST FLAG IN PIT
*                HEADER WORD THAT IS MONITORED BY NIP FOR AN IMMEDIATE
*                RESPONSE.
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
 RNAC     SUBR               ENTRY/EXIT 
          LCMA   W.PITP      LOAD PIP INTERFACE TABLE HEADER WORD ADDR
          RJM    TFL         EXIT TO GET ABSOLUTE CENTRAL ADDRESS 
          CRD    T10         READ PIP INTERFACE TABLE HEADER WORD 
          STD    T15+1       LOW-ORDER ABSOLUTE PIT HEADER ADDRESS
          SHN    -12         POSITION HIGH-ORDER
          STD    T15         HIGH-ORDER ABSOLUTE PIT HEADER ADDRESS 
          LDC    /NAM/B.DITNAC LOAD NIP REQUEST FLAG
          STD    T10+/NAM/C.DITNAC STORE BYTE FOR NIP REQUEST FLAG
          RJM    WCMW        REWRITE PIT HEADER WORD
          UJK    RNACX       RETURN 
 CIBS     SPACE  2,36 
**               SUBROUTINE CIBS. 
* 
*                SUBROUTINE CIBS CHECKS FOR THE AVAILABILITY OF THE 
*                INBOUND BUFFER SPACE SPECIFIED IN THE CALL.  IF
*                THE INBOUND BUFFER SPACE IS NOT AVAILABLE THE CURRENT
*                INBOUND BUFFER IS RELEASED.
* 
*                  ENTRY -
* 
*                      (A) = REQUIRED INBOUND BUFFER SPACE, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (IBS) = INBOUND BUFFER SPACE AVAILABLE.
* 
*                  EXIT - 
* 
*                    (A) = NEGATIVE IF NO BUFFER SPACE. 
* 
*                  CALLS -
* 
*                    GIBS - GET AVAILABLE INBOUND BUFFER SPACE, 
*                    RIBF - RELEASE CURRENT INBOUND BUFFER. 
* 
*                  USES - 
* 
**                   T17 = REQUIRED INBOUND BUFFER SPACE. 
  
  
 CIBS     SUBR               ENTRY/EXIT 
          STD    T17         STORE REQUIRED INBOUND BUFFER SPACE
          LDM    IBS,FEI     LOAD AVAILABLE INBOUND BUFFER SPACE
          NJN    CIBS.1      EXIT IF BUFFER SPACE REQUEST NOT PENDING 
          RJM    GIBS        EXIT TO GET AVAILABLE INBOUND BUFFER SPACE 
          MJN    CIBSX       RETURN IF BUFFER REQUEST STILL PENDING 
  
 CIBS.1   SBD    T17         LESS REQUIRED INBOUND BUFFER SPACE 
          PJN    CIBSX       RETURN IF INBOUND BUFFER SPACE AVAILABLE 
          RJM    RIBF        EXIT TO RELEASE CURRENT INBOUND BUFFER 
          MJN    CIBSX       RETURN IF NEXT BUFFER NOT AVAILABLE
          SBD    T17         LESS REQUIRED INBOUND BUFFER SPACE 
          PJN    CIBSX       RETURN IF INBOUND BUFFER SPACE AVAILABLE 
          EREXIT BTS         EXIT TO ERROR - INBOUND BUFFER TOO SMALL 
 GIBS     SPACE  2,38 
**               SUBROUTINE GIBS. 
* 
*                SUBROUTINE GIBS DETERMINES THE AVAILABLE INBOUND BUFFER
*                SPACE OF THE CURRENT INBOUND FILE ENVIRONMENT TABLE. 
*                IF THE INBOUND FET IS AVAILABLE ITS STATUS IS SET TO 
*                CURRENT.  THE SPACE AVAILABLE IN THE INBOUND BUFFER
*                DESCRIBED BY THE FET IS THEN CALCULATED. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                      (A) = AVAILABLE INBOUND BUFFER SPACE OR
*                            NEGATIVE IF INBOUND BUFFER NOT AVAILABLE,
*                    (IBS) = UPDATED TO AVAILABLE INBOUND BUFFER SPACE. 
*                    (T5-T5+4) = FIRST POINTER WORD FROM FET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF FET POINTER ERROR.
* 
*                  CALLS -
* 
*                    GIFA - GET INBOUND FET ADDRESS,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                      T0-T0+4 = LIMIT POINTER WORD FROM FET, 
*                      T5-T5+4 = FIRST POINTER WORD FROM FET, 
*                    T12-T12+4 = IN POINTER WORD FROM FET,
**                   CBA-CBA+1 = ADDRESS OF FIRST POINTER WORD. 
  
  
 GIBS     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTLP DELTA FOR LIMIT POINTER WORD FROM FET 
          RJM    GIFA        EXIT TO GET LIMIT POINTER ABSOLUTE ADDRESS 
          SBN    /NAM/W.NBTLP DELTA FOR FIRST POINTER WORD
          CRD    T5          READ FIRST POINTER WORD FROM FET 
          ADN    /NAM/W.NBTIP DELTA FOR IN POINTER WORD 
          CRD    T12         READ IN POINTER WORD FROM FET
          ADN    /NAM/W.NBTLP-/NAM/W.NBTIP DELTA FOR LIMIT POINTER
          CRD    T0          READ LIMIT POINTER WORD FROM FET 
          SBN    /NAM/W.NBTLP DELTA FOR FIRST POINTER WORD
          STD    CBA+1       STORE LOW-ORDER FIRST POINTER WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER FIRST POINTER WORD ADDRESS
          LDD    T5+/NAM/C.NBTBS LOAD BUFFER STATUS BYTE
          SHN    17-/NAM/S.NBTCB POSITION CURRENT BUFFER FLAG TO SIGN 
          MJN    GIBS.3      EXIT IF CURRENT BUFFER 
          SHN    18-17+/NAM/S.NBTCB+17-/NAM/S.NBTBA AVAILABLE TO SIGN 
          MJN    GIBS.2      EXIT IF BUFFER AVAILABLE 
          LDN    0           CONSTANT OF ZERO 
          STM    IBS,FEI     SET NO INBOUND BUFFER SPACE AVAILABLE
          LCN    1           SET A-REGISTER NEGATIVE
  
 GIBS.1   UJK    GIBSX       RETURN 
  
 GIBS.2   SHN    18-17+/NAM/S.NBTBA-/NAM/S.NBTBS STATUS TO LOW-ORDER
          SCN    /NAM/B.NBTBA CLEAR BUFFER AVAILABLE STATUS 
          ADN    /NAM/B.NBTCB ADD CURRENT BUFFER STATUS 
          SHN    /NAM/S.NBTBS REPOSITION BUFFER STATUS
          STD    T5+/NAM/C.NBTBS STORE BUFFER STATUS BYTE 
          LDD    CBA         LOAD HIGH-ORDER FIRST POINTER WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER FIRST POINTER WORD ADDRESS
          CWD    T5          REWRITE FIRST POINTER WORD TO FET
  
 GIBS.3   LDD    T0+/NAM/C.NBTLP LOAD HIGH-ORDER OF LIMIT POINTER 
          LPN    37B         EXTRACT ADDRESS BITS 
          SBD    T12+/NAM/C.NBTIP LESS HIGH-ORDER OF IN POINTER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.NBTLP+1 PLUS LOW-ORDER OF LIMIT POINTER
          SBD    T12+/NAM/C.NBTIP+1 LESS LOW-ORDER OF IN POINTER
          SBN    1           LESS ONE 
          MJN    GIBS.4      EXIT IF FET POINTER ERROR
          STM    IBS,FEI     STORE INBOUND BUFFER SPACE AVAILABLE 
          UJK    GIBS.1      RETURN 
  
 GIBS.4   LINK               ENTRY
          EREXIT NBT         EXIT TO ERROR - NETWORK BUFFER TABLE ERROR 
 RIBF     SPACE  2,32 
**               SUBROUTINE RIBF. 
* 
*                SUBROUTINE RIBF RELEASES THE CURRENT INBOUND BUFFER
*                AND CHECKS FOR AN ALTERNATE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (AIF) = ACTIVE INBOUND BUFFER OFFSET,
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                      (A) = AVAILABLE INBOUND BUFFER SPACE OR
*                            NEGATIVE IF ALTERNATE BUFFER NOT AVAILABLE,
*                    (AIF) = UPDATED TO ALTERNATE INBOUND BUFFER. 
* 
*                  CALLS -
* 
*                    GIFA - GET INBOUND FET ADDRESS,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    GIBS - GET NEW INBOUND BUFFER SPACE. 
* 
*                  USES - 
* 
*                    T0-T0+4 = BUFFER STATUS WORD FROM INBOUND FET, 
**                   T5-T5+1 = BUFFER STATUS WORD ADDRESS.
  
  
 RIBF     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTFP DELTA FOR FIRST POINTER WORD FROM FET 
          RJM    GIFA        EXIT TO GET FIRST POINTER ABSOLUTE ADDRESS 
          CRD    T0          READ FIRST POINTER WORD FROM FET 
          STD    T5+1        STORE LOW-ORDER FIRST POINTER WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER FIRST POINTER WORD ADDRESS
          LDD    T0+/NAM/C.NBTBS LOAD BUFFER STATUS BYTE
          SHN    18-/NAM/S.NBTBS POSITION BUFFER STATUS TO LOW-ORDER
          SCN    /NAM/B.NBTCB CLEAR CURRENT BUFFER FLAG 
          ADN    /NAM/B.NBTRB SET REQUEST BUFFER RELEASE FLAG 
          SHN    /NAM/S.NBTBS REPOSITION BUFFER STATUS
          STD    T0+/NAM/C.NBTBS STORE BUFFER STATUS BYTE 
          LDD    T5          LOAD HIGH-ORDER FIRST POINTER WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER FIRST POINTER WORD ADDRESS
          CWD    T0          REWRITE FIRST POINTER WORD TO FET
          LDM    AIF,FEI     LOAD ACTIVE INBOUND FET OFFSET 
          ZJN    RIBF.2      EXIT IF PRIMARY INBOUND FET ACTIVE 
          LCN    /NAM/L.FET  VALUE TO RESET INBOUND FET OFFSET
  
 RIBF.1   RAM    AIF,FEI     UPDATE INBOUND FET OFFSET
          RJM    RNAC        EXIT TO REQUEST NIP ACTIVITY 
          RJM    GIBS        EXIT TO GET INBOUND BUFFER SPACE 
          UJK    RIBFX       RETURN 
  
 RIBF.2   LDN    /NAM/L.FET  LOAD LENGTH OF FET 
          UJK    RIBF.1      EXIT TO UPDATE INBOUND FET OFFSET
 TWL      SPACE  2,26 
**               SUBROUTINE TWL.
* 
*                SUBROUTINE TWL TRANSFERS A WORKLIST ENTRY TO THE 
*                INBOUND BUFFER.  THE WORKLIST TEXT IS WRITTEN TO THE 
*                INBOUND BUFFER, THE NAM HEADER IS PACKED, THE NAM
*                HEADER IS WRITTEN TO THE INBOUND BUFFER AND THE INBOUND
*                FET IN DATA POINTER IS UPDATED.
* 
*                  ENTRY -
* 
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                        (WHB-WHB+L.WH) = WORKLIST HEADER,
*                    (DRBUF-DRBUF+L.WL) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    IIIP - INITIALIZE FOR IVT INPUT, 
*                    WDIB - WRITE DATA TO INBOUND BUFFER, 
*                    WNHB - WRITE NAM HEADER TO INBOUND BUFFER, 
**                   UFIP - UPDATE FET IN DATA POINTER. 
  
  
 TWL      SUBR               ENTRY/EXIT 
          LDN    /NAM/Q.WLID LOAD NAM INBOUND BUFFER ID 
          RJM    IIIP        EXIT TO INITIALIZE FOR IVT INPUT 
          LDM    NBH+/NAM/C.BWD+1 LOAD WORKLIST WORD LENGTH 
          SBN    /NAM/L.BH+/NAM/L.NH LESS LENGTH OF NAM HEADER WORDS
          ZJN    TWL.1       EXIT IF NO WORKLIST TEXT 
          STD    T7          STORE CENTRAL WORD COUNT 
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          RJM    WDIB        EXIT TO WRITE WORKLIST TO INBOUND BUFFER 
  
 TWL.1    LDC    NNH         LOAD ADDRESS OF NAM NETWORK HEADER 
          STD    T2          STORE DESTINATION DATA ADDRESS 
          ADN    WHB-NNH     DELTA FOR WORKLIST HEADER BUFFER 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDN    /NAM/L.WH   LENGTH OF WORKLIST HEADER
          RJM    PKD         EXIT TO PACK INTO NAM HEADER 
          LDN    0           CONSTANT OF ZERO 
          STM    NNH+/NAM/C.MCC ZERO MESSAGE CHARACTER COUNT
          RJM    WNHB        EXIT TO WRITE NAM HEADER TO INBOUND BUFFER 
          RJM    UFIP        EXIT TO UPDATE FET IN DATA POINTER 
          UJK    TWLX        RETURN 
 IWL      SPACE  2,30 
**               SUBROUTINE IWL.
* 
*                SUBROUTINE IWL INITIALIZES AN UPBOUND WORKLIST ENTRY.
*                THE REQUEST, REASON, ERROR CODES PLUS THE HOST NODE AND
*                TERMINAL NODE ARE STORED IN THE WORKLIST HEADER BUFFER.
* 
*                  ENTRY -
* 
*                          (A) = WORKLIST REQUEST AND REASON CODES, 
*                    (ERRCODE) = ERROR CODE, IF ANY,
*                         (CN) = CONNECTION NUMBER, 
*                         (TN) = TERMINAL NODE, 
*                        (FEI) = FRONT END TABLE ADDRESS, 
*                        (HND) = HOST NODE ID.
* 
*                  EXIT - 
* 
*                    (WHB+WOC) = REQUEST CODE,
*                    (WHB+WRC) = REASON CODE, 
*                    (WHB+WEC) = ERROR CODE,
*                    (WHB+WCN) = CONNECTION NUMBER, 
*                    (WHB+WTN) = TERMINAL NODE, 
**                   (WHB+WHN) = HOST NODE. 
  
  
 IWL      SUBR               ENTRY/EXIT 
          STM    WHB+/NAM/WOC STORE WORKLIST REQUEST CODE 
          SHN    -12         POSITION WORKLIST REASON CODE
          STM    WHB+/NAM/WRC STORE WORKLIST REASON CODE
          LDM    ERRCODE     LOAD ERROR CODE
          STM    WHB+/NAM/WEC STORE WORKLIST ERROR CODE 
          LDD    CN          LOAD CONNECTION NUMBER 
          STM    WHB+/NAM/WCN STORE CONNECTION NUMBER 
          LDD    TN          LOAD TERMINAL NODE 
          STM    WHB+/NAM/WTN STORE WORKLIST TERMINAL NODE
          LDM    HND,FEI     LOAD HOST NODE 
          STM    WHB+/NAM/WHN STORE WORKLIST HOST NODE
          UJK    IWLX        RETURN 
 SWLC     SPACE  2,22 
**               SUBROUTINE SWLC. 
* 
*                SUBROUTINE SWLC PROCESSES A COMPLETED WORKLIST ENTRY.
*                THE WORKLIST COMPLETED FLAG IS SET IN THE WORKLIST 
*                POINTER WORD OF THE PCB AND THE WORKLIST COMPLETED 
*                WORKLIST IS TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (WLP) = WORKLIST POINTER WORD ORDINAL. 
* 
*                  CALLS -
* 
*                     IWL - INITIALIZE UPBOUND WORKLIST ENTRY,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
**                    TWL - TRANSFER WORKLIST ENTRY TO INBOUND BUFFER.
  
  
 SWLC     SUBR               ENTRY/EXIT 
          LDN    /NAM/RCWL   LOAD RELEASE COMPLETED WORKLIST REQUEST
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDD    WLP         LOAD WORKLIST POINTER WORD ORDINAL 
          RJM    RSPB        EXIT TO READ WORKLIST POINTER WORD FROM PCB
          LDC    /NAM/B.PCBWLC LOAD WORKLIST COMPLETED FLAG 
          RAD    T10+/NAM/C.PCBWLC SET WORKLIST COMPLETED 
          RJM    WCMW        EXIT TO WRITE WORKLIST POINTER WORD TO PCB 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRM    DRBUF,ON    ZERO WORKLIST PRIORITY WORD IMAGE
          LDD    WLP         LOAD WORKLIST POINTER WORD ORDINAL 
          SBN    /NAM/W.PCBIWP LESS FIRST WORKLIST POINTER WORD ORDINAL 
          STM    DRBUF+/NAM/WLP STORE COMPLETED WORKLIST PRIORITY 
          LDN    /NAM/WLCCM  LOAD LENGTH OF WORKLIST COMPLETED WORKLIST 
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH 
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          UJK    SWLCX       RETURN 
 WDIB     TITLE  COMMON BUFFER MANAGEMENT SUBROUTINES.
 WDIB     SPACE  2,30 
**               SUBROUTINE WDIB. 
* 
*                SUBROUTINE WDIB WRITES INPUT 
*                DATA TO THE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                            (A) = DRIVER BUFFER ADDRESS, 
*                           (T7) = DATA WORD COUNT, 
*                    (CBA-CBA+1) = CURRENT BUFFER ADDRESS,
*                    (LBA-LBA+1) = LAST BUFFER ADDRESS. 
* 
*                  EXIT - 
* 
*                    (CBA-CBA+1) = UPDATED FOR CURRENT TRANSFER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF FET FORMAT ERROR, 
*                    EXIT TO *ERROR* IF MESSAGE EXCEEDS CENTRAL BUFFER. 
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 WDIB     SUBR               ENTRY/EXIT 
          STM    WDIB.CW+1   STORE DRIVER BUFFER ADDRESS
          LDD    LBA         LOAD HIGH-ORDER OF END OF CENTRAL BUFFER 
          SBD    CBA         LESS HIGH-ORDER OF CURRENT CENTRAL BUFFER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    LBA+1       PLUS LOW-ORDER OF END OF CENTRAL BUFFER
          SBD    CBA+1       LESS LOW-ORDER OF CURRENT CENTRAL BUFFER 
          SBN    1           LESS ONE 
          PJN    WDIB.1      EXIT IF LIMIT GREATER THAN IN POINTER
          EXIT   GIBS.4      EXIT TO ERROR - FET POINTER ERROR
  
 WDIB.1   SBD    T7          LESS CENTRAL WORD COUNT
          PJN    WDIB.2      EXIT IF SPACE AVAILABLE IN CENTRAL BUFFER
          EREXIT IMS         EXIT TO ERROR - INPUT MESSAGE SIZE ERROR 
  
 WDIB.2   LDD    CBA         LOAD HIGH-ORDER OF CURRENT CENTRAL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF CURRENT CENTRAL ADDRESS
          ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
  
 WDIB.CW  CWM    **,T7       WRITE INPUT TEXT TO CENTRAL BUFFER 
          LDD    T7          LOAD CENTRAL WORD COUNT
          RAD    CBA+1       ADD TO LOW-ORDER CURRENT CENTRAL ADDRESS 
          SHN    -12         POSITION CARRY 
          RAD    CBA         ADD TO HIGH-ORDER CURRENT CENTRAL ADDRESS
          UJK    WDIBX       RETURN 
 PKD      TITLE  MISCELLANEOUS SUBROUTINES. 
 PKD      SPACE  2,22 
**               SUBROUTINE PKD.
* 
*                SUBROUTINE PKD PACKS A SOURCE CHARACTER STRING OF
*                SINGLE EIGHT BIT CHARACTERS INTO A CONSECUTIVE STRING
*                OF EIGHT BIT CHARACTERS.  THE SUBROUTINE ITERATES ON 
*                THREE SOURCE CHARACTERS. 
* 
*                  ENTRY -
* 
*                     (A) = SOURCE DATA CHARACTER COUNT,
*                    (T1) = SOURCE DATA ADDRESS,
*                    (T2) = DESTINATION DATA ADDRESS. 
* 
*                  USES - 
* 
**                   T0 = SOURCE DATA CHARACTER COUNT.
  
  
 PKD      SUBR               ENTRY/EXIT 
          STD    T0          STORE SOURCE DATA CHARACTER COUNT
  
 PKD.1    LDI    T1          LOAD NEXT SOURCE CHARACTER 
          SHN    4           POSITION NEXT DATA CHARACTER 
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    PKDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE CHARACTER 
          SHN    -4          POSITION HIGH-ORDER OF NEXT DATA CHARACTER 
          RAI    T2          ADD TO PREVIOUS DATA CHARACTER 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE CHARACTER 
          SHN    8           POSITION LOW-ORDER OF NEXT DATA CHARACTER
          STI    T2          STORE LOW-ORDER OF DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    PKDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE CHARACTER 
          RAI    T2          ADD TO LOW-ORDER OF PREVIOUS DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    PKDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          UJK    PKD.1       EXIT TO PROCESS NEXT SOURCE CHARACTER
 PAUSE    TITLE  OPERATING SYSTEM SUPPORT SUBROUTINES.
 PAUSE    SPACE  2,36 
**               SUBROUTINE PAUSE.
* 
*                SUBROUTINE PAUSE CHECKS FOR A CONTROL POINT ERROR.  IF 
*                THE CONTROL POINT ERROR IS SET THE ERROR EXIT IS TAKEN.
*         OTHERWISE A MONITOR FUNCTION OF ZERO IS ISSUED, SO THAT 
*         PPR SUBROUTINE FTN WILL CHECK WHETHER STORAGE MOVE IS 
*         REQUESTED FOR THIS CONTROL POINT.  IF STORAGE MOVE IS 
*         REQUESTED, FTN WILL PAUSE TO ALLOW THE MOVE TO COMPLETE.
* 
*                  ENTRY -
* 
*                    (CP) = CONTROL POINT AREA ADDRESS. 
* 
*                  EXIT - 
* 
*                    (RA) = UPDATED IF STORAGE MOVE DONE, 
*                    (FL) = UPDATED IF STORAGE MOVE DONE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CONTROL POINT ERROR FLAG SET. 
* 
*                  CALLS -
* 
*                    MTR - ISSUE MONITOR FUNCTION.
* 
*                  USES - 
* 
*                    T0-T0+4 = CONTROL POINT STATUS WORD, 
**                   T0-T0+4 = STORAGE MOVE REQUEST WORD. 
  
  
 PAUSE    SUBR               ENTRY/EXIT 
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    STSW        DELTA FOR CONTROL POINT STATUS WORD
          CRD    T0          READ CONTROL POINT STATUS WORD 
          LDD    T0+1        LOAD CONTROL POINT ERROR FLAG
          ZJN    PAUSE.1     EXIT IF NO CONTROL POINT ERROR 
          EREXIT CPE         EXIT TO ERROR - CONTROL POINT ERROR
  
 PAUSE.1  LDN    PRLM*0      PAUSE FOR STORAGE MOVE (IF NECESSARY)
          RJM    MTR         EXIT TO ISSUE MONITOR FUNCTION 
          UJK    PAUSEX      RETURN 
 MTR      SPACE  2,32 
**               SUBROUTINE MTR.
* 
*                SUBROUTINE MTR INTERFACES WITH THE PPU RESIDENT
*                ROUTINE TO ISSUE A MONITOR FUNCTION TO THE OPERATING 
*                SYSTEM.  THE TIME TO COMPLETE THE SYSTEM REQUEST IS
*                ADDED TO ALL FRONT END DEAD TIMERS.
* 
*                  ENTRY -
* 
*                            (A) = MONITOR FUNCTION,
*                    (T11-T11+3) = MONITOR FUNCTION PARAMETERS. 
* 
*                  EXIT - 
* 
*                    (T10-T10+4) = PPU OUTPUT REGISTER, 
*                          (DTM) = INCREASED BY FUNCTION TIME.
* 
*                  CALLS -
* 
*                    FTN - ISSUE MONITOR FUNCTION.
* 
*                  USES - 
* 
*                    T0-T0+4 = SYSTEM REAL-TIME CLOCK,
*                         T5 = SYSTEM SECONDS,
**                        T4 = FRONT END TABLE ADDRESS. 
  
  
 MTR      SUBR               ENTRY/EXIT 
          STD    T10         STORE MONITOR FUNCTION CODE
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          STD    T5          STORE SYSTEM SECOND TIME 
          LDD    T10         LOAD MONITOR FUNCTION CODE 
          RJM    FTN         EXIT TO ISSUE MONITOR FUNCTION 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD CURRENT SYSTEM SECOND TIME
          SBD    T5          LESS STARTING SYSTEM SECOND TIME 
          PJN    MTR.1       EXIT IF NO BORROW
          ADC    1S12        ADD BORROW 
  
 MTR.1    ZJN    MTR.3       EXIT IF NO SECOND DIFFERENCE 
          STD    T5          STORE ELAPSED FUNCTION TIME
          LDK    L.FETBL*MAXFE-L.FETBL LOAD ENDING TABLE ADDRESS VALUE
          STD    T4          INITIALIZE FRONT END TABLE ADDRESS 
  
 MTR.2    LDD    T5          LOAD FUNCTION ELAPSED TIME 
          RAM    FETABLE+DTM,T4 ADD TO FRONT END DEAD TIMER 
          LCN    L.FETBL     LOAD LENGTH OF FRONT END TABLE 
          RAD    T4          DECREMENT FRONT END TABLE ADDRESS
          PJN    MTR.2       EXIT IF NOT LAST FRONT END TABLE ENTRY 
  
 MTR.3    UJK    MTRX        RETURN 
 ERROR    TITLE  TERMINATION PROCESSORS.
 ERROR    SPACE  2,20 
**               TERMINATION PROCESSOR ERROR. 
* 
*                TERMINATION PROCESSOR ERROR PROCESSES AN ERROR 
*                CONDITION BY STORING THE ERROR CODE, SAVING THE
*                CONTENTS OF ALL DIRECT CELLS AND LOADS THE ERROR 
*                PROCESSING OVERLAY AND ENTERS THE ERROR PROCESSOR. 
* 
*                  ENTRY -
* 
*                    (A) = ERROR CODE LESS 100B.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
**                   COL - CHECK OVERLAY LOADED.
  
  
 ERROR    LINK               ENTRY
          ADC    100B        ADD BIAS TO ERROR CODE 
          STM    ERRCODE     STORE ERROR CODE 
          LDN    ON-1        LOAD ADDRESS OF LAST DIRECT CELL TO SAVE 
          STD    ON          INITIALIZE ADDRESS OF NEXT DIRECT CELL 
  
 ERROR.1  LDI    ON          LOAD CONTENTS OF NEXT DIRECT CELL
          STM    DCSAVE,ON   STORE CONTENTS OF NEXT DIRECT CELL 
          SOD    ON          DECREMENT ADDRESS OF NEXT DIRECT CELL
          PJN    ERROR.1     EXIT IF NOT ALL DIRECT CELLS STORED
          LDN    1           CONSTANT OF ONE
          STD    ON          RESTORE CONSTANT DIRECT MEMORY CELL FOR ONE
          LDN    0           CONSTANT OF ZERO 
          STD    T1          INITIALIZE TRACE INDEX 
  
 ERROR.4  LDM    TRACE,T1    LOAD NEXT TRACE TABLE ENTRY
          ZJN    ERROR.5     EXIT IF END OF TRACE TABLE 
          STD    T2          STORE ADDRESS OF TRACE CELL
          LDI    T2          LOAD CONTENTS OF TRACE CELL
          STM    DCSAVE+70B,T1 STORE CONTENTS OF TRACE CELL 
          AOD    T1          INCREMENT TRACE INDEX
          UJK    ERROR.4     EXIT TO CHECK FOR END OF TRACE TABLE 
  
 ERROR.5  LDC    /ACTORD/ERROR ERROR ACTION DIRECTORY TABLE OFFSET
          STD    ADO         STORE ACTION DIRECTORY TABLE OFFSET
          LDC    /TABLES/ERRTABLE LOAD ADDRESS OF ERROR CONTROL TABLE 
          ADM    ERRCODE     PLUS ERROR CODE
          EXIT   EICA.2      EXIT TO GET RESPONSE TABLE ENTRY 
 TRACE    SPACE  2,12 
**               ERROR TRACE TABLE. 
* 
*                THE ERROR TRACE TABLE CONTAINS AN ENTRY FOR EACH MEMORY
*                CELL TO BE SAVED DURING ERROR PROCESSING.  THE CONTENTS
*                OF EACH ENTRY IS THE ADDRESS OF THE MEMORY CELL TO BE
**               SAVED. 
  
  
 TRACE    BSS    0           ERROR TRACE TABLE
  
          LOC    0
  
          CON    OVL         CURRENTLY LOADED OVERLAY ORDINAL 
          CON    TFL         LAST CALL TO TFL 
          CON    DCR.4+1     LAST PROCESSOR CALLED
          CON    EIIA.3+1    LAST ACTION PROCESSOR CALLED 
  
          CON    0           TERMINATE TRACE TABLE
  
 .LAST    SET    *
          LOC    *O 
  
          ERRNG  10000B-DCSAVE-70B-.LAST TEST FOR TRACE TABLE OVERFLOW
 IDH      TITLE  FRONT END INPUT/OUTPUT DATA MANAGEMENT SUBROUTINES.
 IDH      SPACE  2,24 
**               SUBROUTINE IDH.
* 
*                SUBROUTINE IDH INPUTS AND VALIDATES
*                THE DATA HEADER FROM THE FRONT END.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER RECEIVED FLAG. 
* 
*                  EXIT - 
* 
*                               (A) = NON-ZERO IF HEADER FORMAT ERROR,
*                    (DHB-DHB+L.DH) = DATA HEADER FROM FRONT END. 
* 
*                  CALLS -
* 
**                   ASUD - ACCEPT AND STORE UNPACKED DATA. 
  
  
 IDH      SUBR               ENTRY/EXIT 
          LDD    EOT         LOAD END OF TRANSFER RECEIVED FLAG 
          NJN    IDHX        RETURN IF END OF TRANSFER RECEIVED 
          LDC    DHB         LOAD ADDRESS OF DATA HEADER BUFFER 
          STD    T1          STORE STARTING INPUT ADDRESS 
          ADN    /BLOCK/L.DH-1 PLUS LENGTH OF DATA HEADER 
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /BLOCK/L.DH LESS EXPECTED INPUT LENGTH 
          UJK    IDHX        RETURN 
 TDH      SPACE  2,26 
**               SUBROUTINE TDH.
* 
*                SUBROUTINE TDH TRANSFERS THE DATA HEADER TO THE FRONT
*                END.  IF THE TRANSFER TO THE FRONT END IS LONGER THAN
*                THE DATA HEADER THE FRONT END CHANNEL IS LEFT ACTIVE 
*                AND READY TO CONTINUE THE TRANSFER.
* 
*                  ENTRY -
* 
*                    (DBH-DHB+L.DH) = DATA HEADER FOR FRONT END,
*                            (REOT) = END OF TRANSFER REQUEST FLAG. 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  CALLS -
* 
**                   TTBF - TRANSFER TWELVE BIT FORMATTED DATA. 
  
  
 TDH      SUBR               ENTRY/EXIT 
          LDC    DHB         LOAD ADDRESS OF DATA HEADER BUFFER 
          STD    T1          STORE STARTING BUFFER ADDRESS
          LDN    /BLOCK/L.DH LOAD LENGTH OF DATA HEADER 
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRTANSFER TWELVE BIT FORMATTED DATA
          UJK    TDHX        RETURN 
 ASUD     SPACE  2,32 
**               SUBROUTINE ASUD. 
* 
*                SUBROUTINE ASUD INPUTS DATA FROM THE FRONT END AND 
*                STORES THE INPUT DATA IN UNPACKED FORMAT INTO THE
*                SPECIFIED BUFFER AREA. 
* 
*                  ENTRY -
* 
*                      (A) = ENDING DATA BUFFER ADDRESS,
*                     (T1) = STARTING DATA BUFFER ADDRESS,
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                      (A) = NON-ZERO IF END OF TRANSFER, 
*                     (T3) = UPDATED TO CURRENT CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
**                   T2 = ENDING DATA BUFFER ADDRESS. 
  
  
 ASUD     SUBR               ENTRY/EXIT 
          STD    T2          STORE ENDING DATA BUFFER ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STD    T3          INITIALIZE DATA CHARACTER COUNTER
  
 ASUD.1   CLIO   FEIC        INPUT NEXT DATA CHARACTER
          STI    T1          STORE NEXT INPUT DATA CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASUDX       RETURN IF END OF TRANSFER
          LDD    T1          LOAD CURRENT DATA BUFFER ADDRESS 
          LMD    T2          LESS ENDING DATA BUFFER ADDRESS
          ZJN    ASUDX       RETURN IF END OF DATA BUFFER 
          AOD    T1          INCREMENT CURRENT DATA BUFFER ADDRESS
          UJK    ASUD.1      EXIT TO INPUT NEXT DATA CHARACTER
 TEBF     TITLE  OUTPUT CHARACTER PROCESSORS. 
 TTBF     SPACE  2,28 
**               SUBROUTINE TTBF. 
* 
*                SUBROUTINE TTBF TRANSFERS TWELVE 
*                BIT FORMATTED DATA TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT.
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
**                   T3 = OUTPUT DATA CHARACTER.
  
  
 TTBF     SUBR               ENTRY/EXIT 
  
 TTBF.1   LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          LPC    377B        EXTRACT NEXT OUTPUT CHARACTER
          STD    T3          STORE NEXT OUTPUT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          ZJN    TTBF.2      EXIT IF ENDING OUTPUT DATA CHARACTER 
          CLIO   FEOC        OUTPUT NEXT DATA CHARACTER 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          UJK    TTBF.1      EXIT TO PROCESS NEXT OUTPUT DATA BYTE
  
 TTBF.2   CLIO   FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    TTBFX       RETURN 
 OVERLAY  SPACE  2,6
*                FIRST LEVEL OVERLAY DEFINITIONS. 
  
  
 OL.FLOV  EQU    *-5         FIRST LEVEL OVERLAY LOAD ADDRESS (NOT USED)
 OF.FLOV  EQU    *           FIRST LEVEL OVERLAY FIRST WORD ADDRESS 
 OVERLAY  SPACE  2,6
*                INITIALIZE OVERLAY PARAMETERS. 
  
  
 .STOA    SET    0           START OF TRANSIENT OVERLAY AREA
 L.COA    SET    0           LENGTH OF CENTRAL OVERLAY AREA 
 N.OPW    SET    0           NUMBER OF OVERLAY POINTER WORDS
 O.OVL    SET    1           INITIALIZE OVERLAY ORDINAL 
 INIT     TITLE  INITIALIZATION CONTROL SUBROUTINE. 
          ORG    E.LCM
          QUAL   INIT 
 INIT     SPACE  2,36 
**               SUBROUTINE INIT. 
* 
*                SUBROUTINE INIT VALIDATES THE DRIVER CALL.  IF THE 
*                CALL IS VALID THE ADDRESS OF THE INITIALIZATION
*                PROCESSOR IS SET AND THE OVERLAY NAME THAT CONTAINS
*                THE INITIALIZATION PROCESSOR IS RETURNED.
* 
*                  ENTRY -
* 
*                         (CP) = CONTROL POINT AREA ADDRESS,
*                    (IR-IR+4) = PPU INPUT REGISTER IMAGE.
* 
*                  EXIT - 
* 
*                            (A) = INITIALIZATION OVERLAY NAME, 
*                          (IPA) = INITIALIZATION PROCESSOR ADDRESS,
*                    (PAD-PAD+1) = PARAMETER AREA ADDRESS.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *PPR* IF DRIVER CALL ERROR.
* 
*                  CALLS -
* 
*                    DFM - ISSUE DAYFILE MESSAGE, 
*                    FTN - ABORT COUNTROL POINT.
* 
*                  USES - 
* 
*                    T1-T1+4 = SUBSYSTEM ID WORD FROM CONTROL POINT,
**                        T1 = INITIALIZATION PROCESSOR TABLE INDEX.
  
  
 INIT     SUBR               ENTRY/EXIT 
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    JCIW        DELTA FOR SUBSYSTEM IDENTIFICATION WORD
          CRD    T1          READ SUBSYSTEM IDENTIFICATION WORD 
          LDD    T1+2        LOAD SUBSYSTEM IDENTIFICATION BYTE 
          LMC    /NOS/NMSI   LESS SUBSYSTEM IDENTIFICATION OF NAM 
          ZJN    INIT.2      EXIT IF DRIVER CALLED BY NAM 
  
 .MSS     IFEQ   .MSS,1 
  
          LDC    MSS         LOAD ADDRESS OF MSS INFORMATIVE MESSAGE
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          UJN    INIT.2      BYPASS SUBSYSTEM IDENTIFICATION CHECK
  
 .MSS     ENDIF 
  
          LDC    NNC         LOAD ADDRESS OF NON-NAM CALL MESSAGE 
  
 INIT.1   RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          LDN    ABTM        MONITOR FUNCTION TO ABORT CONTROL POINT
          RJM    FTN         EXIT TO ABORT CONTROL POINT
          LJM    PPR         RETURN TO PPU RESIDENT 
  
 INIT.2   LDD    IR+/NAM/C.DFC LOAD DRIVER FUNCTION CODE
          SBN    MAXFC       LESS MAXIMUM VALID FUNCTION CODE 
          MJN    INIT.3      EXIT IF FUNCTION CODE IN RANGE 
          LDC    IFC         LOAD ADDRESS OF ILLEGAL FUNCTION MESSAGE 
          UJK    INIT.1      EXIT TO ISSUE DAYFILE MESSAGE
  
 INIT.3   LDD    IR+/NAM/C.PAD LOAD HIGH-ORDER OF PARAMETER ADDRESS 
          LPN    37B         EXTRACT ADDRESS BITS 
          STD    PAD         STORE HIGH-ORDER OF PARAMETER AREA ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    IR+/NAM/C.PAD+1 PLUS LOW-ORDER OF PARAMETER ADDRESS
          STD    PAD+1       STORE LOW-ORDER OF PARAMETER AREA ADDRESS
          NJN    INIT.4      EXIT IF PARAMETER AREA SPECIFIED 
          LDC    NPA         LOAD ADDRESS OF NO PARAMETER AREA MESSAGE
          UJK    INIT.1      EXIT TO ISSUE DAYFILE MESSAGE
  
 INIT.4   LDD    IR+/NAM/C.DFC LOAD DRIVER FUNCTION CODE
          SHN    1           DRIVER FUNCTION CODE TIMES TWO 
          ADD    IR+/NAM/C.DFC DRIVER FUNCTION CODE TIMES THREE 
          STD    T1          STORE INITIALIZATION PROCESSOR TABLE INDEX 
          LDM    IPT,T1      LOAD ADDRESS OF INITIALIZATION PROCESSOR 
          STD    IPA         STORE ADDRESS OF INITIALIZATION PROCESSOR
          LDM    IPT+1,T1    LOAD HIGH-ORDER OF OVERLAY NAME
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    IPT+1+1,T1  PLUS LOW-ORDER OF OVERLAY NAME 
          UJK    INITX       RETURN 
 ERRMSG   SPACE  2,6
*                INITIALIZATION ERROR MESSAGES. 
  
  
 NNC      DATA   L$PIP - INVALID REQUEST.$
          DATA   0
 IFC      DATA   L$PIP - UNDEFINED FUNCTION CODE.$
          DATA   0
 NPA      DATA   L$PIP - NO PARAMETER AREA SPECIFIED.$
          DATA   0
  
 .MSS     IFEQ   .MSS,1 
  
 MSS      DATA   L$PIP - MSS OPTION VOIDS SYSTEM SECURITY.$ 
          DATA   0
  
 .MSS     ENDIF 
 IPT      SPACE  2,14 
**               INITIALIZATION PROCESSOR TABLE.
* 
*                THE INITIALIZATION PROCESSOR TABLE CONTAINS AN ENTRY FOR 
*                EACH POSSIBLE FUNCTION CODE USED IN A DRIVER CALL.  THE
*                CONTENTS OF A TABLE ENTRY IS THE ADDRESS OF THE
*                INITIALIZATION PROCESSOR RESPONSIBLE FOR PROCESSING THE
*                CALL AND THE NAME OF THE OVERLAY THAT CONTAINS THE 
**               INITIALIZATION PROCESSOR.
  
  
 IPT      BSS    0           INITIALIZATION PROCESSOR TABLE 
  
          LOC    0
  
          VFD    12/PRSM,6/0,18/OV.3IN PROCESS FRONT END
  
 .1       SET    *           DEFINE LENGTH OF ENTRY 
  
          VFD    12/INFL,6/0,18/OV.2IN INITIALIZE NAM FIELD LENGTH
          VFD    12/SEST,6/0,18/OV.2IN SCAN EST FOR NEW EQUIPMENT 
  
 MAXFC    EQU    */.1        DEFINE MAXIMUM VALID FUNCTION CODE 
  
          LOC    *O 
          QUAL
          USE    LAST 
  
 OL.MINT  BSS    5           LOAD ADDRESS FOR MAIN INITIALIZATION 
 OF.MINT  BSS    0           MAIN INITIALIZATION FIRST WORD ADDRESS 
  
 .PIP     EQU    *           DEFINE LAST WORD ADDRESS OF PIP
          ERRNG  7772B-*     TEST FOR PPU MEMORY OVERFLOW 
          USE    *
          OVERLAY F=FLOV,T1=(NPU I/O SUPPORT),T2=(NPU INPUT/OUTPUT INTER
,FACE DIRECTORY)
 IOID     SPACE  2,18 
**               LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY.
+ 
*                THE FOLLOWING LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY 
*                CONTAINS AN ENTRY THAT IDENTIFIES THE EQUIPMENT TYPE 
*                OF THE FRONT END BEING PROCESSED AND AN ENTRY FOR EACH 
*                FUNCTIONAL INTERFACE POINT FOR THE DEVICE INPUT/OUTPUT 
*                SUPPORT OVERLAY.  THE CONTENTS OF A FUNCTIONAL 
*                INTERFACE POINT ENTRY CONSISTS OF TWO TWO-WORD 
*                INSTRUCTIONS: SUBROUTINE ENTRY/EXIT AND A LONG JUMP. 
*                THE CALL TO A LISTED DEVICE FUNCTION WILL START WITH A 
*                RETURN-JUMP TO THE FE-- NAME, THEN A LONG JUMP TO THE
*                PROCESSOR SPECIFIED IN THE ENTRY IS EXECUTED, AND
*                THE EXIT FROM THE PROCESSOR IS THROUGH FE--X IN THE
*                DIRECTORY TABLE ENTRY. 
* 
*                SO, THE LISTED DEVICE FUNCTION MUST BE CALLED ONLY 
*                BY THE GIVEN FE-- NAME, EXCEPT THE LAST NAME FEOC
*                THAT IS EQUATED TO THE ENTRY POINT /NPU/ OR /MDI/ ODC. 
*                SUBROUTINE ODC IMMEDIATELY FOLLOWS THE DIRECTORY AND 
*                IS A REAL SUBROUTINE. IT MAY BE CALLED AS FEOC,
**               /NPU/ODC, OR /MDI/ODC. 
  
  
 IOID     BSS    0           LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY 
  
 FETP     CON    0           FRONT END TYPE (0 = NPU) 
  
          IODE   FEIA,/NPU/CKIA CHECK INPUT AVAILABLE FROM FRONT END
          IODE   FENI,/NPU/SNRI SET NOT READY FOR INPUT TO FRONT END
          IODE   FEOA,/NPU/ROAS RETURN OUTPUT ALLOWED STATUS FRON F. END
          IODE   FERG,/NPU/CNRL CHANGE FRONT END REGULATION LEVEL 
          IODE   FEIH,/NPU/IBH  INPUT BLOCK PROTOCOL HEADER 
          IODE   FERO,/NPU/RCO  REQUEST OUTPUT TO FRONT END FROM F. END 
          IODE   FEOH,/NPU/TBH  OUTPUT BLOCK PROTOCOL HEADER TO F. END
          IODE   FEHL,/NPU/HNPU HALT FRONT END
  
          IODE   FEIC,/NPU/IDC  INPUT NEXT DATA CHARACTER FROM FRONT END
          IODE   FEEC,/NPU/TEDC OUTPUT LAST DATA CHARACTER TO FRONT END 
          IODE   FEIP,/NPU/ASED INPUT PACKED DATA 
          IODE   FEOP,/NPU/TEBF OUTPUT PACKED DATA
 FEOC     EQU    *+1            OUTPUT NEXT DATA CHARACTER TO FRONT END 
          QUAL   NPU
 CIT      SPACE  2,6
*                INITIALIZE CHANNEL INSTRUCTION TABLE.
  
  
 CIT      RMT 
          QUAL   NPU
  
 NPUCIT   BSS    0           NPU CHANNEL INSTRUCTION TABLE
  
 CIT      RMT 
 ODC      SPACE  2,24 
**               SUBROUTINE ODC.  (EQUATED TO LOGICAL I/O FEOC.)
* 
*                SUBROUTINE ODC OUTPUTS A CHARACTER TO THE NPU COUPLER
*                AND VERIFIES THE CORRECT OPERATION OF THE NPU CHANNEL. 
* 
*                  ENTRY -
* 
*                     (T3) = OUTPUT DATA CHARACTER, 
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                      (A) = OUTPUT DATA CHARACTER, 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT.
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF CHANNEL GOES INACTIVE.
  
  
 ODC      SUBR               ENTRY/EXIT 
          AOD    NCC         INCREMENT MESSAGE CHARACTER COUNTER
          IJM.   DCN.1       EXIT TO ERROR ROUTINE IF CHANNEL INACTIVE
          EJM.   ODC.2       EXIT IF CHANNEL EMPTY
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 ODC.1    EJM.   ODC.2       EXIT IF CHANNEL EMPTY
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    ODC.1       EXIT IF CHANNEL DELAY NOT EXPIRED
          EXIT   OWN.2       EXIT TO ERROR - CHANNEL HUNG FULL
  
 ODC.2    LDD    T3          LOAD OUTPUT DATA CHARACTER 
          OAN.               OUTPUT DATA CHARACTER
          UJK    ODCX        RETURN 
 IBH      TITLE  NPU INPUT/OUTPUT DATA MANAGEMENT SUBROUTINES.
 IBH      SPACE  2,42 
**               SUBROUTINE IBH.  (ENTRY POINT IS LOGICAL I/O FEIH.)
* 
*                SUBROUTINE IBH INPUTS AND VALIDATES THE BLOCK HEADER 
*                FROM THE NPU.  IF THE TRANSFER FROM THE NPU IS LONGER
*                THAN THE BLOCK HEADER, THE CHANNEL IS LEFT ACTIVE
*                AND READY TO CONTINUE THE TRANSFER FROM THE NPU. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (HND) = HOST NODE ID.
* 
*                  EXIT - 
* 
*                         (NCC) = CURRENT CHARACTER COUNT OF MESSAGE, 
*                    (BHB+L.BH) = BLOCK HEADER OF MESSAGE FROM NPU, 
*                         (EOT) = NON-ZERO IF END OF TRANSFER,
*                          (TN) = TERMINAL NODE OF MESSAGE, 
*                          (CN) = CONNECTION NUMBER OF MESSAGE, 
*                          (BT) = BLOCK TYPE OF MESSAGE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* UNASSIGNED CONNECTION ON PRU INPUT,
*                    EXIT TO *ERROR* IF BLOCK HEADER FORMAT ERROR.
* 
*                  CALLS -
* 
*                     FNC - FUNCTION NPU COUPLER, 
*                     ACN - ACTIVATE NPU CHANNEL, 
*                    ASUD - ACCEPT AND STORE UNPACKED DATA FROM NPU,
*                     RCT - READ CONNECTION TABLE ENTRY.
* 
*                  USES - 
* 
**                   T1 = INPUT BUFFER ADDRESS. 
  
  
 IBH      LINK               ENTRY
          LDN    0           CONSTANT OF ZERO 
          STD    NCC         INITIALIZE NPU MESSAGE CHARACTER COUNT 
          LDN    /FUNCTION/ID LOAD FUNCTION TO INPUT DATA 
          RJM    FNC         EXIT TO FUNCTION TO INPUT DATA 
          RJM    ACN         EXIT TO ACTIVATE NPU CHANNEL 
          LDC    BHB         LOAD ADDRESS OF BLOCK HEADER BUFFER
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    /BLOCK/L.BH-1 PLUS LENGTH OF BLOCK HEADER
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /BLOCK/L.BH LESS LENGTH OF BLOCK HEADER
          NJN    IBH.2       EXIT IF BLOCK HEADER LENGTH ERROR
          LDM    BHB+/BLOCK/SN LOAD SOURCE NODE FROM MESSAGE
          STD    TN          STORE TERMINAL NODE
          LDM    BHB+/BLOCK/CN LOAD CONNECTION NUMBER FROM MESSAGE
          STD    CN          STORE CONNECTION NUMBER
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          PJN    IBH.1       EXIT IF CONNECTION NUMBER ASSIGNED 
          LDD    IOC         LOAD INPUT ORDER CODE ORDINAL
          SBN    /NSTATUS/IAP-/NSTATUS/IAS LESS VALUE FOR PRU INPUT 
          NJN    IBH.1       EXIT IF NOT PRU INPUT
          LDD    STS         LOAD STREAM STATE
          NJN    IBH.1       EXIT IF PRU STREAM 
          EREXIT IUC         EXIT TO ERROR - UNASSIGNED CONNECTION
  
 IBH.1    LDM    BHB+/BLOCK/BNBT LOAD BLOCK TYPE FROM MESSAGE 
          LPN    /BLOCK/L.BT EXTRACT BLOCK TYPE 
          STD    BT          STORE BLOCK TYPE 
          SBN    /BLOCK/MAXBT LESS MAXIMUM VALID BLOCK TYPE 
          MJN    IBH.3       EXIT IF VALID BLOCK TYPE 
  
 IBH.2    EREXIT BHE         EXIT TO ERROR - BLOCK HEADER FORMAT ERROR
  
 IBH.3    LDD    STS         LOAD PRU STREAM STATES 
          NJN    IBH.5       EXIT IF PRU STREAM 
  
 IBH.4    UJK    FEIHX       RETURN 
  
 IBH.5    LDM    BHB+/BLOCK/DN LOAD DESTINATION NODE FROM MESSAGE 
          LMM    HND,FEI     LESS HOST NODE FOR THIS NPU
          ZJN    IBH.4       EXIT IF CORRECT HOST NODE
          UJK    IBH.2       EXIT TO ERROR - BLOCK HEADER FORMAT ERROR
 TBH      SPACE  2,28 
**               SUBROUTINE TBH.  (ENTRY POINT IS LOGICAL I/O FEOH.)
* 
*                SUBROUTINE TBH TRANSFERS THE NPU BLOCK HEADER TO THE 
*                NPU.  IF THE TRANSFER TO THE NPU IS LONGER THAN THE
*                NPU BLOCK HEADER THE NPU CHANNEL IS LEFT ACTIVE AND
*                READY TO CONTINUE THE TRANSFER.
* 
*                  ENTRY -
* 
*                    (BHB-BHB+LBH) = NPU BLOCK HEADER,
*                           (REOT) = END OF TRANSFER REQUEST FLAG.
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  CALLS -
* 
*                     FNC - FUNCTION NPU COUPLER, 
*                     ACN - ACTIVATE NPU CHANNEL, 
**                   TTBF - TRANSFER TWELVE BIT FORMATTED DATA TO NPU.
  
  
 TBH      LINK               ENTRY
          LDN    0           CONSTANT OF ZERO 
          STD    NCC         INITIALIZE NPU MESSAGE CHARACTER COUNT 
          LDN    /FUNCTION/OD LOAD FUNCTION TO OUTPUT DATA
          RJM    FNC         EXIT TO FUNCTION TO OUTPUT DATA
          RJM    ACN         EXIT TO ACTIVATE NPU CHANNEL 
          LDC    BHB         LOAD ADDRESS OF BLOCK HEADER BUFFER
          STD    T1          STORE STARTING OUTPUT BUFFER ADDRESS 
          LDN    /BLOCK/L.BH LOAD LENGTH OF BLOCK HEADER
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRANSFER TWELVE BIT FORMATTED DATA 
          UJK    FEOHX       RETURN 
 FNC      TITLE  NPU COUPLER INPUT/OUTPUT SUBROUTINES.
 FNC      SPACE  2,16 
**               SUBROUTINE FNC.
* 
*                SUBROUTINE FNC FUNCTIONS THE NPU COUPLER.
* 
*                  ENTRY -
* 
*                      (A) = FUNCTION CODE, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CAD) = COUPLER EQUIPMENT NUMBER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL ACTIVE BEFORE FUNCTION, 
**                   EXIT TO *ERROR* IF CHANNEL ACTIVE AFTER FUNCTION.
  
  
 FNC      SUBR               ENTRY/EXIT 
          ADM    CAD,FEI     PLUS COUPLER EQUIPMENT NUMBER
          AJM.   FNC.2       EXIT IF CHANNEL ACTIVE BEFORE FUNCTION 
          FAN.               FUNCTION NPU COUPLER 
          LDK    FNCDLY      LOAD FUNCTION ACCEPT DELAY COUNTER 
  
 FNC.1    IJM.   FNCX        RETURN IF CHANNEL GOES INACTIVE
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    FNC.1       EXIT IF CHANNEL DELAY NOT EXPIRED
          EREXIT AAF         EXIT TO ERROR - ACTIVE AFTER FUNCTION
  
 FNC.2    EREXIT ABF         EXIT TO ERROR - ACTIVE BEFORE FUNCTION 
 ACN      SPACE  2,14 
**               SUBROUTINE ACN.
* 
*                SUBROUTINE ACN ACTIVATES THE NPU CHANNEL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL ACTIVE BEFORE ACTIVATE, 
**                   EXIT TO *ERROR* IF CHANNEL INACTIVE AFTER ACTIVATE.
  
  
 ACN      SUBR               ENTRY/EXIT 
          AJM.   ACN.1       EXIT IF CHANNEL ACTIVE 
          ACN.               ACTIVATE CHANNEL 
          AJM.   ACNX        RETURN IF CHANNEL ACTIVE 
          EREXIT IAA         EXIT TO ERROR - INACTIVE AFTER ACTIVATE
  
 ACN.1    EREXIT ABA         EXIT TO ERROR - ACTIVE BEFORE ACTIVATE 
 DCN      SPACE  2,14 
**               SUBROUTINE DCN.
* 
*                SUBROUTINE DCN DISCONNECTS THE NPU CHANNEL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL ACTIVE AFTER DISCONNECT,
**                   EXIT TO *ERROR* IF CHANNEL INACTIVE. 
  
  
 DCN      SUBR               ENTRY/EXIT 
          IJM.   DCN.1       EXIT IF CHANNEL WENT INACTIVE
          DCN.               DISCONNECT NPU CHANNEL 
          IJM.   DCNX        RETURN IF CHANNEL DISCONNECTED 
          EREXIT AAD         EXIT TO ERROR - ACTIVE AFTER DISCONNECT
  
 DCN.1    LINK               ENTRY
          EREXIT IDO         EXIT TO ERROR - INACTIVE ON OUTPUT OR READ 
 OWN      SPACE  2,22 
**               SUBROUTINE OWN.
* 
*                SUBROUTINE OWN OUTPUTS A SINGLE WORD TO THE NPU. 
* 
*                  ENTRY -
* 
*                    (A) = WORD TO OUTPUT TO NPU. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL REMAINS FULL. 
* 
*                  CALLS -
* 
*                    ACN - ACTIVATE NPU CHANNEL,
**                   DCN - DISCONNECT NPU CHANNEL.
  
  
 OWN      SUBR               ENTRY/EXIT 
          RJM    ACN         EXIT TO ACTIVE NPU CHANNEL 
          OAN.               OUTPUT DATA WORD 
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 OWN.1    EJM.   OWN.3       EXIT IF CHANNEL EMPTY
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    OWN.1       EXIT IF CHANNEL DELAY NOT EXPIRED
  
 OWN.2    LINK               ENTRY
          EREXIT HFO         EXIT TO ERROR ROUTINE - CHANNEL HUNG FULL
  
 OWN.3    RJM    DCN         EXIT TO DISCONNECT NPU CHANNEL 
          UJK    OWNX        RETURN 
 ICS      SPACE  2,24 
**               SUBROUTINE ICS.
* 
*                SUBROUTINE ICS INPUTS THE COUPLER
*                STATUS REGISTER FROM THE NPU.
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                      (A) = CURRENT NPU COUPLER STATUS REGISTER, 
*                    (CSR) = CURRENT NPU COUPLER STATUS REGISTER. 
* 
*                  CALLS -
* 
*                    FNC - FUNCTION NPU COUPLER,
**                   ACN - ACTIVATE NPU CHANNEL.
  
  
 ICS      SUBR               ENTRY/EXIT 
          LDN    /FUNCTION/ICS FUNCTION CODE TO INPUT COUPLER STATUS
          RJM    FNC         EXIT TO FUNCTION COULER FOR STATUS 
          RJM    ACN         EXIT TO ACTIVATE NPU CHANNEL 
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 ICS.1    FJM.   ICS.2       EXIT IF CHANNEL WENT FULL
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    ICS.1       EXIT IF CHANNEL DELAY NOT EXPIRED
          EXIT   IDC.3A      EXIT TO ERROR - HUNG EMPTY ON INPUT
  
 ICS.2    IAN.               INPUT COUPLER STATUS REGISTER
          STM    CSR,FEI     STORE CURRENT COUPLER STATUS REGISTER
          DCN.               DISCONNECT NPU CHANNEL 
          UJK    ICSX        RETURN 
 INS      SPACE  2,22 
**               SUBROUTINE INS.
* 
*                SUBROUTINE INS INPUTS THE NPU STATUS WORD FROM THE NPU.
* 
*                  ENTRY -
* 
*                    (NPU) = NPU TABLE OFFSET.
* 
*                  EXIT - 
* 
*                      (A) = CURRENT NPU STATUS WORD, 
*                    (NSW) = CURRENT NPU STATUS WORD. 
* 
*                  CALLS -
* 
*                    FNC - FUNCITON NPU COUPLER,
**                   ACN - ACTIVATE NPU CHANNEL.
  
  
 INS      SUBR               ENTRY/EXIT 
          LDN    /FUNCTION/ISW LOAD FUNCTION TO INPUT NPU STATUS WORD 
          RJM    FNC         EXIT TO FUNCTION TO INPUT NPU STATUS WORD
          RJM    ACN         EXIT TO ACTIVATE NPU CHANNEL 
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 INS.1    FJM.   INS.2       EXIT IF CHANNEL WENT FULL
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    INS.1       EXIT IF CHANNEL DELAY NOT EXPIRED
          EXIT   IDC.3A      EXIT TO ERROR - HUNG EMPTY ON INPUT
  
 INS.2    IAN.               INPUT NPU STATUS WORD
          STM    NSW,FEI     STORE CURRENT NPU STATUS WORD
          DCN.               DISCONNECT NPU CHANNEL 
          UJK    INSX        RETURN 
 CCSR     SPACE  2,34 
**               SUBROUTINE CCSR. 
* 
*                SUBROUTINE CCSR CHECKS THE NPU COUPLER STATUS REGISTER.
*                IF THE NPU COUPLER STATUS REGISTER INDICATES THAT THE
*                NPU STATUS WORD HAS BEEN LOADED BY THE NPU, THE NPU
*                DEAD TIMER IS RESET.  OTHERWISE THE NPU DEAD TIMER IS
*                CHECKED FOR A NPU TIMEOUT CONDITION. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (DTM) = FRONT END DEAD TIMER.
* 
*                  EXIT - 
* 
*                          (A) = STATUS IF NPU STATUS WORD LOADED 
*                                OR NEGATIVE IF NOT LOADED, 
*                        (CSR) = CURRENT NPU COUPLER STATUS REGISTER, 
*                        (DTM) = RESET IF NPU STATUS WORD LOADED, 
*                    (T1-T1+4) = SYSTEM REAL-TIME CLOCK.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NPU DEAD TIMER EXPIRED. 
* 
*                  CALLS -
* 
**                   ICS - INPUT COUPLER STATUS REGISTER. 
  
  
 CCSR     SUBR               ENTRY/EXIT 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          RJM    ICS         EXIT TO INPUT COUPLER STATUS REGISTER
          LPN    /CSTATUS/NSL EXTRACT NPU STATUS WORD LOADED BIT
          ZJN    CCSR.1      EXIT IF NPU STATUS WORD NOT LOADED 
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          ADK    Q.NDEAD     PLUS FRONT END DEAD TIMER QUANTUM
          STM    DTM,FEI     RESET FRONT END DEAD TIMER 
          LDM    CSR,FEI     LOAD CURRENT COUPLER STATUS REGISTER 
          UJK    CCSRX       RETURN 
  
 CCSR.1   LDD    T1+1        LOAD SYTEM SECOND TIME 
          SBM    DTM,FEI     LESS FRONT END DEAD TIMER VALUE
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    CCSRX       RETURN IF FRONT END TIMER NOT EXPIRED
          EREXIT NTO         EXIT TO ERROR ROUTINE - NPU TIME OUT 
 INSW     SPACE  2,30 
**               SUBROUTINE INSW. 
* 
*                SUBROUTINE INSW INPUTS THE NPU STATUS WORD FROM THE
*                NPU.  IF THE NPU REPORTS INITIALIZATION REQUESTED OR 
*                INITIALIZATION COMPLETED THE BLOCK HANDLER STATE 
*                RESPONSE ACTION FOR THE NPU STATE CHANGE IS EXECUTED 
*                AND CONTROL IS EXPLICITLY TRANSFERRED TO PROCESS THE 
*                NEXT NPU.
* 
*                  ENTRY -
* 
*                    (NPU) = NPU TABLE OFFSET.
* 
*                  NPU STATE CHANGE EXIT -
* 
*                    EXIT TO *NFE* IF NPU STATE CHANGE. 
* 
*                  CALLS -
* 
*                     INS - INPUT NPU STATUS WORD,
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 INSW     SUBR               ENTRY/EXIT 
          RJM    INS         EXIT TO INPUT NPU STATUS WORD
          LMN    /NSTATUS/NIR LESS VALUE FOR INITIALIZATION REQUEST 
          ZJN    INSW.2      EXIT IF NPU REQUESTING INITALIZATION 
          LMN    /NSTATUS/NIC&/NSTATUS/NIR INITIALIZATION COMPLETE VALUE
          ZJN    INSW.1      EXIT IF NPU REPORTS INITIALIZATION COMPLETE
          LDM    NSW,FEI     LOAD CURRENT NPU STATUS WORD 
          UJK    INSWX       RETURN 
  
 INSW.1   LDN    /TABLES/.NPIC-/TABLES/.NPRI INITIALIZATION COMPLETE
  
 INSW.2   ADN    /TABLES/.NPRI DELTA FOR INITIALIZATION REQUEST 
          STD    CTL         STORE BLOCK HANDLER STATE ACTION ORDINAL 
          RJM    EBRA        EXIT TO EXECUTE BLOCK RESPONSE ACTION
          EXIT   NFE         EXIT TO PROCESS NEXT NPU 
 WOW      SPACE  2,34 
**               SUBROUTINE WOW.
* 
*                SUBROUTINE WOW WRITES THE ORDER WORD TO THE NPU.  A
*                CHECK IS MADE TO ASSURE THAT THE NPU HAS READ THE
*                PREVIOUS ORDER WORD BEFORE THE CURRENT ORDER WORD IS 
*                WRITTEN. THE NPU ORDER WORD IS USED IN THE BLOCK 
*                PROTOCOL TO REQUEST PERMISSION TO DO OUTPUT TO THE NPU 
*                AND TO PROVIDE CONTROL INFORMATION TO THE NPU. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                     (OW) = NPU ORDER WORD IMAGE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NPU ORDER WORD TIMER EXPIRES. 
* 
*                  CALLS -
* 
*                    CCSR - CHECK NPU COUPLER STATUS REGISTER,
*                     FNC - FUNCTION NPU COUPLER, 
*                     OWN - OUTPUT WORD TO NPU. 
* 
*                  USES - 
* 
*                    T0-T0+4 = SYSTEM REAL-TIME CLOCK,
**                        T7 = NPU ORDER WORD WAIT TIMER. 
  
  
 WOW      SUBR               ENTRY/EXIT 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+4        LOAD SYSTEM MILLISECOND TIME 
          ADK    Q.NOWT      PLUS NPU ORDER WORD TIMEOUT QUANTUM
          STD    T7          STORE NPU ORDER WORD TIMEOUT VALUE 
  
 WOW.1    RJM    CCSR        EXIT TO CHECK COUPLER STATUS REGISTER
          LDM    CSR,FEI     LOAD CURRENT COUPLER STATUS REGISTER 
          SHN    17-/CSTATUS/S.OWL NPU ORDER WORD LOADED STATUS TO SIGN 
          PJN    WOW.2       EXIT IF PREVIOS NPU ORDER WORD NOT LOADED
          LDD    T1+4        LOAD SYSTEM MILLISECOND TIME 
          SBD    T7          LESS NPU ORDER WORD TIMEOUT VALUE
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    WOW.1       EXIT IF TIMEOUT NOT EXPIRED
          EREXIT NOT         EXIT TO ERROR - NPU ORDER WORD TIMEOUT 
  
 WOW.2    LDN    /FUNCTION/OOW FUNCTION TO OUTPUT NPU ORDER WORD
          RJM    FNC         EXIT TO FUNCTION TO OUTPUT NPU ORDER WORD
          LDD    OW          LOAD NPU ORDER WORD VALUE
          RJM    OWN         EXIT TO OUTPUT ORDER WORD TO NPU 
          UJK    WOWX        RETURN 
 RCO      SPACE  2,36 
**               SUBROUTINE RCO.  (ENTRY POINT IS LOGICAL I/O FERO.)
* 
*                SUBROUTINE RCO REQUESTS TO OUTPUT TO THE NPU COUPLER 
*                BY WRITING THE OUTPUT ORDER WORD.  IF THE OUTPUT 
*                REQUEST IS ACCEPTED BY THE NPU THE OUTPUT DELAY TIMER
*                IS SET FOR OUTPUT ACCEPTED.  IT THE OUTPUT REQUEST IS
*                REJECTED BY THE NPU THE OUTPUT DELAY TIMER IS SET FOR
*                OUTPUT REJECTED. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                          (A) = NON-ZERO IF NPU READY FOR OUTPUT,
*                        (DTM) = RESET, 
*                        (OTM) = SET TO APPROPRIATE OUTPUT DELAY TIME,
*                    (T1-T1+4) = SYSTEM REAL-TIME CLOCK.
* 
*                  CALLS -
* 
*                     WOW - WRITE ORDER WORD TO NPU,
*                    CCSR - CHECK COUPLER STATUS REGISTER,
*                    INSW - INPUT NPU STATUS WORD.
* 
*                  USES - 
* 
*                    T0-T0+4 = SYSTEM REAL-TIME CLOCK,
*                         T7 = OUTPUT WAIT TIMER, 
**                        T0 = RETURN INDICATOR.
  
  
 RCO      LINK               ENTRY
          RJM    WOW         EXIT TO WRITE ORDER WORD TO NPU
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+4        LOAD SYSTEM MILLISECOND TIME 
          ADK    Q.NOWT      PLUS NPU OUTPUT WAIT DELAY 
          STD    T7          STORE OUTPUT WAIT TIMER
  
 RCO.1    RJM    CCSR        EXIT TO CHECK COUPLER STATUS REGISTER
          PJN    RCO.5       EXIT IF NPU STATUS WORD LOADED 
  
 RCO.2    LDD    T1+4        LOAD SYSTEM MILLISECOND TIME 
          SBD    T7          LESS OUTPUT WAIT TIMER 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    RCO.1       EXIT IF DELAY NOT EXPIRED
          LDN    /NSTATUS/NRO LOAD STATUS NOT READY FOR OUTPUT
          STM    NSW,FEI     STORE NPU STATUS WORD
          STD    T0          STORE RETURN INDICATOR 
  
 RCO.3    LDK    Q.NORJ      LOAD OUTPUT REJECTED TIME QUANTUM
  
 RCO.4    ADD    T1+4        PLUS SYSTEM MILLISECOND TIME 
          STM    OTM,FEI     STORE OUTPUT DELAY TIMER 
          LDD    T0          LOAD RETURN INDICATOR
          ZJN    RCO.4B      EXIT IF NPU READY FOR OUTPUT 
          LDN    0           SET A-REGISTER ZERO
  
 RCO.4A   UJK    FEROX       RETURN 
  
 RCO.4B   LDN    1           SET A-REGISTER NON-ZERO
          UJK    RCO.4A      RETURN 
  
 RCO.5    RJM    INSW        EXIT TO INPUT NPU STATUS WORD
          LMN    /NSTATUS/RO LESS VALUE FOR READY FOR OUTPUT
          STD    T0          STORE RETURN INDICATOR 
          NJN    RCO.6       EXIT IF NOT READY FOR OUTPUT 
          LDK    Q.NOAC      LOAD OUTPUT ACCEPTED TIME QUANTUM
          UJK    RCO.4       EXIT TO SET OUTPUT DELAY TIMER 
  
 RCO.6    LMN    /NSTATUS/NRO&/NSTATUS/RO DELTA FOR NOT READY FOR OUTPUT
          ZJN    RCO.3       EXIT IF NOT READY FOR OUTPUT 
          UJK    RCO.2       EXIT TO CHECK OUTPUT WAIT TIMER
 IDC      SPACE  2,32 
**               SUBROUTINE IDC.  (ENTRY POINT IS LOGICAL I/O FEIC.)
* 
*                SUBROUTINE IDC INPUTS A CHARACTER FROM THE NPU COUPLER 
*                AND VERIFIES THE CORRECT OPERATION OF THE NPU CHANNEL. 
* 
*                  ENTRY -
* 
*                     (T3) = CURRENT CHARACTER COUNT, 
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                      (A) = INPUT DATA CHARACTER,
*                     (T0) = INPUT DATA CHARACTER,
*                     (T3) = UPDATED TO CURRENT CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = SET TO INDICATE END OF TRANSFER STATUS.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL GOES INACTIVE,
*                    EXIT TO *ERROR* IF CHANNEL STAYS EMPTY.
* 
*                  USES - 
* 
**                   T0 = INPUT DATA BYTE.
  
  
 IDC      LINK               ENTRY
          AJM.   IDC.2       EXIT IF CHANNEL ACTIVE 
  
 IDC.1    EREXIT IDI         EXIT TO ERROR - INACTIVE DURING INPUT
  
 IDC.2    FJM.   IDC.4       EXIT IF DATA ON CHANNEL
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 IDC.3    FJM.   IDC.4       EXIT IF DATA ON CHANNEL
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    IDC.3       EXIT IF CHANNEL DELAY NOT EXPIRED
 IDC.3A   LINK               ENTRY
          EREXIT HEI         EXIT TO ERROR - HUNG EMPTY ON INPUT
  
 IDC.4    AOD    T3          INCREMENT CHARACTER COUNTER
          AOD    NCC         INCREMENT MESSAGE CHARACTER COUNTER
          IAN.               INPUT DATA BYTE
          STD    T0          STORE INPUT DATA BYTE
          SHN    -/BLOCK/S.EOT END OF TRANSFER FLAG TO LOW-ORDER
          STD    EOT         STORE END OF TRANSFER STATUS 
          LDD    T0          LOAD INPUT DATA BYTE 
          LPC    0#FF        EXTRACT INPUT DATA CHARACTER 
          STD    T0          STORE INPUT DATA CHARACTER 
          UJK    FEICX       RETURN 
 TEDC     SPACE  2,28 
**               SUBROUTINE TEDC.  (ENTRY POINT IS LOGICAL I/O FEEC.) 
* 
*                SUBROUTINE TEDC TRANSFERS THE LAST CHARACTER OF A
*                REQUESTED OUTPUT SEQUENCE TO THE NPU.  IF END OF 
*                TRANSFER IS REQUESTED IT IS SET ON THE LAST DATA 
*                CHARACTER SENT TO THE NPU. 
* 
*                  ENTRY -
* 
*                      (T3) = LAST OUTPUT DATA CHARACTER, 
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = SET IF END OF TRANSFER REQUESTED.
* 
*                  CALLS -
* 
*                     ODC - OUTPUT DATA CHARACTER,
**                   WODE - WAIT CHANNEL EMPTY AND DISCONNECT.
  
  
 TEDC     LINK               ENTRY
          LDD    REOT        LOAD END OF TRANSFER REQUEST FLAG
          ZJN    TEDC.1      EXIT IF END OF TRANSFER NOT REQUESTED
          LDC    /BLOCK/B.EOT LOAD END OF TRANSFER BIT
          RAD    T3          ADD TO OUTPUT DATA CHARACTER 
  
 TEDC.1   RJM    ODC         EXIT TO OUTPUT DATA CHARACTER
          SHN    -11         END OF TRANSFER FLAG TO LOW-ORDER
          ZJN    TEDC.2      RETURN,IF NOT END OF TRANSFER
          STD    EOT         SET END OF TRANSFER FLAG 
          RJM    WODE        EXIT TO WAIT CHANNEL EMPTY 
 TEDC.2   UJK    FEECX       RETURN 
 WODE     SPACE  2,20 
**               SUBROUTINE WODE. 
* 
*                SUBROUTINE WODE WAITS FOR THE CHANNEL TO GO EMPTY
*                AND DISCONNECTS THE CHANNEL AFTER THE LAST DATA
*                CHARACTER OF A TRANSFER IS SENT TO THE CHANNEL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL REMAINS FULL. 
* 
*                  CALLS -
* 
**                   DCN - DISCONNECT NPU CHANNEL.
  
  
  
 WODE     SUBR               ENTRY/EXIT 
          LDK    CHDLY       LOAD CHANNEL DELAY COUNTER 
  
 WODE.1   EJM.   WODE.2      EXIT IF CHANNEL EMPTY
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    WODE.1      EXIT IF CHANNEL DELAY NOT EXPIRED
          EXIT   OWN.2       EXIT TO ERROR ROUTINE - CHANNEL HUNG FULL
  
 WODE.2   RJM    DCN         EXIT TO DISCONNECT NPU CHANNEL 
          UJK    WODEX       RETURN 
 CKIA     TITLE  NPU INPUT/OUTPUT CONTROL SUBROUTINES.
 CKIA     SPACE  2,24 
**               SUBROUTINE CKIA.  (ENTRY POINT IS LOGICAL I/O FEIA.) 
* 
*                SUBROUTINE CKIA CHECKS FOR INPUT AVAILABLE FROM NPU. 
* 
*                  EXIT - 
* 
*                      (A) = POSITIVE IF INPUT AVAILABLE, 
*                    (IOC) = INPUT ORDER CODE IF INPUT AVAILABLE, 
*                    (PRU) = PRU BUFFER SIZE ORDINAL IF PRU INPUT.
* 
*                  CALLS -
* 
*                    CCSR - CHECK COUPLER STATUS REGISTER AVAILABLE,
*                    INSW - INPUT NPU STATUS WORD.
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF ILLEGAL PRU BUFFER SIZE.
  
  
 CKIA     LINK               ENTRY
          RJM    CCSR        EXIT TO CHECK COUPLER STATUS REGISTER
          MJN    CKIA.X      RETURN IF NPU STATUS WORD NOT LOADED 
          RJM    INSW        EXIT TO INPUT NPU STATUS WORD
          LPN    /NSTATUS/L.SC EXTRACT NPU STATUS CODE
          SBN    /NSTATUS/BIC LESS BEGINNING INPUT AVAILABLE CODE 
          MJN    CKIA.X      RETURN IF INPUT NOT AVAILABLE
          STD    IOC         STORE POSSIBLE INPUT ORDER CODE
          SBN    /NSTATUS/EIC-/NSTATUS/BIC DELTA FOR ENDING INPUT CODE
          PJN    CKIA.2      EXIT IF INPUT NOT AVAILABLE
          ADN    /NSTATUS/EIC-/NSTATUS/IAP DELTA FOR PRU INPUT
          NJN    CKIA.1      EXIT IF NOT PRU INPUT AVAILABLE
          LDM    NSW,FEI     LOAD NPU STATUS WORD 
          SHN    -/NSTATUS/S.NPRU POSITION PRU SIZE TO LOW-ORDER
          ZJN    CKIA.3      EXIT IF INVALID PRU SIZE SPECIFIED 
          SBN    1           LESS ONE FOR RELATIVE ZERO 
          STD    PRU         STORE PRU BUFFER SIZE ORDINAL
          SBN    MAXPRU      LESS MAXIMUM PRU BUFFER SIZE ORDINAL 
          PJN    CKIA.3      EXIT IF INVALID PRU SIZE SPECIFIED 
  
 CKIA.1   LDN    0           SET A-REGISTER POSITIVE
  
 CKIA.X   UJK    FEIAX       RETURN 
  
 CKIA.2   LCN    1           SET A-REGISTER NEGATIVE
          UJK    CKIA.X      RETURN 
  
 CKIA.3   EREXIT IBS         EXIT TO ERROR - ILLEGAL PRU BUFFER SIZE
 SNRI     SPACE  2,12 
**               SUBROUTINE SNRI.  (ENTRY POINT IS LOGICAL I/O FENI.) 
* 
*                SUBROUTINE SNRI SETS NOT READY FOR INPUT TO NPU. 
* 
*                  CALLS -
* 
**                   WOW - WRITE ORDER WORD TO NPU. 
  
  
 SNRI     LINK               ENTRY
          LDC    /NORDER/NRI*400B LOAD DRIVER NOT READY FOR INPUT CODE
          STD    OW          STORE NPU ORDER WORD VALUE 
          RJM    WOW         EXIT TO WRITE ORDER WORD TO NPU
          UJK    FENIX       RETURN 
 ROAS     SPACE  2,18 
**               SUBROUTINE ROAS.  (ENTRY POINT IS LOGICAL I/O FEOA.) 
* 
*                SUBROUTINE ROAS RETURNS AN INDICATION OF THE 
*                ABILITY OF THE NPU TO RECEIVE OUTPUT DATA. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (NSW) = LAST NPU STATUS WORD VALUE.
* 
*                  EXIT - 
* 
*                    (A) = NON-ZERO IF NPU CAN ACCEPT OUTPUT. 
  
  
 ROAS     LINK               ENTRY
          LDM    NSW,FEI     LOAD LAST NPU STATUS WORD VALUE
          LMN    /NSTATUS/NRO LESS VALUE FOR NOT READY FOR OUTPUT 
          UJK    FEOAX       RETURN 
  
 CNRL     SPACE  2,16 
**               SUBROUTINE CNRL.  (ENTRY POINT IS LOGICAL I/O FERG.) 
* 
*                SUBROUTINE CNRL CHANGES THE NPU REGULATION LEVEL.
* 
*                  ENTRY -
* 
*                    (OW) = NEW NPU REGULATION LEVEL. 
* 
*                  CALLS -
* 
**                   WOW - WRITE ORDER WORD TO NPU. 
  
  
 CNRL     LINK               ENTRY
          LDC    /NORDER/RGC*400B CODE TO CHANGE NPU REGULATION LEVEL 
          RAD    OW          ADD TO NEW NPU REGULATION LEVEL
          RJM    WOW         EXIT TO WRITE ORDER WORD TO NPU
          UJK    FERGX       RETURN 
HNPU      SPACE  2,28 
**               SUBROUTINE HNPU.  (ENTRY POINT IS LOGICAL I/O FEHL.) 
* 
*                SUBROUTINE HNPU HALTS THE NPU AND ISSUES A WORKLIST
*                WITH DAYFILE TEXT TO INDICATE THAT THE DRIVER HALTED 
*                THE NPU. 
* 
*                  ENTRY -
* 
*                            BUFFER SPACE AVAILABLE FOR WORKLIST, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (HND) = HOST NODE ID OF NPU. 
* 
*                  CALLS -
* 
*                    FNC - FUNCTION NPU COUPLER,
*                    IWL - INITIALIZE INBOUND WORKLIST, 
*                    TWL - TRANSFER INBOUND WORKLIST. 
* 
*                  USES - 
* 
*                    T1 = SOURCE DAYFILE TEXT ADDRESS,
**                   T2 = DESTINATION DAYFILE TEXT ADDRESS. 
  
  
 HNPU     LINK               ENTRY
          LDC    /FUNCTION/CLN LOAD FUNCTION TO CLEAR NPU 
          RJM    FNC         EXIT TO FUNCTION TO CLEAR NPU
          LDM    HND,FEI     LOAD HOST NODE NUMBER
          SHN    -6          EXTRACT HIGH-ORDER DIGIT 
          ADC    2R 0        PLUS DISPLAY CODE ZERO 
          STM    NPHT+8      STORE INTO HALTED NPU DAYFILE TEXT 
          LDM    HND,FEI     LOAD HOST NODE NUMBER
          LPN    77B         EXTRACT MIDDLE AND LOW ORDER DIGITS
          STD    T1          STORE MIDDLE AND LOW ORDER DIGITS
          SHN    3           POSITION MIDDLE-ORDER DIGIT OF NODE NUMBER 
          LMD    T1          PLUS LOW-ORDER DIGIT OF HOST NODE NUMBER 
          LPC    707B        EXTRACT HOST NODE NUMBER DIGITS
          ADC    2R00        PLUS DISPLAY CODED ZEROES
          STM    NPHT+9      STORE INTO HALTED NPU DAYFILE TEXT 
          LDC    NPHT        LOAD ADDRESS OF HALTED NPU DAYFILE TEXT
          STD    T1          INITIALIZE SOURCE ADDRESS
          LDC    DRBUF       LOAD ADDRESS FOR DAYFILE TEXT
          STD    T2          INITIALIZE DESTINATION ADDRESS 
  
 HNPU.1   LDI    T1          LOAD NEXT SOURCE BYTE
          STI    T2          STORE INTO NEXT DESTINATION ADDRESS
          ZJN    HNPU.2      EXIT IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE ADDRESS 
          AOD    T2          INCREMENT DESTINATION ADDRESS
          UJK    HNPU.1      EXIT TO MOVE NEXT SOURCE BYTE
  
 HNPU.2   LDN    /NAM/DFTX*10000B&/NAM/DFWL REASON AND REQUEST CODES
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDN    /NAM/L.BH+/NAM/L.NH+L.NPHT LENGTH OF HALTED WORKLIST 
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST WORD LENGTH
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          UJK    FEHLX
 ASED     SPACE  2,36 
**               SUBROUTINE ASED.    (ENTRY POINT IS LOGICAL I/O FEIP.) 
* 
*                SUBROUTINE ASED INPUTS DATA FROM THE NPU AND 
*                STORES THE INPUT DATA IN PACKED FORMAT INTO THE
*                SPECIFIED BUFFER AREA.  THE SUBROUTINE ITERATES ON 
*                THREE INPUT DATA CHARACTERS. 
* 
*                  ENTRY -
* 
*                      (A) = ENDING DATA BUFFER ADDRESS,
*                     (T1) = STARTING DATA BUFFER ADDRESS,
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                      (A) = NON-ZERO IF END OF TRANSFER, 
*                     (T3) = UPDATED TO CURRENT CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ILLEGAL INPUT BUFFER SIZE.
* 
*                  CALLS -
* 
*                    FEIC - INPUT NEXT DATA CHARACTER.
* 
*                  USES - 
* 
**                   T2 = ENDING DATA BUFFER ADDRESS. 
  
  
 ASED     LINK               ENTRY
          STD    T2          STORE ENDING DATA BUFFER ADDRESS 
          SBD    T1          LESS STARTING DATA BUFFER ADDRESS
          LPN    1           EXTRACT ODD LENGTH BIT 
          NJN    ASED.1      EXIT IF NOT ODD BUFFER LENGTH
          LJM    ASED.5      EXIT TO PROCESS ODD BUFFER LENGTH
  
 ASED.1   LDN    0           CONSTANT OF ZERO 
          STD    T3          INITIALIZE DATA CHARACTER COUNT
  
 ASED.2   RJM    FEIC        INPUT NEXT DATA CHARACTER
          SHN    4           POSITION NEXT INPUT DATA CHARACTER 
          STI    T1          STORE NEXT INPUT DATA CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          RJM    FEIC        INPUT NEXT DATA CHARACTER
          SHN    -4          POSITION HIGH-ORDER OF DATA CHARACTER
          RAI    T1          ADD TO PREVIOUS INPUT DATA CHARACTER 
          AOD    T1          INCREMENT CURRENT DATA BUFFER ADDRESS
          LDD    T0          LOAD NEXT INPUT DATA CHARACTER 
          SHN    8           POSITION LOW-ORDER OF DATA CHARACTE9 
          STI    T1          STORE LOW-ORDER OF DATA CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          RJM    FEIC        INPUT NEXT DATA CHARACTER
          RAI    T1          ADD TO PREVIOUS INPUT CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          LDD    T1          LOAD CURRENT DATA BUFFER ADDRESS 
          LMD    T2          LESS ENDING DATA BUFFER ADDRESS
          NJN    ASED.4      EXIT IF DATA BUFFER NOT EXHAUSTED
  
 ASED.3   UJK    FEIPX       RETURN 
  
 ASED.4   AOD    T1          INCREMENT CURRENT BUFFER ADDRESS 
          UJK    ASED.2      EXIT TO INPUT NEXT DATA CHARACTER
  
 ASED.5   EREXIT ISE         EXIT TO ERROR - ILLEGAL BLOCK SIZE 
  
 TEBF     SPACE  2,30 
**               SUBROUTINE TEBF.    (ENTRY POINT IS LOGICAL I/O FEOP.) 
* 
*                SUBROUTINE TEBF TRANSFERS EIGHT BIT FORMATTED DATA 
*                TO THE FRONT END.  THE SUBROUTINE ITERATES ON THREE
*                SOURCE DATA CHARACTERS.
* 
*                  ENTRY -
* 
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT.
* 
*                  CALLS -
* 
*                    FEOC - OUTPUT NEXT DATA CHARACTER, 
*                    FEEC - OUTPUT ENDING DATA CHARACTER. 
* 
*                  USES - 
* 
**                   T3 = OUTPUT DATA CHARACTER.
  
  
 TEBF     LINK               ENTRY
  
 TEBF.1   LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          SHN    -4          POSITION NEXT OUTPUT DATA CHARACTER
          STD    T3          STORE NEXT OUTPUT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          NJN    TEBF.3      EXIT IF NOT ENDING OUTPUT DATA CHARACTER 
  
 TEBF.2   RJM    FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    FEOPX       RETURN 
  
 TEBF.3   RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION TO HIGH-ORDER 
          STD    T3          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAD    T3          ADD TO HIGH-ORDER OF NEXT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          ZJN    TEBF.2      EXIT IF ENDING OUTPUT DATA CHARACTER 
          RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          LPC    0#FF        EXTRACT NEXT OUTPUT DATA CHARACTER 
          STD    T3          STORE NEXT OUTPUT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          ZJN    TEBF.2      EXIT IF ENDING OUTPUT DATA CHARACTER 
          RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          UJK    TEBF.1      EXIT TO PROCESS NEXT OUTPUT DATA BYTE
  
 DAYFILE  SPACE  2,6
*                DAYFILE MESSAGE TEXT.
  
  
 NPHT     BSS    0           HALTED NPU DAYFILE TEXT
  
          LOC    0
  
          DATA   L$PIP - HALTED NPU XXX.$ 
          DATA   0
  
 .1       SET    *+4
 .1       SET    .1/5 
 L.NPHT   EQU    .1          DEFINE CENTRAL LENGTH OF DAYFILE TEXT
  
          LOC    *O 
 BRIA     TITLE BLOCK HANDLER STATE RESPONSE ACTION PROCESSORS (FOR NPU)
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*BLOCK*  DEFINE ACTION TYPE 
 BRIA     SPACE  2,12 
**               BLOCK HANDLER STATE RESPONSE ACTION BRIA. (FOR NPU)
* 
*                BLOCK HANDLER STATE RESPONSE ACTION BRIA 
*                SENDS INITIALIZATION REQUEST ACKNOWLEDGEMENT 
*                PP ORDER WORD AS THE RESPONSE TO INITIALIZATION
**               REQUEST STATUS FROM NPU. 
  
 BRIA     ACTION             SEND INITIALIZATION REQUEST ACKNOWLEDGEMENT
          LDC    /NORDER/INA*400B INITIALIZATION ACKNOWLEDGEMENT VALUE
          STD    OW          STORE NPU ORDER WORD VALUE 
          RJM    /NPU/WOW    EXIT TO WRITE ORDER WORD TO NPU
          EXIT   EBRAX       RETURN VIA BLOCK STATE ACTION RETURN 
  
          QUAL
 .STOA    SPACE  2,6
*                TRANSIENT OVERLAY DEFINITIONS. 
  
  
 .STOA    MAX    .STOA,*     START OF TRANSIENT OVERLAY AREA
 L.NPHT   SET    /NPU/L.NPHT LENGTH OF NPU HALTED DAYFILE TEXT
 CIT      SPACE  2,6
*                TERMINATE NPU CHANNEL INSTRUCTION TABLE. 
  
  
 CIT      RMT 
  
          QUAL
          CON    0           TERMINATE NPU CHANNEL INSTRUCTION TABLE
  
 CIT      RMT 
  
 ."O.N"   EQU    *
  
          OVERLAY F=FLOV,T1=(MDI I/O SUPPORT),T2=(MDI INPUT/OUTPUT INTER
,FACE DIRECTORY)
 IOID     SPACE  2,18 
**               LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY.
+ 
*                THE FOLLOWING LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY 
*                CONTAINS AN ENTRY THAT IDENTIFIES THE EQUIPMENT TYPE 
*                OF THE FRONT END BEING PROCESSED AND AN ENTRY FOR EACH 
*                FUNCTIONAL INTERFACE POINT FOR THE DEVICE INPUT/OUTPUT 
*                SUPPORT OVERLAY.  THE CONTENTS OF A FUNCTIONAL 
*                INTERFACE POINT ENTRY CONSISTS OF TWO TWO-WORD 
*                INSTRUCTIONS: SUBROUTINE ENTRY/EXIT AND A LONG JUMP. 
*                THE CALL TO A LISTED DEVICE FUNCTION WILL START WITH A 
*                RETURN-JUMP TO THE FE-- NAME, THEN A LONG JUMP TO THE
*                PROCESSOR SPECIFIED IN THE ENTRY IS EXECUTED, AND
*                THE EXIT FROM THE PROCESSOR IS THROUGH FE--X IN THE
*                DIRECTORY TABLE ENTRY. 
* 
*                SO, THE LISTED DEVICE FUNCTION MUST BE CALLED ONLY 
*                BY THE GIVEN FE-- NAME, EXCEPT THE LAST NAME FEOC
*                THAT IS EQUATED TO THE ENTRY POINT /NPU/ OR /MDI/ ODC. 
*                SUBROUTINE ODC IMMEDIATELY FOLLOWS THE DIRECTORY AND 
*                IS A REAL SUBROUTINE. IT MAY BE CALLED AS FEOC,
**               /NPU/ODC, OR /MDI/ODC. 
  
  
 IOID     BSS    0           LOGICAL INPUT/OUTPUT INTERFACE DIRECTORY 
  
 FETP     CON    1           FRONT END TYPE (1 = MDI) 
  
          IODE   FEIA,/MDI/CKIA CHECK INPUT AVAILABLE FROM FRONT END
 FENI     SUBR                  SET NOT READY FOR INPUT - NO ACTION 
          LJM    FENIX
          IODE   FEOA,/MDI/ROAS RETURN OUTPUT ALLOWED STATUS OF F. END
          IODE   FERG,/MDI/CNRL CHANGE FRONT END REGULATION LEVEL 
          IODE   FEIH,/MDI/IBH  INPUT BLOCK PROTOCOL HEADER FROM F. END 
          IODE   FERO,/MDI/RCO  REQUEST OUTPUT TO FRONT END 
          IODE   FEOH,/MDI/TBH  OUTPUT BLOCK PROTOCOL HEADER TO F. END
 FEHL     SUBR                  HALT FRONT END - NO ACTION
          LJM    FEHLX
  
          IODE   FEIC,/MDI/IDC  INPUT NEXT DATA CHARACTER FROM FRONT END
          IODE   FEEC,/MDI/TEDC OUTPUT LAST DATA CHARACTER TO FRONT END 
          IODE   FEIP,/MDI/ASED INPUT PACKED DATA 
          IODE   FEOP,/MDI/TEBF OUTPUT PACKED DATA
 FEOC     EQU    *+1            OUTPUT NEXT DATA CHARACTER TO FRONT END 
          QUAL   MDI
 CIT      SPACE  2,6
*                INITIALIZE CHANNEL INSTRUCTION TABLE.
  
  
 CIT      RMT 
  
          QUAL   MDI
  
 MDICIT   BSS    0           MDI CHANNEL INSTRUCTION TABLE
  
 CIT      RMT 
 LINK     SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 ODC      SPACE  2,28 
**               SUBROUTINE ODC.  (EQUATED TO LOGICAL I/O FEOC.)
* 
*                SUBROUTINE ODC ACCEPTS THE NEXT OUTPUT CHARACTER FOR 
*                THE MDI.  THIS SUBROUTINE ITERATES ON THREE EIGHT BIT
*                OUTPUT CHARACTERS. 
* 
*                  ENTRY -
* 
*                     (T3) = NEXT OUTPUT DATA CHARACTER,
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT, 
*                     (CP) = CURRENT CHARACTER POSIITION, 
*                     (CB) = PARTIAL CHANNEL OUTPUT FRAME, IF ANY.
* 
*                  EXIT - 
* 
*                      (A) = OUTPUT DATA CHARACTER, 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                     (CP) = NEXT CHARACTER POSITION, 
*                     (CB) = PARTIAL CHANNEL OUTPUT FRAME, IF ANY.
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF CHANNEL WENT INACTIVE.
  
  
 ODC      SUBR               ENTRY/EXIT 
          AOD    NCC         INCREMENT MESSAGE CHARACTER COUNT
          LDM    CP          LOAD NEXT CHARACTER POSITION 
          SBN    1           LESS VALUE FOR MIDDLE EIGHT BITS 
          NJN    ODC.4       EXIT IF NOT MIDDLE EIGHT BITS
          LDD    T3          LOAD NEXT OUTPUT DATA CHARACTER
          SHN    -4          POSITION LOW-ORDER OF OUTPUT FRAME 
  
 ODC.1    LMM    CB          PLUS PREVIOUS OUTPUT CHARACTER 
          RJM    DCO         EXIT TO OUTPUT CHANNEL FRAME 
          LDD    T3          LOAD OUTPUT DATA CHARACTER 
          SHN    8           (EXTRACT LOWEST 4-BITS OF DATA.) 
                             POSITION HIGH-ORDER OF NEXT CHANNEL FRAME
  
 ODC.2    STM    CB          STORE HIGH-ORDER OF NEXT OUTPUT FRAME
          AOM    CP          INCREMENT CHARACTER POSITION 
          LMN    3           LESS ENDING VALUE
          NJN    ODC.3       EXIT IF NO CHARACTER POSITION OVERFLOW 
          STM    CP          RESET CHARACTER POSITION 
  
 ODC.3    LDD    T3          LOAD OUTPUT DATA CHARACTER 
          UJK    ODCX        RETURN 
  
 ODC.4    MJN    ODC.5       EXIT IF NOT LOWER EIGHT BITS 
          LDD    T3          LOAD NEXT OUTPUT CHARACTER 
          UJK    ODC.1       EXIT TO ADD LOW-ORDER OF PREVIOUS CHARACTER
  
 ODC.5    LDD    T3          LOAD NEXT OUTPUT DATA CHARACTER
          SHN    4           POSITION TO HIGH-ORDER 
          UJK    ODC.2       EXIT TO STORE HIGH-ORDER NEXT OUTPUT FRAME 
  
 ODC.6    EREXIT IDO         EXIT TO ERROR - WENT INACTIVE DURING OUTPUT
 IBH      TITLE  MDI INPUT/OUTPUT DATA MANAGEMENT SUBROUTINES.
 IBH      SPACE  2,44 
**               SUBROUTINE IBH.  (ENTRY POINT IS LOGICAL I/O FEIH.)
* 
*                SUBROUTINE IBH INPUTS AND VALIDATES THE BLOCK HEADER 
*                FROM THE MDI.  IF THE TRANSFER FROM THE MDI IS LONGER
*                THAN THE BLOCK HEADER, THE CHANNEL IS LEFT ACTIVE
*                AND READY TO CONTINUE THE TRANSFER FROM THE MDI. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (HND) = HOST NODE ID.
* 
*                  EXIT - 
* 
*                         (NCC) = CURRENT CHARACTER COUNT OF MESSAGE, 
*                          (MC) = TOTAL MESSAGE LENGTH IN CHARACTERS, 
*                    (BHB+L.BH) = BLOCK HEADER OF MESSAGE FROM MDI, 
*                         (EOT) = NON-ZERO IF END OF TRANSFER,
*                          (TN) = TERMINAL NODE OF MESSAGE, 
*                          (CN) = CONNECTION NUMBER OF MESSAGE, 
*                          (BT) = BLOCK TYPE OF MESSAGE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MDI HEADER FORMAT ERROR,
*                    EXIT TO *ERROR* UNASSIGNED CONNECTION ON PRU INPUT,
*                    EXIT TO *ERROR* IF BLOCK HEADER FORMAT ERROR.
* 
*                  CALLS -
* 
*                     FNC - FUNCTION MDI, 
*                     ACN - ACTIVATE MDI CHANNEL, 
*                    ASUD - ACCEPT AND STORE UNPACKED DATA FROM MDI,
*                     RCT - READ CONNECTION TABLE ENTRY.
* 
*                  USES - 
* 
**                   T1 = INPUT BUFFER ADDRESS. 
  
  
 IBH      LINK               ENTRY
          LDN    0           CONSTANT OF ZERO 
          STD    NCC         INITIALIZE MDI MESSAGE CHARACTER COUNT 
          STM    CP          INITIALIZE CHANNEL FRAME CHARACTER POSITION
          STM    IBH.01      SET VERSION ADJUSTMENT TO 0
          LDC    /FUNCTION/RDT LOAD FUNCTION TO INPUT DATA
          RJM    FNC         EXIT TO FUNCTION TO INPUT DATA 
          RJM    ACN         EXIT TO ACTIVE MDI CHANNEL 
          LDC    BHB         LOAD ADDRESS OF BUFFER FOR MDI HEADER
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    /BLOCK/L.MDIHDR-1 PLUS LENGTH OF MDI HEADER
          STD    T3          SAVE ENDING ADDRESS
          LDM    CHVER,FEI   LOAD CHANNEL PROTOCOL VERSION
          SBN    2           CHECK GREATER THAN OR EQUAL TO 2 
          PJN    IBH.0       EXIT GE 2 - USE 2 BYTE PAD IN HEADER 
          LCN    2           CONSTANT OF -2 
          RAD    T3          REDUCE ADDRESS TO EXCLUDE PAD
          LDN    2           CONSTANT OF 2
          STM    IBH.01      SET INTO LENGTH ADJUSTMENT INSTRN. 
 IBH.0    LDD    T3          LOAD ENDING ADDRESS
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          LDD    T3          LOAD INPUT CAHRACTER COUNT 
          ADC    0           ADJUST LENGTH BASED ON VERSION 
 IBH.01   EQU    *-1         INSTRUCTION MODIFIED DEPENDING ON HDDR LGTH
          LMN    /BLOCK/L.MDIHDR LESS EXPECTED INPUT LENGTH 
          ZJN    IBH.2       EXIT IF INPUT CORRECT LENGTH 
  
 IBH.1    EREXIT MHE         EXIT TO ERROR - MDI HEADER FORMAT ERROR
  
 IBH.2    LDD    EOT         LOAD END OF TRANSFER RECEIVED FLAG 
          NJN    IBH.1       EXIT IF END OF TRANSFER RECEIVED 
          LDM    BHB+/BLOCK/BLKLEN LOAD HIGH-ORDER OF BLOCK LENGTH
          SHN    8           POSITION TO HIGH-ORDER 
          ADM    BHB+/BLOCK/BLKLEN+1 PLUS LOW-ORDER OF BLOCK LENGTH 
          ADK    /BLOCK/BLKSTRT PLUS LENGTH NOT COUNTED 
          STM    MC          STORE MESSAGE CHARACTER COUNT
          ADC    -2048-/BLOCK/L.MDIHDR-1  LESS MAXIMUM SIZE ALLOWED +1
          PJN    IBH.1       EXIT IF BLOCK LENGTH EXCEEDS MAXIMUM 
          LDC    BHB         LOAD ADDRESS OF BLOCK HEADER BUFFER
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    /BLOCK/L.BH-1 PLUS LENGTH OF BLOCK HEADER
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /BLOCK/L.BH LESS LENGTH OF BLOCK HEADER
          NJN    IBH.4       EXIT IF BLOCK HEADER LENGTH ERROR
          LDM    BHB+/BLOCK/SN LOAD SOURCE NODE FROM MESSAGE
          STD    TN          STORE TERMINAL NODE
          LDM    BHB+/BLOCK/CN LOAD CONNECTION NUMBER FROM MESSAGE
          STD    CN          STORE CONNECTION NUMBER
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          PJN    IBH.3       EXIT IF CONNECTION NUMBER ASSIGNED 
          LDD    IOC         LOAD INPUT ORDER CODE ORDINAL
          SBN    /NSTATUS/IAP-/NSTATUS/IAS LESS VALUE FOR PRU INPUT 
          NJN    IBH.3       EXIT IF NOT PRU INPUT
          LDD    STS         LOAD STREAM STATE
          NJN    IBH.3       EXIT IF PRU STREAM 
          EREXIT IUC         EXIT TO ERROR - UNASSIGNED CONNECTION
  
 IBH.3    LDM    BHB+/BLOCK/BNBT LOAD BLOCK TYPE FROM MESSAGE 
          LPN    /BLOCK/L.BT EXTRACT BLOCK TYPE 
          STD    BT          STORE BLOCK TYPE 
          SBN    /BLOCK/MAXBT LESS MAXIMUM VALID BLOCK TYPE 
          MJN    IBH.5       EXIT IF VALID BLOCK TYPE 
  
 IBH.4    EREXIT BHE         EXIT TO ERROR - BLOCK HEADER FORMAT ERROR
  
 IBH.5    LDD    STS         LOAD PRU STREAM STATES 
          NJN    IBH.7       EXIT IF PRU STREAM 
  
 IBH.6    UJK    FEIHX       RETURN 
  
 IBH.7    LDM    BHB+/BLOCK/DN LOAD DESTINATION NODE FROM MESSAGE 
          LMM    HND,FEI     LESS HOST NODE FOR THIS MDI
  
          ZJN    IBH.6       EXIT IF CORRECT HOST NODE
          UJK    IBH.4       EXIT TO ERROR - BLOCK HEADER FORMAT ERROR
 TBH      SPACE  2,32 
**               SUBROUTINE TBH.  (ENTRY POINT IS LOGICAL I/O FEOH.)
* 
*                SUBROUTINE TBH TRANSFERS THE BLOCK PROTOCOL HEADER TO
*                THE MDI.  IF THE TRANSFER TO THE MDI IS LONGER THAN THE
*                BLOCK PROTOCOL HEADER THE MDI CHANNEL IS LEFT ACTIVE 
*                AND READY TO CONTINUE THE TRANSFER.
* 
*                  ENTRY -
* 
*                    (BHB-BHB+LBH) = BLOCK PROTOCOL HEADER, 
*                           (REOT) = END OF TRANSFER REQUEST FLAG.
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  CALLS -
* 
*                     FNC - FUNCTION MDI, 
*                     ACN - ACTIVATE MDI CHANNEL, 
*                    TTBF - TRANSFER TWELVE BIT FORMATTED DATA. 
* 
*                  USES - 
* 
**                   T10 = REQUEST END OF TRANSFER FLAG.
  
  
 TBH      LINK               ENTRY
          LDD    REOT        LOAD REQUEST END OF TRANSFER FLAG
          STD    T10         STORE REQUEST END OF TRANSFER FLAG 
          LDN    0           CONSTANT OF ZERO 
          STD    REOT        RESET REQUEST END OF TRANSFER FLAG 
          STD    NCC         INITIALIZE MDI MESSAGE CHARACTER COUNT 
          STM    CP          INITIALIZE MDI CHARACTER POSITION
          LDC    /FUNCTION/WDT LOAD FUNCTION TO OUTPUT DATA 
          RJM    FNC         EXIT TO FUNCTION TO OUTPUT DATA
          RJM    ACN         EXIT TO ACTIVATE MDI CHANNEL 
          LDC    MHB         LOAD ADDRESS OF MDI HEADER BUFFER
          STD    T1          STORE STARTING OUTPUT BUFFER ADDRESS 
          LDN    /BLOCK/L.MDIHDR LOAD LENGTH OF MDI HEADER
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          LDM    CHVER,FEI   LOAD CHANNEL PROTOCOL VERSION
          SBN    2           CHECK GREATER THAN OR EQUAL TO 2 
          PJN    TBH.1       EXIT GE 2 - USE 2 BYTE PAD IN HEADER 
          LCN    2           CONSTANT OF -2 
          RAD    T2          REDUCE LENGTH TO EXCLUDE PAD 
 TBH.1    BSS    0
          RJM    TTBF        EXIT TO TRANSFER TWELVE BIT FORMATTED DATA 
          LDD    T10         LOAD REQUEST END OF TRANSFER FLAG
          STD    REOT        RESTORE REQUEST END OF TRANSFER FLAG 
          LDC    BHB         LOAD ADDRESS OF BLOCK HEADER BUFFER
          STD    T1          STORE STARTING OUTPUT BUFFER ADDRESS 
          LDN    /BLOCK/L.BH LOAD LENGTH OF BLOCK HEADER
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRANSFER TWELVE BIT FORMATTED DATA 
          UJK    FEOHX       RETURN 
 FNC      TITLE  MDI INPUT/OUTPUT SUBROUTINES.
 FNC      SPACE  2,28 
**               SUBROUTINE FNC.
* 
*                SUBROUTINE FNC FUNCTIONS THE MDI.
* 
*                  ENTRY -
* 
*                      (A) = FUNCTION CODE, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CAD) = MDI EQUIPMENT NUMBER.
* 
*                  EXIT - 
* 
*                    (FC) = FUNCTION CODE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL ACTIVE BEFORE FUNCTION, 
**                   EXIT TO *ERROR* IF CHANNEL ACTIVE AFTER FUNCTION.
  
  
 FNC      SUBR               ENTRY/EXIT 
          STM    FC          STORE FUNCTION CODE
          AJM.   FNC.2       EXIT IF CHANNEL ACTIVE BEFORE FUNCTION 
          ADM    CAD,FEI     PLUS EQUIPMENT NUMBER
          FAN.               FUNCTION MDI 
          LDN    0           SET INITIAL TRY
          IJM.   FNCX        RETURN IF CHANNEL INACTIVE 
          RJM    DLY         EXIT TO DELAY AND RETRY
          EREXIT AAF         EXIT TO ERROR - ACTIVE AFTER FUNCTION
  
 FNC.2    EREXIT ABF         EXIT TO ERROR - ACTIVE BEFORE FUNCTION 
 ACN      SPACE  2,14 
**               SUBROUTINE ACN.
* 
*                SUBROUTINE ACN ACTIVATES THE MDI CHANNEL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL ACTIVE BEFORE ACTIVATE, 
**                   EXIT TO *ERROR* IF CHANNEL INACTIVE AFTER ACTIVATE.
  
  
 ACN      SUBR               ENTRY/EXIT 
          AJM.   ACN.1       EXIT IF CHANNEL ACTIVE 
          ACN.               ACTIVATE CHANNEL 
          AJM.   ACNX        RETURN IF CHANNEL ACTIVE 
          EREXIT IAA         EXIT TO ERROR - INACTIVE AFTER ACTIVATE
  
 ACN.1    EREXIT ABA         EXIT TO ERROR - ACTIVE BEFORE ACTIVATE 
 GMS      SPACE  2,42 
**               SUBROUTINE GMS.
* 
*                SUBROUTINE GMS OBTAINS THE GENERAL STATUS FROM THE MDI.
* 
*                CALL FNC TO EXECUTE GET GENERAL STATUS FUNCTION. 
*                ACTIVATE CHANNEL.
*                CALL FNC TO EXECUTE REQUEST GENERAL STATUS FUNCTION. 
*                CHECK FOR DATA ON CHANNEL. 
*                IF NO DATA AVAILABLE,
*                  CALL DLY TO DELAY.  DLY WILL JUMP BACK TO CHECK IF 
*                      DATA IS AVAILABLE. 
*                  IF ERROR EXIT IS TO BE TAKEN,
*                    JUMP TO ERROR EXIT TO PROCESS ERROR CONDITION. 
*                  RETURN TO CALLER WITH A-REG SET TO -1. 
*                INPUT GENERAL STATUS.
*                IF BUSY BIT SET IN GENERAL STATUS, 
*                  JUMP BACK TO CALL DLY AND THEN RETRY CHECK FOR 
*                      DATA AVAILABLE.
*                IF ERROR BIT SET IN GENERAL STATUS,
*                  IF ERROR EXIT IS TO BE TAKEN,
*                    IF MEMORY ERROR HAS OCCURRED,
*                      JUMP TO ERROR EXIT TO PROCESS MCI MEMORY ERROR.
*                    ELSE (SOME OTHER TYPE OF ERROR OCCURRED) 
*                      JUMP TO ERROR EXIT TO PROCESS ERROR BIT SET. 
*                  RETURN TO CALLER WITH A-REG SET TO 0.
*                IF OPERATIONAL STATE BIT IS SET IN GENERAL STATUS, 
*                  RETURN TO CALLER WITH A-REG SET TO 1.
*                IF MCI IN DIAGNOSTIC STATE,
*                  JUMP TO ERROR EXIT TO PROCESS DIAGNOSTICS STATE
*                      CONDITION. 
*                IF MCI IN STARTING STATE,
*                  IF NOT PREVIOUSLY IN STARTING STATE, 
*                    JUMP TO ERROR EXIT TO PROCESS MDI INOPERATIVE
*                        CONDITION. 
*                  RETURN TO CALLER WITH A-REG SET TO 2.
*                JUMP TO ERROR EXIT TO PROCESS MDI INOPERATIVE
*                    CONDITION. 
* 
*                  ENTRY -
* 
*                      (A) = ERROR CONDITIONS UNDER WHICH GMS EXITS TO
*                            ERROR PROCESSOR INSTEAD OF RETURNING TO
*                            CALLER.
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                      (A) = ZERO IF MDI ERROR REPORTED OR
*                            MINUS IF MDI STATUS NOT AVAILABLE, 
*                            1 IF MDI IN OPERATIONAL STATE. 
*                            2 IF MDI IN STARTING STATE.
*                    (MGS) = GENERAL STATUS FROM MDI. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MDI INOPERATIVE,
*                    EXIT TO *ERROR* IF UNABLE TO RESET INTERFACE,
*                    EXIT TO *ERROR* IF MDI REQUESTING DIAGNOSTICS. 
* 
*                  CALLS -
* 
*                    FNC - FUNCTION MDI.
* 
*                  USES - 
* 
*                     T4 = ERROR CONDITIONS FOR GMS TO DO ERROR EXIT
*                    T16 = RESET FUNCTION TRY COUNTER,
**                   T17 = STATUS WAIT DELAY COUNTER. 
  
  
 GMS      SUBR               ENTRY/EXIT 
          STD    T4          ERROR CONDITIONS FOR JUMPING TO ERROR EXIT 
  
 GMS.1    LDC    /FUNCTION/RGS LOAD FUNCTION TO REQUEST GENERAL STATUS
          RJM    FNC         EXIT TO FUNCTION TO REQUEST GENERAL STATUS 
          LDN    0           SET INITIAL TRY
          ACN.               ACTIVATE CHANNEL 
  
          FJM.   GMS.2B      EXIT IF DATA AVAILABLE 
  
 GMS.2    RJM    DLY         EXIT TO DELAY AND RETRY
          DCN.               DISCONNECT CHANNEL 
          LDD    T4          ERROR CONDITIONS FOR JUMPING TO ERROR EXIT 
          SHN    17-/MDI/S.ABTNMS  MOVE ERROR PROCESSING FLG TO SIGN POS
          PJN    GMS.2A      EXIT IF NOT JUMPING TO ERROR PROCESSOR 
          EREXIT NMS         EXIT TO ERROR - UNABLE TO READ GENERAL STAT
  
 GMS.2A   BSS    0
          LCN    1           SET A-REGISTER NEGATIVE
          UJK    GMSX        RETURN - UNABLE TO OBTAIN STATUS 
  
 GMS.2B   STD    T17         STORE INITIAL TRY FLAG SETTING 
          LDM    MGS,FEI     OLD MCI GENERAL STATUS REGISTER VALUE
          STM    OLDMGS      SAVE OLD MCI GENERAL STATUS REGISTER VALUE 
          IAN.               INPUT MDI GENERAL STATUS 
          STM    MGS,FEI     STORE MDI GENERAL STATUS 
          SHN    17-/MSTATUS/BSY POSITION BUSY STATUS TO SIGN 
          PJN    GMS.3       EXIT IF VALID MDI STATUS RECEIVED
          LDD    T17         LOAD INITIAL TRY FLAG
          UJK    GMS.2       EXIT TO RETRY
  
 GMS.3    DCN.               DISCONNECT CHANNEL 
          SHN    18-/MSTATUS/ERR+/MSTATUS/BSY ERROR STATUS TO SIGN
          PJN    GMS.4       EXIT IF NO ERROR BEING REPORTED
          LDD    T4          ERROR CONDITIONS FOR JUMPING TO ERROR EXIT 
          SHN    17-/MDI/S.ABTMIO MOVE I/O ERROR FLAG TO SIGN POSITION
          PJN    GMS.3A      EXIT IF NOT JUMPING TO ERROR PROCESSOR 
          EREXIT MIO         EXIT TO ERROR - ERROR BIT SET AFTER I/O
  
 GMS.3A   SHN    /MDI/S.ABTMIO-/MDI/S.ABTMES MOVE ERR FLG TO SIGN POS 
          PJN    GMS.3B      EXIT IF NOT JUMPING TO ERROR PROCESSOR 
          EREXIT MES         EXIT TO ERROR - ERROR BIT SET IN MDI GS
  
 GMS.3B   BSS    0
          LDN    0           CONSTANT OF ZERO 
          UJK    GMSX        RETURN 
  
 GMS.4    SHN    /MSTATUS/ERR-/MSTATUS/OPR OPERATIONAL STATUS TO SIGN 
          PJN    GMS.5       RETURN IF OPERATIONAL STATUS NOT REPORTED
          LDN    1           SET A-REGISTER POSITIVE NON-ZERO 
          UJK    GMSX        RETURN 
  
 GMS.5    SHN    /MSTATUS/OPR-/MSTATUS/MST-17 REPOSITION MDI STATE
          LMN    /MSTATUS/DGN  VALUE FOR DIAGNOSTIC STATES
          ZJN    GMS.8       EXIT IF MDI IN DIAGNOSTIC STATE
          LMN    /MSTATUS/DGN&/MSTATUS/STR CHK FOR STARTING STATE 
          NJN    GMS.5A      EXIT IF NOT IN STARTING STATE
          LDM    OLDMGS      OLD MCI GENERAL STATUS REGISTER VALUE
          LPN    /MSTATUS/M.MST EXTRACT STATE BITS
          SHN    -/MSTATUS/MST  RIGHT JUSTIFY STATE BITS
          LMN    /MSTATUS/STR CHK FOR STARTING STATE VALUE
          NJN    GMS.5A      EXIT IF NOT PREVIOUSLY IN STARTING STATE 
          LDN    2           A-REG VALUE IF IN STARTING STATE 
          UJK    GMSX        RETURN 
  
 GMS.5A   EREXIT MIN         EXIT TO ERROR - MDI INOPERATIVE
  
 GMS.8    EREXIT MRD         EXIT TO ERROR - MDI REQUESTS DIAGNOSTICS 
 IDC      SPACE  2,38 
**               SUBROUTINE IDC.  (ENTRY POINT IS LOGICAL I/O FEIC.)
* 
*                SUBROUTINE IDC RETURNS THE NEXT INPUT CHARACTER FROM 
*                THE MDI.  THIS SUBROUTINE ITERATES ON THREE EIGHT BIT
*                INPUT CHARACTERS.
* 
*                  ENTRY -
* 
*                     (CP) = CURRENT CHARACTER POSITION,
*                     (CB) = LAST TWELVE BIT INPUT BYTE,
*                     (T3) = CURRENT CHARACTER COUNT, 
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT, 
*                     (MC) = MESSAGE CHARACTER LENGTH.
* 
*                  EXIT - 
* 
*                      (A) = INPUT DATA CHARACTER,
*                     (T0) = INPUT DATA CHARACTER,
*                     (CP) = NEXT CHARACTER POSITION, 
*                     (CB) = LAST CHANNEL INPUT FRAME,
*                     (T3) = UPDATED TO CURRENT CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = SET TO INDICATE END OF TRANSFER STATUS.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL GOES INACTIVE,
*                    EXIT TO *ERROR* IF CHANNEL STAYS EMPTY.
* 
*                  CALLS -
* 
**                   WEI - WAIT FOR END OF INPUT OPERATION. 
  
  
 IDC      LINK               ENTRY
          LDM    CP          LOAD NEXT CHARACTER POSITION 
          LMN    2           LESS VALUE FOR LOW-ORDER EIGHT BITS
          NJN    IDC.4       EXIT IF NOT LOW-ORDER EIGHT BITS 
          LDM    CB          LOAD LAST CHANNEL INPUT FRAME
          LPC    0#FF        EXTRACT NEXT INPUT CHARACTER 
  
 IDC.1    STD    T0          STORE NEXT INPUT DATA CHARACTER
          LDN    0           CONSTANT OF ZERO 
          STD    EOT         SET END OF TRANSFER STAUS OFF
          AOD    T3          INCREMENT CHARACTER COUNTER
          AOD    NCC         INCREMENT MESSAGE CHARACTER COUNTER
          LMM    MC          LESS MESSAGE CHARACTER COUNT 
          NJN    IDC.2       EXIT IF NOT END OF MESSAGE 
          LDN    1           CONSTANT OF ONE
          STD    EOT         SET END OF TRANSFER STATUS ON
          RJM    WEI         EXIT TO WAIT FOR END OF INPUT OPERATION
  
 IDC.2    AOM    CP          INCREMENT CHARACTER POSITION 
          LMN    3           LESS ENDING VALUE
          NJN    IDC.3       EXIT IF NO CHARACTER POSITION OVERFLOW 
          STM    CP          RESET CHARACTER POSITION 
  
 IDC.3    LDD    T0          LOAD INPUT DATA CHARACTER
          UJK    FEICX       RETURN 
  
 IDC.4    RJM    DCI         EXIT TO INPUT NEXT FRAME 
          STD    T0          STORE INPUT DATA BYTE
          LDM    CP          LOAD NEXT CHARACTER POSITION 
          NJN    IDC.10      EXIT IF NOT HIGH-ORDER EIGHT BITS
          LDD    T0          LOAD INPUT DATA BYTE 
          STM    CB          STORE LAST CHANNEL INPUT FRAME 
          SHN    -4          POSITION NEXT INPUT CHARACTER
  
 IDC.9    UJK    IDC.1       EXIT TO STORE NEXT INPUT CHARACTER 
  
 IDC.10   LDM    CB          LOAD LAST CHANNEL INPUT FRAME
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT CHARACTER 
          SHN    12          POSITION TO HIGH-ORDER 
          LMD    T0          PLUS INPUT DATA BYTE 
          STM    CB          STORE LAST CHANNEL INPUT FRAME 
          SHN    -8          POSITION NEXT INPUT CHARACTER
          UJK    IDC.9       EXIT TO STORE NEXT INPUT CHARACTER 
 TEDC     SPACE  2,42 
**               SUBROUTINE TEDC.  (ENTRY POINT IS LOGICAL I/O FEEC.) 
* 
*                SUBROUTINE TEDC PROCESSES THE TRANSFER OF THE ENDING 
*                DATA CHARACTER OF AN OUTPUT SEQUENCE TO THE MFI.  IF 
*                END OF TRANSFER IS REQUESTED THE TRAILER SEQUENCE IS 
*                SENT TO THE MFI AND THE MFI GENERAL STATUS IS OBTAINED.
*                IF NO ERROR IS REPORTED BY THE MFI THE CONSECUTIVE 
*                ERROR COUNT IS RESET AND THE OUTPUT SEQUENCE IS
*                COMPLETE.
* 
*                  ENTRY -
* 
*                      (T3) = LAST OUTPUT DATA CHARACTER, 
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT), 
*                      (CP) = CURRENT CHARACTER POSITION, 
*                      (CB) = PARTIAL CHANNEL OUTPUT FRAME, IF ANY. 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (ECT) = RESET IF END OF TRANSFER REQUESTED,
*                    (EOT) = SET IF END OF TRANSFER REQUESTED.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL HUNG FULL ON OUTPUT,
*                    EXIT TO *ERROR* IF MFI REPORTS ERROR ON OUTPUT.
* 
*                  CALLS -
* 
*                    ODC - OUTPUT DATA CHARACTER TO MFI,
*                    GMS - OBTAIN MFI GENERAL STATUS. 
*                    WEO - WAIT FOR END OF OUTPUT 
* 
*                  USES - 
* 
**                   T1 = MESSAGE CHARACTER COUNT.
  
  
 TEDC     LINK               ENTRY
          RJM    ODC         EXIT TO OUTPUT LAST DATA CHARACTER 
          LDD    REOT        LOAD REQUEST END OF TRANSFER 
          NJN    TEDC.0      EXIT IF END OF TRANSFER REQUESTED
          UJK    FEECX       RETURN IF END OF TRANSFER NOT REQUESTED
  
 TEDC.0   LDN    0           CONSTANT OF ZERO 
          STD    T3          STORE PAD CHARACTER
          LDD    NCC         LOAD MESSAGE CHARACTER COUNT 
          STD    T1          STORE MESSAGE CHARACTER COUNT
  
 TEDC.1   LDD    NCC         LOAD MESSAGE CHARACTER COUNT 
          LPN    1           EXTRACT EVEN CHARATER FLAG 
          NJN    TEDC.2      EXIT IF NOT EVEN CHARACTER 
          LDM    CP          LOAD CHARACTER POSITION
          LMN    1           LESS VALUE FOR TWO BYTES LEFT
          ZJN    TEDC.3      EXIT IF TWO BYTES LEFT 
  
 TEDC.2   RJM    ODC         EXIT TO OUTPUT PAD CHARACTER 
          UJK    TEDC.1      EXIT TO CHECK FOR TWO BYTES LEFT 
  
 TEDC.3   LDD    T1          LOAD MESSAGE CHARACTER COUNT 
          SHN    -8          POSITION HIGH-ORDER OF MESSAGE COUNT 
          STD    T3          STORE HIGH-ORDER OF MESSAGE COUNT
          RJM    ODC         EXIT TO OUTPUT HIGH-ORDER OF COUNT 
          LDD    T1          LOAD MESSAGE CHARACTER COUNT 
          LPC    0#FF        EXTRACT LOW-ORDER OF MESSAGE COUNT 
          STD    T3          STORE LOW-ORDER OF MESSAGE COUNT 
          RJM    ODC         EXIT TO OUTPUT LOW-ORDER OF MESSAGE COUNT
          RJM    WEO         EXIT TO WAIT FOR END OF OUTPUT 
          UJK    FEECX       RETURN 
 WEI      SPACE  2,26 
**               SUBROUTINE WEI.
* 
*                SUBROUTINE WEI WAITS FOR THE END OF INPUT OPERATION
*                FROM THE MDI.  IF THERE IS A RESIDUAL INPUT CHANNEL
*                FRAME IT IS ACCEPTED AND DISCARDED.  THE CONSECUTIVE 
*                MDI ERROR CONT IS RESET AT THE COMPLETION OF THE INPUT.
* 
*                  EXIT - 
* 
*                    (ECT) = RESET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL STAYS EMPTY,
*                    EXIT TO *ERROR* IF MDI REPORTS ERROR ON INPUT, 
*                    EXIT TO *ERROR* IF UNABLE TO OBTAIN MDI STATUS.
* 
*                  CALLS -
* 
**                   GMS - OBTAIN MDI GENERAL STATUS. 
  
  
 WEI      SUBR               ENTRY/EXIT 
          LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 WEI.1    FJM.   WEI.3       EXIT IF DATA ON CHANNEL
          IJM.   WEI.5       EXIT IF CHANNEL WENT INACTIVE
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    WEI.1       EXIT IF CHANNEL DELAY NOT EXPIRED
  
 WEI.2    EXIT   DCI.3       EXIT TO ERROR - HUNG EMPTY DURING INPUT
  
 WEI.3    IAN.               INPUT RESIDUAL CHANNEL FRAME 
          LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 WEI.4    IJM.   WEI.5       EXIT IF CHANNEL WENT INACTIVE
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    WEI.4       EXIT IF CHANNEL DELAY NOT EXPIRED
          UJK    WEI.2       EXIT TO ERROR - HUNG EMPTY DURING INPUT
  
 WEI.5    LDN    B.ABTNMS+B.ABTMIO  SET ERROR EXIT CONDITIONS FOR GMS 
          RJM    GMS         EXIT TO OBTAIN MDI GENERAL STATUS
          LDN    0           CONSTANT OF ZERO 
          STM    ECT,FEI     RESET CONSECUTIVE ERROR COUNT
          UJK    WEIX        RETURN 
 CKIA     TITLE  MDI INPUT/OUPUT CONTROL SUBROUTINES. 
 CKIA     SPACE  2,24 
**               SUBROUTINE CKIA.  (ENTRY POINT IS LOGICAL I/O FEIA.) 
* 
*                SUBROUTINE CKIA CHECKS FOR INPUT AVAILABLE FROM MDI. 
*                IT ALSO CHECKS IF THE NORMAL OPERATION TRANSPARENT 
*                FUNCTION NEEDS TO BE SENT TO THE MDI.  IF SO, IT SENDS 
*                IT.
* 
*                  EXIT - 
* 
*                      (A) = POSITIVE IF INPUT AVAILABLE, 
*                    (IOC) = INPUT ORDER CODE IF INPUT AVAILABLE, 
*                    (PRU) = PRU BUFFER SIZE ORDINAL IF PRU INPUT.
* 
*                  CALLS -
* 
*                    GMS - OBTAIN MDI GENERAL STATUS. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF UNABLE TO OBTAIN MDI STATUS,
*                    EXIT TO *ERROR* IF MDI REPORTING ERROR,
**                   EXIT TO *ERROR* IF ILLEGAL PRU BUFFER SIZE.
  
  
 CKIA     LINK               ENTRY
          LDM    CHVER,FEI   MCI CHANNEL PROTOCOL VERSION NUMBER
          SBN    /MSTATUS/VERSION4  LOWEST VERSION NUMBER THAT SUPPORTS 
                             NORMAL OPERATION TRANSPARENT FUNCTION
          MJN    CKIA.1      IF NORMAL OPERATION FUNCTION NOT SUPPORTED 
          LDK    RTCL        ADDRESS OF SYSTEM REAL-TIME CLOCK
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        SYSTEM SECOND TIME 
          SBM    DTM,FEI     FRONT END KEEP ALIVE TIMER VALUE 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    CKIA.1      EXIT IF TIMEOUT HAS NOT OCCURRED 
          LDD    T1+1        SYSTEM SECOND TIME 
          ADK    Q.MALIVE    KEEP ALIVE TIMEOUT VALUE 
          STM    DTM,FEI     RESET KEEP ALIVE TIMER 
          LDN    /FUNCTION/NOR  NORMAL OPERATION TRANSPARENT FUNCTION 
          RJM    FNC         EXIT TO ISSUE NORMAL OP TRANSPARENT FUNC 
 CKIA.1   LDN    B.ABTNMS+B.ABTMES  ERROR EXIT CONDITIONS FOR PROC GMS
          RJM    GMS         EXIT TO OBTAIN MDI GENERAL STATUS
          LDM    MGS,FEI     MDI GENERAL STATUS 
          SHN    17-/MSTATUS/DAV DATA AVAILABLE STATUS TO SIGN
          MJN    CKIA.2      EXIT IF INPUT DATA AVAILABLE 
          LCN    1           SET A-REGISTER NEGATIVE
  
 CKIA.X   UJK    FEIAX       RETURN 
  
 CKIA.2   SHN    18-17+/MSTATUS/DAV-/MSTATUS/MIA INPUT CODE TO LOW-ORDER
          LPN    /MSTATUS/M.MIA/10B EXTRACT INPUT ORDER CODE
          STD    IOC         STORE INPUT ORDER CODE 
          SCN    1           CLEAR IVT INPUT AVAILABLE CODES
          ZJN    CKIA.X      RETURN IF IVT INPUT AVAILABLE
          LDD    IOC         LOAD INPUT ORDER CODE
          SBN    /MSTATUS/PI1 LESS VALUE FOR FIRST PRU BUFFER SIZE
          STD    PRU         STORE PRU BUFFER SIZE ORDINAL
          SBN    MAXPRU      LESS MAXIMIUM PRU BUFFER SIZE ORDINAL
          ZJN    CKIA.4      EXIT IF INLINE DIAGNOSTICS DATA AVAILABLE
          MJN    CKIA.3      EXIT IF PRU DATA AVAILABLE 
          EREXIT IBS         ILLEGAL PRU BUFFER SIZE SPECIFIED
  
 CKIA.3   BSS    0           PRU DATA AVAILABLE 
          LDN    /NSTATUS/IAP-/NSTATUS/IAS LOAD ORDER CODE FOR PRU AVAIL
          STD    IOC         STORE INPUT ORDER CODE 
          UJK    CKIA.X      RETURN - PRU INPUT AVAILABLE 
  
 CKIA.4   LOPA   4IE,ILDI    ENTRY POINT FOR INLINE DIAG DATA PROCESSOR 
          EXIT   DCR.3       EXIT TO PROCESS THE ERROR
 ROAS     SPACE  2,16 
**               SUBROUTINE ROAS RETURNS AN INDICATION OF THE 
*                ABILITY OF THE MDI TO RECEIVE OUTPUT DATA. 
*                                  (ENTRY POINT IS LOGICAL I/O FEOA.) 
* 
*                  ENTRY
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (MGS) = MDI GENERAL STATUS.
* 
*                  EXIT - 
* 
*                    (A) = NON-ZERO IF MDI CAN ACCEPT OUTPUT. 
  
  
 ROAS     LINK               ENTRY
          LDM    MGS,FEI     LOAD MDI GENERAL STATUS
          LPC    /MSTATUS/SDTM ISOLATE PERMISSION FOR SEND DATA 
  
 ROAS.1   UJK    FEOAX       RETURN 
 RCO      SPACE  2,10 
**               SUBROUTINE RCO.  (ENTRY POINT IS LOGICAL I/O FERO.)
* 
*                SUBROUTINE RCO CALLS FEOA TO DO THE FUNCTION 
**               ROAS DOES. 
  
 RCO      LINK               ENTRY
          RJM    FEOA        EXIT TO DO WHAT ROAS DOES
          UJK    FEROX       RETURN 
 CNRL     SPACE  2,20 
**               SUBROUTINE CNRL.  (ENTRY POINT IS LOGICAL I/O FERG.) 
* 
*                SUBROUTINE CNRL CHANGES THE MDI REGULATION LEVEL.
*                EITHER A START REGULATION, STOP REGULATION, NORMAL 
*                FLOW CONTROL ON, OR NORMAL FLOW CONTROL OFF TRANSPARENT
*                FUNCTION WILL BE ISSUED. 
* 
*                  ENTRY -
* 
*                    (A) = MCI TRANSPARENT FUNCTION TO ISSUE
* 
*                  CALLS -
* 
**                   FNC - FUNCTION MDI.
  
  
 CNRL     LINK               ENTRY
          STM    CNRL.1      CHANGE INSTRUCTION FOR FUNCTION TO ISSUE 
          LDC    0           MCI TRANSPARENT FUNCTION TO ISSUE
 CNRL.1   EQU    *-1         BYTE TO CONTAIN MCI TRANSPARENT FUNCTION 
          RJM    FNC         EXIT TO FUNCTION TO CHANGE REGULATION LEVEL
          UJK    FERGX       RETURN 
 ASED     SPACE  2,36 
**               SUBROUTINE ASED.    (ENTRY POINT IS LOGICAL I/O FEIP.) 
* 
*                SUBROUTINE ASED INPUTS DATA FROM THE MDI AND 
*                STORES THE INPUT DATA IN PACKED FORMAT INTO THE
*                SPECIFIED BUFFER AREA.  THE SUBROUTINE MAKES USE 
*                OF THE FACT THAT DATA FROM THE MDI IS ALREADY PACKED,
*                IF THE INCOMING DATA IS FRAME-ALIGNED (CP=0).
*                OTHERWISE THE SUBROUTINE ITERATES ON THREE INPUT DATA
*                CHARACTERS (CP>0). 
* 
*                  ENTRY -
* 
*                      (A) = ENDING DATA BUFFER ADDRESS,
*                     (T1) = STARTING DATA BUFFER ADDRESS,
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
*                     (CP) = CURRENT CHARACTER POSITION IN FRAME-PAIR 
* 
*                  EXIT - 
* 
*                      (A) = NON-ZERO IF END OF TRANSFER, 
*                     (T3) = UPDATED TO CURRENT CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER, 
*                     (CB) = CURRENT FRAME, 
*                     (CP) = CURRENT CHARACTER POSITION (UNALTERED).
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ILLEGAL INPUT BUFFER SIZE.
* 
*                  CALLS -
* 
*                    FEIC - INPUT NEXT DATA CHARACTER.
* 
*                  USES - 
* 
*                    T2 = ENDING DATA BUFFER ADDRESS. 
**                   T4 = OCTETS REMAINING IN MESSAGE 
  
  
 ASED     LINK               ENTRY
          STD    T2          STORE ENDING DATA BUFFER ADDRESS 
          SBD    T1          LESS STARTING DATA BUFFER ADDRESS
          LPN    1           EXTRACT ODD LENGTH BIT 
          NJN    ASED.1      EXIT IF NOT ODD BUFFER LENGTH
  
          EREXIT ISE         EXIT TO ERROR - ILLEGAL BLOCK SIZE 
  
 ASED.1   LDN    0           CONSTANT OF ZERO 
          STD    T3          INITIALIZE DATA CHARACTER COUNT
          LDM    CP          LOAD CURRENT CHARACTER POSITION
          ZJN    ASED.5      EXIT IF FRAME-ALIGNED
  
*                PROCESS NON-ALIGNED INPUT
  
 ASED.2   RJM    FEIC        INPUT NEXT DATA CHARACTER
          SHN    4           POSITION NEXT INPUT DATA CHARACTER 
          STI    T1          STORE NEXT INPUT DATA CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          RJM    FEIC        INPUT NEXT DATA CHARACTER
          SHN    -4          POSITION HIGH-ORDER OF DATA CHARACTER
          RAI    T1          ADD TO PREVIOUS INPUT DATA CHARACTER 
          AOD    T1          INCREMENT CURRENT DATA BUFFER ADDRESS
          LDD    T0          LOAD NEXT INPUT DATA CHARACTER 
          SHN    8           POSITION LOW-ORDER OF DATA CHARACTE9 
          STI    T1          STORE LOW-ORDER OF DATA CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          RJM    FEIC        INPUT NEXT DATA CHARACTER
          RAI    T1          ADD TO PREVIOUS INPUT CHARACTER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    ASED.3      RETURN IF END OF TRANSFER
          LDD    T1          LOAD CURRENT DATA BUFFER ADDRESS 
          LMD    T2          LESS ENDING DATA BUFFER ADDRESS
          ZJN    ASED.3      EXIT IF DATA BUFFER EXHAUSTED
          AOD    T1          INCREMENT CURRENT BUFFER ADDRESS 
          UJN    ASED.2      EXIT TO INPUT NEXT DATA CHARACTER
  
 ASED.3   UJK    FEIPX       RETURN 
  
*                FRAME-ALIGNED INPUT
  
 ASED.5   LDM    MC          LOAD MESSAGE CHARACTER COUNT 
          SBD    NCC         LESS CHARACTER COUNT SO FAR
          SHN    1           *2 TO GET OCTETS 
          STD    T4          SAVE OCTETS REMAINING
  
 ASED.6   AJM.   ASED.61     EXIT IF CHANNEL ACTIVE 
  
          UJK    DCI.0       EXIT TO ERROR - INACTIVE DURING INPUT
  
 ASED.61  LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 ASED.62  FJM.   ASED.64     EXIT IF DATA ON CHANNEL
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    ASED.62     EXIT IF CHANNEL DELAY NOT EXPIRED
  
 ASED.63  LINK               ENTRY
          UJK    DCI.3       EXIT TO ERROR - HUNG EMPTY DURING INPUT
  
 ASED.64  IAN.               INPUT DATA FRAME 
          STI    T1          STORE INPUT DATA BYTE
          LDN    3           CONSTANT OF 3 (OCTETS PER FRAME) 
          RAD    T3          BUMP OCTETS COUNT
          SBD    T4          LESS OCTETS REMAINING
          PJN    ASED.7      EXIT IF END OF MESSAGE 
          LDD    T1          LOAD CURRENT BUFFER ADDRESS
          LMD    T2          LESS ENDING BUFFER ADDRESS 
          ZJN    ASED.8      EXIT IF END OF BUFFER
          AOD    T1          INCREMENT CURRENT BUFFER ADDRESS 
          UJN    ASED.6      EXIT TO GET NEXT FRAME 
  
 ASED.7   LDD    T4          LOAD OUTSTANDING OCTET COUNT 
          STD    T3          SET PROGRESSIVE COUNT
          LDN    1           CONSTANT OF 1
          STD    EOT         SET END OF TRANSFER FLAG 
          RJM    WEI         EXIT TO WAIT FOR END OF INPUT
 ASED.8   LDI    T1          LOAD LAST FRAME INPUT
          STM    CB          STORE LAST FRAME INPUT 
          LDD    T3          LOAD OCTET COUNT 
          SHN    -1          DIVIDE BY 2 TO GET CHARACTERS
          STD    T3          SET CHARACTER COUNT THIS BUFFER
          RAD    NCC         UPDATE CHAR COUNT THIS BUFFER
          LDD    EOT         LOAD END OF TRANSFER FLAG
          UJK    ASED.3      RETURN 
  
 DCI      SPACE  2,32 
**               SUBROUTINE DCI.
* 
*                SUBROUTINE DCI RETURNS THE NEXT FRAME FROM THE MDI 
*                CHANNEL. NO UNPACKING IS PERFORMED.
* 
*                ENTRY -
* 
*                EXIT  -
* 
*                   (A) = INPUT FRAME FROM CHANNEL. 
* 
*                ERROR EXITS -
* 
*                   EXIT TO *ERROR* IF CHANNEL GOES INACTIVE. 
*                   EXIT TO *ERROR* IF CHANNEL STAYS EMPTY. 
* 
**
  
 DCI      SUBR               ENTRY/EXIT 
          AJM.   DCI.1       EXIT IF CHANNEL ACTIVE 
  
 DCI.0    LINK               ENTRY
          EREXIT IDI         EXIT TO ERROR - INACTIVE DURING INPUT
  
 DCI.1    LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 DCI.2    FJM.   DCI.4       EXIT IF DATA ON CHANNEL
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    DCI.2       EXIT IF CHANNEL DELAY NOT EXPIRED
  
 DCI.3    LINK               ENTRY
          EREXIT HEI         EXIT TO ERROR - HUNG EMPTY DURING INPUT
  
 DCI.4    IAN.               INPUT DATA FRAME 
          UJN    DCIX        RETURN 
  
 TEBF     SPACE  2,30 
**               SUBROUTINE TEBF.    (ENTRY POINT IS LOGICAL I/O FEOP.) 
* 
*                SUBROUTINE TEBF TRANSFERS EIGHT BIT FORMATTED DATA 
*                TO THE FRONT END.  THE SUBROUTINE UTILISES THE FACT
*                THAT THE SOURCE DATA IS ALREADY PACKED, IF THE FIRST 
*                OUTPUT CHARACTER IS FRAME ALIGNED (CP = 0).
*                OTHERWISE THE SUBROUTINE ITERATES ON THREE SOURCE
*                DATA CHARACTERS (SLIDING-WINDOW PROBLEM).
* 
*                  ENTRY -
* 
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                      (CP) = CURRENT CHARACTER POSITION (0-2), 
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  EXIT - 
* 
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT.
* 
*                  CALLS -
* 
*                    FEOC - OUTPUT NEXT DATA CHARACTER, 
*                    FEEC - OUTPUT ENDING DATA CHARACTER, 
*                    DCO  - OUTPUT NEXT FRAME.
* 
*                  USES - 
* 
**                   T3 = OUTPUT DATA CHARACTER.
  
  
 TEBF     LINK               ENTRY
          LDM    CP          LOAD CURRENT CHARACTER POSITION
          NJN    TEBF.1      EXIT IF NOT FRAME-ALIGNED
          UJK    TEBF.5      EXIT TO PROCESS FRAME-ALIGNED OUTPUT 
  
*                NON-ALIGNED OUTPUT 
  
 TEBF.1   LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          SHN    -4          POSITION NEXT OUTPUT DATA CHARACTER
          STD    T3          STORE NEXT OUTPUT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          NJN    TEBF.3      EXIT IF NOT ENDING OUTPUT DATA CHARACTER 
  
 TEBF.2   RJM    FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    FEOPX       RETURN 
  
 TEBF.3   RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION TO HIGH-ORDER 
          STD    T3          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAD    T3          ADD TO HIGH-ORDER OF NEXT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          ZJN    TEBF.2      EXIT IF ENDING OUTPUT DATA CHARACTER 
          RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          LDI    T1          LOAD NEXT OUTPUT DATA BYTE 
          LPC    0#FF        EXTRACT NEXT OUTPUT DATA CHARACTER 
          STD    T3          STORE NEXT OUTPUT DATA CHARACTER 
          SOD    T2          DECREMENT OUTPUT DATA CHARACTER COUNT
          ZJN    TEBF.2      EXIT IF ENDING OUTPUT DATA CHARACTER 
          RJM    FEOC        OUTPUT NEXT DATA CHARACTER 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
 TEBF.4   UJK    TEBF.1      EXIT TO PROCESS NEXT OUTPUT DATA BYTE
  
*                FRAME-ALIGNED OUTPUT 
  
 TEBF.5   STD    T3          INITIALIZE OUTPUT CHARACTER COUNTER
  
 TEBF.6   LDN    3           CONSTANT OF 3 (CHARACTERS PER FRAME) 
          RAD    T3          BUMP COUNT OF OUTPUT CHARACTERS
          SBD    T2          LESS SOURCE CHARACTER COUNT
          MJN    TEBF.7      EXIT IF NOT LAST PAIR OF FRAMES
          ADD    REOT        ADD REQ EOT FLAG TO DIFFERENCE 
          ZJN    TEBF.7      EXIT LAST FRAMES AND NOT EOT 
          UJK    TEBF.8      EXIT IF PARTIAL FRAME AND/OR EOT 
 TEBF.7   LDI    T1          LOAD FIRST FRAME OF NEXT PAIR
          RJM    DCO         EXIT TO OUTPUT ODD CHANNEL FRAME 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD LAST FRAME OF NEXT PAIR 
          RJM    DCO         EXIT TO OUTPUT EVEN CHANNEL FRAME
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          UJK    TEBF.6      EXIT TO PROCESS NEXT FRAME PAIR
  
 TEBF.8   LCN    3           CONSTANT OF -3 
          RAD    T3          ADJUST CHAR COUNT BACK TO LAST FRAME 
          RAD    NCC         UPDATE MESSAGE CHARACTER COUNT 
          LDD    T2          LOAD SOURCE DATA CHARACTER COUNT 
          SBD    T3          LESS ACTUAL CHARACTER COUNT
          STD    T2          SET REMAINING CHARACTER COUNT
          ADD    REOT        ADD REQ EOT FLAG 
          ZJN    TEBF.9      EXIT EXACT FRAME-PAIR AND NO EOT 
          UJK    TEBF.4      EXIT IF TO OUTPUT LAST (PARTIAL?) FRAME
  
 TEBF.9   EXIT   FEOPX       RETURN 
  
  
 DCO      SPACE  2,32 
**               SUBROUTINE DCO.
* 
*                SUBROUTINE DCO OUTPUTS THE NEXT CHANNEL FRAME TO 
*                THE MDI. NO PACKING IS PERFORMED.
* 
*                   ENTRY - 
* 
*                     (A) = CHANNEL FRAME TO OUTPUT 
* 
*                   EXIT  - 
* 
*                   USES  - 
* 
*                    (T0) = OUTPUT FRAME
* 
*                   ERROR EXITS - 
* 
*                     EXIT TO *ERROR* IF CHANNEL GOES INACTIVE, 
*                     EXIT TO *ERROR* IF CHANNEL HANGS FULL.
* 
**
  
 DCO      SUBR               ENTRY/EXIT 
          AJM.   DCO.1       EXIT IF CHANNEL WENT ACTIVE
 DCO.01   LINK
          EREXIT IDO         EXIT TO ERROR - WENT INACTIVE DURING OUTPUT
  
 DCO.1    STD    T0          STORE FRAME TO BE OUTPUT 
          LDK    MDIDLY      LOAD CHANNEL DELAY COUNT 
  
 DCO.2    EJM.   DCO.3       EXIT IF CHANNEL WENT EMPTY 
          SBN    1           DECREMENT CHANNEL DELAY COUNTER
          NJN    DCO.2       EXIT IF CHANNEL DELAY NOT EXPIRED
  
          EXIT   WEO.2       EXIT TO ERROR - HUNG FULL ON OUTPUT
  
 DCO.3    LDD    T0          LOAD OUTPUT FRAME
          OAN.               OUTPUT NEXT CHANNEL FRAME
          UJN    DCOX        RETURN 
  
 DLY      SPACE  2,26 
**               SUBROUTINE DLY.
* 
*                SUBROUTINE DLY SETS AND TESTS THE DELAY SETTING. 
*                AT INTIAL ENTRY WITH A-REGISTER BEING ZERO, TIMEOUT
*                IS SET TO CURRENT TIME + Q.MCIDLY. 
*                AT REENTRIES, IF THE DELAY TIMEOUT IS NOT REACHED, 
*                CONTROL IS RETURNED TO THE RETURN ADDRESS - 4, 
*                OTHERWISE, CONTROL IS RETURNED NORMALLY. 
* 
*                  ENTRY -
* 
*                    (A)      = 0 IF INITIAL ENTRY, 
*                    Q.MCIDLY = DELAY IN MILLI-SECONDS. 
* 
*                  EXIT - 
* 
*                    RETURN ADDRESS - 4 IF INITIAL ENTRY
*                                       OR NOT TIMEOUT, 
*                    NORMAL RETURN      AT TIMEOUT. 
* 
*                  USES - 
* 
*                    T0  = CRM INSTRUCTION WORKING STORAGE, 
*                    T17 = STORAGE FOR CURRENT T0 SAVE, 
*                    CL  = CLOCK WORD STORAGE,
**                   DT  = TIMEOUT TIME.
  
 DLY      SUBR               ENTRY/EXIT 
          ZJN    DLY.2       EXIT IF INITIAL ENTRY
          RJM    DLCL        EXIT TO READ SYSTEM MILLISECOND TIME 
          SBM    DT          LESS MCI FUNCTION TIMEOUT VALUE
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          PJN    DLYX        RETURN IF TIMEOUT REACHED
  
 DLY.1    LDM    DLY         LOAD RETURN ADDRESS
          SBN    4           BACK UP RETURN ADDRESS BY 4
          STM    DLY         REPLACE RETURN ADDRESS 
          UJK    DLYX        RETURN 
  
 DLY.2    RJM    DLCL        EXIT TO READ SYSTEM MILLISECOND TIME 
          ADK    Q.MCINIT    PLUS INITIAL MCI FUNCTION DELAY QUANTUM
          STM    DT          STORE MCI FUNCTION TIMEOUT VALUE 
          LDD    BHS         LOAD BLOCK HANDLER STATE 
          SBN    /TABLES/BHS4 LESS VALUE FOR FIRST NON-OPERATIONAL STATE
          PJN    DLY.1       EXIT IF MCI NOT OPERATIONAL
          LDK    Q.MCIDLY-Q.MCINIT LOAD TIMEOUT QUANTUM FOR OPERATIONAL 
          RAM    DT          UPDATE MCI FUNCTION TIMEOUT VALUE
          UJK    DLY.1       EXIT TO SET RETURN ADDRESS AND RETURN
  
 DLCL     SUBR               ENTRY/EXIT 
          LDD    T0          LOAD CURRENT T0
          STD    T17         SAVE CURRENT T0 CONTENT
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRM    CL,ON       READ SYSTEM REAL-TIME CLOCK
          LDD    T17         LOAD SAVED T0 CONTENT
          STD    T0          RESTORE T0 
          LDM    CL+4        LOAD SYSTEM MILLISECOND TIME 
          UJK    DLCLX       RETURN 
 WEO      SPACE  2,20 
**               SUBROUTINE WEO 
* 
*                SUBROUTINE WEO WAITS FOR THE CHANNEL TO GO EMPTY 
*                AFTER OUTPUT HAS COMPLETED.  THE CHANNEL IS THEN 
*                DISCONNECTED.  A CALL IS MADE TO ROUTINE GMS TO
*                CHECK FOR ERRORS.
* 
*                  EXIT - 
* 
*                    (ECT) = RESET TO ZERO IF NO ERRORS 
*                    (EOT) = SET TO 1 IF NO ERRORS
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHANNEL HUNG FULL ON OUTPUT,
* 
*                  CALLS -
* 
*                     GMS - GET MDI GENERAL STATUS
**
  
 WEO      SUBR               ENTRY/EXIT 
          LDK    MDIDLY      LOAD CHANNEL DELAY COUNT 
  
 WEO.1    EJM.   WEO.3       EXIT IF CHANNEL WENT EMPTY 
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    WEO.1       EXIT IF CHANNEL DELAY NOT EXPIRED
  
 WEO.2    LINK               ENTRY
          EREXIT HFO         EXIT TO ERROR - HUNG FULL ON OUTPUT
  
 WEO.3    DCN.               DISCONNECT CHANNEL 
  
 WEO.4    LDN    B.ABTNMS+B.ABTMIO  SET ERROR EXIT CONDITIONS FOR GMS 
          RJM    GMS         EXIT TO OBTAIN MDI GENERAL STATUS
          LDN    0           CONSTANT OF ZERO 
          STM    ECT,FEI     RESET CONSECUTIVE ERROR COUNT
          LDN    1           CONSTANT OF ONE
          STD    EOT         SET END OF TRANSFER FLAG 
          UJN    WEOX        RETURN 
  
 FC       TITLE  DRIVER OVERLAY STORAGE AREA. 
 FC       SPACE  2,6
*                DRIVER OVERLAY STORAGE AREA. 
  
  
 FC       CON    -1          LAST MDI FUNCITON CODE 
 CB       CON    -1          MDI CHANNEL FRAME
 CP       CON    -1          CURRENT CHARACTER POSITION (0 - 2) 
 MC       CON    -1          MESSAGE CHARACTER COUNT
 CL       BSS    5           MCI FUNCTION DELAY CLOCK STORAGE 
 DT       BSS    1           MCI FUNCTION DELAY TIMER 
  
 MHB      BSSZ   /BLOCK/L.MDIHDR MDI HEADER BUFFER (SET TO ZEROES)
  
          QUAL
 .STOA    SPACE  2,6
*                TRANSIENT OVERLAY DEFINITIONS. 
  
  
 .STOA    MAX    .STOA,*     START OF TRANSIENT OVERLAY AREA
 CIT      SPACE  2,6
*                TERMINATE MDI CHANNEL INSTRUCTION TABLE. 
  
  
 CIT      RMT 
  
          QUAL
  
          CON    0           TERMINATE MDI CHANNEL INSTRUCTION TABLE
  
 CIT      RMT 
 OL.TRANS SPACE  2,6
*                TRANSIENT OVERLAY AREA DEFINITIONS.
  
  
 OL.TRANS EQU    .STOA       TRANSIENT OVERLAY LOAD ADDRESS 
 OF.TRANS EQU    .STOA+5     TRANSIENT OVERLAY FIRST WORD ADDRESS 
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT/COMMAND PROCESSORS),T2=(CENTRAL ME
,MORY SUPPORT SUBROUTINES)
 CTS      SPACE  2,48 
**               SUBROUTINE CTS.
* 
*                SUBROUTINE CTS PROCESSES A CONNECTION TABLE SWITCH 
*                FROM THE CURRENTLY ACTIVE CONNECTION TABLE TO A NEW
*                CONNECTION TABLE.  THE LOGICAL LINK CONTROL BLOCKS ARE 
*                SEARCHED TO FIND THE CORRECT LOGICAL LINK CONTROL
*                BLOCK.  THE NETWORK CONNECTION TABLE ADDRESS IS
*                OBTAINED FROM THE CORRECT LOGICAL LINK CONTROL BLOCK 
*                AND IS RETURNED. 
* 
*                  ENTRY -
* 
*                     (A) = TERMINAL NODE TABLE ADDRESS,
*                    (TN) = TERMINAL NODE OF CURRENT STREAM,
*                    (CN) = CONNECTION NUMBER OF CURRENT STREAM.
* 
*                  EXIT - 
* 
*                      (A) = CONNECTION TABLE ADDRESS OR ZERO IF NONE,
*                    (ACI) = NEW ACTIVE CONNECTION TABLE IDENTIFICATION,
*                    (ACT) = NEW CONNECTION TABLE ADDRESS.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                    T10+T10+4 = TERMINAL NODE TABLE POINTER WORD,
*                      T0-T0+4 = TERMINAL NODE TABLE HEADER,
*                      T0-T0+4 = TERMINAL NODE TABLE ENTRY, 
*                          T15 = NUMBER OF LOGICAL LINK TABLES, 
*                      T5-T5+1 = ADDRESS OF LOGICAL LINK TABLE, 
*                    T10-T10+4 = NETWORK ADDRESS WORD FROM LOGICAL LINK,
*                      T0-T0+4 = FORWARD LINK WORD FROM LOGICAL LINK, 
*                          T15 = LOGICAL LINK POINTER DISPLACEMENT, 
*                      T0-T0+4 = CONNECTION TABLE POINTER WORD. 
* 
*                  NOTE - 
* 
*                    CTS IS CALLED FROM RCT WITH OVERLAY LOADING. 
*                    AS RCT MAY BE CALLED FROM SOME OVERLAYS, CHECK IS
**                   MADE TO SEE IF THE CALLER IS INTACT. 
  
  
 CTS      SUBR               ENTRY/EXIT 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ TERMINAL NODE TABLE POINTER WORD
          LDM    RCT         LOAD RETURN ADDRESS FROM RCT 
          SBN    1           SUBTRACT ONE TO GET CALL TO RCT ADDRESS
          STD    T1          SAVE CALL TO RCT ADDRESS 
          LDC    RCT         LOAD RCT ADDRESS 
          LMI    T1          COMPARE IT WITH CALL TO RCT (ADDRESS)
          ZJN    CTS.0       OK IF CALL TO RCT INTACT 
          EREXIT OSV         EXIT TO ERROR - CALL TO RCT OVERWRITTEN
  
 CTS.0    LDD    T10+/NAM/C.DPT LOAD HIGH-ORDER TERMINAL TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 PLUS LOW-ORDER TERMINAL TABLE ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ TERMINAL NODE TABLE HEADER WORD 
          SOD    T0+/NAM/C.BWD+1 TERMINAL NODE TABLE LENGTH LESS ONE
          SBD    TN          LESS TERMINAL NODE OF CURRENT STREAM 
          PJN    CTS.2       EXIT IF TERMINAL NODE IN RANGE 
          LDN    0           CONSTANT OF ZERO 
  
 CTS.1    UJK    CTSX        RETURN WITH NO CONNECTION TABLE ENTRY
  
 CTS.2    LDD    T10+/NAM/C.DPT LOAD HIGH-ORDER TERMINAL TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 PLUS LOW-ORDER TERMINAL TABLE ADDRESS 
          ADD    TN          PLUS TERMINAL NODE OF CURRENT STREAM 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ TERMINAL NODE TABLE ENTRY 
          LDD    T0+/NAM/C.NLL LOAD NUMBER OF ASSOCIATED LOGICAL LINKS
          STD    T15         STORE LOGICAL LINK CONTROL BLOCK COUNT 
  
 CTS.3    ZJN    CTS.1       EXIT IF ALL LOGICAL LINKS PROCESSED
          LDD    T0+/NAM/C.LLA LOAD HIGH-ORDER OF NEXT LINK ADDRESS 
          LPN    37B         EXTRACT ADDRESS BITS 
          STD    T5          STORE HIGH-ORDER OF LOGICAL LINK ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.LLA+1 PLUS LOW-ORDER OF NEXT LINK ADDRESS
          STD    T5+1        STORE LOW-ORDER OF LOGICAL LINK ADDRESS
          ADN    /NAM/W.LLCB2 DELTA FOR NETWORK ADDRESS WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NETWORK ADDRESS WORD FROM LINK TABLE
          SBN    /NAM/W.LLCB2 DELTA FOR FORWARD LINK POINTER WORD 
          CRD    T0          READ FORWARD LINK POINTER WORD 
          LDD    T10+/NAM/C.LLNA LOAD HIGH-ORDER OF NETWORK ADDRESS 
          SHN    -/NAM/S.LHN POSITION HOST NODE TO LOW-ORDER
          LMM    HND,FEI     LESS HOST NODE OF FRONT END
          ZJN    CTS.4       EXIT IF LOGICAL LINK CONTROL BLOCK MATCH 
          SOD    T15         DECREMENT LOGICAL LINK CONTROL BLOCK COUNT 
          UJK    CTS.3       EXIT TO CHECK FOR ADDITIONAL LOGICAL LINK
  
 CTS.4    LDD    CN          LOAD CONNECTION NUMBER OF CURRENT STREAM 
          SHN    -4          REDUCE TO LOGICAL LINK POINTER DISPLACEMENT
          STD    T15         STORE LOGICAL LINK POINTER DISPLACEMENT
          SHN    8           POSITION POINTER WORD DISPLACEMENT 
          LMD    TN          PLUS TERMINAL NODE OF CURRENT STREAM 
          STM    ACI         STORE ACTIVE TABLE IDENTIFICATION
          LDD    T5          LOAD HIGH-ORDER OF LOGICAL LINK ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF LOGICAL LINK ADDRESS 
          ADN    /NAM/W.LLCBE DELTA FOR FIRST LOGICAL LINK ENTRY
          ADD    T15         PLUS LOGICAL LINK POINTER DISPLACEMENT 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ CONNECTION TABLE POINTER WORD 
          LDD    T0+/NAM/C.LNCT LOAD HIGH-ORDER OF TABLE ADDRESS
          LPN    37B         EXTRACT ADDRESS BITS 
          STM    ACT         STORE HIGH-ORDER OF ACTIVE CONNECTION TABLE
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.LNCT+1 PLUS LOW-ORDER OF TABLE ADDRESS 
          STM    ACT+1       STORE LOW-ORDER OF ACTIVE CONNECTION TABLE 
          NJN    CTS.5       EXIT IF NETWORK CONNECTION TABLE 
          STM    ACI         RESET ACTIVE TABLE IDENTIFICATION
  
 CTS.5    UJK    CTSX        RETURN 
 TCR      SPACE  2,36 
**               SUBROUTINE TCR.
* 
*                SUBROUTINE TCR TRANSFERS A COMMAND RESPONSE TO THE 
*                INBOUND BUFFER.  THE RESPONSE TEXT IS PACKED AND 
*                WRITTEN TO THE INBOUND BUFFER.  THE NAM HEADER IS
*                PACKED, WRITTEN TO THE INBOUND BUFFER AND THE INBOUND
*                FET IN DATA POINTER IS UPDATED.
* 
*                  ENTRY -
* 
*                        (NNH-NNH+L.NH) = RESPONSE TEXT CHARACTER COUNT,
*                        (NBH-NBH+L.BH) = RESPONSE WORD LENGTH, 
*                        (BHB-BHB+L.BH) = BLOCK HEADER FOR RESPONSE,
*                        (NCH-NCH+L.CH) = RESPONSE COMMAND HEADER,
*                    (DRBUF-DRBUF+L.CM) = UNPACKED RESPONSE TEXT. 
* 
*                  CALLS -
* 
*                    IIIP - INITIALIZE FOR IVT INPUT, 
*                     PKD - PACK DATA TEXT, 
*                    WDIB - WRITE RESPONSE DATA TO INBOUND BUFFER,
*                    WNHB - WRITE NAM HEADER TO INBOUND BUFFER, 
*                    UFIP - UPDATE FET IN DATA POINTER. 
* 
*                  USES - 
* 
*                    T17 = UNPACKED RESPONSE TEXT ADDRESS,
*                    T16 = RESPONSE TEXT CHARACTER COUNT, 
*                    T15 = RESPONSE TEXT WORD COUNT,
*                     T3 = SOURCE DATA CHARACTER COUNT, 
**                    T7 = CENTRAL WORD COUNT.
  
  
 TCR      SUBR               ENTRY/EXIT 
          LDN    /NAM/Q.IBID LOAD NAM INBOUND BUFFER ID 
          RJM    IIIP        EXIT TO INITIALIZE FOR IVT INPUT 
          LDC    NCH         LOAD ADDRESS OF COMMAND HEADER BUFFER
          STD    T17         INITIALIZE RESPONSE TEXT ADDRESS 
          LDM    NNH+/NAM/C.MCC LOAD RESPONSE TEXT CHARACTER COUNT
          STD    T16         INITIALIZE RESPONSE TEXT CHARACTER COUNT 
          LDM    NBH+/NAM/C.BWD+1 LOAD RESPONSE MESSAGE WORD COUNT
          SBN    /NAM/L.BH+/NAM/L.NH LESS LENGTH OF NAM HEADER WORDS
          STD    T15         INITIALIZE RESPONSE TEXT WORD COUNT
          LDN    PCBICM      LOAD DRIVER INBOUND BUFFER LENGTH IN WORDS 
          STD    T7          STORE CENTRAL WORD COUNT 
  
 TCR.1    LDD    T15         LOAD RESIDUAL RESPONSE TEXT WORD COUNT 
          SBN    PCBICM      LESS DRIVER INBOUND BUFFER LENGTH IN WORDS 
          MJN    TCR.3       EXIT IF NOT A PARTIAL TRANSFER 
          STD    T15         STORE RESIDUAL RESPONSE WORD COUNT 
          ZJN    TCR.4       EXIT IF EXACT RESPONSE FIT 
          LDD    T16         LOAD RESIDUAL RESPONSE CHARACTER COUNT 
          ADC    -PCBICH     LESS CHARACTERS PER DRIVER INBOUND BUFFER
          STD    T16         STORE RESIDUAL RESPONSE CHARACTER COUNT
          LDC    PCBICH      LOAD CHARACTERS PER DRIVER INBOUND BUFFER
  
 TCR.2    STD    T3          STORE SOURCE DATA CHARACTER COUNT
          LDD    T17         LOAD CURRENT RESPONSE TEXT ADDRESS 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDC    PCBUFI      LOAD ADDRESS OF DRIVER INBOUND BUFFER
          STD    T2          STORE DESTINATION DATA ADDRESS 
          LDD    T3          LOAD SOURCE DATA CHARACTER COUNT 
          RJM    PKD         EXIT TO PACK RESPONSE TEXT 
          LDC    PCBUFI      LOAD ADDRESS OF DRIVER BUFFER
          RJM    WDIB        EXIT TO WRITE RESPONSE TO INBOUND BUFFER 
          LDD    T15         LOAD RESIDUAL RESPONSE WORD COUNT
          ZJN    TCR.5       EXIT IF COMPLETE RESPONSE TEXT TRANSFERRED 
          LDC    PCBICH      LOAD CHARACTERS PER INBOUND DRIVER BUFFER
          RAD    T17         INCREMENT RESPONSE TEXT ADDRESS
          UJK    TCR.1       EXIT TO PROCESS NEXT PORTION OF RESPONSE 
  
 TCR.3    LDD    T15         LOAD RESIDUAL RESPONSE WORD COUNT
          STD    T7          STORE CENTRAL WORD COUNT 
          LDN    0           CONSTANT OF ZERO 
          STD    T15         ZERO RESIDUAL RESPONSE WORD COUNT
  
 TCR.4    LDD    T16         LOAD RESIDUAL RESPONSE CHARACTER COUNT 
          UJK    TCR.2       EXIT TO PACK RESPONSE TEXT 
  
 TCR.5    LDC    NNH         LOAD ADDRESS OF NAM NETWORK HEADER 
          STD    T2          STORE DESTINATION DATA ADDRESS 
          ADN    BHB-NNH     DELTA FOR BLOCK HEADER BUFFER
          STD    T1          STORE SOURCE DATA ADDRESS
          LDN    /BLOCK/L.BH+/BLOCK/L.DH LENGTH OF BLOCK AND DATA HEADER
          RJM    PKD         EXIT TO PACK INTO NAM NETWORK HEADER 
          RJM    WNHB        EXIT TO WRITE NAM HEADER TO INBOUND BUFFER 
          RJM    UFIP        EXIT TO UPDATE FET IN DATA POINTER 
          UJK    TCRX        RETURN 
 PMS      TITLE  DRIVER SUPPORT PROCESSORS. 
 PMS      SPACE  2,22 
**               DRIVER SUPPORT PROCESSOR PMS.
* 
*                DRIVER SUPPORT PROCESSOR PMS PROCESSES A LEVEL 
*                SEVEN CHECKMARK ISSUED.  THE OUTSTANDING CHECKMARK 
*                COUNT IS INCREMENTED, THE PENDING CHECKMARK NUMBER 
*                WITH THE ASSOCIATED PRU POSITION IS STORED IN THE PCB
*                AND THE COUNT OF BLOCKS BEFORE A CHECKMARK IS REQUIRED 
*                IS RESET.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHECKMARK LOGIC ERROR.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 PMS      LINK               PROCESS LEVEL SEVEN CHECKMARK ISSUED 
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLAC HIGH-ORDER OF ACKNOWLEDGED CHECKMARK 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLAC+1 LOW-ORDER OF ACKNOWLEDGED CHECKMARK
          ADN    1           PLUS ONE FOR NEXT CHECKMARK NUMBER 
          STD    L7PR+1      STORE LOW-ORDER PENDING CHECKMARK NUMBER 
          SHN    -12         POSITION HIGH-ORDER OF NUMBER
          STD    L7PR        STORE HIGH-ORDER PENDING CHECKMARK NUMBER
          AOD    T10+/NAM/C.PCBOCM INCREMENT OUTSTANDING CHECKMARK COUNT
          LMN    1           LESS EXPECTED VALUE
          NJN    PMS.3       EXIT TO PROCESS CHECKMARK LOGIC ERROR
  
 PMS.1    RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /NAM/W.PCBPS4 PRU STREAM PARAMETER FOUR WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS4-/NAM/W.PCBPS1 DELTA FOR WORD ONE 
          CRD    T1          READ PRU PARAMETER WORD FROM PCB 
          LDD    L7PR        LOAD HIGH-ORDER OF PENDING CHECKMARK NUMBER
          STD    T10+/NAM/C.PCBPCN HIGH-ORDER PENDING CHECKMARK NUMBER
          LDD    L7PR+1      LOAD LOW-ORDER OF PENDING CHECKMARK NUMBER 
          STD    T10+/NAM/C.PCBPCN+1 LOW-ORDER PENDING CHECKMARK NUMBER 
          LDD    T1+/NAM/C.PCBNPR HIGH-ORDER OF ASSOCIATED PRU POSITION 
          STD    T10+/NAM/C.PCBPPR HIGH-ORDER PENDING PRU POSITION
          LDD    T1+/NAM/C.PCBNPR+1 LOW-ORDER OF ASSOCIATED PRU POSITION
          STD    T10+/NAM/C.PCBPPR+1 LOW-ORDER PENDING PRU POSITION 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCMC LOAD CHECKMARK CONTROL BYTE
          SHN    -6          POSITION INTERVAL TO CURRENT 
          RAD    T10+/NAM/C.PCBCMC SET CURRENT TO INTERVAL
  
 PMS.2    LINK               ENTRY
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
  
 PMS.3    LINK               ENTRY
          EREXIT CLE         EXIT TO ERROR - CHECKMARK LOGIC ERROR
 PMR      SPACE  2,20 
**               DRIVER SUPPORT PROCESSOR PMR.
* 
*                DRIVER SUPPORT PROCESSOR PMR PROCESSES A LEVEL 
*                SEVEN CHECKMARK REPLY ISSUED.  THE OUTSTANDING 
*                CHECKMARK COUNT IS DECREMENT AND THE LAST TRANSMITTED
*                CHECKMARK NUMBER IS INCREMENTED. 
*                PRU POSITION STORED IN W.PCBPS4 WHEN CHECKMARK WAS 
*                RECEIVED IS PLACED IN W.PCBPS5 AS THE PRU POSITION 
*                CORRESPONDING TO THE ACKNOWLEDGED CHECKMARK. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHECKMARK LOGIC ERROR.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 PMR      LINK               PROCESS LEVEL SEVEN CHECKMARK REPLY ISSUED 
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS5-/NAM/W.PCBPS4 DELTA FOR WORD FOUR
          CRD    T1          READ PRU PARAMETER WORD FROM PCB 
          LDD    T1+/NAM/C.PCBPPR LOAD HIGH-ORDER OF PRU POSITION 
          STD    T10+/NAM/C.PCBCPP HIGH-ORDER OF ACKNOWLEDGED POSITION
          LDD    T1+/NAM/C.PCBPPR+1 LOAD LOW-ORDER OF PRU POSITION
          STD    T10+/NAM/C.PCBCPP+1 LOW-ORDER OF ACKNOWLEDGED POSITION 
          SOD    T10+/NAM/C.PCBOCM DECREMENT OUTSTANDING CHECKMARK
          MJN    PMS.3       EXIT IF COUNTER UNDERFLOW
          AOD    T10+/NAM/C.PCBLAC+1 INCREMENT LOW-ORDER NEXT CHECKMARK 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    T10+/NAM/C.PCBLAC ADD TO HIGH-ORDER NEXT CHECKMARK 
          EXIT   PMS.2       EXIT TO WRITE PRU PARAMETER WORD TO PCB
 RBR      SPACE  2,14 
**               DRIVER SUPPORT PROCESSOR RBR.
* 
*                DRIVER SUPPORT PROCESSOR RBR RESETS THE
*                BREAK RECEIVED FLAG IN THE PRU CONTROL BLOCK.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 RBR      LINK               RESET BREAK RECEIVED FLAG
          LDN    /NAM/W.PCBPS6 PRU PARAMETER SIX WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          SCN    /NAM/B.PCBBRR RESET BREAK RECEIVED FLAG
          STD    T10+/NAM/C.PCBFTS STORE FILE TRANSFER STATUS BYTE
          EXIT   PMS.2       EXIT TO WRITE PRU PARAMETER WORD TO PCB
 PPST     SPACE  2,42 
**               DRIVER SUPPORT PROCESSOR PPST. 
* 
*                DRIVER SUPPORT PROCESSOR PPST PROCESSES THE PCB RING 
*                FOR PRU STREAMS.  THE ADDRESS OF THE CURRENT PCB IS
*                STORED, THE NETWORK ADDRESS PARAMETERS FOR THE STREAM
*                ARE STORED, THE CONNECTION TABLE ENTRY IS READ AND THE 
*                STREAM STATE FOR THE STREAM IS EXECUTED. 
* 
*                  ENTRY (PPST) - 
* 
*                    (T0-T0+4) = PCB POINTER WORD FROM BUFFER TABLE.
* 
*                  ENTRY (PPST.7) - 
* 
*                    (CPCB-CPCB+1) = CURRENT PCB ADDRESS. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PCB RING ERROR, 
*                    EXIT TO *ERROR* IF PCB CONNECTION UNASSIGNED.
* 
*                  CALLS -
* 
*                      TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                      RCT - READ CONNECTION TABLE ENTRY, 
*                     RPCB - READ WORD FROM PCB,
*                      GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    PAUSE - PAUSE FOR STORAGE RELOCATION.
* 
*                  PROCESSOR CALLS -
* 
*                    STREAM STATE PROCESSOR.
* 
*                  NOTE - 
* 
**                   CTS, CALLED FROM RCT, MUST BE IN THE SAME OVERLAY. 
  
  
 PPST     LINK               ENTRY
          LDD    T0+/NAM/C.NBTPF+1 LOAD LOW-ORDER OF FIRST PCB ADDRESS
          SCN    77B         CLEAR EXTRANEOUS BITS
          SHN    6           POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.NBTPF PLUS HIGH-ORDER OF FIRST PCB ADDRESS 
          SHN    6           POSITION FIRST PCB ADDRESS 
          STD    PCB+1       STORE LOW-ORDER OF FIRST PCB ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    PCB         STORE HIGH-ORDER OF FIRST PCB ADDRESS
          LDN    PCB         LOAD ADDRESS OF FIRST PCB ADDRESS
  
 PPST.1   STD    T7          STORE ADDRESS OF NEXT PCB ADDRESS
          LDI    T7          LOAD HIGH-ORDER OF NEXT PCB ADDRESS
          LPN    37B         EXTRACT ADDRESS BITS 
          STM    CPCB        STORE HIGH-ORDER OF CURRENT PCB ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    1,T7        PLUS LOW-ORDER OF NEXT PCB ADDRESS 
          STM    CPCB+1      STORE LOW-ORDER OF CURRENT PCB ADDRESS 
          NJN    PPST.3      EXIT IF PCB ADDRESS
  
 PPST.2   EREXIT PCE         EXIT OT ERROR - PCB CHAIN ERROR
  
 PPST.3   ADN    /NAM/W.PCBLP DELTA FOR NETWORK ADDRESS WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NETWORK ADDRESS WORD FROM PCB 
          SBN    /NAM/W.PCBLP DELTA FOR TABLE HEADER WORD 
          CRD    T10         READ TABLE HEADER WORD 
          LDD    T10+/NAM/C.BID LOAD TABLE ID BYTE
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.PCBID LESS PRU CONTROL BLOCK ID 
          ZJN    PPST.4      EXIT IF PRU CONNECTION BLOCK ID
          LMN    /NAM/Q.LCNID&/NAM/Q.PCBID CHECK IF LIMBO PRU CON ID
          NJN    PPST.2      EXIT IF INVALID BLOCK ID 
          EXIT   NPRU        EXIT TO PROCESS NEXT PCNB IN PRU CON RING
  
 PPST.4   LDD    T0+/NAM/C.PCBNA LOAD HIGH-ORDER OF NETWORK ADDRESS 
          SHN    -/NAM/S.PCBTN POSITION TERMINAL MODE TO LOW-ORDER
          STD    TN          STORE TERMINAL NODE
          LDD    T0+/NAM/C.PCBNA+1 LOAD LOW-ORDER OF NETWORK ADDRESS
          LPC    0#FF        EXTRACT CONNECTION NUMBER
          STD    CN          STORE CONNECTION NUMBER
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          PJN    PPST.5      EXIT IF CONNECTION NUMBER ASSIGNED 
          EREXIT PCN         EXIT TO ERROR - PCB CONNECTION UNASSIGNED
  
 PPST.5   LDN    0           CONSTANT OF ZERO 
          RJM    RPCB        EXIT TO READ PCB HEADER WORD 
          LDD    T10+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE FROM PCB 
          SHN    -/NAM/S.PCBPR POSITION PRIORITY LEVEL TO LOW-ORDER 
          LPN    /NAM/L.PCBPR EXTRACT PCB PRIORITY LEVEL
          LMN    2           LESS VALUE FOR LOW PRIORITY PCB
          ZJN    PPST.6      EXIT IF LOW PRIORITY PCB 
          LDN    1           CONSTANT OF ONE
  
 PPST.6   SHN    /BLOCK/S.PR POSITION PRIORITY FLAG 
          STM    BHB+/BLOCK/BNBT STORE OUTPUT PRIORITY FOR STREAM 
          ZJN    PPST.6F     EXIT IF LOW PRIORITY CONNECTION
          LCN    1           VALUE TO ADJUST PRIORITY TO BE HIGH LEVEL
 PPST.6F  ADN    3           LOW PRIORITY OUTPUT PRIORITY LEVEL 
          STM    OPL         SET OUTPUT PRIORITY LEVEL
          LDM    FTY,FEI     FRONT END TYPE 
          ZJN    PPST.6M     EXIT IF 2550 FRONT END 
          LDM    CHVER,FEI   MCI CHANNEL PROTOCOL VERSION NUMBER
          SBN    /MSTATUS/VERSION4  LOWEST VERSION NUMBER THAT SUPPORTS 
                             FLOW CONTROL BIT IN GENERAL STATUS REGISTER
          MJN    PPST.6M     IF FLOW CONTROL BIT DOES NOT EXIST IN GS 
          LDM    MGS,FEI     GENERAL STATUS REGISTER
          LPK    7           EXTRACT BITS 0 TO 2 OF GENERAL STATUS
          SBN    /MSTATUS/FON CHECK IF NORMAL FLOW CONTROL IS OFF 
          NJN    PPST.6M     EXIT IF NORMAL FLOW CONTROL IS OFF 
          LDD    STS         LOAD STREAM STATE
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          SBK    /TABLES/PROT PRU OUTPUT STREAM STATE 
          MJN    PPST.6M     EXIT IF INPUT STREAM STATE 
          EXIT   NPRU        EXIT TO CHECK NEXT ENTRY IN PCB RING 
  
 PPST.6M  LDD    STS         LOAD STREAM STATE
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          ADC    /TABLES/STSTATES PLUS FWA OF STREAM STATE TABLE
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STM    DCR.4+1     STORE ADDRESS OF STREAM STATE PROCESSOR
          EXIT   DCR.4       EXIT TO EXECUTE STREAM STATE PROCESSOR 
  
 PPST.7   LINK               ENTRY
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDM    CPCB        LOAD HIGH-ORDER OF CURRENT PCB ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    CPCB+1      PLUS LOW-ORDER OF CURRENT PCB ADDRESS
          ADN    /NAM/W.PCBLP DELTA FOR PCB CHAIN LINK POINTER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ PCB CHAIN LINK WORD FORM PCB
          LDN    T0+/NAM/C.PCBFL LOAD ADDRESS OF NEXT PCB ADDRESS 
          UJK    PPST.1      EXIT TO STORE NEXT PCB ADDRESS 
 CONO     TITLE  IVT OUTPUT COMMAND PROCESSORS. 
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 CONO     SPACE  2,30 
**               IVT COMMAND ACTION PROCESSOR CONO. 
* 
*                IVT COMMAND ACTION PROCESSOR CONO TRANSFERS THE FRONT
*                END TURNED OFF COMMAND TO THE INBOUND BUFFER.  IF THERE
*                IS SUFFICIENT INBOUND BUFFER SPACE FOR THE EST TURNED
*                OFF COMMAND A CHECK IS MADE FOR ACTIVE PRU STREAMS.  IF
*                THERE ACTIVE PRU STREAMS THEY ARE PROCESSED.  OTHERWISE
*                THE HOST REGULATION LEVEL IS SET TO ZERO, THE FRONT
*                END IS RETURNED TO THE SYSTEM AND THE FRONT END CHANNEL
*                TABLE IS CHECKED FOR OTHER FRONT ENDS ON THE SAME
*                CHANNEL.  IF THERE ARE NO OTHER FRONT ENDS ON THE SAME 
*                CHANNEL THE CHANNEL IS RELEASED TO THE SYSTEM.  THE EST
*                TURNED OFF COMMAND IS TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     MTR - RETURN EQUIPMENT, 
*                    CRFC - CHECK TO RELEASE FRONT END CHANNEL, 
*                    UNSB - UPDATE FRONT END STATUS BYTE, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                    TCR - TRANSFER FRONT END TURNED OFF COMMAND.
  
  
 CONO     ACTION             TRANSFER FRONT END TURNED OFF COMMAND
          LDN    /NAM/EQTOCM LENGTH OF FRONT END TURNED OFF COMMAND 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    CONO.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
  
 CONO.1   EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 CONO.2   LDN    /NAM/W.NBTLP DELTA FOR PCB POINTER WORD
          RJM    GNBT        EXIT TO GET PCB ADDRESS ABSOLUTE ADDRESS 
          CRD    T0          READ PCB POINTER WORD FROM BUFFER TABLE
          SBN    /NAM/W.NBTLP DELTA FOR EST POINTER WORD
          CRD    T10         READ EST POINTER WORD FROM BUFFER TABLE
          LDD    T0+/NAM/C.NBTPB LOAD HIGH-ORDER OF LAST PCB ADDRESS
          LPN    37B         EXTRACT ADDRESS BITS 
          ADD    T0+/NAM/C.NBTPB+1 PLUS LOW-ORDER OF LAST PCB ADDRESS 
          NJN    CONO.1      EXIT IF PRU STREAMS ACTIVE 
          STD    OW          SET REGULATION LEVEL TO ZERO 
          LDM    FTY,FEI     LOAD FRONT END TYPE
          LMN    2           LESS VALUE FOR INTERLOCKED MDI 
          ZJN    CONO.4      EXIT IF INTERLOCKED MDI
  
 CONO.3   LDD    T10+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE 
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL OF FRONT END 
          STD    T10+1       STORE ORDINAL OF FRONT END FOR RELEASE 
          LDN    DEQM        LOAD FUNCTION TO RELEASE EQUIPMENT 
          RJM    MTR         EXIT TO RELEASE FRONT END
          RJM    CRFC        EXIT TO CHECK RELEASE OF CHANNEL 
  
 CONO.4   LDC    /NAM/B.NBTOF LOAD FRONT END OFF STATUS 
          RJM    UNSB        EXIT TO UPDATE FRONT END STATUS BYTE 
          LDN    /NAM/EQTOCM LOAD FRONT END TURNED OFF WORD COUNT 
          STM    NBH+/NAM/C.BWD+1 STORE COMMAND WORD LENGTH 
          LDN    /NAM/EQTOC  LOAD FRONT END TURNED OFF CHARACTER COUNT
          STM    NNH+/NAM/C.MCC STORE MESSAGE TEXT CHARACTER COUNT
          LDM    HND,FEI     LOAD HOST NODE ID OF COUPLER 
          STM    BHB+/BLOCK/SN STORE SOURCE NODE
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE 
          LDN    0           CONSTANT OF ZERO 
          STM    DHB+/BLOCK/DBC ZERO DATA BLOCK CLARIFIER 
          STM    BHB+/BLOCK/CN STORE CONNECTION NUMBER
          LDN    /BLOCK/CMD  LOAD COMMAND BLOCK TYPE
          STM    BHB+/BLOCK/BNBT STORE BLOCK TYPE 
          LDC    /TABLES/NIOC LOAD ADDRESS OF COMMAND MESSAGE TABLE 
          ADD    CO          PLUS COMMAND ORDINAL 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    T0          STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -4          POSITION PRIMARY FUNCTION CODE 
          STM    NCH+/BLOCK/PFC STORE PRIMARY FUNCTION CODE 
          LDD    T0          LOAD DRIVER CONTROL TABLE ENTRY
          LPN    0#F         EXTRACT SECONDARY FUNCTION CODE
          STM    NCH+/BLOCK/SFC STORE SECONDARY FUNCTION CODE 
          RJM    TCR         EXIT TO TRANSFER COMMAND RESPONSE
          LDN    0           CONSTANT OF ZERO 
          STM    NBT,FEI     ZERO HIGH-ORDER OF BUFFER TABLE ADDRESS
          STM    NBT+1,FEI   ZERO LOW-ORDER OF BUFFER TABLE ADDRESS 
          SOM    ACTFES      DECREMENT ACTIVE FRONT END COUNT 
          EXIT   NFE.1       EXIT TO PROCESS NEXT FRONT END 
 COIM     SPACE  2,30 
**               IVT COMMAND ACTION PROCESSOR COIM. 
* 
*                IVT COMMAND ACTION PROCESSOR COIM TRANSFERS THE REQUEST
*                MDI INITIALIZATION COMMAND TO THE INBOUND BUFFER.  IF
*                THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE 
*                REQUEST MDI INITIALIZATION COMMAND THE EST INTERLOCKED 
*                FLAG IS SET IN THE EQUIPMENT STATUS TABLE, THE MDI 
*                EQUIPMENT IS RELEASED AND THE MDI CHANNEL IS RETURNED
*                TO THE SYSTEM.  THE REQUEST MDI INITIALIZATION COMMAND 
*                IS TRANSFERRED TO THE INBOUND BUFFER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MULTIPLE EQUIPMENTS ON CHANNEL. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     MTR - INTERLOCK EST AND RELEASE EQUIPMENT,
*                    CRFC - CHECK TO RELEASE FRONT END CHANNEL, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                    TCR - TRANSFER REQUEST MDI INITIALIZATION.
  
  
 COIM     ACTION             TRANSFER REQUEST MDI INITIALIZATION COMMAND
          LDN    /NAM/RMDICM LENGTH REQUEST MDI INITIALIZATION COMMAND
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COIM.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COIM.1   LDN    /NAM/W.NBTFP DELTA FOR NBT HEADER WORD 
          RJM    GNBT        EXIT TO GET NBT HEADER ABSOLUTE ADDRESS
          CRD    T0          READ EST POINTER WORD FROM BUFFER TABLE
          LDD    T0+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL OF FRONT END 
          STD    T10+1       STORE ORDINAL OF FRONT END FOR INTERLOCK 
          STD    T15         SAVE FRONT END EQUIPMENT ORDINAL 
          LDN    4           LOAD SUBFUNCTION CODE TO CHANGE BYTE ZERO
          STD    T10+2       STORE SUBFUNCTION CODE 
          LDC    1S9         LOAD INTERLOCKED FLAG
          STD    T10+4       STORE FLAG TO SET
          LMC    7777B       FORM BYTE MASK 
          STD    T10+3       STORE MASK FOR EQUIPMENT STATUS TABLE BYTE 
          LDN    SEQM        LOAD FUNCTION TO SET EQUIPMENT PARAMETERS
          RJM    MTR         EXIT TO SET INTERLOCKED FLAG FOR MDI 
          LDD    T15         LOAD FRONT END EQUIPMENT ORDINAL 
          STD    T10+1       STORE EST ORDINAL OF EQUIPMENT 
          LDN    DEQM        LOAD FUNCTION TO RELEASE EQUIPMENT 
          RJM    MTR         EXIT TO RELEASE EQUIPMENT
          RJM    CRFC        EXIT TO CHECK RELEASE OF CHANNEL 
          ZJN    COIM.2      EXIT IF CHANNEL RELEASED 
          EREXIT CTE         EXIT TO ERROR - CHANNEL TABLE ERROR
  
 COIM.2   LDK    RTCL        REAL TIME SYSTEM CLOCK 
          CRD    T0          READ SYSTEM TIME 
          LDD    T0+1        SYSTEM TIME IN SECONDS 
          ADK    MAXILK      MAXIMUM NUMBER OF SECONDS TO WAIT
          STM    ECT,FEI     INITIALIZE TIMER FOR INTERLOCKED MDI 
          LDN    2           TYPE FOR INTERLOCKED MDI 
  
          STM    FTY,FEI     SET EQUIPMENT TYPE INTERLOCKED 
          LDN    /NAM/RMDICM LOAD REQUEST MDI INITIALIZATION WORD COUNT 
          STM    NBH+/NAM/C.BWD+1 STORE COMMAND WORD LENGTH 
          LDN    /NAM/RMDIC  LOAD REQUEST INITIALIZATION CHARACTER COUNT
          STM    NNH+/NAM/C.MCC STORE MESSAGE TEXT CHARACTER COUNT
          LDM    HND,FEI     LOAD HOST NODE ID OF COUPLER 
          STM    BHB+/BLOCK/SN STORE SOURCE NODE
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE 
          LDN    0           CONSTANT OF ZERO 
          STM    DHB+/BLOCK/DBC ZERO DATA BLOCK CLARIFIER 
          STM    BHB+/BLOCK/CN STORE CONNECTION NUMBER
          LDN    /BLOCK/CMD  LOAD COMMAND BLOCK TYPE
          STM    BHB+/BLOCK/BNBT STORE BLOCK TYPE 
          LDC    /TABLES/NIOC LOAD ADDRESS OF COMMAND MESSAGE TABLE 
          ADD    CO          PLUS COMMAND ORDINAL 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    T0          STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -4          POSITION PRIMARY FUNCTION CODE 
          STM    NCH+/BLOCK/PFC STORE PRIMARY FUNCTION CODE 
          LDD    T0          LOAD DRIVER CONTROL TABLE ENTRY
          LPN    0#F         EXTRACT SECONDARY FUNCTION CODE
          STM    NCH+/BLOCK/SFC STORE SECONDARY FUNCTION CODE 
          EXIT   TCRN        EXIT TO TRANSFER REQUEST MDI INITIALIZATION
 CRFC     TITLE  COMMAND PROCESSOR SUPPORT SUBROUTINES. 
          QUAL
 CRFC     SPACE  2,28 
**               SUBROUTINE CRFC. 
* 
*                SUBROUTINE CRFC DECREMENTS THE ACTIVE FRONT END COUNT
*                IN THE FRONT END CHANNEL TABLE AND IF THE LAST FRONT 
*                END IS BEING PROCESSED THE CHANNEL IS RETURNED TO THE
*                SYSTEM.
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CHN) = FRONT END CHANNEL NUMBER.
* 
*                  EXIT - 
* 
*                    (A) = ZERO IF HANNEL RELEASED. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NO CHANNEL TABLE ENTRY. 
* 
*                  CALLS -
* 
**                   MTR - RELEASE FRONT END CHANNEL. 
  
  
 CRFC     SUBR               ENTRY/EXIT 
          LDM    CHN,FEI     LOAD FRONT END CHANNEL NUMBER
          LPN    77B         EXTRACT FRONT END CHANNEL NUMBER 
          STD    T10+1       FRONT END CHANNEL FOR POSSIBLE RELEASE 
          LDN    0           CONSTANT OF ZERO 
          STD    T10         INITIALIZE FRONT END CHANNEL TABLE INDEX 
  
 CRFC.1   LDM    FCT,T10     LOAD NEXT FRONT END CHANNEL TABLE ENTRY
          ZJN    CRFC.1A     EXIT IF TABLE ENTRY EMPTY
          LPN    77B         EXTRACT FRONT END CHANNEL NUMBER 
          LMD    T10+1       LESS THIS FRONT END CHANNEL NUMBER 
          ZJN    CRFC.2      EXIT IF FRONT END CHANNEL TABLE MATCH
  
 CRFC.1A  AOD    T10         INCREMENT FRONT END TABLE INDEX
          LMN    MAXFE       LESS ENDING VALUE
          NJN    CRFC.1      EXIT IF MORE TABLE ENTRIES 
          EREXIT CTE         EXIT TO ERROR - NO CHANNEL TABLE ENTRY 
  
 CRFC.2   LDC    -1S6        LOAD VALUE TO DECREMENT FRONT END COUNT
          RAM    FCT,T10     DECREMENT ACTIVE FRONT END COUNT 
          SCN    77B         CLEAR CHANNEL NUMBER 
          NJN    CRFCX       RETURN IF OTHER FRONT ENDS ON CHANNEL
          STM    FCT,T10     RESET FRONT END CHANNEL TABLE ENTRY
          LDN    DCHM        LOAD FUNCTION TO RELEASE CHANNEL 
          RJM    MTR         EXIT TO RELEASE FRONT END CHANNEL
          LDN    0           SET A-REGISTER TO ZERO 
          UJK    CRFCX       RETURN 
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(STATE/COMMAND PROCESSORS),T2=(BLOCK HANDLE
,R STATE PROCESSORS (FE)) 
  
          QUAL   STATES 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .NFE     SET    0
 BFIN     SPACE  2,50 
**               BLOCK HANDLER STATE PROCESSOR BFIN.
* 
*                BLOCK HANDLER STATE PROCESSOR BFIN PROCESSES AN
*                INOPERATIVE FRONT END.  IF THE FRONT END IS A NPU A
*                CHECK IS MADE TO DETERMINE IF THE NPU HAS A SYSTEM 
*                AUTOSTART MODULE.  IF THE NPU DOES NOT HAVE A SYSTEM 
*                AUTOSTART MODULE THE COMMAND ORDINAL IS SET TO REQUEST 
*                THE LOAD OF THE LOCAL NPU BOOTSTRAP AND THE BLOCK
*                HANDLER STATE RESPONSE ACTION IS EXECUTED.  THIS WILL
*                CAUSE THE LOAD REQUEST TO BE TRANSFERRED TO THE INBOUND
*                BUFFER.  IF THE NPU DOES HAS A SYSTEM AUTOSTART
*                MODULE OR THE FRONT END IS A MDI, THE BLOCK
*                HANDLER STATE WILL WAIT FOR A CHANGE OF STATE FOR THE
*                FRONT END.  A CHANGE OF STATE FOR THE NPU IS DEFINED 
*                AS A REQUEST FOR INITIALIZATION OR INITIALIZATION
*                COMPLETED STATUS FROM THE NPU.  THIS STATE CHANGE IS 
*                DETECTED IN NPU STATUS PROCESSING.  A CHANGE OF STATE
*                FOR THE MDI IS DEFINED AS A DETECTION OF A MDI IN
*                EITHER OPERATIONAL OR DIAGNOSTIC STATE.  IF OUTPUT IS
*                REQUESTED THE STREAM STATE RESPONSE ACTION FOR FRONT 
*                END INOPERATIVE IS EXECUTED.  IF AN ACTION IS REQUESTED
*                THE BLOCK RESPONSE ACTION FOR THAT ACTION IS EXECUTED. 
*                FOR THE NPU INPUT AVAILABLE IS CHECKED AND IF INPUT IS 
*                AVAILABLE THE STATUS DRIVER NOT READY FOR INPUT IS 
*                RETURNED TO THE NPU. 
* 
*                  ENTRY -
* 
*                     (BT) = OUTPUT BLOCK TYPE, IF ANY, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (FTY) = FRONT END TYPE.
* 
*                  CALLS -
* 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    CKIA - CHECK INPUT AVAILABLE FROM NPU, 
*                     GMS - OBTAIN MDI GENERAL STATUS,
*                    ESRA - EXECUTE STREAM RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION,
*                     FNC - FUNCTION NPU COUPLER. 
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BFIN     STATE              PROCESS INOPERATIVE FRONT END
          LDM    FTY,FEI     LOAD FRONT END TYPE
          NJN    BWFC        EXIT IF FRONT END IS MDI 
          RJM    GNBT        EXIT TO GET NBT HEADER ABSOLUTE ADDRESS
          CRD    T0          READ NETWORK BUFFER TABLE HEADER WORD
          LDD    T0+/NAM/C.NBTBS LOAD BUFFER STATUS BYTE
          SHN    17-/NAM/S.NBTSAM POSITION AUTOSTART MODULE FLAG TO SIGN
          MJN    BWFC        EXIT IF NPU HAS SAM MODULE 
          LDN    /TABLES/LBNP LOAD NPU BOOTSTRAP LOAD REQUEST ORDINAL 
  
 BFIN.1   LINK               ENTRY
          STD    CO          STORE COMMAND ORDINAL
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          PJN    BWFC.1      EXIT IF OUTPUT REQUESTED 
          ADN    1           PLUS ONE 
          NJN    BFIN.4      EXIT IF ACTION REQUESTED 
  
 BFIN.2   LINK               ENTRY
  
          LDN    /TABLES/.PRCM LOAD PROCESS COMMAND ACTION ORDINAL
  
 BFIN.3   LINK               ENTRY
          STD    CTL         STORE BLOCK HANDLER STATE ACTION ORDINAL 
          EXIT   BIAS.6      EXIT TO EXECUTE BLOCK RESPONSE ACTION
  
 BFIN.4   LINK               ENTRY
          EXIT   BIAS.5      EXIT TO STORE IVT COMMAND ORDINAL
  
 BWFC     SPACE  2,40 
**               BLOCK HANDLER STATE PROCESSOR BWFC.
* 
*                BLOCK HANDLER STATE PROCESSOR BWFC WAITS FOR A CHANGE
*                OF STATE FOR THE FRONT END.  A CHANGE OF STATE FOR THE 
*                NPU IS DEFINED AS A REQUEST FOR INITIALIZATION OR
*                INITIALIZATION COMPLETED STATUS FROM THE NPU.  THIS
*                STATE CHANGE IS DETECTED IN NPU STATUS PROCESSING.  A
*                CHANGE OF STATE FOR THE MDI IS DEFINED AS DETECTION OF 
*                THE MDI IN EITHER OPERATIONAL OR STARTING STATE. 
* 
*                IF OUTPUT IS REQUESTED THE STREAM STATE RESPONSE ACTION
*                FOR FRONT END INOPERATIVE IS EXECUTED.  IF AN ACTION 
*                IS REQUESTED THE BLOCK RESPONSE FOR THAT ACTION IS 
*                EXECUTED.
* 
*                NPU
* 
*                  INPUT AVAILABLE IS CHECKED AND IF INPUT IS AVAILABLE 
*                  THE STATUS DRIVER NOT READY FOR INPUT IS RETURNED TO 
*                  THE NPU. 
* 
*                MDI
* 
*                  OBTAIN DETAIL STATUS AND CHECK FOR PACER CHANNEL 
*                  PROTOCOL.  IF PACER PROTOCOL, EXECUTE PACER EQUIPMENT
*                  BLOCK RESPONSE ACTION. 
* 
*                  ENTRY -
* 
*                     (BT) = OUTPUT BLOCK TYPE, IF ANY, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (FTY) = FRONT END TYPE.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR ACTION,
*                    CKIA - CHECK INPUT AVAILABLE FROM NPU, 
*                     GMS - OBTAIN MDI GENERAL STATUS,
*                     FNC - FUNCTION CHANNEL, 
*                     ACN - ACTIVATE CHANNEL, 
*                    ASUD - ACCEPT UNPACKED INPUT DATA, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION,
*                    ESRA - EXECUTE DTREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION,
*                    BLOCK HANDLER STATE RESPONSE ACTION, 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 BWFC     STATE              WAIT FOR FRONT END STATE CHANGE
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          PJN    BWFC.1      EXIT IF OUTPUT REQUESTED 
          ADN    1           PLUS ONE 
          NJN    BFIN.4      EXIT IF ACTION REQUESTED 
          LDM    FTY,FEI     LOAD FRONT END TYPE
          NJN    BWFC.3      EXIT IF FRONT END IS MDI 
          FEIO   FEIA        EXIT TO CHECK FOR NPU INPUT AVAILABLE
          MJN    BWFC.2      EXIT IF NPU INPUT NOT AVAIABLE 
          EXIT   CEH.5       EXIT TO SET DRIVER NOT READY FOR INPUT 
  
 BWFC.1   LINK               ENTRY
  
          LDN    /TABLES/.SFEI LOAD FRONT END INOPERATIVE ACTION ORDINAL
  
          RJM    ESRA        EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 BWFC.2   EXIT   CEHX        RETURN VIA COUPLER EXCHANGE ROUTINE
  
 BWFC.3   LDN    /MSTATUS/START  VALUE OF MDI STARTING STATE
  
          STM    MGS,FEI     RESET SAVED MDI STATE TO STARTING STATE
          LDN    0           EXIT ERROR CONDITIONS FOR SUBROUTINE GMS 
          RJM    /MDI/GMS    EXIT TO OBTAIN MDI GENERAL STATUS
          MJN    BWFC.4      EXIT IF UNABLE TO OBTAIN MDI GENERAL STATUS
          NJN    BWFC.5      EXIT IF MDI NOT REPORTING ERROR
  
 BWFC.4   EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 BWFC.5   RJM    OMDS        EXIT TO OBTAIN MDI DETAILED STATUS 
          LDM    DRBUF+/MSTATUS/VERNO CHANNEL PROTOCOL VERSION
          STM    CHVER,FEI   STORE MDI CHANNEL PROTOCOL VERSION 
          SBK    /MSTATUS/MINV LESS MINIMUM SUPPORTED BY PIP
          PJN    BWFC.7      EXIT IF MDI GREATER THAN PIP MINIMUM 
  
 BWFC.6   EREXIT NSS         UNABLE TO SUPPORT MDI CHANNEL PROTOCOL 
  
 BWFC.7   SBK    /MSTATUS/MAXV-/MSTATUS/MINV LESS HIGHEST VERSION 
  
          MJN    BWFC.11     EXIT IF MDI LESS THAN PIP MAXIMUN
          LDM    CHVER,FEI   LOAD MDI CHANNEL PROTOCOL VERSION
          LPN    PACER       EXTRACT PACER PROTOCOL VERSIONS
          ZJN    BWFC.10     EXIT IF NOT PACER PROTOCOL ACTIVE
  
 BWFC.8   LDN    /NAM/W.NBTNS+4 OFFSET FOR CHANNEL PROTOCOL WORD
  
          RJM    GNBT        EXIT TO GET NETWORK BUFFER TABLE ADDRESS 
          CRD    T0          READ NETWORK BUFFER TABLE WORD 
          STD    T5+1        STORE LOW-ORDER OF BUFFER TABLE ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF BUFFER TABLE ADDRESS 
  
          LDM    DRBUF+/MSTATUS/VERNO CHANNEL PROTOCOL VERSION
  
          STD    T0+/NAM/C.NBTCV STORE CHANNEL PROTOCOL VERSION 
  
          LDD    T5          LOAD HIGH-ORDER OF BUFFER TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF BUFFER TABLE ADDRESS 
          CWD    T0          UPDATE NETWORK BUFFER TABLE WORD 
          LDM    CHVER,FEI   LOAD MDI CHANNEL PROTOCOL VERSION
          LPN    PACER       EXTRACT PACER PROTOCOL VERSIONS
          ZJN    BWFC.9      EXIT IF NOT PACER PROTOCOL 
  
          LDN    /TABLES/.MPAC-/TABLES/.MFOP DELTA FOR PACER PROTOCOL 
  
 BWFC.9   ADN    /TABLES/.MFOP LOAD MDI OPERATIONAL ACTION ORDINAL
  
          STD    CTL         STORE BLOCK HANDLER STATE ACTION ORDINAL 
          EXIT   BIAS.6      EXIT TO EXECUTE BLOCK RESPONSE ACTION
  
 BWFC.10  LDK    /MSTATUS/MAXV LOAD MAXIMUM PROTOCOL SUPPORTED BY PIP 
  
          STM    CHVER,FEI   SET CHANNEL PROTOCOL TO PIP MAXIMUM
  
 BWFC.11  LDM    CHVER,FEI   LOAD MDI CHANNEL PROTOCOL VERSION
  
          SBK    /MSTATUS/VERSION4 LESS VERSION THAT SUPPORTS REQUEST 
                                   PROTOCOL VERSION FUNCTION
  
          MJN    BWFC.15        EXIT UNABLE TO REQUEST PROTOCOL VERSION 
          LDM    MGS,FEI        LOAD MDI GENERAL STATUS 
  
          SHN    17-/MSTATUS/OPR POSITION OPERATION BIT TO SIGN 
  
          PJN    BWFC.12     EXIT IF MDI OPERATIONAL
  
          LDK    /FUNCTION/MCL MASTER CLEAR MDI FUNCTION CODE 
  
          RJM    /MDI/FNC    EXIT TO MASTER CLEAR MDI 
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 BWFC.12  LDK    /FUNCTION/RPV REQUEST PROTOCOL VERSION FUCNTION CODE 
  
          ADK    /MSTATUS/MAXV PLUS MAXIMUM PROTOCOL SUPPORTED BY PIP 
  
          RJM    /MDI/FNC    EXIT TO REQUEST CHANNEL PROTOCOL VERSION 
  
 BWFC.13  RJM    OMDS        EXIT TO OBTAIN MDI DETAIL STATUS 
  
          LDM    DRBUF+/MSTATUS/VERNO MDI CHANNEL PROTOCOL VERSION
  
          LMM    CHVER,FEI   LESS REQUIRED CHANNEL PROTOCOL VERSION 
          ZJN    BWFC.14     EXIT IF CHANNEL PROTOCOL MATCH 
          UJK    BWFC.6      UNABLE TO SUPPORT CHANNEL PROTOCOL VERSION 
  
 BWFC.14  UJK    BWFC.8      EXIT TO STORE CHANNEL PROTOCOL INTO NBT
  
 BWFC.15  LDN    /FUNCTION/SPV FUNCTION TO SET PROTOCOL VERSION 
  
          RJM    /MDI/FNC    EXIT TO ISSUE SET PROTOCOL VERSION FUNCTION
  
          LDN    /MDI/B.ABTNMS+/MDI/B.ABTMES SUBROUTINE GMS ERROR EXITS 
  
          RJM    /MDI/GMS    GET GENERAL STATUS 
          LDM    MGS,FEI     MDI GENERAL STATUS 
  
          SHN    17-/MSTATUS/SDT PERMISSION TO SEND TO SIGN 
  
          MJN    BWFC.16     EXIT IF SEND DATA ALLOWED
          EXIT   PPRU        RETURN VIA COUPLER EXCHANGE HANDLER
  
 BWFC.16  LDC    /FUNCTION/WDT  FUNCTION TO OUTPUT DATA 
  
          RJM    /MDI/FNC    EXIT TO ISSUE OUTPUT DATA FUNCTION 
          RJM    /MDI/ACN    EXIT TO ACTIVATE CHANNEL 
          LDN    0           CONSTANT ZERO
          STD    REOT        INITIALIZE REQUEST END OF TRANSFER FLAG
          STD    NCC         INITIALIZE MDI MESSAGE CHARACTER COUNT 
          STM    /MDI/CP     INITIALIZE MDI CHARACTER POSITION
          LDK    ZERL        LOAD ADDRESS OF ZERO WORD
  
          CRM    DRBUF+/MSTATUS/L.DS8,ON INITIALIZE DATA BUFFER 
  
          LDM    CHVER,FEI   LOAD DESIRED CHANNEL PROTOCOL VERSION
  
          STM    DRBUF+/MSTATUS/L.DS8+3 STORE DESIRED CHANNEL PROTOCOL
  
          LDC    DRBUF+/MSTATUS/L.DS8  ADDRESS OF OUTPUT MESSAGE
  
          STD    T1          SAVE STARTING ADDRESS OF TRANSFER
          LDN    6           LENGTH OF SET PROTOCOL VERSION MESSAGE 
          STD    T2          SAVE NO OF BYTE TO TRANSFER
          CLIO   FEOP        EXIT TO TRANSFER EIGHT BIT FORMATTED DATA
          RJM    /MDI/WEO    EXIT TO WAIT FOR END OF TRANSFER 
          UJK    BWFC.13     EXIT TO OBTAIN MDI DETAIL STATUS 
  
 BNRI     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BNRI.
* 
*                BLOCK HANDLER STATE PROCESSOR BNRI PROCESSES A NPU 
*                THAT HAS REQUESTED INITIALIZATION.  IF OUTPUT IS 
*                REQUESTED THE STREAM STATE RESPONSE ACTION FOR NPU 
*                INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT REQUESTED 
*                THE COMMAND ORDINAL IS SET TO REQUEST THE LOAD OF A
*                FRONT END NPU AND THE BLOCK HANDLER STATE RESPONSE 
*                ACTION IS EXECUTED.  THIS WILL CAUSE THE LOAD REQUEST
*                TO BE TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BNRI     STATE              PROCESS NPU REQUEST FOR INITIALIZATION 
  
          LDN    /TABLES/LLNP LOAD NPU LOAD REQUEST COMMAND ORDINAL 
  
          EXIT   BFIN.1      EXIT TO STORE STORE COMMAND ORDINAL
 BNIC     SPACE  2,34 
**               BLOCK HANDLER STATE PROCESSOR BNIC.
* 
*                BLOCK HANDLER STATE PROCESSOR BNIC PROCESSES A NPU 
*                THAT HAS REPORTED INITIALIZATION COMPLETED.  IF OUTPUT 
*                IS REQUESTED THE STREAM STATE RESPONSE ACTION FOR NPU
*                INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT REQUESTED 
*                THE COMMAND ORDINAL IS SET TO REQUEST THE REGULATION 
*                LEVEL OF THE HOST AND THE BLOCK HANDLER STATE RESPONSE 
*                ACTION IS EXECUTED.  THIS WILL CAUSE THE REQUEST HOST
*                REGULATION LEVEL TO BE TRANSFERRED TO THE INBOUND
*                BUFFER AND THE HOST REGULATION LEVEL ZERO INDICATED
*                TO THE NPU.
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BNIC     STATE              PROCESS NPU INITIALIZATION COMPLETED 
  
          LDN    /TABLES/RQRL LOAD REQUEST HOST REGULATION LEVEL ORDINAL
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BCEM     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BCEM.
* 
*                BLOCK HANDLER STATE PROCESSOR BCEM PROCESSES AN ERROR
*                CONDITION DETECTED BY THE DRIVER.  IF OUTPUT IS
*                REQUESTED THE STREAM STATE RESPONSE ACTION FOR NPU 
*                INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT REQUESTED 
*                THE COMMAND ORDINAL IS SET TO CE ERROR MESSAGE AND THE 
*                BLOCK HANDLER STATE RESPONSE ACTION IS EXECUTED.  THIS 
*                WILL CAUSE THE CE ERROR MESSAGE TO BE TRANSFERRED TO 
*                THE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BCEM     STATE              PROCESS DRIVER DETECTED ERROR
  
          LDN    /TABLES/CEER LOAD CE ERROR MESSAGE COMMAND ORDINAL 
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BSRZ     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BSRZ.
* 
*                BLOCK HANDLER STATE PROCESSOR BSRZ PROCESSES A 
*                TERMINATION OF TRAFFIC TO THE FRONT END.  IF OUTPUT IS 
*                REQUESTED THE STREAM STATE RESPONSE ACTION FOR FRONT 
*                END INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT 
*                REQUESTED THE COMMAND ORDINAL IS SET TO REGULATION 
*                LEVEL ZERO AND THE BLOCK HANDLER STATE RESPONSE ACTION 
*                IS EXECUTED.  THIS WILL CAUSE THE REGULATION LEVEL ZERO
*                COMMAND TO BE TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BSRZ     STATE              PROCESS TERMINATION OF TRAFFIC TO FRONT END
  
          LDN    /TABLES/STR0 REGULATION LEVEL ZERO COMMAND ORDINAL 
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BSFO     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BSFO.
* 
*                BLOCK HANDLER STATE PROCESSOR BSFO PROCESSES A FRONT 
*                END THAT HAS BEEN TURNED OFF.  IF OUTPUT IS REQUESTED
*                THE STREAM STATE RESPONSE ACTION FOR FRONT END 
*                INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT REQUESTED 
*                THE COMMAND ORDINAL IS SET TO FRONT END TURNED OFF AND 
*                THE BLOCK HANDLER STATE RESPONSE ACTION IS EXECUTED. 
*                THIS WILL CAUSE THE FRONT END TURNED OFF COMMAND TO BE 
*                TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BSFO     STATE              GENERATE FRONT END TURNED OFF COMMAND
  
          LDN    /TABLES/FETO FRONT END TURNED OFF COMMAND ORDINAL
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BRMI     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BRMI.
* 
*                BLOCK HANDLER STATE PROCESSOR BRMI PROCESSES A MDI 
*                THAT IS IN DIAGNOSTIC STATE.  IF OUTPUT IS REQUESTED 
*                THE STREAM STATE RESPONSE ACTION FOR FRONT END 
*                INOPERATIVE IS EXECUTED.  IF OUTPUT IS NOT REQUESTED 
*                THE COMMAND ORDINAL IS SET TO REQUEST MDI
*                INITIALIZATION AND THE BLOCK HANDLER STATE RESPONSE
*                ACTION IS EXECUTED.  THIS WILL CAUSE THE REQUEST MDI 
*                INITIALIZATION COMMAND TO BE TRANSFERRED TO THE
*                INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BRMI     STATE              GENERATE REQUEST MDI INITIALIZATION COMMAND
  
          LDN    /TABLES/RIMD REQUEST MDI INITIALIZATION COMMAND ORDINAL
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BLTO     SPACE  2,32 
**               BLOCK HANDLER STATE PROCESSOR BLTO.
* 
*                BLOCK HANDLER STATE PROCESSOR BLTO PROCESSES A NPU THAT
*                HAS BEEN TIMED OUT WHILE LOADING THE BOOTSTRAP LOAD
*                MODULE.  IF OUTPUT IS REQUESTED THE STREAM STATE 
*                RESPONSE ACTION FOR NPU INOPERATIVE IS EXECUTED.  IF 
*                OUTPUT IS NOT REQUESTED THE COMMAND ORDINAL IS SET TO
*                BOOTSTRAP LOAD TIMEOUT AND THE BLOCK HANDLER STATE 
*                RESPONSE ACTION IS EXECUTED.  THIS WILL CAUSE THE
*                BOOTSTRAP LOAD TIMEOUT COMMAND TO BE TRANSFERRED TO
*                THE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BLTO     STATE              GENERATE BOOTSTRAP LOAD TIMEOUT COMMAND
  
          LDN    /TABLES/BLTO BOOTSTRAP LOAD TIMEOUT COMMAND ORDINAL
  
          EXIT   BFIN.1      EXIT TO STORE COMMAND ORDINAL
 BNLD     SPACE  2,28 
**               BLOCK HANDLER STATE PROCESSOR BNLD.
* 
*                BLOCK HANDLER STATE PROCESSOR BNLD PROCESSES A NPU THAT
*                IS BEING LOADED.  IF OUTPUT IS REQUESTED THE STREAM
*                STATE RESPONSE ACTION FOR NPU INOPERATIVE IS EXECUTED. 
*                IF AN ACTION IS REQUESTED THE BLOCK HANDLER RESPONSE 
*                FOR THE ACTION IS EXECUTED.  IF NEITHER OUTPUT OR AN 
*                ACTION IS REQUESTED INPUT AVAILABLE IS CHECKED.
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BNLD     STATE              PROCESS NPU LOAD 
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          MJN    BWLD.1      EXIT IF OUTPUT NOT REQUESTED 
          EXIT   BWFC.1      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 BWLD.1   ADN    1           PLUS ONE 
          NJN    BWLD.2      EXIT IF ACTION REQUESTED 
          EXIT   CEH.3       EXIT TO INPUT IF NO OUTPUT OR ACTION 
  
 BWLD.2   EXIT   BIAS.5      EXIT TO STORE IVT COMMAND ORDINAL
 BNLB     SPACE  2,34 
**               BLOCK HANDLER STATE PROCESSOR BNLB.
* 
*                BLOCK HANDLER STATE PROCESSOR BNLB PROCESSES A NPU THAT
*                IS BEING LOADED WITH THE BOOTSTRAP PROGRAM.  IF OUTPUT 
*                IS REQUESTED THE STREAM STATE RESPONSE ACTION FOR NPU
*                INOPERATIVE IS EXECUTED.  IF AN ACTION IS REQUESTED
*                THE BOOTSTRAP LOAD TIMER IS RESET AND THE BLOCK HANDLER
*                RESPONSE FOR THE ACTION IS EXECUTED.  IF NEITHER OUTPUT
*                OR AN ACTION IS REQUESTED THE BOOTSTRAP LOAD TIMER IS
*                CHECKED AND IF EXPIRED THE BOOTSTRAP LOAD IS ABORTED.
* 
*                  ENTRY -
* 
*                     (BT) = OUTPUT BLOCK TYPE, IF ANY, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (DTM) = BOOTSTRAP LOAD DEAD TIMER. 
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BNLB     STATE              PROCESS NPU LOAD BOOTSTRAP 
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          PJN    BWRR.1      EXIT IF OUTPUT REQUESTED 
          ADN    1           PLUS ONE 
          STD    T0          STORE ACTION REQUESTED INDICATOR 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T0          LOAD ACTION REQUESTED INDICATOR
          NJN    BNLB.1      EXIT IF ACTION REQUESTED 
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          SBM    DTM,FEI     LESS BOOTSTRAP LOAD DEAD TIMER VALUE 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    BNLB.2      EXIT IF LOAD DEAD TIMER NOT EXPIRED
  
          LDN    /TABLES/.BLTO LOAD LOADER TIMEOUT ACTION ORDINAL 
  
          EXIT   BFIN.3      EXIT TO STORE BLOCK RESPONSE ACTION ORDINAL
  
 BNLB.1   LDD    T1+1        LOAD SYSTEM SECOND TIME
          ADK    Q.BSDEAD    PLUS BOOTSTRAP LOAD TIMEOUT QUANTUM
          STM    DTM,FEI     SET NPU DEAD TIMER TO BOOTSTRAP LOAD TIMER 
          EXIT   BIAS.5      EXIT TO STORE IVT COMMAND ORDINAL
  
 BNLB.2   LINK               ENTRY
          EXIT   CEHX        RETURN VIA COUPLER EXCHANGE ROUTINE RETURN 
 BWRR     SPACE  2,30 
*                BLOCK HANDLER STATE PROCESSOR BWRR.
* 
*                BLOCK HANDLER STATE PROCESSOR BWRR PROCESSES A FRONT 
*                END WAITING FOR A REGULATION LEVEL ZERO RESPONSE.  IF
*                OUTPUT IS REQUESTED THE STREAM STATE RESPONSE ACTION 
*                FOR FRONT END INOPERATIVE IS EXECUTED.  IF AN ACTION IS
*                REQUESTED THE BLOCK HANDLER RESPONSE FOR THE ACTION
*                IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (BT) = OUTPUT BLOCK TYPE, IF ANY.
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BWRR     STATE              PROCESS WAIT REGULATION LEVEL ZERO RESPONSE
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          MJN    BWRR.2      EXIT IF OUTPUT NOT REQUESTED 
  
 BWRR.1   LINK               ENTRY
          EXIT   BWFC.1      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 BWRR.2   ADN    1           PLUS ONE 
          ZJN    BNLB.2      EXIT IF ACTION NOT REQUESTED 
  
 BWRR.3   LINK               ENTRY
          EXIT   BIAS.5      EXIT TO STORE IVT COMMAND ORDINAL
 BWIN     SPACE  2,44 
**               BLOCK HANDLER STATE PROCESSOR BWIM.
* 
*                BLOCK HANDLER STATE PROCESSOR BWIM WAITS FOR THE MDI 
*                TO BECOME AVAILABLE.  IF OUTPUT IS REQUESTED THE STREAM
*                STATE RESPONSE ACTION FOR FRONT END INOPERATIVE IS 
*                EXECUTED.  IF AN ACTION IS REQUESTED THE BLOCK RESPONSE
*                ACTION FOR THAT ACTION IS EXECUTED.  IF A TIMER IS 
*                ACTIVE A CHECK IS MADE TO SEE IF THE TIMER HAS EXPIRED.
*                OTHERWISE THE EST ENTRY FOR THE MDI IS CHECKED FOR 
*                BEING INTERLOCKED.  IF THE EST ENTRY IS NOT INTERLOCKED
*                THE EQUIPMENT AND ITS CHANNEL ARE REQUESTED FROM THE 
*                SYSTEM AND THE BLOCK HANDLER STATE RESPONSE ACTION FOR 
*                MDI AVAILABLE IS EXECUTED. 
* 
*                  ENTRY -
* 
*                     (BT) = OUTPUT BLOCK TYPE, IF ANY, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CHN) = MDI CHANNEL NUMBER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MULTIPLE EQUIPMENTS OF CHANNEL, 
*                    EXIT TO *ERROR* IF NO EMPTY CHANNEL TABLE ENTRY. 
* 
*                  CALLS -
* 
*                    EOIA - EXECUTE OUTPUT INITIATOR RESPONSE ACTION, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                    EBRA - EXECUTE BLOCK STATE RESPONSE ACTION,
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     MTR - REQUEST EQUIPMENT AND CHANNEL.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT INITIATOR RESPONSE ACTION PROCESSOR,
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
  
  
 BWIM     STATE              WAIT FOR INTERLOCKED MDI 
          RJM    EOIA        EXIT TO EXECUTE OUTPUT INITIATOR ACTION
          PJN    BWRR.1      EXIT IF OUTPUT REQUESTED 
          ADN    1           PLUS ONE 
          NJN    BWRR.3      EXIT IF ACTION REQUESTED 
          LDM    CTM,FEI     LOAD PROTOCOL VERSION CHECK TIMER
          ZJN    BWIM.2      EXIT IF TIMER NOT ACTIVE 
          LDK    RTCL        ADDRESS OF SYSTEM REAL TIME CLOCK
          CRD    T0          READ SYSTEM REAL TIME CLOCK
          LDD    T0+1        SYSTEM SECOND TIME 
          SBM    CTM,FEI     LESS TIME FOR PROTOCOL VERSION CHECK 
          SHN    5+1         POSITION CARRY BIT TO SIGN 
          PJN    BWIM.2      EXIT IF TIMER HAS EXPIRED
  
 BWIM.1   EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 BWIM.2   LDN    /NAM/W.NBTFP DELTA FOR NBT HEADER WORD 
  
          RJM    GNBT        EXIT TO GET NBT HEADER ABSOLUTE ADDRESS
          CRD    T0          READ EQUIPMENT WORD FROM BUFFER TABLE
  
          LDD    T0+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE
  
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL OF FRONT END 
  
          STD    T10+1       STORE ORDINAL FOR POSSIBLE REQUEST 
          STD    T6          SAVE EST ORDINAL 
          SFA    EST,T10+1   GENERATE ADDRESS OF EST ENTRY
          ADK    EQDE        PLUS OFFSET FOR QUIPMEN DESCRIPTION WORD 
          CRD    T0          READ EQUIPMENT DESCRIPTION WORD
          LDD    T0+0        LOAD EQUIPMENT INTERLOCK BYTE FROM EST 
          SHN    17-9        POSITION EQUIPMENT INTERLOCK FLAG TO SIGN
          PJN    BWIM.24     EXIT IF EQUIPMENT NOT INTERLOCKED
          LDK    RTCL        REAL TIME SYSTEM CLOCK 
          CRD    T0          READ SYSTEM TIME 
          LDD    T0+1        SYSTEM TIME IN SECONDS 
          SBM    ECT,FEI     MAXIMUM NUMBER OF SECONDS TO WAIT
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    BWIM.1      EXIT IF TIMER NOT EXPIRED
  
 BWIM.24  LDN    0           CONSTANT OF ZERO 
          STD    T10+2       STORE NORMAL REQUEST SUBFUNCTION 
          LDN    REQM        LOAD MONITOR FUNCTION TO REQUEST EQUIPMENT 
          RJM    MTR         EXIT TO REQUEST EQUIPMENT FROM SYSTEM
          LDD    T10+1       LOAD SYSTEM REPLY BYTE 
          ZJN    BWIM.5      EXIT IF EQUIPMENT NOT AVAILABLE
          STD    T0          SET NO EMPTY CHANNEL TABLE ENTRY FOUND 
          LDN    MAXFE-1     LOAD FRONT END CHANNEL TABLE LENGTH
          STD    T1          INITIALIZE FRONT END CHANNEL TABLE INDEX 
  
 BWIM.3   LDM    FCT,T1      LOAD NEXT FRONT END CHANNEL TABLE ENTRY
          ZJN    BWIM.7      EXIT IF FRONT END CHANNEL TABLE ENTRY EMPTY
          SBM    CHN,FEI     LESS CHANNEL FOR THIS FRONT END
          LPN    77B         EXTRACT CHANNEL BITS 
          NJN    BWIM.8      EXIT IF NO FRONT END CHANNEL TABLE MATCH 
  
 BWIM.4   EREXIT CTE         EXIT TO ERROR - CHANNEL TABLE ERROR
  
 BWIM.5   LDM    CTM,FEI     LOAD PROTOCOL VERSION CHECK TIMER VALUE
          ZJN    BWIM.6      EXIT IF TIMER NOT ACTIVE 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL TIME CLOCK 
          CRD    T0          READ SYSTEM REAL TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.CHPRT     PLUS CHANNEL PROTOCOL CHECK INTERVAL 
          STM    CTM,FEI     SET CHECK CHANNEL PROTOCOL TIME
  
 BWIM.6   EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 BWIM.7   STD    T0          SET EMPTY CHANNEL TABLE ENTRY FOUND
          LDD    T1          LOAD FRONT END CHANNEL TABLE INDEX 
          STD    T2          STORE INDEX OF EMPTY TABLE ENTRY 
  
 BWIM.8   SOD    T1          DECREMENT FRONT END CHANNEL TABLE INDEX
          PJN    BWIM.3      EXIT IF MORE TABLE ENTRIES TO PROCESS
          LDD    T0          LOAD EMPTY TABLE ENTRY FOUND INDICATOR 
          NJN    BWIM.4      EXIT IF NO EMPTY TABLE ENTRY FOUND 
          LDM    CHN,FEI     LOAD FRONT END CHANNEL NUMBER
          STD    T10+1       STORE CHANNEL FOR REQUEST FUNCTION 
          ADC    1S6         PLUS COUNT FOR ONE ACTIVE EQUIPMENT
          STM    FCT,T2      STORE FRONT END CHANNEL TABLE ENTRY
          LDN    RCHM        LOAD MONITOR FUNCTION TO REQUEST CHANNEL 
          RJM    MTR         EXIT TO REQUEST FRONT END CHANNEL
          LDN    1           CONSTANT OF ONE
          STM    FTY,FEI     SET EQUIPMENT TYPE TO AVAILABLE MDI
          LDN    0           CONSTANT OF ZERO 
          STM    CTM,FEI     RESET CHECK CHANNEL PROTOCOL TIME
          STM    ECT,FEI     REINITIALIZE COUNTER 
          STD    T10+4       SAVE NO FLAGS TO SET BYTE
          LDN    4           SUBFUNCTION CODE TO CHANGE BYTE 0
          STD    T10+2       SAVE SUBFUNCTION CODE FOR REQUEST
          LDC    7777B&1S9   MASK TO CLEAR INTERLOCK FLAG 
          STD    T10+3       SAVE MASK FOR EQUIPMENT STATUS TABLE BYTE
          LDD    T6          SET EST ORDINAL
          STD    T10+1       STORE ORDINGAL FOR REQUEST 
          LDN    SEQM        MTR FUNCTION TO SET EQUIPMENT PARAMETERS 
          RJM    MTR         EXIT TO RESET EQUIPMENT INTERLOCKED FLAG 
  
          LDN    /TABLES/.MDAV LOAD MDI AVAILABLE ACTION ORDINAL
  
          EXIT   BFIN.3      EXIT TO STORE BLOCK RESPONSE ACTION ORDINAL
 BRFE     SPACE  2,20 
**               BLOCK HANDLER STATE PROCESSOR BRFE.
* 
*                BLOCK HANDLER STATE PROCESSOR BRFE RELEASES THE
*                MDI EQUIPMENT AND THE CHANNEL USED BY THE MDI. 
* 
*                  CALLS -
* 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     MTR - RELEASE EQUIPMENT AND CHANNEL.
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF MULTIPLE EQUIPMENTS ON CHANNEL. 
  
  
 BRFE     STATE              RELEASE MDI EQUIPMENT AND CHANNEL
  
          LDN    /NAM/W.NBTFP DELTA FOR NBT HEADER WORD 
  
          RJM    GNBT        EXIT TO GET NBT HEADER ABSOLUTE ADDRESS
          CRD    T0          READ EST POINTER WORD FROM BUFFER TABLE
  
          LDD    T0+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE
  
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL OF FRONT END 
  
          STD    T10+1       STORE ORDINAL OF FRONT END 
          LDN    DEQM        LOAD FUNCTION TO RELEASE EQUIPMENT 
          RJM    MTR         EXIT TO RELEASE EQUIPMENT
          LDM    CHN,FEI     LOAD FRONT END CHANNEL NUMBER
          LPN    77B         EXTRACT FRONT END CHANNEL NUMBER 
          STD    T10+1       FRONT END CHANNEL FOR POSSIBLE RELEASE 
          LDN    0           CONSTANT OF ZERO 
          STD    T10         INITIALIZE FRONT END CHANNEL TABLE INDEX 
  
 BRFE.1   LDM    FCT,T10     LOAD NEXT FRONT END CHANNEL TABLE ENTRY
          ZJN    BRFE.2      EXIT IF TABLE ENTRY EMPTY
          LPN    77B         EXTRACT FRONT END CHANNEL NUMBER 
          LMD    T10+1       LESS THIS FRONT END CHANNEL NUMBER 
          ZJN    BRFE.4      EXIT IF FRONT END CHANNEL TABLE MATCH
  
 BRFE.2   AOD    T10         INCREMENT FRONT END TABLE INDEX
          LMN    MAXFE       LESS ENDING VALUE
          NJN    BRFE.1      EXIT IF MORE TABLE ENTRIES 
  
 BRFE.3   EREXIT CTE         EXIT TO ERROR - NO CHANNEL TABLE ENTRY 
  
 BRFE.4   LDC    -1S6        LOAD VALUE TO DECREMENT FRONT END COUNT
          RAM    FCT,T10     DECREMENT ACTIVE FRONT END COUNT 
          SCN    77B         CLEAR CHANNEL NUMBER 
          NJN    BRFE.3      RETURN IF OTHER FRONT ENDS ON CHANNEL
          STM    FCT,T10     RESET FRONT END CHANNEL TABLE ENTRY
          LDN    DCHM        LOAD FUNCTION TO RELEASE CHANNEL 
          RJM    MTR         EXIT TO RELEASE MDI CHANNEL
  
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL TIME CLOCK 
          CRD    T0          READ SYSTEM REAL TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.CHPRT     PLUS CHANNEL PROTOCOL CHECK INTERVAL 
          STM    CTM,FEI     SET CHECK CHANNEL PROTOCOL TIME
          LDN    2           TYPE FOR UNAVAILABLE MDI 
          STM    FTY,FEI     SET EQUIPMENT TYPE TO UNAVAILABLE MDI
  
          LDN    /TABLES/.MDRL LOAD MDI RELEASED ACTION ORDINAL 
  
          EXIT   BFIN.3      EXIT TO STORE BLOCK RESPONSE ACTION ORDINAL
OMDS      SPACE  2,24 
**               SUBROUTINE OMDS. 
* 
*                SUBROUTINE OMDS OBTAINS THE
*                DETAIL STATUS OF THE CURRENT MDI.
* 
*                  EXIT - 
* 
*                    (DRBUF + L.DS8) = MDI DETAIL STATUS. 
* 
*                  CALLS -
* 
*                     FNC - FUNCTION MDI, 
*                     ACN - ACTIVATE CHANNEL, 
*                    ASUD - ACCEPT UNPACKED DATA, 
**                    GMS - OBTAIN MDI GENERAL STATUS.
  
  
 OMDS     SUBR               ENTRY/EXIT 
  
          LDN    /FUNCTION/RDS  READ DETAILED STATUS FUNCTION CODE
  
          RJM    /MDI/FNC    EXIT TO ISSUE READ DETAILED STATUS FUNCTION
          RJM    /MDI/ACN    EXIT TO ACTIVATE CHANNEL 
  
          LDN    /MSTATUS/L.DS8  LENGTH OF DETAILED STATUS
  
          STM    /MDI/MC     MESSAGE CHARACTER COUNT
          LDN    0           CONSTANT ZERO
          STD    NCC         INITIALIZE INPUT CHARACTER COUNTER 
          STM    /MDI/CP     RESET CURRENT CHARACTER POSITION 
          LDC    DRBUF       FWA OF BUFFER TO HOLD DETAILED STATUS
          STD    T1          SAVE FOR I/O TRANSFER ROUTINE
  
          ADN    /MSTATUS/L.DS8-1 PLUS LENGTH OF BUF FOR DETAILED STATUS
  
          RJM    ASUD        EXIT TO INPUT DETAILED STATUS FROM MDI 
  
          LDN    /MDI/B.ABTNMS+/MDI/B.ABTMES  SET ERROR EXIT CONDITIONS 
  
          RJM    /MDI/GMS    EXIT TO GET GENERAL STATUS 
          UJK    OMDSX       RETURN 
 PDCM     TITLE  DRIVER SUPPORT PROCESSORS. 
 PDCM     SPACE  2,38 
          QUAL
*                RESET LINKS
  
 .ERROR   SET    0
 .EOIAX   SET    0
  
**               DRIVER SUPPORT PROCESSOR PDCM. 
* 
*                DRIVER SUPPORT PROCESSOR PDCM PROCESSES AN IVT COMMAND 
*                ADDRESS TO A FRONT END ON THE SERVICE CHANNEL. 
* 
*                  ENTRY -
* 
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER, 
*                       (CBA-CBA+1) = CURRENT ABSOLUTE BUFFER ADDRESS,
*                             (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM. 
* 
*                  EXIT - 
* 
*                                   (A) = MINUS TWO,
*                    (PCBUF-PCBUF+L.CM) = PACKED COMMAND, 
*                        (CHB-CHB+L.CH) = COMMAND HEADER, 
*                    (DRBUF-DRBUF+L.CM) = UNPACKED COMMAND, 
*                                 (T17) = COMMAND ORDINAL,
*                                 (CTL) = BLOCK HANDLER STATE 
*                                         RESPONSE ACTION ORDINAL,
*                                  (OW) = NPU ORDER WORD IMAGE. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF IVT OUTPUT PARAMETER ERROR, 
*                    EXIT TO *ERROR* IF IVT COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    UPD - UNPACK DATA, 
*                    TLU = TABLE LOOKUP,
**                   GTE - GET TABLE ENTRY. 
  
  
 PDCM     LINK               ENTRY
          LDM    NNH+/NAM/C.CBT LOAD APPLICATION CHARACTER TYPE BYTE
          SHN    -/NAM/S.ACT APPLICATION CHARACTER TYPE TO LOW-ORDER
          LPN    /NAM/L.ACT  EXTRACT APPLICATION CHARACTER TYPE 
          LMN    /TABLES/PEB LESS PACKED EIGHT BIT CHARACTER TYPE 
          NJN    PDCM.1      EXIT IF NOT PACKED EIGHT BIT CHARACTERS
          LDC    L.DBCM*15/2 LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDC    FEOP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          STD    OCP         STORE ADDRESS OF OUTPUT CHARACTER PROCESSOR
          LDM    NBH+/NAM/C.BWD+1 LOAD COMMAND TEXT WORD LENGTH 
          STD    T17         STORE CENTRAL WORD COUNT 
          SBN    PCBOCM+1    LESS PACKED COMMAND BUFFER WORD LENGTH 
          MJN    PDCM.2      EXIT IF COMMAND TEXT LENGTH IN RANGE 
  
 PDCM.1   EREXIT IOC         EXIT TO ERROR - ILLEGAL OUTPUT COMMAND 
  
 PDCM.2   LDD    CBA         LOAD HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF ABSOLUTE BUFFER ADDRESS
          CRM    PCBUFO,T17  READ PACKED COMMAND TEXT 
          LDC    PCBUFO      LOAD ADDRESS OF PACKED COMMAND BUFFER
          STD    T1          STORE SOURCE DATA ADDRESS
          LDC    NCH         LOAD ADDRESS OF COMMAND HEADER BUFFER
          STD    T2          STORE DESTINATION DATA ADDRESS 
          LDM    NNH+/NAM/C.MCC LOAD COMMAND TEXT LENGTH IN CHARACTERS
          RJM    /2IQ/UPD    EXIT TO UNPACK COMMAND TEXT
          LDM    NCH+/BLOCK/SFC LOAD SECONDARY FUNCTION CODE
          SCN    17B         CLEAR LOW-ORDER BITS 
          NJN    PDCM.1      EXIT SECONDARY FUNCTION CODE OUT OF RANGE
          LDM    NCH+/BLOCK/PFC LOAD PRIMARY FUNCTION CODE
          SHN    4           POSITION TO TABLE FORMAT 
          ADM    NCH+/BLOCK/SFC PLUS SECONDARY FUNCTION CODE
          STD    TAR         STORE TABLE ARGUMENT 
          LDC    /TABLES/NIOC LOAD ADDRESS OF OUTPUT COMMAND TABLE
          RJM    TLU         EXIT TO FIND OUTPUT COMMAND TABLE ENTRY
          MJN    PDCM.6      EXIT IF COMMAND NOT IN TABLE 
          STD    T17         STORE COMMAND ORDINAL
          LMN    /TABLES/OVER LESS VALUE FOR OVERLAY COMMAND
          NJN    PDCM.3      EXIT IF NOT OVERLAY COMMAND
          LDM    DRBUF+/BLOCK/FUNC LOAD OVERLAY FUNCTION CODE 
          RAD    T17         ADD TO COMMAND ORDINAL 
          SBN    /TABLES/OVMX LESS MAXIMUM VALID COMMAND ORDINAL
          PJN    PDCM.6      EXIT IF OVERLAY FUNCTION CODE NOT IN TABLE 
  
 PDCM.3   LDD    T17         LOAD COMMAND ORDINAL 
          LMN    /TABLES/CGRL LESS VALUE FOR CHANGE REGULATION LEVEL
          ZJN    PDCM.7      EXIT IF CHANGE REGULATION LEVEL
  
 PDCM.4   LDC    /TABLES/NICR FWA OF IVT COMMAND RESPONSE TABLE 
          ADD    T17         PLUS IVT COMMAND ORDINAL 
          RJM    GTE         EXIT TO GET RESPONSE TABLE ENTRY 
  
 PDCM.5   STD    CTL         STORE BLOCK HANDLER STATE RESPONSE ACTION
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          ADN    /BLOCK/L.BH PLUS NPU BLOCK HEADER CHARACTER LENGTH 
          ADN    16-1        ROUND UP FOR MODULUS SIXTEEN 
          SHN    -4          CHARACTER LENGTH MODULUS SIXTEEN 
          STD    OW          STORE LENGTH IN NPU ORDER WORD FORMAT
          LDD    OPL         LOAD OUTPUT PRIORITY LEVEL 
          SHN    /NORDER/S.NPUOL PRIORITY TO ORDER WORD FORMAT
          RAD    OW          ADD TO OUTPUT BLOCK LENGTH 
          LCN    2           SET A-REGISTER TO MINUS TWO
          EXIT   EOIAX       RETURN VIA OUTPUT INITIATOR ACTION RETURN
  
 PDCM.6   LDN    /TABLES/.CMPT LOAD ACTION TO ALLOW PASS THROUGH
          UJK    PDCM.5      EXIT TO STORE BLOCK STATE RESPONSE ACTION
  
 PDCM.7   LDM    DRBUF+/BLOCK/REGR LOAD REGULATION RESPONSE FLAG
          LPN    1           EXTRACT REGULATION RESPONSE FLAG 
          RAD    T17         ADD TO COMMAND ORDINAL 
          UJK    PDCM.4      EXIT TO GET RESPONSE TABLE ENTRY 
  
  
 PIOF     SPACE  2,34 
**               DRIVER SUPPORT PROCESSOR PIOF. 
* 
*                DRIVER SUPPORT PROCESSOR PIOF PROCESSES AN 
*                OUTPUT TO THE FRONT END THAT REQUIRES FLOW CONTROL.  A 
*                CHECK IS MADE TO ASSURE THAT THE NETWORK BLOCK LIMIT IS
*                NOT EXCEEDED FOR THE STREAM.  THE BLOCK SERIAL NUMBER
*                FOR THE TRANSFER IS OBTAINED AND THE BLOCK SERIAL
*                NUMBER IS UPDATED FOR THE NEXT TRANSFER.  THE
*                OUTSTANDING OUTPUT BACK COUNT IS INCREMENTED TO REFLECT
*                THE CURRENT TRANSFER TO THE FRONT END. 
* 
*                  ENTRY -
* 
*                         (BSBN) = BLOCK SERIAL NUMBERS AND BACK COUNTS,
*                          (NBL) = NETWORK BLOCK LIMT FOR STREAM, 
*                     (BHB+BNBT) = OUTPUT PRIORITY FOR STREAM,
*                          (OPL) = OUTPUT PRIORITY LEVEL FOR STREAM,
*                    (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT.
* 
*                  EXIT - 
* 
*                          (OW) = NPU ORDER WORD IMAGE, 
*                        (BSBN) = UPDATED FOR CURRENT TRANSFER, 
*                    (BHB+BNBT) = OUTPUT PRIORITY AND BLOCK NUMBER. 
* 
*                  ERROR EXITS -
* 
**                   EXIT TO *ERROR* IF FLOW CONTROL LOGIC ERROR. 
  
  
 PIOF     LINK               CHECK OUTPUT FLOW CONTROL
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          SBD    NBL         LESS NETWORK BLOCK LIMIT FOR STREAM
          MJN    *+3         EXIT IF NETWORK BLOCK LIMIT NOT REACHED
          LJM    /ACTIONS/OIOF.2 EXIT IF NETWORK BLOCK LIMIT EXCEEDED 
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/M.OBN  EXTRACT OUTPUT BLOCK SERIAL NUMBER 
          STD    T0          STORE OUTPUT BLOCK SERIAL NUMBER 
          LMD    BSBC        RESET OUTPUT BLOCK SERIAL NUMBER 
          STD    BSBC        STORE BLOCK SERIAL NUMBERS AND BACK COUNTS 
          LDD    T0          LOAD OUTPUT BLOCK SERIAL NUMBER
          SHN    /BLOCK/S.BSN-/NAM/S.OBN POSITION TO NPU FORMAT 
          RAM    BHB+/BLOCK/BNBT ADD TO BLOCK PRIORITY FOR STREAM 
          LDD    T0          LOAD OUTPUT BLOCK SERIAL NUMBER
          ADN    /NAM/I.OBN&/NAM/I.OBC INCREMENT NUMBER AND BACK COUNT
          LPN    /NAM/M.OBN&/NAM/L.OBC EXTRACT NUMBER AND BACK INCREMENT
          RAD    BSBC        ADD TO BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/M.OBN  EXTRACT NEXT OUTPUT BLOCK SERIAL NUMBER
          NJN    PIOF.1      EXIT IF NO COUNTER WRAP AROUND 
          LDN    /NAM/I.OBN  LOAD INCREMENT FOR BLOCK SERIAL NUMBER 
          RAD    BSBC        FORCE OUTPUT BLOCK NUMBER TO MINIMUM VALUE 
  
 PIOF.1   LJM    /ACTIONS/OIOT.2 EXIT TO CALCULATE OUTPUT ORDER WORD
 UPD      SPACE  2,26 
          QUAL   2IQ
  
  
**               SUBROUTINE UPD.
* 
*                SUBROUTINE UPD UNPACKS A SOURCE CHARACTER STRING OF
*                CONSECUTIVE EIGHT BIT CHARACTERS INTO A STRING OF
*                SINGLE EIGHT BIT CHARACTERS.  THE SUBROUTINE ITERATES
*                ON THREE SOURCE CHARACTERS.
* 
*                  ENTRY -
* 
*                     (A) = SOURCE DATA CHARACTER COUNT,
*                    (T1) = SOURCE DATA ADDRESS,
*                    (T2) = DESTINATION DATA ADDRESS. 
* 
*                  USES - 
* 
**                   T0 = SOURCE DATA CHARACTER COUNT.
  
  
 UPD      SUBR               ENTRY/EXIT 
          STD    T0          STORE SOURCE DATA CHARACTER COUNT
  
 UPD.1    LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -4          POSITION NEXT SOURCE CHARACTER 
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION HIGH-ORDER OF NEXT DATA CHARACTER 
          STI    T2          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAI    T2          ADD TO HIGH-ORDER OF DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPC    0#FF        EXTRACT NEXT SOURCE CHARACTER
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          UJK    UPD.1       EXIT TO PROCESS NEXT SOURCE BYTE 
  
          QUAL
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(COMMAND/SUPPORT PROCESSORS),T2=(IVT OUTPUT
, COMMAND PROCESSORS) 
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .TCRN    SET    0
 .EBRAX   SET    0
 .PPRU    SET    0
 .ERROR   SET    0
 COSN     SPACE  2,28 
**               IVT OUTPUT COMMAND ACTION PROCESSOR COSN.
* 
*                IVT OUTPUT COMMAND ACTION PROCESSOR COSN PROCESSES A 
*                START NPU WITH NO RESPONSE COMMAND ADDRESSED TO A FRONT
*                END NPU.  THE DATA POINTER IN THE OUTBOUND PSEUDO FET
*                IS UPDATED, THE NPU COUPLER IS CLEARED, THE NPU DEAD 
*                TIMER IS RESET, THE NPU IS CLEARED AND THE NPU IS
*                STARTED. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                    (DTM) = RESET. 
* 
*                  CALLS -
* 
*                    UFOP - UPDATE FET OUT DATA POINTER,
*                     FNC - FUNCTION NPU COUPLER, 
**                   CCSR - CHECK COUPLER STATUS REGISTER.
  
  
 COSN     ACTION             PROCESS START NPU COMMAND WITH NO RESPONSE 
          RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          LDC    /FUNCTION/CLC LOAD FUNCTION TO CLEAR COUPLER 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO CLEAR NPU COUPLER
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.NINIT     PLUS NPU INITIALIZATION TIME QUANTUM 
          STM    DTM,FEI     SET NPU DEAD TIMER 
          RJM    /NPU/CCSR   EXIT TO CHECK COUPLER STATUS REGISTER
          LDC    /FUNCTION/CLN LOAD FUNTION TO CLEAR NPU
          RJM    /NPU/FNC    EXIT TO FUNCTION TO CLEAR NPU
          LDK    NPUDLY      LOAD NPU DELAY COUNT 
          SBN    1           DECREMENT NPU DELAY COUNT
          NJN    *-1         LOOP IF DELAY COUNT NOT EXHAUSTED
          LDN    /FUNCTION/SNP LOAD FUNCTION TO START NPU 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO START NPU
          EXIT   EBRAX       RETURN VIA OUTPUT COMMAND ACTION RETURN
 COLN     SPACE  2,50 
**               IVT OUTPUT COMMAND ACTION PROCESSOR COLN.
* 
*                IVT OUTPUT COMMAND ACTION PROCESSOR COLN PROCESSES A 
*                LOAD NPU COMMAND ADDRESSED TO A FRONT END NPU.  IF 
*                THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE LOAD
*                NPU COMMAND RESPONSE THE NPU LOAD IS PERFORMED.  THE 
*                NPU TEXT IS WRITTEN TO THE NPU MEMORY.  THE DATA 
*                POINTER IN THE OUTBOUND PSEUDO FET IS UPDATED AND THE
*                NPU MEMORY IS READ BACK AND COMPARED TO THE LOAD TEXT. 
*                DETECTION OF A BAD COMPARE WILL CAUSE THE LOAD NPU 
*                COMMAND ERROR RESPONSE TO BE TRANSFERRED TO THE INBOUND
*                BUFFER.  IF THE COMPARE IS GOOD THE BATCH COUNT FIELD
*                OF THE LOAD COMMAND IS CHECKED.  IF THE BATCH COUNT IS 
*                NON-ZERO THE ACCOUMULATED COUNT OF LAD TRANSFERS IS
*                COMPARED TO THE BATCH COUNT PROVIVED IN THE COMMAND. 
*                IF THEY ARE NOT EQUAL AN ERROR RESPONSE IS RETURNED. 
*                OTHERWISE THE NPU LOAD COMMAND NORMAL RESPONSE IS
*                RETURNED AND THE ACCUMULATED BATCH COUNT IS SET TO 
*                ZERO IN EITHER CASE. 
* 
*                  ENTRY -
* 
*                                    (FEI) = FRONT END TABLE ADDRESS, 
*                                    (ABC) = ACCUMULATED BATCH COUNT, 
*                                    (CHN) = NPU CHANNEL NUMBER,
*                                    (CAD) = NPU EQUIPMENT NUMBER,
*                           (BHB-BHB+L.BH) = NPU BLOCK HEADER,
*                    (DRBUF-DRBUF+L.OV(1)) = COMMAND TEXT.
* 
*                  EXIT - 
* 
*                    (ABC) = INCREMENTED FOR CURRENT LOAD.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    SNMA - SET NPU MEMORY ADDRESS FROM COMMAND,
*                    SNMR - SET NPU MEMORY REGISTERS, 
*                     FNC - FUNCTION NPU COUPLER, 
*                     ACN - ACTIVATE NPU CHANNEL, 
*                    TTBF - TRANSFER NPU LOAD TEXT, 
*                     DCN - DISCONNECT NPU CHANNEL, 
*                    CNMS - CHECK NPU MEMORY STATUS,
*                    UFOP - UPDATE FET OUT DATA POINTER,
**                    IDC - INPUT NPU DATA CHARACTER. 
  
  
 COLN     ACTION             PROCESS LOAD NPU COMMAND 
          LDN    /NAM/OV(1)RCM LOAD LENGTH OF LOAD COMMAND RESPONSE 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COLN.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COLN.1   RJM    SNMA        EXIT TO SET NPU MEMORY ADDRESS FROM COMMAND
          RJM    SNMR        EXIT TO SET NPU MEMORY REGISTERS 
          LDN    /FUNCTION/OP LOAD FUNCTION TO OUTPUT PROGRAM TEXT
          RJM    /NPU/FNC    EXIT TO FUNCTION TO OUTPUT PROGRAM TEXT
          RJM    /NPU/ACN    EXIT TO ACTIVATE NPU CHANNEL 
          LDN    0           CONSTANT OF ZERO 
          STD    REOT        RESET REQUEST END OF TRANSFER
          LDC    DRBUF+/BLOCK/NPUTEXTL LOAD ADDRESS OF NPU LOAD TEXT
          STD    T1          STORE STARTING BUFFER ADDRESS
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          SBN    /BLOCK/L.CH+/BLOCK/NPUTEXTL LESS LENGTH OF LOAD HEADER 
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRANSFER NPU LOAD TEXT 
          RJM    /NPU/DCN    EXIT TO DISCONNECT NPU CHANNEL 
          RJM    CNMS        EXIT TO CHECK FOR NPU MEMORY ERROR 
          RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          LDC    DRBUF+/BLOCK/NPUTEXTL LOAD ADDRESS OF NPU LOAD TEXT
          STD    T17         STORE STARTING COMPARE ADDRESS 
          ADM    NNH+/NAM/C.MCC PLUS MESSAGE TEXT CHARACTER COUNT 
          SBN    1+/BLOCK/L.CH+/BLOCK/NPUTEXTL LESS HEADER LENGTH 
          STD    T16         STORE ENDING COMPARE ADDRESS 
          RJM    SNMR        EXIT TO SET NPU MEMORY REGISTERS 
          LDN    /FUNCTION/IP LOAD FUNCTION TO INPUT PROGRAM TEXT 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO INPUT PROGRAM TEXT 
          RJM    /NPU/ACN    EXIT TO ACTIVATE NPU CHANNEL 
  
 COLN.2   CLIO   FEIC        EXIT TO INPUT NPU TEXT CHARACTER 
          LMI    T17         LESS VALUE OF LOAD TEXT
          NJN    COLN.5      EXIT IF TEXT COMPARE ERROR 
          LDD    T17         LOAD CURRENT COMPARE ADDRESS 
          LMD    T16         LESS ENDING COMPARE ADDRESS
          ZJN    COLN.3      EXIT IF END OF COMPARE 
          AOD    T17         INCREMENT CURRENT COMPARE ADDRESS
          UJK    COLN.2      EXIT TO INPUT NEXT BYTE FROM NPU 
  
 COLN.3   RJM    /NPU/DCN    EXIT TO DISCONNECT NPU CHANNEL 
          RJM    CNMS        EXIT TO CHECK FOR NPU MEMORY ERROR 
          AOM    ABC,FEI     INCREMENT ACCUMULATED BATCH COUNT
          LDM    DRBUF+/BLOCK/BC LOAD BATCH COUNT FROM COMMAND
          ZJN    COLN.4      EXIT IF BATCH VERIFICATION NOT REQUESTED 
          LJM    COLN.8      EXIT TO CHECK ACCUMULATED BATCH COUNT
  
 COLN.4   EXIT   EBRAX       RETURN VIA OUTPUT COMMAND ACTION RETURN
  
 COLN.5   RJM    /NPU/DCN    EXIT TO DISCONNECT NPU CHANNEL 
          LDN    1           CONSTANT OF ONE
  
 COLN.6   STM    DRBUF+/BLOCK/ORC STORE RESPONSE CODE INTO RESPONSE 
          LDC    /BLOCK/B.ER LOAD ERROR RESPONSE BIT
  
 COLN.7   STD    T0          STORE RESPONSE BIT 
          LDN    0           CONSTANT OF ZERO 
          STM    ABC,FEI     RESET ACCUMULATED BATCH COUNT
          LDN    /NAM/OV(1)RCM LOAD RESPONSE MESSAGE WORD LENGTH
          STM    NBH+/NAM/C.BWD+1 STORE RESPONSE WORD LENGTH
          LDN    /NAM/OV(1)RC LOAD RESPONSE TEXT CHARACTER LENGTH 
          STM    NNH+/NAM/C.MCC STORE RESPONSE TEXT CHARACTER LENGTH
          LDD    T0          LOAD RESPONSE BIT
          RAM    NCH+/BLOCK/SFC ADD TO SECONDARY FUNCTION CODE
          LDM    CHN,FEI     LOAD NPU CHANNEL NUMBER
          LPN    77B         EXTRACT NPU CHANNEL NUMBER 
          STM    DRBUF+/BLOCK/OP SET PORT TO NPU CHANNEL NUMBER 
          LDM    CAD,FEI     LOAD NPU COUPLER ADDRESS 
          SHN    -9          POSITION EQUIPMENT TO LOW-ORDER
          STM    DRBUF+/BLOCK/OSP SET SUB-PORT TO EQUIPMENT NUMBER
          LDM    BHB+/BLOCK/SN LOAD SOURCE NODE OF COMMAND
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE FOR RESPONSE
          LDD    TN          LOAD DESTINATION NODE OF COMMAND 
          STM    BHB+/BLOCK/SN STORE SOURCE NODE FOR RESPONSE 
          EXIT   TCRN        EXIT TO TRANSFER COMMAND RESPONSE
  
 COLN.8   SBM    ABC,FEI     LESS ACCUMULATED BATCH COUNT 
          NJN    COLN.9      EXIT IF BATCH COUNT MISMATCH 
          STM    DRBUF+/BLOCK/ORC STORE RESPONSE CODE INTO RESPONSE 
          LDC    /BLOCK/B.NR LOAD NORMAL RESPONSE BIT 
          UJK    COLN.7      EXIT TO STORE RESPONSE BIT 
  
 COLN.9   LDM    ABC,FEI     LOAD ACCUMULATED BATCH COUNT 
          STM    DRBUF+/BLOCK/BC STORE BATCH COUNT INTO RESPONSE
          LDN    4           CONSTANT OF FOUR 
          UJK    COLN.6      EXIT TO STORE RESPONSE CODE
 SNMA     TITLE  COMMAND PROCESSOR SUPPORT SUBROUTINES. 
          QUAL
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 SNMA     SPACE  2,18 
**               SUBROUTINE SNMA. 
* 
*                SUBROUTINE SNMA EXTRACTS THE BEGINNING NPU MEMORY
*                ADDRESS FROM A COMMAND AND STORES THE NPU ADDRESS. 
* 
*                  ENTRY -
* 
*                    (BADR-BADR+2) = NPU MEMORY ADDRESS FROM COMMAND. 
* 
*                  EXIT - 
* 
*                      (NMA) = HIGH-ORDER OF NPU MEMORY ADDRESS (9-0),
**                   (NMA+1) = LOW-ORDER OF NPU MEMORY ADDRESS (7-0). 
  
  
 SNMA     SUBR               ENTRY/EXIT 
          LDM    DRBUF+/BLOCK/BADR LOAD HIGH-ORDER OF NPU ADDRESS 
          SHN    8           POSITION TO HIGH-ORDER 
          ADM    DRBUF+/BLOCK/BADR+1 PLUS MIDDLE OF NPU ADDRESS 
          STD    NMA         STORE HIGH-ORDER OF NPU MEMORY ADDRESS 
          LDM    DRBUF+/BLOCK/BADR+2 LOAD LOW-ORDER OF NPU ADDRESS
          STD    NMA+1       STORE LOW-ORDER OF NPU MEMORY ADDRESS
          UJK    SNMAX       RETURN 
 SNMR     SPACE  2,20 
**               SUBROUTINE SNMR. 
* 
*                SUBROUTINE SNMR SETS THE MEMORY
*                ADDRESS REGISTERS OF THE NPU.
* 
*                  ENTRY -
* 
*                      (NMA) = HIGH-ORDER OF NPU MEMORY ADDRESS,
*                    (NMA+1) = LOW-ORDER OF NPU MEMORY ADDRESS. 
* 
*                  CALLS -
* 
*                    FNC - FUNTION NPU COUPLER, 
**                   OWN - OUTPUT WORD TO NPU.
  
  
 SNMR     SUBR               ENTRY/EXIT 
          LDN    /FUNCTION/OMA0 FUNCTION TO OUTPUT MEMORY ADDRESS ZERO
          RJM    /NPU/FNC    EXIT TO FUNCTION TO OUTPUT MEMORY ZERO 
          LDD    NMA         LOAD HIGH-ORDER OF NPU MEMORY ADDRESS
          RJM    /NPU/OWN    EXIT TO OUTPUT MEMORY ADDRESS TO NPU 
          LDN    /FUNCTION/OMA1 FUNCTION TO OUTPUT MEMORY ADDRESS ONE 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO OUTPUT MEMORY ONE
          LDD    NMA+1       LOAD LOW-ORDER OF NPU MEMORY ADDRESS 
          RJM    /NPU/OWN    EXIT TO OUTPUT MEMORY ADDRESS TO NPU 
          UJK    SNMRX       RETURN 
 CWMS     SPACE  2,28 
**               SUBROUTINE CNMS. 
* 
*                SUBROUTINE CNMS CHECKS FOR A MEMORY PROTECT FAULT IN 
*                THE NPU COUPLER.  THE NPU DEAD TIMER IS RESET, THE 
*                COUPLER STATUS REGISTER IS READ AND THE NPU IS CLEARED.
*                IF A MEMORY PROTECT FAULT IS DETECTED THE COUPLER IS 
*                CLEARED TO RESET THE FAULT AND AN ERROR EXIT IS TAKEN. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                    (DTM) = RESET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MEMORY PROTECT FAULT. 
* 
*                  USES - 
* 
**                   T1-T1+4 = SYSTEM REAL-TIME CLOCK.
  
  
 CNMS     SUBR               ENTRY/EXIT 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          ADK    Q.NDEAD     PLUS NPU DEAD TIMER VALUE
          STM    DTM,FEI     RESET NPU DEAD TIMER 
          RJM    /NPU/CCSR   EXIT TO INPUT COUPLER STATUS REGISTER
          LDC    /FUNCTION/CLN LOAD FUNCTION TO CLEAR NPU 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO CLEAR NPU
          LDM    CSR,FEI     LOAD COUPLER STATUS REGISTER VALUE 
          LPN    /CSTATUS/MPF EXTRACT MEMORY PROTECT FAULT
          ZJN    CNMSX       RETURN IF NO MEMORY PROTECT FAULT
          LDC    /FUNCTION/CLC LOAD FUNCTION TO CLEAR COUPLER 
          RJM    /NPU/FNC    EXIT TO FUNCTION TO CLEAR COUPLER
          EREXIT NMP         EXIT TO ERROR - NPU MEMORY PROTECT FAULT 
 LINKS    TITLE  DRIVER SUPPORT PROCESSORS. 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .NFE.1   SET    0
 .GIBS.4  SET    0
 INPT     SPACE  2,50 
**               DRIVER SUPPORT PROCESSOR INPT. 
* 
*                DRIVER SUPPORT PROCESSOR INPT CHECKS FOR A NEW FRONT 
*                END TO BE PROCESSED BY CHECKING THE NEXT NETWORK BUFFER
*                TABLE POINTER WORD IN THE INTERFACE TABLE.  IF THERE IS
*                A POINTER TO A NETWORK BUFFER TABLE THE FRONT END
*                PARAMETERS ARE EXTRACTED FROM THE NETWORK BUFFER TABLE 
*                AND STORED INTO THE DRIVER FRONT END TABLE.  IF THE
*                CHANNEL OF THE NEW FRONT END HAS NOT BEEN ASSIGNED TO
*                THE DRIVER THE CHANNEL IS REQUESTED FROM THE SYSTEM. 
*                IF AN INITIAL HALT IS REQUESTED FOR THE FRONT END THE
*                FRONT END IS HALTED. 
* 
*                  ENTRY -
* 
*                    (DIT-DIT+1) = INTERFACE TABLE ADDRESS, 
*                          (PW0) = BUFFER TABLE POINTER WORD OFFSET,
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                       (ACTFES) = ACTIVE FRONT END COUNT.
* 
*                  EXIT - 
* 
*                               FRONT END TABLE INITIALIZED,
*                    (ACTFES) = INCREMENTED IF FRONT END ON.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NETWORK BUFFER TABLE ERROR. 
* 
*                  CALLS -
* 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    GIBS - GET INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE FRONT END STATUS BYTE, 
*                     MTR - REQUEST FRONT END CHANNEL NUMBER, 
*                    IDDO - INITIALIZE DEVICE DEPENDENT OVERLAY,
*                    CCSR - CHECK NPU COUPLER STATUS REGISTER LOADED, 
*                     INS - INPUT NPU STATUS WORD.
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    SFA - CALCULATE ADDRESS OF MANAGED TABLE.
* 
*                  MACRO CALLS -
* 
**                   FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
  
  
 INPT     LINK               ENTRY
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/W.DITNTP PLUS OFFSET FOR FIRST POINTER WORD 
          ADD    PWO         PLUS CURRENT POINTER WORD OFFSET 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T12         READ INTERFACE TABLE POINTER WORD
          LDD    T12+/NAM/C.DITNBT LOAD HIGH-ORDER NETWORK BUFFER TABLE 
          STM    NBT,FEI     STORE HIGH-ORDER OF NETWORK BUFFER TABLE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T12+/NAM/C.DITNBT+1 PLUS LOW-ORDER NETWORK BUFFER TABLE
          ZJN    INPT.2      EXIT IF NO NETWORK BUFFER TABLE ASSIGNED 
          STM    NBT+1,FEI   STORE LOW-ORDER OF NETWORK BUFFER TABLE
          ADN    /NAM/W.NBTNS DELTA FOR FRONT END STATUS WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ STATUS WORD FROM NETWORK BUFFER 
          LDD    T0+/NAM/C.NBTNS LOAD FRONT END STATUS BYTE 
          SHN    17-/NAM/S.NBTOF FRONT END OFF FLAG TO SIGN 
          PJN    INPT.3      EXIT IF FRONT END NOT OFF
  
 INPT.1   LDN    0           CONSTANT OF ZERO 
          STM    NBT,FEI     ZERO HIGH-ORDER OF NETWORK BUFFER TABLE
          STM    NBT+1,FEI   ZERO LOW-ORDER OF NETWORK BUFFER TABLE 
  
 INPT.2   EXIT   NFE.1       EXIT TO PROCESS NEXT FRONT END 
  
 INPT.3   LDN    0           CONSTANT OF ZERO 
          STM    AIF,FEI     INITIALIZE ACTIVE INBOUND FET OFFSET 
          RJM    GIBS        EXIT TO GET INBOUND BUFFER SPACE 
                             T5 - T5+4 = NETWORK BUFFER TABLE HEADER
          LDM    IBS,FEI     LOAD AVAILABLE INBOUND BUFFER SPACE
          SBN    /NAM/L.BH+/NAM/L.WH+L.NPHT SUBTRACT HALTED WL LENGTH 
          MJN    INPT.1      EXIT IF INBAOUND BUFFER SPACE NOT AVAILABLE
          LDD    T5+/NAM/C.NBTBS LOAD NETWORK BUFFER TABLE STATUS BYTE
          SHN    17-/NAM/S.NBTIU POSITION ENTRY IN USE FLAG TO SIGN 
          MJN    INPT.4      EXIT IF NETWORK BUFFER TABLE IN USE
          EXIT   GIBS.4      EXIT TO ERROR - NETWORK BUFFER TABLE ERROR 
  
 INPT.4   SHN    18-17+/NAM/S.NBTIU REPOSITION BUFFER STATUS BYTE 
          LPN    /NAM/L.NBTCH EXTRACT FRONT END CHANNEL NUMBER
          STM    CHN,FEI     STORE FRONT END CHANNEL NUMBER 
          LDD    T5+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE
          LPC    /NAM/L.NBTEQ EXTRACT FRONT END EQUIPMENT NUMBER
          STM    CAD,FEI     STORE FRONT END EQUIPMENT NUMBER 
          LDD    T5+/NAM/C.NBTNA LOAD FRONT END EQUIPMENT BYTE
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL OF FRONT END 
          STD    T10         STORE EST ORDINAL OF FRONT END 
          SFA    EST,T10     CALCULATE ADDRESS OF EST ENTRY 
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ EQUIPMENT DESCRIPTION WORD
          LDD    T0+3        LOAD EQUIPMENT BYTE FROM EST 
          LPC    3777B       EXTRACT EQUIPMENT TYPE 
          LMC    2RNP        LESS VALUE FOR NPU 
          ZJN    INPT.5      EXIT IF EQUIPMENT IS NPU 
  
 .MSS     IFEQ   .MSS,1 
  
          LMN    2RNP&2RNQ LESS DELTA FOR MSS EQUIPMENT TYPE
          ZJN    INPT.5      EXIT IF MSS EQUIPMENT
  
 .MSS     ENDIF 
  
          LDN    0           CONSTANT OF ZERO 
          STM    BPE,FEI     INITIALIZE CONSECUTIVE BLOCK PROTOCOL ERROR
          LDN    1           CONSTANT OF ONE
  
 INPT.5   STM    FTY,FEI     SET FRONT END TYPE 
          LDN    /NAM/W.NBTOP DELTA FOR OUT POINTER WORD FROM FET      #
          RJM    GIFA        EXIT TO GET OUT POINTER ABSOLUTE ADDRESS 
          CRD    T12         READ OUT POINTER WORD
          LDD    T12+/NAM/C.NBTID HOST NODE BYTE FROM NBT ENTRY 
          LPC    /NAM/L.NBTHN EXTRACT HOST NODE NUMBER
          STM    HND,FEI     SAVE HOST NODE NUMBER
          LDN    /TABLES/BHS4 LOAD INITIAL FRONT END STATE
          STI    FEI         STORE FRONT END STATE
          STD    BHS         STORE BLOCK HANDLER STATE
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.INDEAD    PLUS INITIAL FRONT END DEAD TIMER VALUE
          STM    DTM,FEI     INITIALIZE FRONT END DEAD TIMER
          LDN    0           CONSTANT OF ZERO 
          STD    STS         RESET STREAM ACTIVE STATES 
          STM    CTM,FEI     RESET CHECK CHANNEL PROTOCOL VERSION TIME
          LDC    /NAM/B.NBTNA&/NAM/B.NBTMF LOAD FRONT END STATUS BITS 
          RJM    UNSB        EXIT TO UPDATE FRONT END STATUS BYTE 
          AOM    ACTFES      INCREMENT ACTIVE FRONT END COUNT 
          STD    T0          SET NO EMPTY CHANNEL TABLE ENTRY FOUND 
          LDN    MAXFE-1     LOAD FRONT END CHANNEL TABLE LENGTH
          STD    T17         INITIALIZE FRONT END CHANNEL TABLE INDEX 
  
 INPT.6   LDM    FCT,T17     LOAD NEXT FRONT END CHANNEL TABLE ENTRY
          ZJN    INPT.8      EXIT IF FRONT END CHANNEL TABLE ENTRY EMPTY
          SBM    CHN,FEI     LESS CHANNEL FOR THIS FRONT END
          LPN    77B         EXTRACT CHANNEL BITS 
          ZJN    INPT.11     EXIT IF CHANNEL ALREADY ASSIGNED 
  
 INPT.7   SOD    T17         DECREMENT FRONT END CHANNEL TABLE INDEX
          MJN    INPT.9      EXIT IF ALL TABLE ENTRIES PROCESSED
          UJK    INPT.6      EXIT TO PROCESS NEXT CHANNEL TABLE ENTRY 
  
 INPT.8   STD    T0          SET EMPTY CHANNEL TABLE ENTRY FOUND
          LDD    T17         LOAD FRONT END CHANNEL TABLE INDEX 
          STD    T1          STORE INDEX OF EMPTY CHANNEL TABLE ENTRY 
          UJK    INPT.7      EXIT TO DECREMENT CHANNEL TABLE INDEX
  
 INPT.9   LDD    T0          LOAD EMPTY TABLE ENTRY FOUND INDICATOR 
          ZJN    INPT.10     EXIT IF EMPTY CHANNEL TABLE FOUND
          EREXIT CTE         EXIT TO ERROR - CHANNEL TABLE ERROR
  
 INPT.10  LDD    T1          LOAD INDEX VALUE OF EMPTY TABLE ENTRY
          STD    T17         STORE FRONT END CHANNEL TABLE INDEX VALUE
          LDM    CHN,FEI     LOAD FRONT END CHANNEL NUMBER
          STM    FCT,T17     STORE CHANNEL INTO CHANNEL TABLE ENTRY 
          STD    T10+1       STORE CHANNEL NUMBER INTO REQUEST REGISTER 
          LDN    RCHM        LOAD MONITOR FUNCTION TO REQUEST CHANNEL 
          RJM    MTR         EXIT TO REQUEST FRONT END CHANNEL
  
 INPT.11  LDC    1S6         LOAD COUNT INCREMENT VALUE 
          RAM    FCT,T17     INCREMENT COUNT OF CHANNELS USED 
          RJM    IDDO        EXIT TO INITIALIZE DEVICE DEPENDENT OVERLAY
  
 INPT.12  LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/W.DITNTP DELTA FOR NAM REQUEST WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM REQUEST WORD
          LDD    T0+/NAM/C.DITAR LOAD NAM REQUEST BYTE
          SHN    17-/NAM/S.DITIH POSITION INITIAL HALT FLAG TO SIGN 
          PJN    INPT.13     EXIT IF INITIAL HALT NOT REQUESTED 
          FEIO   FEHL        HALT FRONT END 
  
 INPT.13  LDM    FTY,FEI     LOAD FRONT END TYPE
          NJN    INPT.14     EXIT IF NOT NPU FRONT END
          RJM    /NPU/CCSR   EXIT TO CHECK COUPLER STATUS WORD LOADED 
          MJN    INPT.14     EXIT IF COUPLER STATUS WORD NOT LOADED 
          RJM    /NPU/INS    BYPASS FIRST NPU STATUS WORD 
  
 INPT.14  EXIT   PFE.1       EXIT TO PROCESS FRONT END
 IDDO     TITLE  DRIVER SUPPORT PROCESSOR SUBROUTINES.
 IDDO     SPACE  2,36 
**               SUBROUTINE IDDO. 
* 
*                SUBROUTINE IDDO INITIALIZES THE DEVICE DEPENDENT 
*                OVERLAY.  IF THE CURRENT DEVICE IS DIFFERENT FROM THE
*                DEVICE DEPENDENT OVERLAY THE CORRECT DEVICE DEPENDENT
*                OVERLAY IS LOADED.  THE FRONT END CHANNEL NUMBER IS
*                ADDED TO ALL THE CHANNEL INSTRUCTIONS IN THE DEVICE
*                DEPENDENT OVERLAY. 
* 
*                  ENTRY -
* 
*                     (FEI) = FRONT END TABLE ADDRESS,
*                     (FTY) = FRONT END TYPE, 
*                     (CHN) = FRONT END CHANNEL NUMBER. 
* 
*                  EXIT - 
* 
*                    CURRENTLY ACTIVE FRONT END CHANNEL NUMBER UPDATED. 
*                    AT CHANGE OF CHANNELS
*                    DEVICE DEPENDENT OVERLAY LOADED, 
*                    CHANNEL INSTRUCTIONS INITIALIZED.
* 
*                  CALLS -
* 
*                    LDDO - LOAD DEVICE DEPENDENT OVERLAY.
* 
*                  USES - 
* 
*                    T1 = CHANNEL INSTRUCTION ADDRESS LIST, 
*                    T0 = FRONT END CHANNEL NUMBER, 
**                   T2 = ADDRESS OF CHANNEL INSTRUCTION. 
  
  
 IDDO     SUBR               ENTRY/EXIT 
          LDM    CHN,FEI     LOAD NEW FRONT END CHANNEL NUMBER
          SBM    CHAN        LESS CURRENTLY ACTIVE CHANNEL NUMBER 
  
 IDDO.X   ZJN    IDDOX       EXIT IF NO CHANNEL CHANGE
          RAM    CHAN        STORE CURRENTLY ACTIVE CHANNEL NUMBER
          LDM    FTY,FEI     LOAD CURRENT FRONT END TYPE
          ZJN    IDDO.0      EXIT IF NPU TYPE DEVICE
          LDN    1           LOAD DEVICE TYPE FOR MDI 
 IDDO.0   BSS    0
          LMM    FETP        LESS FRONT END TYPE OF DEVICE OVERLAY
          ZJN    IDDO.2      EXIT IF NO DEVICE TYPE SWITCH
          LDM    FTY,FEI     LOAD FRONT END DEVICE TYPE 
          ZJN    IDDO.1      EXIT IF NPU TYPE DEVICE
          LDN    #1IP-#1IL   DELTA FOR MDI DEVICE OVERLAY 
  
 IDDO.1   ADN    #1IL        PLUS NPU DEVICE OVERLAY ORDINAL
          RJM    LDDO        EXIT TO LOAD DEVICE DEPENDENT OVERLAY
  
 IDDO.2   LDM    FTY,FEI     LOAD CURRENT FRONT END DEVICE TYPE 
          ZJN    IDDO.3      EXIT IF NPU TYPE DEVICE
          LDK    /MDI/MDICIT-/NPU/NPUCIT DELTA FOR MDI INSTUCTION TABLE 
  
 IDDO.3   ADC    /NPU/NPUCIT PLUS ADDRESS OF NPU INSTRUCTION TABLE
          STD    T1          INITIALIZE CHANNEL INSTRUCTION LIST ADDRESS
          LDM    CHAN        LOAD FRONT END CHANNEL NUMBER
          STD    T0          STORE FRONT END CHANNEL NUMBER 
  
 IDDO.4   LDI    T1          LOAD ADDRESS OF NEXT CHANNEL INSTRUCTION 
          ZJN    IDDO.X      RETURN IF END OF CHANNEL INSTRUCTION LIST
          STD    T2          STORE ADDRESS OF CHANNEL INSTRUCTION 
          LDI    T2          LOAD CHANNEL INSTRUCTION 
          SCN    77B&NHO     CLEAR PREVIOUS FRONT END CHANNEL NUMBER
          LMD    T0          PLUS NEW FRONT END CHANNEL NUMBER
          STI    T2          STORE UPDATED CHANNEL INSTRUCTION
          AOD    T1          INCREMENT CHANNEL INSTRUCTION LIST ADDRESS 
          UJK    IDDO.4      EXIT TO CHECK FOR END OF INSTRUCTION LIST
 LDDO     TITLE  DRIVER CONTROL TABLE MANAGEMENT SUBROUTINES. 
 LDDO     SPACE  2,26 
**               SUBROUTINE LDDO. 
* 
*                SUBROUTINE LDDO LOADS THE DEVICE DEPENDENT OVERLAY 
*                INTO THE FIRST LEVEL OVERLAY AREA OF THE DRIVER. 
* 
*                  ENTRY -
* 
*                      (A) = OVERLAY ORDINAL, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (FTY) = FRONT END TYPE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF INVALID OVERLAY ADDRESS,
*                    EXIT TO *ERROR* IF OVERLAY FORMAT ERROR. 
* 
*                  CALLS -
* 
**                   GOCA - GET OVERLAY ABSOLUTE CENTRAL ADDRESS. 
  
  
 LDDO     SUBR               ENTRY/EXIT 
          RJM    GOCA        EXIT TO GET OVERLAY ABSOLUTE ADDRESS 
          NJN    LDDO.2      EXIT IF OVERLAY ADDRESS KNOWN
  
 LDDO.1   EXIT   COL.2       EXIT TO ERROR - OVERLAY FORMAT ERROR 
  
 LDDO.2   CRM    OF.FLOV,T10+/NAM/C.DOAOL READ DEVICE DEPENDENT OVERLAY 
          LDM    FETP        LOAD FRONT END TYPE OF OVERLAY 
          NJN    LDDO.3      EXIT IF MDI DEVICE OVERLAY 
          LDM    FTY,FEI     LOAD FRONT END TYPE OF EQUIPMENT 
          NJN    LDDO.1      EXIT IF NOT NPU DEVICE 
          UJK    LDDOX       RETURN 
  
 LDDO.3   LDM    FTY,FEI     LOAD FRONT END TYPE OF EQUIPMENT 
          ZJN    LDDO.1      EXIT IF NOT MDI DEVICE 
          UJK    LDDOX       RETURN 
 NPUCIT   TITLE  CHANNEL INSTRUCTION INITIALIZATION ADDRESS LISTS.
 CHTABLE  TITLE  CHANNEL INSTRUCTION INITIALIZATION ADDRESS LIST. 
 CHTABLE  SPACE  2,12 
**               CHANNEL INSTRUCTION ADDRESS LIST.
* 
*                THE CHANNEL INSTRUCTION ADDRESS LIST CONTAINS AN ENTRY 
*                FOR EACH CHANNEL INSTRUCTION USED BY THE MAIN DRIVER.
*                THE CONTENTS OF EACH ENTRY IS THE ADDRESS OF THE 
**               CHANNEL INSTRUCTION. 
  
  
          LIST   D
  
 CIT      HERE
  
          LIST   *
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(COMMAND PROCESSORS),T2=(IVT COMMAND ERROR 
,PROCESSORS)
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .PPRU    SET    0
 .NPRU    SET    0
 .ERROR   SET    0
 .TCRN    SET    0
 COOE     SPACE  2,30 
**               IVT OUTPUT COMMAND ACTION PROCESSOR COOE.
* 
*                IVT OUTPUT COMMAND ACTION PROCESSOR COOE PROCESSES AN
*                OVERLAY COMMAND ADDRESSED TO A FRONT END NPU THAT IS 
*                IN ERROR.  IF THERE IS SUFFICIENT INBOUND BUFFER SPACE 
*                FOR THE OVERLAY COMMAND ERROR RESPONSE THE DATA POINTER
*                IN THE OUTBOUND PSEUDO FET IS UPDATED AND THE OVERLAY
*                COMMAND ERROR RESPONSE IS GENERATED AND TRANSFERRED TO 
*                THE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                                 (FEI) = FRONT END TABLE ADDRESS,
*                                 (CHN) = NPU CHANNEL NUMBER, 
*                                 (CAD) = NPU EQUIPMENT NUMBER, 
*                    (DRBUF-DRBUF+L.CM) = COMMAND TEXT, 
*                        (NCH-NCH+L.CH) = NPU COMMAND HEADER, 
*                        (BHB-BHB+L.BH) = NPU BLOCK HEADER. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UFOP - UPDATE FET OUT DATA POINTER,
**                    TCR - TRANSFER OVERLAY COMMAND ERROR RESPONSE.
  
  
 COOE     ACTION             PROCESS OVERLAY COMMAND ERROR
          LDN    /NAM/OVERERCM LENGTH OF OVERLAY COMMAND ERROR RESPONSE 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COOE.1      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COOE.1   RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          LDN    1           CONSTANT OF ONE
          STM    DRBUF+/BLOCK/ORC STORE ERROR RESPONSE CODE 
          LDN    /NAM/OVERERCM LOAD ERROR RESPONSE WORD LENGTH
          STM    NBH+/NAM/C.BWD+1 STORE RESPONSE WORD LENGTH
          LDN    /NAM/OVERERC LOAD ERROR RESPONSE TEXT CHARACTER COUNT
          STM    NNH+/NAM/C.MCC STORE MESSAGE TEXT CHARACTER COUNT
          LDM    CHN,FEI     LOAD NPU CHANNEL NUMBER
          LPN    77B         EXTRACT NPU CHANNEL NUMBER 
          STM    DRBUF+/BLOCK/OP SET PORT TO NPU CHANNEL NUMBER 
          LDM    CAD,FEI     LOAD NPU COUPLER ADDRESS 
          SHN    -9          POSITION EQUIPMENT NUMBER TO LOW-ORDER 
          STM    DRBUF+/BLOCK/OSP SET SUB-PORT TO EQUIPMENT NUMBER
          LDC    /BLOCK/B.NR LOAD NORMAL RESPONSE BIT 
          RAM    NCH+/BLOCK/SFC ADD TO SECONDARY FUNCTION CODE
          LDM    BHB+/BLOCK/SN LOAD SOURCE NODE OF COMMAND
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE OF COMMAND
          LDD    TN          LOAD DESTINATION NODE OF COMMAND 
          STM    BHB+/BLOCK/SN STORE SOURCE NODE FOR RESPONSE 
          EXIT   TCRN        EXIT TO TRANSFER COMMAND RESPONSE
 COPF     TITLE  PRU OUTPUT COMMAND PROCESSORS. 
 COPF     SPACE  2,12 
**               PRU OUTPUT COMMAND ACTION PROCESSOR COPF.
* 
*                PRU OUTPUT COMMAND ACTION PROCESSOR COPF PROCESSES 
*                THE PRU MODE OFF COMMAND TO THE FRONT END.  PRU MODE 
*                OFF FLAG IS PLACED IN PCB FILE STATUS BYTE AND THE 
**               PROCESSING ENTERS THE NEXT PROCESSOR COPC. 
  
  
 COPF     ACTION             PROCESS TURN FILE TRANSFER MODE OFF
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          SCN    /NAM/B.PCBFTF CLEAR FILE TRANSFER MODE FLAG
          ADN    /NAM/B.PCBFTF SET FILE TRANSFER OFF
          STD    T10+/NAM/C.PCBFTS STORE FILE TRANSFER STATUS BYTE
          RJM    WCMW        REWRITE PRU PARAMETER WORD TO PCB
 COPC     SPACE  2,28 
**               PRU OUTPUT COMMAND ACTION PROCESSOR COPC.
* 
*                PRU OUTPUT COMMAND ACTION PROCESSOR COPC PROCESSES A 
*                PRU COMMAND TO THE NPU THAT CONSISTS OF THE PRIMARY AND
*                SECONDARY FUNCTION CODES ONLY.  THE OUTPUT CHARACTER 
*                COUNT IS STORED AND THE PRIMARY AND SECONDARY FUNCTION 
*                CODES ARE OBTAINED AND STORED IN THE COMMAND HEADER. 
* 
*                  ENTRY -
* 
*                    (CO) = PRU OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                               (A) = COMMAND BLOCK TYPE, 
*                       (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT, 
*                    (NCH-NCH+L.CH) = NPU COMMAND HEADER. 
* 
*                  CALLS -
* 
**                   GTE - GET DRIVER CONTROL TABLE ENTRY.
  
  
 COPC     ACTION             PROCESS NULL TEXT PRU OUTPUT COMMAND 
          LDN    0           CONSTANT OF ZERO 
  
 COPC.1   LINK               ENTRY
          ADN    /BLOCK/L.CH PLUS LENGTH OF COMMAND HEADER
          STM    NNH+/NAM/C.MCC STORE OUTPUT CHARACTER COUNT
          LDD    CO          LOAD PRU OUTPUT COMMAND ORDINAL
          ADC    /TABLES/NPOC PLUS FWA OF PRU OUTPUT COMMAND TABLE
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE PRU OUTPUT COMMAND TABLE ENTRY 
          SHN    -4          POSITION PRIMARY FUNCTION CODE 
          STM    NCH+/BLOCK/PFC STORE PRIMARY FUNCTION CODE 
          LDD    RTE         LOAD PRU OUTPUT COMMAND TABLE ENTRY
          LPN    0#F         EXTRACT SECONDARY FUNCTION CODE
          STM    NCH+/BLOCK/SFC STORE SECONDARY FUNCTION CODE 
          LDN    /BLOCK/CMD  LOAD COMMAND BLOCK TYPE
  
          QUAL   STATES 
          EXIT   SOPC.3      EXIT TO TRANSFER OUTPUT TO FRONT END 
          QUAL   ACTIONS
  
 COSF     SPACE  2,40 
**               PRU OUTPUT COMMAND ACTION PROCESSOR COSF.
* 
*                PRU OUTPUT COMMAND ACTION PROCESSOR COSF PROCESSES THE 
*                SET OUTPUT FILE CHARACTERISTICS COMMAND TO THE FRONT 
*                END.  THE COMMAND TEXT IS READ FROM THE WORKLIST AND 
*                SCANNED FOR A FILE MODE FIELD NAME/FIELD VALUE PAIR. 
*                IF A FILE MODE FIELD NAME IS FOUND THE FILE MODE IS
*                STORED IN THE PCB AND TRANSFORMED INTO THE CORRECT 
*                VALUE FOR THE FRONT END.  THE OUTPUT CHARACTER COUNT IS
*                STORED AND THE PRIMARY AND SECONDARY FUNCTION CODES ARE
*                OBTAINED AND STORED IN THE COMMAND HEADER. 
* 
*                  ENTRY -
* 
*                    (CO) = PRU OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                               (A) = COMMAND BLOCK TYPE, 
*                    (W.PSP1+C.OFP) = OUTPUT FILE MODE IF CHANGED,
*                       (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT, 
*                    (NCH-NCH+L.CH) = FRONT END COMMAND HEADER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF FIELD VALUE ERROR,
*                    EXIT TO *ERROR* IF NO WORKLIST TERMINATOR. 
* 
*                  CALLS -
* 
*                    GPCT - GET PRU COMMAND TEXT FROM WORKLIST, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 COSF     ACTION             PROCESS SET PRU OUTPUT FILE COMMAND
          RJM    GPCT        EXIT TO GET WORKLIST COMMAND TEXT
          LDN    0           CONSTANT OF ZERO 
          STD    T7          INITIALIZE FN/FV SCAN INDEX
  
 COSF.1   LDM    DRBUF,T7    LOAD NEXT FN VALUE 
          ZJN    COSF.5      EXIT IF END OF FN/FV PAIRS 
          LMC    /NAM/BSFT   LESS VALUE FOR FILE MODE 
          NJN    COSF.4      EXIT IF NOT FILE MODE
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDM    DRBUF+1,T7  LOAD FIELD VALUE FOR FILE MODE 
          STD    T1          STORE FILE MODE VALUE FROM APPLICATION 
          SBN    /TABLES/MAXOFM LESS MAXIMUM OUTPUT FILE MODE VALUE 
          MJN    COSF.3      EXIT IF FIELD VALUE IN RANGE 
  
 COSF.2   EXIT   SPWL.3      EXIT TO ERROR - WORKLIST FORMAT ERROR
  
 COSF.3   LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          SCN    /NAM/L.PCBFM CLEAR FILE MODE 
          ADM    DRBUF+1,T7  PLUS NEW OUTPUT FILE MODE
          STD    T10+/NAM/C.PCBFP STORE PRU FILE PARAMETER BYTE 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDM    FEFM,T1     LOAD FILE MODE VALUE FOR FRONT END 
          STM    DRBUF+1,T7  STORE FRONT END FILE MODE VALUE
 COSF.4   LDN    2           CONSTANT OF TWO
          RAD    T7          INCREMENT FN/FV SCAN INDEX 
          SBD    T17         LESS MAXIMUM WORKLIST CHARACTER COUNT
          PJN    COSF.2      EXIT IF NO TERMINATING FN
          UJK    COSF.1      EXIT TO CHECK NEXT FN
  
 COSF.5   LDN    /NAM/W.PCBPS8 PRU STREAM PARAMETER WORD EIGHT
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCNB
          LDN    0           CONSTANT OF ZERO 
          STD    T10+/NAM/C.PCBOSC RESET OUTSTANDING SPACES COUNT 
          LDN    /NAM/W.PCBPS8 PRU STREAM PARAMETER WORD EIGHT
          RJM    WCMW        EXIT TO REWRITE PCNB PARAM WORD EIGHT
          LDD    T7          LOAD OUTPUT TEXT CHARACTER COUNT 
          EXIT   COPC.1      EXIT TO STORE OUTPUT CHARACTER COUNT 
 FEFM     SPACE  2,6
*                FRONT END FILE MODE TRANSFORM TABLE. 
  
  
 FEFM     BSS    0           APPLICATION TO FRONT END FILE MODE TABLE 
  
          CON    /BLOCK/DISO26 DISPLAY CODE O26 
          CON    /BLOCK/DISO29 DISPLAY CODE O29 
          CON    /BLOCK/ASCII  ASCII
          CON    /BLOCK/TRANS  TRANSPARENT SIX BIT
          CON    /BLOCK/TRANS  TRANSPARENT EIGHT BIT
 COPO     SPACE  2,30 
**               PRU OUTPUT COMMAND ACTION PROCESSOR COPO.
* 
*                PRU OUTPUT COMMNAD ACTION PROCESSOR COPO PROCESSES 
*                THE PRU ON COMMAND TO THE FRONT END.  THE PRU BUFFER 
*                SIZE IS OBTAINED FROM THE PCB AND CONVERTED TO A 
*                CHARACTER COUNT, THE OUTPUT TEXT CHARACTER COUNT IS
*                STORED AND THE PRIMARY AND SECONDARY FUNCTION CODES ARE
*                OBTAINED AND STORE IN THE COMMAND HEADER.
* 
*                  ENTRY -
* 
*                    (CO) = PRU OUTPUT COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = COMMAND BLOCK TYPE, 
*                           (NNH+C.MCC) = MESSAGE CHARACTER COUNT,
*                        (NCH-NCH+L.CH) = FRONT END COMMAND HEADER, 
*                    (DRBUF-DRBUF+L.CT) = COMMAND TEXT. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 COPO     ACTION             PROCESS PRU ON COMMAND TO FRONT END
          LDN    0           CONSTANT OF ZERO 
          RJM    RPCB        EXIT TO READ PCB HEADER WORD 
          LDD    T10+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE
          LPN    /NAM/L.PCBNBS EXTRACT PRU BUFFER SIZE
          SHN    1           TIMES TWO
          STD    T0          STORE PRU BUFFER SIZE TIMES TWO
          SHN    3-1         TIMES EIGHT
          ADD    T0          TIMES TEN
          SHN    6           TIMES SIX HUNDRED AND FORTY
          STD    T0          STORE LOW-ORDER OF CHARACTER COUNT 
          SHN    -8          POSITION HIGH-ORDER OF CHARACTER COUNT 
          STM    DRBUF+/BLOCK/BLKSZ HIGH-ORDER OF BLOCK SIZE
          LDD    T0          LOAD LOW-ORDER OF CHARACTER COUNT
          LPC    0#FF        EXTRACT LOW-ORDER OF CHARACTER COUNT 
          STM    DRBUF+/BLOCK/BLKSZ+1 LOW-ORDER OF BLOCK SIZE 
          LDN    /BLOCK/L.PRUON LENGTH OF PRU ON COMMAND TEXT 
          EXIT   COPC.1      EXIT TO STORE OUTPUT CHARACTER COUNT 
 ACWL     TITLE  WORKLIST PROCESSORS. 
 TYPEACT  MICRO  1,,*WORK*   DEFINE ACTION TYPE 
 ACWL     SPACE  2,32 
 ACWL     SPACE  2,34 
**               WORKLIST ACTION PROCESSOR ACWL.
* 
*                WORKLIST ACTION PROCESSOR ACWL PROCESSES AN APPLICATION
*                COMMAND WORKLIST.  IF THERE IS SUFFICIENT INBOUND
*                BUFFER SPACE FOR THE WORKLIST COMPLETED WORKLIST THE 
*                WORKLIST COMMAND CONTROL TABLE ENTRY IS OBTAINED AND 
*                THE WORKLIST PARAMETERS ARE STORED IN THE PCB.  THE
*                STREAM STATE RESPONSE ACTION ORDINAL FOR THE COMMAND 
*                IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL,
*                    (WLP) = WORKLIST POINTER WORD ORDINAL. 
* 
*                  EXIT - 
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (RTE) = WORKLIST COMMAND CONTROL TABLE ENTRY,
*                     (CO) = FRONT END COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 ACWL     ACTION             PROCESS APPLICATION WORKLIST COMMAND 
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETED WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    ACWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 ACWL.1   LINK               ENTRY
          LDD    WLO         LOAD WORKLIST COMMAND ORDINAL
          ADC    /TABLES/AWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    FRONT END COMMAND ORDINAL TO LOW-ORDER 
          STD    CO          STORE FRONT END COMMAND ORDINAL
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER WORD ONE ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
  
 ACWL.2   LINK               ENTRY
          LDD    WLP         LOAD WORKLIST POINTER WORD ORDINAL 
          SHN    6           POSITION WORKLIST POINTER WORD ORDINAL 
          ADD    CO          PLUS NPU COMMAND ORDINAL 
          STD    T10+/NAM/C.PCBWP STORE WORKLIST PARAMETER BYTE 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    WLO         LOAD WORKLIST COMMAND ORDINAL
          LMN    /TABLES/SITR VALUE FOR START TRANSPARENT INPUT 
          ZJN    ACWL.3      EXIT IF START TRANSPARENT INPUT
          LMN    /TABLES/SINT&/TABLES/SITR DELTA TO START NON-TRANS INPU
          ZJN    ACWL.3      EXIT IF START NON-TRANSPARNET INPUT
          LMN    /TABLES/SIFT&/TABLES/SINT DELTA TO START INBOUND TRFR
          NJN    ACWL.4      EXIT IF NOT START INBOUND FILE TRANSFER
 ACWL.3   LDN    /NAM/W.PCBPS8 PRU PARAMETER WORD EIGHT ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD
          LDN    0           CONSTANT OF ZERO 
          STD    T10+/NAM/C.PCBQBC RESET QUEUED BUFFER COUNT
          RJM    WCMW        EXIT TO REWRITE PRU PARAMETER WORD TO PCB
 ACWL.4   LDD    RTE         LOAD DRIVER CONTROL TABLE ENTRY
          LPN    L.ACTORD    EXTRACT STREAM STATE ACTION ORDINAL
          EXIT   EWLPX       RETURN VIA WORKLIST PROCESSOR ACTION RETURN
 DOWL     SPACE  2,32 
**               WORKLIST ACTION PROCESSOR DOWL.
* 
*                WORKLIST ACTION PROCESSOR DOWL PROCESSES AN APPLICATION
*                DIRECT OUTPUT WORKLIST.  IF THE END OF JOB FLAG IS SET 
*                THE WORKLIST COMMAND ORDINAL IS CHANGED TO END OF JOB
*                DIRECT OUTPUT REQUEST.  THE WORKLIST COMMAND CONTROL 
*                TABLE ENTRY IS OBTAINED AND THE WORKLIST PARAMETERS ARE
*                STORED IN THE PCB.  THE STREAM STATE RESPONSE ACTION 
*                ORDINAL FOR THE COMMAND IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (DRBUF-DRBUF+L.SMHDR) = SERVICE MESSAGE HEADER,
*                                    (WLO) = WORKLIST COMMAND ORDINAL,
*                                    (WLP) = WORKLIST POINTER ORDINAL.
* 
*                  EXIT - 
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (RTE) = WORKLIST COMMAND CONTROL TABLE ENTRY,
*                     (CO) = FRONT END COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 DOWL     ACTION             PROCESS DIRECT OUTPUT WORKLIST 
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETED WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    DOWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 DOWL.1   LDM    DRBUF+4     LOAD END OF JOB FLAG 
          ZJN    DOWL.2      EXIT IF NOT END OF JOB REQUEST 
          LDN    /TABLES/EORQ-/TABLES/DORQ DELTA FOR END OUTPUT REQUEST 
          RAD    WLO         INCREMENT WORKLIST ORDINAL TO END REQUEST
 DOWL.2   EXIT   ACWL.1      EXIT TO GET WORKLIST CONTROL TABLE ENTRY 
 ARWL     SPACE  2,38 
**               WORKLIST ACTION PROCESSOR ARWL.
* 
*                WORKLIST ACTION PROCESSOR ARWL PROCESSES AN APPLICATION
*                RESTART OUTPUT WORKLIST.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE FOR THE WORKLIST COMPLETED
*                WORKLIST A CHECK IS MADE FOR A REQUEST FOR A NEW FILE
*                POSITION.  IF A NEW FILE POSITION IS REQUESTED THE NEW 
*                NEW FILE POSITION IS STORED IN THE PCB AND IF THE FILE 
*                MODE IS NOT TRANSPARENT THE FORCE NEW LINE AND END OF
*                LINE FLAGS ARE SET IN THE PCB.  THE WORKLIST COMMAND 
*                CONTROL TABLE ENTRY IS OBTAINED AND THE WORKLIST 
*                PARAMETERS ARE STORED IN THE PCB.  THE STREAM STATE
*                RESPONSE ACTION ORDINAL FOR THE COMMAND IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (DRBUF-DRBUF+L.SMHDR) = SERVICE MESSAGE HEADER,
*                                    (WLO) = WORKLIST COMMAND ORDINAL,
*                                    (WLP) = WORKLIST POINTER ORDINAL.
* 
*                  EXIT - 
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (RTE) = WORKLIST COMMAND CONTROL TABLE ENTRY,
*                     (CO) = FRONT END COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 ARWL     ACTION             PROCESS APPLICATION RESTART STREAM WORKLIST
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETED WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    ARWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 ARWL.1   LDM    DRBUF+/NAM/CPRU LOAD HIGH-ORDER OF NEW PRU ORDINAL 
          ADM    DRBUF+/NAM/CPRU+1 PLUS LOW-ORDER OF NEW PRU ORDINAL
          NJN    ARWL.2      EXIT IF NEW PRU ORDINAL
          EXIT   ACWL.1      EXIT TO GET WORKLIST CONTROL TABLE ENTRY 
  
 ARWL.2   LDD    WLO         LOAD WORKLIST COMMAND ORDINAL
          ADC    /TABLES/AWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    FRONT END COMMAND ORDINAL TO LOW-ORDER 
          STD    CO          STORE FRONT END COMMAND ORDINAL
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PRAMETER BYTE 
          LPN    /NAM/L.PCBFM EXTRACT FILE MODE 
          SBN    /TABLES/ASC+1-/TABLES/PCT HIGHEST NON-TRANSPARENT VALUE
          PJN    ARWL.3      EXIT IF TRANSPARENT MODE 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          LPN    /NAM/B.PCBEOL EXTRACT END OF LINE FLAG 
          NJN    ARWL.3      EXIT IF LAST OPERATION WAS END OF LINE 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          SCN    /NAM/B.PCBFNL&/NAM/B.PCBEOL&/NAM/B.PCBLOC CLEAR FLAGS
          ADN    /NAM/B.PCBFNL&/NAM/B.PCBEOL SET FLAGS
          STD    T10+/NAM/C.PCBFP STORE PRU FILE PARAMETER BYTE 
  
 ARWL.3   LINK               ENTRY
          LDD    T10+/NAM/C.PCBFNT LOAD FNT ORDINAL FROM PCB
          ZJN    ARWL.4      EXIT IF NO ACTIVE FILE 
          LDD    T15         LOAD HIGH-ORDER OF PRU PARAM WORD ONE ADDR 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF PRU PARAM WORD ONE ADDR
          ADN    /NAM/W.PCBPS5-/NAM/W.PCBPS1 DELTA FOR WORD FIVE
          CRD    T1          READ PRU STREAM PARAMETER WORD FIVE
          LDM    DRBUF+/NAM/CPRU LOAD HIGH-ORDER OF NEW PRU ORDINAL 
          STD    T10+/NAM/C.PCBNPR STORE HIGH-ORDER CURRENT PRU ORDINAL 
          STD    T1+/NAM/C.PCBCPP STORE HIGH-ORDER OF PRU ORDINAL 
          LDM    DRBUF+/NAM/CPRU+1 LOAD LOW-ORDER OF NEW PRU ORDINAL
          STD    T10+/NAM/C.PCBNPR+1 STORE LOW-ORDER CURRENT PRU ORDINAL
          STD    T1+/NAM/C.PCBCPP+1 STORE LOW-ORDER OF PRU ORDINAL
          LDD    T15         LOAD HIGH-ORDER OF PCB WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF PCB WORD ADDRESS 
          ADN    /NAM/W.PCBPS5-/NAM/W.PCBPS1 DELTA FOR WORD FIVE
          CWD    T1          REWRITE PRU STREAM PARAMETER WORD FIVE 
  
 ARWL.4   EXIT   ACWL.2      EXIT TO WRITE PRU PARAMETER WORD TO PCB
 SPWL     SPACE  2,40 
**               WORKLIST ACTION PROCESSOR SPWL.
* 
*                WORKLIST ACTION PROCESSOR SPWL PROCESSES AN APPLICATION
*                COMMAND WORKLIST TO START A PRU STREAM FILE.  IF THERE 
*                IS SUFFICIENT INBOUND BUFFER SPACE FOR THE WORKLIST
*                COMPLETED WORKLIST THE WORKLIST COMMAND CONTROL TABLE
*                ENTRY IS OBTAINED AND THE WORKLIST PARAMETERS PLUS THE 
*                FNT ORDINAL ARE STORED IN THE PCB.  THE STREAM STATE 
*                RESPONSE ACTION ORDINAL FOR THE COMMAND IS RETURNED. 
* 
*                  ENTRY -
* 
*                             (WLO) = WORKLIST COMMAND ORDINAL, 
*                             (WLP) = WORKLIST POINTER WORD ORDINAL,
*                    (NBH-NBH+L.BH) = WORKLIST BLOCK HEADER,
*                       (FBA-FBA+1) = WORKLIST ADDRESS. 
* 
*                  EXIT - 
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (RTE) = WORKLIST COMMAND CONTROL TABLE ENTRY,
*                     (CO) = FRONT END COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF WORKLIST FORMAT ERROR.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
**                   WCMW - WRITE WORD TO PCB.
  
  
 SPWL     ACTION             PROCESS START PRU STREAM WORKLIST COMMAND
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETED WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    SPWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 SPWL.1   LDD    WLO         LOAD WORKLIST COMMAND ORDINAL
          ADC    /TABLES/AWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
  
 SPWL.2   LINK               ENTRY
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    FRONT END COMMAND ORDINAL TO LOW-ORDER 
          STD    CO          STORE FRONT END COMMAND ORDINAL
          LDM    NBH+/NAM/C.BWD+1 LOAD CENTRAL WORD LENGTH OF WORKLIST
          LMN    /NAM/SMFPCM LESS LENGTH OF FILE PARAMETER WORKLIST 
          ZJN    SPWL.4      EXIT IF CORRECT WORKLIST LENGTH
  
 SPWL.3   LINK               ENTRY
          EREXIT WLE         EXIT TO ERROR - WORKLIST FORMAT ERROR
  
 SPWL.4   LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF WORKLIST ADDRESS 
          ADN    /NAM/SMHDRCM PLUS LENGTH OF WORKLIST HEADER WORDS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ WORKLIST FILE PARAMETER WORD
          LDD    T0+/NAM/FNT-/NAM/L.SMHDR FNT ORDINAL FROM WORKLIST 
          ZJN    SPWL.3      EXIT IF NO FNT ORDINAL 
          STD    T10+/NAM/C.PCBFNT STORE FNT ORDINAL INTO PCB 
          EXIT   ARWL.3      EXIT TO STORE CURRENT PRU ORDINAL
 JVWL     SPACE  2,40 
**               WORKLIST ACTION PROCESSOR JVWL.
* 
*                WORKLIST ACTION PROCESSOR JVWL PROCESSES AN APPLICATION
*                WORKLIST REPORTING THE RESULT OF JOB VALIDATION FOR A
*                PRU INPUT STREAM.  IF THERE IS SUFFICIENT INBOUND
*                BUFFER SPACE FOR THE WORKLIST COMPLETED WORKLIST THE 
*                RESPONSE CODE FROM THE WORKLIST IS OBTAINED AND USED 
*                TO GENERATE THE CORRECT CONTROL TABLE ENTRY AND THE
*                WORKLIST PARAMETERS PLUS THE FNT ADDRESS ARE STORED IN 
*                THE PCB.  THE STREAM STATE RESPONSE ACTION ORDINAL FOR 
*                THE COMMAND IS RETURNED. 
* 
*                  ENTRY -
* 
*                                    (WLP) = WORKLIST POINTER ORDINAL,
*                    (DRBUF-DRBUF+L.SMHDR) = SERVICE MESSAGE HEADER,
*                           (NBH-NBH+L.BH) = WORKLIST BLOCK HEADER, 
*                              (FAB-FBA+1) = WORKLIST ADDRESS.
* 
*                  EXIT - 
* 
*                      (A) = STREAM STATE RESPONSE ACTION ORDINAL,
*                    (RTE) = GENERATED CONTROL TABLE ENTRY, 
*                     (CO) = FRONT END COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF WORKLIST FORMAT ERROR.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
**                   WCMW - WRITE WORD TO PCB.
  
  
 JVWL     ACTION             PROCESS JOB VALIDATION WORKLIST RESPONSE 
          LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETED WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    JVWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 JVWL.1   LDM    DRBUF+1     LOAD RESPONSE CODE FROM WORKLIST 
          LPN    0#F         EXTRACT RESPONSE CODE FROM WORKLIST
          LMN    1           LESS VALUE FOR VALID JOB 
          ZJN    JVWL.2      EXIT IF VALID JOB
          LDN    /TABLES/.SJBE-/TABLES/.SJBV DELTA FOR INVALID JOB
  
 JVWL.2   ADN    /TABLES/.SJBV PLUS DELTA FOR VALID JOB 
          ADC    77BS6       PLUS NULL COMMAND VALUE
          EXIT   SPWL.2      EXIT TO STORE CONTROL TABLE ENTRY
 WLMS     TITLE  A-A LEVEL SEVEN WORKLIST ACTION PROCESSORS.
 WLMS     SPACE  2,20 
**               A-A WORKLIST ACTION PROCESSOR WLMS.
* 
*                A-A WORKLIST ACTION PROCESSOR WLMS PROCESSES THE 
*                RECEIPT OF A CHECKMARK FROM A REMOTE APPLICATION.  THE 
*                LEVEL SEVEN COMMAND ORDINAL IS STORED IN THE PCB AND 
*                THE STREAM STATE RESPONSE ACTION IS RETURNED.
*                CURRENT PRU POSITION IS STORED IN W.PCBPS4 AS THE PRU
*                POSITION CORRESPONDING TO THE CURRENT CHECKMARK. 
* 
*                  EXIT - 
* 
*                    (A) = STREAM STATE RESPONSE ACTION ORDINAL.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 WLMS     ACTION             RESPOND TO RECIEVED CHECKMARK
          LDN    /NAM/W.PCBPS4 PRU STREAM PARAMETER FOUR WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS4-/NAM/W.PCBPS1 DELTA FOR WORD ONE 
          CRD    T1          READ PRU PARAMETER WORD FROM PCB 
          LDN    /TABLES/MRL7 LOAD CHECKMARK REPLY COMMAND ORDINAL
          STD    CO          STORE LEVEL SEVEN COMMAND ORDINAL
          STD    T1+/NAM/C.PCBWP STORE WORKLIST PARAMETER BYTE
          LDD    T1+/NAM/C.PCBNPR HIGH-ORDER OF CURRENT PRU POSITION
          STD    T10+/NAM/C.PCBPPR HIGH-ORDER OF PENDING PRU POSITION 
          LDD    T1+/NAM/C.PCBNPR+1 LOW-ORDER OF CURRENT PRU POSITION 
          STD    T10+/NAM/C.PCBPPR+1 LOW-ORDER OF PENDING PRU POSITION
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD FOUR
          SBN    /NAM/W.PCBPS4-/NAM/W.PCBPS1 DELTA FOR WORD ONE 
          CWD    T1          REWRITE PRU PARAMETER WORD ONE TO PCB
          LDN    /TABLES/.S7MS LOAD STREAM STATE RESPONSE ACTION ORDINAL
          EXIT   EWLPX       RETURN VIA WORKLIST PROCESSOR ACTION RETURN
 VWLE     TITLE  DRIVER SUPPORT PROCESSORS. 
          QUAL
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    /ACTIONS/.ERROR
 VWLE     SPACE  2,48 
**               DRIVER SUPPORT PROCESSOR VWLE. 
* 
*                DRIVER SUPPORT PROCESSOR VWLE VALIDATES A PRU WORKLIST 
*                ENTRY.  THE NAM WORKLIST HEADER IS READ AND VALIDATED. 
*                IF THE WORKLIST ENTRY IS A REQUEST TO TERMINATE A PRU
*                STREAM THE LENGTH OF THE WORKLIST IS VALIDATED AND THE 
*                WORKLIST ORDINAL IS SET TO TERMINATE PRU STREAM.  IF 
*                THE WORKLIST IS AN APPLICATION SUPERVISORY MESSAGE THE 
*                LENGTH OF THE WORKLIST IS VALIDATED AND THE SUPERVISORY
*                HEADER WORD IS READ.  THE PRIMARY AND SECONDARY
*                FUNCTION CODES ARE VALIDATED AND THE WORKLIST ORDINAL
*                IS SET BASED ON THE PRIMARY AND SECONDARY FUNCTION 
*                CODES FROM THE APPLICATION.
* 
*                  ENTRY -
* 
*                    (FBA-FBA+1) = ADDRESS OF WORKLIST ENTRY, 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                          (HND) = HOST NODE ID,
*                           (TN) = TERMINAL NODE ID,
*                           (CN) = CONNECTION NUMBER. 
* 
*                  EXIT - 
* 
*                              (WLO) = WORKLIST ORDINAL,
*                     (NBH-NBH+L.BH) = NAM BLOCK HEADER,
*                     (NNH-NNH+L.NH) = PACKED WORKLIST HEADER,
*                     (WHB-WHB+L.WH) = UNPACKED WORKLIST HEADER,
*                    (DRBUF-DRBUF+4) = SUPERVISORY HEADER WORD. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF BAD WORKLIST ENTRY, 
*                    EXIT TO *ERROR* IF WORKLIST FORMAT ERROR.
* 
*                  CALLS -
* 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     UPD - UNPACK DATA,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
**                    TLU - TABLE LOOKUP. 
  
  
 VWLE     LINK               ENTRY
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          STD    T17         STORE CENTRAL WORD COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF WORKLIST ADDRESS 
          ADD    T17         PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS CENTRAL WORD COUNT
          CRM    NBH,T17     READ NAM BLOCK HEADER AND WORKLIST HEADER
          LDM    NBH+/NAM/C.BID LOAD BLOCK ID BYTE
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.WLID LESS WORKLIST BLOCK ID 
          ZJN    VWLE.2      EXIT IF CORRECT BLOCK ID 
  
 VWLE.1   LINK               ENTRY
          EREXIT BWL         EXIT TO ERROR - BAD WORKLIST ENTRY 
  
 VWLE.2   LDM    NBH+/NAM/C.BWD LOAD HIGH-ORDER OF BLOCK SIZE IN WORDS
          LPN    77B         EXTRACT HIGH-ORDER OF BLOCK SIZE 
          NJN    VWLE.1      EXIT IF BLOCK SIZE ERROR 
          LDM    NBH+/NAM/C.BWD+1 LOAD LOW-ORDER OF BLOCK SIZE IN WORDS 
          SBN    /NAM/L.BH+/NAM/L.NH LESS LENGTH OF NAM HEADERS 
          STD    T17         STORE WORKLIST TEXT WORD COUNT 
          LDC    NNH         LOAD ADDRESS OF NAM NETWORK HEADER 
          STD    T1          STORE SOURCE BUFFER ADDRESS
          ADN    WHB-NNH     DELTA FOR WORKLIST BUFFER ADDRESS
          STD    T2          STORE DESTINATION BUFFER ADDRESS 
          LDN    /NAM/L.WH   LENGTH OF WORKLIST HEADER
          RJM    /4IQ/UPD    EXIT TO UNPACK WORKLIST HEADER 
          LDM    WHB+/NAM/WHN LOAD HOST NODE FROM WORKLIST
          LMM    HND,FEI     LESS HOST NODE ID
          NJN    VWLE.3      EXIT IF HOST NODE ERROR
          LDM    WHB+/NAM/WTN LOAD TERMINAL NODE FROM WORKLIST
          LMD    TN          LESS TERMINAL NODE 
          ZJN    VWLE.4      EXIT IF CORRECT TERMINAL NODE
  
 VWLE.3   UJK    VWLE.1      EXIT TO ERROR - WORKLIST FORMAT ERROR
  
 VWLE.4   LDM    WHB+/NAM/WCN LOAD CONNECTION NUMBER FROM WORKLIST
          LMD    CN          LESS CONNECTION NUMBER 
          NJN    VWLE.3      EXIT IF CONNECTION NUMBER ERROR
          LDM    WHB+/NAM/WOC LOAD WORKLIST REQUEST CODE
          LMN    /NAM/TPWL   LESS VALUE FOR TERMINATE PRU STREAM REQUEST
          NJN    VWLE.6      EXIT IF NOT TERMINATE PRU STREAM REQUEST 
          LDD    T17         LOAD WORKLIST TEXT WORD COUNT
          NJN    VWLE.3      EXIT IF WORKLIST BLOCK SIZE ERROR
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDM    WHB+/NAM/WRC LOAD TERMINATE PRU REASON CODE
          LPN    77B         EXTRACT TERMINATE PRU REASON CODE
          STD    T10+/NAM/C.PCBTRC STORE TERMINATE PRU REASON CODE
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /TABLES/TPRU LOAD TERMINATE PRU WORKLIST ORDINAL 
  
 VWLE.5   STD    WLO         STORE WORKLIST ORDINAL 
          UJK    /STATES/SCWL.3 EXIT TO PROCESS WORKLIST ENTRY
  
 VWLE.6   LDD    T17         LOAD WORKLIST TEXT COUNT 
          ZJN    VWLE.7      EXIT IF WORKLIST BLOCK SIZE ERROR
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF WORKLIST BUFFER ADDRESS
          ADN    /NAM/L.BH+/NAM/L.NH PLUS LENGTH OF NAM HEADERS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRM    DRBUF,ON    READ SUPERVISORY HEADER FROM WORKLIST
          LDM    DRBUF       LOAD APPLICATION PRIMARY FUNCTION CODE 
          SCN    /NAM/B.NR/0#10 CLEAR NORMAL RESPONSE BIT 
          STD    T0          STORE APPLICATION PRIMARY FUNCTION CODE
          LPN    0#F         EXTRACT HIGH-ORDER SECONDARY FUNCTION CODE 
          NJN    VWLE.7      EXIT IF INVALID SECONDARY FUNCTION CODE
          LDM    DRBUF+1     LOAD LOW-ORDER OF SECONDARY FUNCTION CODE
          SHN    -8          POSITION TO LOW-ORDER
          ADD    T0          PLUS PRIMARY FUNCTION CODE 
          STD    TAR         STORE TABLE ARGUMENT 
          LDC    /TABLES/AWLCMD LOAD ADDRESS APPLICATION COMMAND TABLE
          RJM    TLU         EXIT TO FIND APPLICATION COMMAND ENTRY 
          PJN    VWLE.5      EXIT IF VALID APPLICATION COMMAND
  
 VWLE.7   UJK    /ACTIONS/SPWL.3 EXIT TO ERROR - WORKLIST FORMAT ERROR
 GPCT     TITLE  COMMAND PROCESSOR SUBROUTINES. 
 GPCT     SPACE  2,36 
**               SUBROUTINE GPCT. 
* 
*                SUBROUTINE GPCT READS THE COMMAND TEXT FROM THE
*                SUPERVISORY WORKLIST AND UNPACKS THE TEXT. 
* 
*                  ENTRY -
* 
*                    (WJP) = WORKLIST POINTER WORD. 
* 
*                  EXIT - 
* 
*                                 (T17) = TEXT CHARACTER COUNT, 
*                           (FBA-FBA+1) = WORKLIST ADDRESS, 
*                    (WLBUF-WLBUF+L.WT) = PACKED WORKLIST TEXT, 
*                    (DRBUF-DRBUF+L.WT) = UNPACKED WORKLIST TEXT. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF WORKLIST RELEASED,
*                    EXIT TO *ERROR* IF WORKLIST LENGTH ERROR.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     UPD - UNPACK DATA.
* 
*                  USES - 
* 
*                    T17 = CENTRAL WORD COUNT,
**                    T0 = WORKLIST TEXT LENGTH DIVIDED BY TWO. 
  
  
 GPCT     SUBR               ENTRY/EXIT 
          LDD    WLP         LOAD WORKLIST POINTER WORD ORDINAL 
          RJM    RPCB        EXIT TO READ WORKLIST POINTER WORD FROM PCB
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORS 
          STD    T17         STORE CENTRAL WORD COUNT 
          LDD    T10+/NAM/C.PCBWLP LOAD HIGH-ORDER OF WORKLIST ADDRESS
          STD    FBA         STORE HIGH-ORDER OF WORKLIST ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBWLP+1 PLUS LOW-ORDER OF WORKLIST ADDRESS 
          NJN    GPCT.1      EXIT IF WORKLIST PRESENT 
          EXIT   VWLE.1      EXIT TO ERROR - WORKLIST RELEASED
  
 GPCT.1   STD    FBA+1       STORE LOW-ORDER OF WORKLIST ADDRESS
          ADD    T17         PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS CENTRAL WORD COUNT
          CRM    NBH,T17     READ NAM BLOCK HEADER AND WORKLIST HEADER
          LCN    /NAM/SMHDRCM NEGATIVE OF SUPERVISORY HEADER LENGTH 
          RAM    NBH+/NAM/C.BWD+1 DECREMENT WORKLIST WORD COUNT 
          NJN    GPCT.3      EXIT IF WORKLIST TEXT
  
 GPCT.2   UJK    /ACTIONS/SPWL.3 EXIT TO ERROR - WORKLIST LENGTH ERROR
  
 GPCT.3   SBN    WLBCM+1     LESS MAXIMUM WORKLIST WORD LENGTH
          PJN    GPCT.2      EXIT IF WORKLIST LENGTH EXCEEDS MAXIMUM
          LDM    NBH+/NAM/C.BWD+1 LOAD WORKLIST TEXT WORD COUNT 
          STD    T17         STORE CENTRAL WORD COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF WORKLIST ADDRESS 
          ADN    /NAM/SMHDRCM DELTA TO BYPASS SUPERVISORY HEADER
          ADD    T17         PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS CENTRAL WORD COUNT
          CRM    WLBUF,T17   READ WORKLIST TEXT 
          LDC    WLBUF       LOAD ADDRESS OF WORKLIST TEXT BUFFER 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T2          STORE DESTINATION DATA ADDRESS 
          LDM    NBH+/NAM/C.BWD+1 LOAD WORKLIST TEXT WORD COUNT 
          ADN    1           ROUND UP 
          SHN    -1          DIVIDED BY TWO 
          STD    T0          STORE WORD LENGTH DIVIDED BY TWO 
          SHN    4           ONE HALF WORD LENGTH TIMES SIXTEEN 
          SBD    T0          TIMES FIFTEEN FOR CHARACTER COUNT
          STD    T17         STORE TEXT CHARACTER COUNT 
          RJM    /4IQ/UPD    EXIT TO UNPACK WORKLIST HEADER 
          UJK    GPCTX       RETURN 
  
 UPD      SPACE  2,26 
          QUAL   4IQ
  
  
**               SUBROUTINE UPD.
* 
*                SUBROUTINE UPD UNPACKS A SOURCE CHARACTER STRING OF
*                CONSECUTIVE EIGHT BIT CHARACTERS INTO A STRING OF
*                SINGLE EIGHT BIT CHARACTERS.  THE SUBROUTINE ITERATES
*                ON THREE SOURCE CHARACTERS.
* 
*                  ENTRY -
* 
*                     (A) = SOURCE DATA CHARACTER COUNT,
*                    (T1) = SOURCE DATA ADDRESS,
*                    (T2) = DESTINATION DATA ADDRESS. 
* 
*                  USES - 
* 
**                   T0 = SOURCE DATA CHARACTER COUNT.
  
  
 UPD      SUBR               ENTRY/EXIT 
          STD    T0          STORE SOURCE DATA CHARACTER COUNT
  
 UPD.1    LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -4          POSITION NEXT SOURCE CHARACTER 
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION HIGH-ORDER OF NEXT DATA CHARACTER 
          STI    T2          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAI    T2          ADD TO HIGH-ORDER OF DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPC    0#FF        EXTRACT NEXT SOURCE CHARACTER
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          UJK    UPD.1       EXIT TO PROCESS NEXT SOURCE BYTE 
  
          QUAL
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(COMMAND PROCESSORS),T2=(IVT OUTPUT COMMAND
, PROCESSORS) 
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .PPRU    SET    0
 .EBRAX   SET    0
 .ERROR   SET    0
 .TCRN    SET    0
 COCE     SPACE  2,32 
**               IVT COMMAND ACTION PROCESSOR COCE. 
* 
*                IVT COMMAND ACTION PROCESSOR COCE PROCESSES AN 
*                UNSOLICITED CE ERROR MESSAGE WHEN THE DRIVER DETECTS AN
*                ERROR PROCESSING A FRONT END.  IF THERE IS SUFFICIENT
*                INBOUND BUFFER SPACE FOR THE CE ERROR MESSAGE COMMAND
*                THE FRONT END STATUS IN THE INBOUND FET IS UPDATED AND 
*                THE CE ERROR MESSAGE COMMAND IS GENERATED AND
*                TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (DEC) = DRIVER ERROR CODE, 
*                    (PEC) = PREVIOUS DRIVER ERROR CODE,
*                    (CSR) = FRONT END STATUS REGISTER CONTENTS.
* 
*                  EXIT - 
* 
*                    (PEC) = CURRENT DRIVER ERROR CODE. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE FRONT END STATUS BYTE, 
*                     SRV - STORE REGISTER VALUE, 
**                    TCR - TRANSFER CE ERROR MESSAGE COMMAND.
  
  
 COCE     ACTION             PROCESS CE ERROR MESSAGE 
          LDM    DEC,FEI     LOAD CURRENT DRIVER ERROR CODE 
          LMM    PEC,FEI     LESS PREVIOUS DRIVER ERROR CODE
          NJN    COCE.1      EXIT IF DIFFERENT ERROR CODE 
          EXIT   EBRAX       RETURN VIA OUTPUT COMMAND ACTION RETURN
  
 COCE.1   LDN    /NAM/CEERCM LENGTH OF CE ERROR MESSAGE COMMAND 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COCE.2      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COCE.2   LDM    DEC,FEI     LOAD CURRENT DRIVER ERROR CODE 
          STM    PEC,FEI     STORE PREVIOUS DRIVER ERROR CODE 
          LDC    /NAM/B.NBTMF&/NAM/B.NBTNA LOAD NPU STATUS VALUE
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDC    0#FF        LOAD ERROR CODE
          STM    DRBUF+/BLOCK/CEERC STORE ERROR CODE
          LDM    DEC,FEI     LOAD DRIVER ERROR CODE 
          LPC    3777B       REMOVE MDI SOFT ERROR FLAG 
          STM    DRBUF+/BLOCK/CEDEC STORE DRIVER ERROR CODE 
          LDC    DRBUF+/BLOCK/CECSR LOAD ADDRESS FOR REGISTER CONTENTS
          STD    T7          STORE ADDRESS FOR REGISTER CONTENTS
          LDM    CSR,FEI     LOAD LAST COUPLER STATUS REGISTER CONTENTS 
          RJM    SRV         EXIT TO STORE REGISTER CONTENTS IN COMMAND 
          LDM    DEC,FEI     LOAD DRIVER ERROR CODE 
          SHN    -S.SERR     EXTRACT MDI SOFT ERROR FLAG
          SHN    /BLOCK/S.CESOFT REPOSITION MDI SOFT ERROR FLAG FOR CMD 
          RAM    DRBUF+/BLOCK/CECSR PLACE MDI SOFT ERROR FLAG IN CMD
          LDN    /NAM/CEERCM LOAD COMMAND WORD LENGTH 
          STM    NBH+/NAM/C.BWD+1 STORE COMMAND WORD LENGTH 
          LDN    /NAM/CEERC  LOAD COMMAND TEXT CHARACTER COUNT
  
 COCE.3   LINK               ENTRY
          STM    NNH+/NAM/C.MCC STORE MESSAGE TEXT CHARACTER COUNT
          LDM    HND,FEI     LOAD HOST NODE ID OF COUPLER 
          STM    BHB+/BLOCK/SN STORE SOURCE NODE
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE 
          LDN    0           CONSTANT OF ZERO 
          STM    DHB+/BLOCK/DBC ZERO DATA BLOCK CLARIFIER 
          STM    BHB+/BLOCK/CN STORE CONNECTION NUMBER
          LDN    /BLOCK/CMD  LOAD COMMAND BLOCK TYPE
          STM    BHB+/BLOCK/BNBT STORE BLOCK TYPE 
          LDC    /TABLES/NIOC LOAD ADDRESS OF COMMAND MESSAGE TABLE 
          ADD    CO          PLUS COMMAND ORDINAL 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    T0          STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -4          POSITION PRIMARY FUNCTION CODE 
          STM    NCH+/BLOCK/PFC STORE PRIMARY FUNCTION CODE 
          LDD    T0          LOAD DRIVER CONTROL TABLE ENTRY
          LPN    0#F         EXTRACT SECONDARY FUNCTION CODE
          STM    NCH+/BLOCK/SFC STORE SECONDARY FUNCTION CODE 
          EXIT   TCRN        EXIT TO TRANSFER COMMAND RESPONSE
 COLL     SPACE  2,26 
**               IVT COMMAND ACTION PROCESSOR COLL. 
* 
*                IVT COMMAND ACTION PROCESSOR COLL GENERATES A LOAD 
*                LOCAL NPU COMMAND.  IF THERE IS SUFFICIENT INBOUND 
*                BUFFER SPACE THE REQUEST FOR INITIALIZAITION IS
*                ACKNOWLEDGED TO THE NPU AND THE LOAD LOCAL NPU REQUEST 
*                COMMAND IS GENERATED AND TRANSFERRED TO THE INBOUND
*                BUFFER.
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CHN) = NPU CHANNEL NUMBER,
*                    (CAD) = NPU EQUIPMENT NUMBER.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE NPU STATUS BYTE, 
*                     WOW - WRITE ORDER WORD TO NPU,
**                    TCR - TRANSFER LOAD REQUEST COMMNAD.
  
  
 COLL     ACTION             GENERATE REQUEST TO LOAD LOCAL NPU 
          LDN    /NAM/LDRQCM LENGTH OF LOAD NPU REQUEST COMMAND 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COLL.1      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COLL.1   LDC    /NAM/B.NBTNA/&/NAM/B.NBTMF&/NAM/B.NBTIF LOAD NPU STATUS
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDN    1           CONSTANT OF ONE
  
 COLL.2   LINK               ENTRY
          STM    DRBUF+/BLOCK/LTYP STORE LOAD TYPE OF REQUEST 
          LDM    CHN,FEI     LOAD NPU CHANNEL NUMBER
          LPN    77B         EXTRACT NPU CHANNEL NUMBER 
          STM    DRBUF+/BLOCK/LP SET PORT TO NPU CHANNEL NUMBER 
          LDM    CAD,FEI     LOAD COUPLER ADDRESS 
          SHN    -9          POSITION EQUIPMENT NUMBER TO LOW-ORDER 
          STM    DRBUF+/BLOCK/LSP SET SUB-PORT TO EQUIPMENT NUMBER
          LDN    /NAM/LDRQCM LOAD COMMAND WORD LENGTH 
          STM    NBH+/NAM/C.BWD+1 STORE COMMAND WORD LENGTH 
          LDN    /NAM/LDRQC  LOAD COMMAND TEXT CHARACTER COUNT
          EXIT   COCE.3      EXIT TO STORE COMMAND TEXT CHARACTER COUNT 
 COLB     SPACE  2,32 
**               IVT COMMAND ACTION PROCESSOR COLB. 
* 
*                IVT COMMAND ACTION PROCESSOR COLB GENERATES A LOAD NPU 
*                BOOTSTRAP REQUEST COMMAND.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE THE NPU IS CLEARED, THE NPU DEAD
*                TIMER IS SET TO THE BOOTSTRAP LOAD VALUE, THE
*                ACCUMULATED BATCH COUNT IS RESET, THE LOAD NPU 
*                BOOTSTRAP REQUEST COMMAND IS GENERATED AND TRANSFERRED 
*                TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CHN) = NPU CHANNEL NUMBER,
*                    (CAD) = NPU EQUIPMENT NUMBER.
* 
*                  EXIT - 
* 
*                    (DTM) = SET TO BOOTSTRAP LOAD TIMEOUT VALUE, 
*                    (ABC) = RESET. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     FNC - CLEAR NPU,
*                    UNSB - UPDATE NPU STATUS BYTE, 
**                    TCR - TRANSFER LOAD NPU BOOTSTRAP COMMAND.
  
  
 COLB     ACTION             GENERATE REQUEST TO LOAD NPU BOOTSTRAP 
          LDN    /NAM/LDRQCM LENGTH OF LOAD NPU REQUEST COMMAND 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          MJN    COR0.1      EXIT IF NOT SUFFICIENT INBOUND BUFFER SPACE
          LDC    /FUNCTION/CLN LOAD FUNTION TO CLEAR NPU
          RJM    /NPU/FNC    EXIT TO CLEAR NPU
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.BSDEAD    PLUS BOOTSTRAP LOAD TIMEOUT QUANTUM
          STM    DTM,FEI     SET NPU DEAD TIMER TO BOOTSTRAP LOAD TIMER 
          LDC    /NAM/B.NBTMF&/NAM/B.NBTDF LOAD NPU STATUS BYTE VALUE 
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDN    0           CONSTANT OF ZERO 
          STM    ABC,FEI     RESET ACCUMULATED BATCH COUNT
          EXIT   COLL.2      EXIT TO STORE LOAD TYPE
 COR0     SPACE  2,24 
**               IVT COMMAND ACTION PROCESSOR COR0. 
* 
*                IVT COMMAND ACTION PROCESSOR COR0 GENERATES A
*                REGULATION LEVEL ZERO COMMAND TO NAM TO INDICATE THAT
*                NO MORE TRAFFIC CAN BE DELIVERED THROUGH THE COUPLER.
*                IF THERE IS SUFFICIENT INBOUND BUFFER SPACE THE
*                REGULATION LEVEL ZERO COMMAND IS GENERATED AND 
*                TRANSFERRED TO THE INBOUND BUFFER. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE NPU STATUS BYTE, 
**                    TCR - TRANSFER REGULATION ZERO COMMAND. 
  
  
 COR0     ACTION             GENERATE REGULATION LEVEL ZERO COMMAND 
          LDN    /NAM/RGCPCM LENGTH OF REGULATION CHANGE COMMAND
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COR0.2      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
  
 COR0.1   LINK               ENTRY
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COR0.2   LDC    /NAM/B.NBTNA&/NAM/B.NBTMF&/NAM/B.NBTLF LOAD NPU STATUS 
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/BLOCK/REG SET REGULATION LEVEL TO ZERO
          STM    DRBUF+/BLOCK/REGR RESET REPLY BYTE 
          LDN    /NAM/RGCPCM LOAD COMMAND WORD LENGTH 
          STM    NBH+/NAM/C.BWD+1 STORE COMMAND WORD LENGTH 
          LDN    /NAM/RGCPC  LOAD COMMAND TEXT CHARACTER COUNT
          EXIT   COCE.3      EXIT TO STORE COMMAND TEXT CHARACTER COUNT 
CORS      SPACE  2,32 
**               IVT COMMAND ACTION PROCESSOR CORS. 
* 
*                IVT COMMAND ACTION PROCESSOR CORS SETS THE FRONT END 
*                REGULATION LEVEL TO ZERO AND REQUESTS THE REGULATION 
*                LEVEL OF THE HOST.  IF THERE IS SUFFICIENT INBOUND 
*                BUFFER SPACE FOR THE REQUEST REGULATION LEVEL COMMAND
*                THE FRONT END REGULATION LEVEL IS SET TO ZERO AND THE
*                COMMAND IS GENERATED AND TRANSFERRED TO THE INBOUND
*                BUFFER.
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE NPU STATUS BYTE, 
*                     TCR - TRANSFER REGULATION LEVEL STATUS REQUEST. 
* 
*                  MACRO CALLS -
* 
**                   FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
  
  
 CORS     ACTION             REQUEST HOST REGULATION LEVEL
          LDN    /NAM/RGSTCM LENGTH OF REGULATION STATUS REQUEST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          MJN    COR0.1      EXIT IF NOT SUFFICIENT INBOUND BUFFER SPACE
  
          LDM    FTY,FEI     LOAD FRONT END TYPE
          ZJN    CORS.2      EXIT IF NPU FRONT END
  
          LDM    CHVER,FEI   MCI CHANNEL PROTOCOL VERSION NUMBER
  
          SBN    /MSTATUS/VERSION4  LOWEST VERSION NUMBER THAT DOES NOT 
                                    NEED START REGULATION FUNCTION
  
          PJN    CORS.1      EXIT IF START REGULATION NOT NEEDED
  
          LDN    /FUNCTION/SRR  MCI START REGULATION FUNCTION CODE
  
          FEIO   FERG        CHANGE FRONT END REGULATION LEVEL
  
 CORS.1   LDM    FTY,FEI     LOAD FRONT END TYPE
          SCN    L.REG       CLEAR LAST REGULATION LEVEL
          STM    FTY,FEI     REPLACE FRONT END TYPE 
  
 CORS.2   LDC    /NAM/B.NBTNA LOAD NPU ACTIVE STATUS
  
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDN    /NAM/RGSTCM LOAD REQUEST WORD LENGTH 
  
          STM    NBH+/NAM/C.BWD+1 STORE REQUEST WORD LENGTH 
  
          LDN    /NAM/RGSTC  LOAD REQUEST TEXT CHARACTER COUNT
          EXIT   COCE.3      EXIT TO STORE REQUEST TEXT CHARACTER COUNT 
 COLT     SPACE  2,16 
**               IVT COMMAND ACTION PROCESSOR COLT. 
* 
*                IVT COMMAND ACTION PROCESSOR COLT TRANSFERS THE
*                BOOTSTRAP LOAD TIMED OUT COMMAND TO THE INBOUND BUFFER 
*                IF THERE IS SUFFICIENT INBOUND BUFFER SPACE. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UNSB - UPDATE NPU STATUS BYTE, 
**                    TCR - TRANSFER LOAD TIMED OUT COMMAND.
  
  
 COLT     ACTION             TRANSFER BOOTSTRAP LOAD TIMED OUT COMMAND
          LDN    /NAM/BSTOCM LENGTH OF LOAD TIMED OUT COMMAND 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    COLT.2      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
  
 COLT.1   LINK               ENTRY
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 COLT.2   LDC    /NAM/B.NBTNA&/NAM/B.NBTMF LOAD NPU STATUS VALUE
          RJM    UNSB        EXIT TO UPDATE NPU STATUS BYTE 
          LDN    /NAM/BSTOCM LOAD LOADER TIMED OUT WORD LENGTH
          STM    NBH+/NAM/C.BWD+1 STORE LOAD TIMED OUT WORD LENGTH
          LDN    /NAM/BSTOC  LOAD LOAD TIMED OUT CHARACTER COUNT
          EXIT   COCE.3      EXIT TO STORE LOAD TIMED OUT CHARACTER COUN
 SRV      TITLE  COMMAND PROCESSOR SUPPORT SUBROUTINES. 
          QUAL
*                RESET LINKS
  
  
 .ERROR   SET    0
 SRV      SPACE  2,22 
**               SUBROUTINE SRV.
* 
*                SUBROUTINE SRV STORES A TWELVE BIT REGISTER VALUE INTO 
*                THE SPECIFIED LOCATIONS AS UNPACKED EIGHT BIT DATA.
* 
*                  ENTRY -
* 
*                     (A) = REGISTER VALUE, 
*                    (T7) = ADDRESS TO RECEIVE REGISTER VALUE.
* 
*                  EXIT - 
* 
*                    (T7) = UPDATED TO NEXT ADDRESS.
* 
*                  USES - 
* 
**                   T0 = REGISTER VALUE. 
  
  
 SRV      SUBR               ENTRY/EXIT 
          STD    T0          STORE REGISTER VALUE 
          SHN    -8          POSITION HIGH-ORDER OF REGISTER VALUE
          STI    T7          STORE HIGH-ORDER OF REGISTER VALUE 
          AOD    T7          INCREMENT DESTINATION ADDRESS
          LDD    T0          LOAD REGISTER VALUE
          LPC    0#FF        EXTRACT LOW-ORDER OF REGISTER VALUE
          STI    T7          STORE LOW-ORDER OF REGISTER VALUE
          AOD    T7          INCREMENT DESTINATION ADDRESS
          UJK    SRVX        RETURN 
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(COMMAND PROCESSORS),T2=(PRU INPUT COMMAND 
,PROCESSORS)
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*CMDIN*  DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .EWLPX   SET    0
 .NPRU    SET    0
 CIBI     SPACE  2,38 
**               PRU INPUT COMMAND ACTION PROCESSOR CIBI. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIBI PROCESSES A
*                STREAM STOPPED BY BATCH INTERRUPT COMMAND FROM THE 
*                FRONT END.  THE WORKLIST COMMAND CONTROL TABLE ENTRY IS
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIBI     ACTION             PROCESS STREAM STOPPED BATCH INTERRUPT 
          LDN    /NAM/RCBI   LOAD BATCH INTERRUPT REASON CODE 
  
 CIBI.1   LINK               ENTRY
          STD    T17         STORE STREAM STOPPED REASON CODE 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    CIBI.3      EXIT IF END OF TRANSFER RECEIVED 
  
 CIBI.2   LINK               ENTRY
          EREXIT CFE         EXIT TO ERROR - PRU COMMAND FORMAT ERROR 
  
 CIBI.3   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE WORKLIST WORD LENGTH 
  
 CIBI.4   LINK               ENTRY
          STM    DRBUF+/NAM/PFC RESET RESPONSE FLAG 
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBNPR LOAD HIGH-ORDER CURRENT PRU POSITION 
          STM    DRBUF+/NAM/CPRU STORE HIGH-ORDER CURRENT PRU POSITION
          LDD    T10+/NAM/C.PCBNPR+1 LOAD LOW-ORDER CURRENT PRU POSITION
          STM    DRBUF+/NAM/CPRU+1 STORE LOW-ORDER CURRENT PRU POSITION 
          LDD    T17         LOAD STREAM STOPPED REASON CODE
          LMN    /NAM/RCBI   LESS VALUE FOR BATCH INTERRUPT 
          ZJN    CIBI.5      EXIT IF BATCH INTERRUPT
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SCN    77B         CLEAR OLD EXTERNALLY STOPPED REASON CODE 
          ADD    T17         PLUS NEW EXTERNALLY STOPPED REASON CODE
          STD    T10+/NAM/C.PCBSS STORE STREAM STOPPED REASON CODES 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
  
 CIBI.5   LINK               ENTRY
          LDD    CO          LOAD COMMAND ORDINAL 
          ADC    /TABLES/DWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    POSITION WORKLIST ORDINAL TO LOW-ORDER 
          STD    WLO         STORE WORKLIST COMMAND ORDINAL 
          RJM    ISMH        EXIT TO INITIALIZE SERVICE MESSAGE HEADER
          LDD    RTE         LOAD DRIVER CONTROL TABLE ENTRY
          LPN    L.ACTORD    EXTRACT STREAM STATE ACTION ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 CICS     SPACE  2,40 
**               PRU INPUT COMMAND ACTION PROCESSOR CICS. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CICS PROCESSES A
*                STREAM STOPPED BY A SLIPPED CARD COMMAND FROM THE FRONT
*                END.  THE STREAM STOPPED EXTERNALLY REASON CODE IS 
*                STORED, THE WORKLIST COMMAND CONTROL TABLE ENTRY IS
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CICS     ACTION             PROCESS STREAM STOPPED SLIPPED CARD
          LDN    /NAM/RCCS   LOAD CARD SLIPPED REASON CODE
          EXIT   CIBI.1      EXIT TO STORE REASON CODE
 CIES     SPACE  2,40 
**               PRU INPUT COMMAND ACTION PROCESSOR CIES. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIES PROCESSES A
*                STREAM STOPPED BY END OF STREAM COMMAND FROM THE FRONT 
*                END.  THE STREAM STOPPED EXTERNALLY REASON CODE IS 
*                STORED, THE WORKLIST COMMAND CONTROL TABLE ENTRY IS
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIES     ACTION             PROCESS STREAM STOPPED END OF STREAM 
          LDN    /NAM/RCEI   LOAD END OF INPUT STREAM REASON CODE 
          EXIT   CIBI.1      EXIT TO STORE REASON CODE
 CIFL     SPACE  2,38 
**               PRU INPUT COMMAND ACTION PROCESSOR CIFL. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIFL PROCESSES A
*                STREAM STOPPED BY FILE LIMIT EXCEEDED COMMAND FROM THE 
*                FRONT END.  THE STREAM STOPPED EXTERNALLY REASON CODE
*                IS STORED, THE WORKLIST COMMAND CONTROL TABLE ENTRY IS 
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF CPB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIFL     ACTION             PROCESS STREAM STOPPED FILE LIMIT EXCEEDED 
          LDN    /NAM/RCFL   LOAD FILE LIMIT EXCEEDED REASON CODE 
          EXIT   CIBI.1      EXIT TO STORE REASON CODE
 CINR     SPACE  2,40 
**               PRU INPUT COMMAND ACTION PROCESSOR CINR. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CINR PROCESSES A
*                STREAM STOPPED DEVICE NOT READY COMMAND FROM THE FRONT 
*                END.  THE STREAM STOPPED EXTERNALLY REASON CODE IS 
*                STORED, THE WORKLIST COMMAND CONTROL TABLE ENTRY IS
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CINR     ACTION             PROCESS STREAM STOPPED DEVICE NOT READY
          LDN    /NAM/RCNR   LOAD DEVICE NOT READY REASON CODE
          EXIT   CIBI.1      EXIT TO STORE REASON CODE
 CINV     SPACE  2,40 
**               PRU INPUT COMMAND ACTION PROCESSOR CINV. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CINV PROCESSES A
*                STREAM STOPPED BY NO VFU FILE COMMAND FROM THE FRONT 
*                END.  THE STREAM STOPPED EXTERNALLY REASON CODE IS 
*                STORED, THE WORKLIST COMMAND CONTROL TABLE ENTRY IS
*                OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, THE
*                SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CINV     ACTION             PROCESS STREAM STOPPED BY NO VFU FILE
          LDN    /NAM/RCNV   LOAD NO VFU FILE REASON CODE 
          EXIT   CIBI.1      EXIT TO STORE REASON CODE
  
 CIPM     SPACE  2,42 
**               PRU INPUT COMMAND ACTION PROCESSOR CIPM. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIPM PROCESSES A
*                STREAM STOPPED BY PM MESSAGE COMMAND FROM THE FRONT
*                END.  THE PM TEXT IS ACCEPTED AND STORED, THE PM TEXT
*                CHARACTER COUNT IS STORED, THE PM TEXT WORD LENGTH IS
*                CALCULATED AND STORED, THE STREAM STOPPED EXTERNALLY 
*                REASON CODE IS STORED, THE WORKLIST COMMAND CONTROL
*                TABLE ENTRY IS OBTAINED, THE WORKLIST COMMAND ORDINAL
*                IS STORED, THE SUPERVISORY HEADER WORD AND THE WORKLIST
*                ARE INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    ASUD - ACCEPT AND STORE UNPACKED DATA, 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIPM     ACTION             PROCESS STREAM STOPPED BY PM MESSAGE 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    CIPM.2      EXIT IF END OF TRANSFER NOT RECEIVED 
  
 CIPM.1   EXIT   CIBI.2      EXIT TO ERROR - PRU COMMAND FORMAT ERROR 
  
 CIPM.2   LDC    DRBUF+/NAM/PMTEXT LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADC    /BLOCK/L.OSPM PLUS MAXIMUM LENGTH FOR PM TEXT
          RJM    ASUD        EXIT TO ACCEPT AND STORE UNPACKED DATA 
          ZJN    CIPM.1      EXIT IF END OF TRANSFER NOT RECEIVED 
          LDN    /NAM/PMTEXT/5-1 WORD LENGTH OF WORKLIST HEADER 
          STD    T7          INITIALIZE DATA WORD COUNT 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          STM    DRBUF+/NAM/PMCC STORE PM TEXT CHARACTER COUNT
          ADN    5-1         ROUND UP 
  
 CIPM.3   SBN    5           LESS CHARACTERS PER CENTRAL WORD 
          MJN    CIPM.4      EXIT IF CHARACTER COUNT EXHAUSTED
          STD    T3          STORE RESIDUAL CHARACTER COUNT 
          AOD    T7          INCREMENT DATA WORD COUNT
          LDD    T3          LOAD RESIDUAL CHARACTER COUNT
          UJK    CIPM.3      EXIT TO DECREMENT RESIDUAL CHARACTER COUNT 
  
 CIPM.4   LDD    T7          LOAD DATA WORD COUNT 
          STM    NBH+/NAM/C.BWD+1 STORE PM TEXT WORD COUNT
          LDN    /NAM/RCPM   LOAD PM TEXT REASON CODE 
          STD    T17         STORE STREAM STOPPED REASON CODE 
          LDN    0           CONSTANT OF ZERO 
          EXIT   CIBI.4      EXIT TO RESET RESPONSE FLAG
 CIAE     SPACE  2,44 
**               PRU INPUT COMMAND ACTION PROCESSOR CIAE. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIAE PROCESSES AN 
*                ACCOUNTING COMMAND AT END OF INFORMATION FROM THE FRONT
*                END.  THE ACCOUNTING DATA IS ACCEPTED AND STORED IN THE
*                PCB IF THERE IS NO DATA QUEUE OT THE LAST PRU BUFFER IF
*                THERE IS A DATA QUEUE.  THE COMMAND ORDINAL IS 
*                ADJUSTED FOR PRU OUTPUT STREAMS, THE WORKLIST COMMAND
*                CONTROL TABLE IS OBTAINED, THE WORKLIST COMMAND ORDINAL
*                IS STORED, THE SUPERVISORY HEADER WORD AND THE WORKLIST
*                ARE INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                    (BHS) = BLOCK HANDLER STATE, 
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    ASEB - ACCEPT AND STORE PACKED EIGHT BIT DATA, 
*                    WCMW - WRITE CENTRAL MEMORY WORD,
*                    RFWL - TRANSFER FILE PARAMETERS TO RETURN WORKLIST,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIAE     ACTION             PROCESS END OF INFORMATION COMMAND 
          LDN    0           CONSTANT OF ZERO 
  
 CIAE.1   LINK               ENTRY
          STM    DRBUF+/NAM/PFC STORE RESPONSE FLAG 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    CIAE.3      EXIT IF END OF TRANSFER NOT RECEIVED 
  
 CIAE.2   EXIT   CIBI.2      EXIT TO ERROR - PRU COMMAND FORMAT ERROR 
  
 CIAE.3   LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLDB LOAD HIGH-ORDER LAST BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLDB+1 PLUS LOW-ORDER LAST BUFFER ADDRESS 
          NJN    CIAE.5      EXIT IF DATA QUEUED TO PCB 
          LDN    /NAM/W.PCBPS3 PRU STREAM PARAMETER THREE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
  
 CIAE.4   STD    T6+1        STORE LOW-ORDER OF ACCOUNTING WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T6          STORE HIGH-ORDER OF ACCOUNTING WORD ADDRESS
          LDN    T10+/NAM/C.PCBACT LOAD ADDRESS FOR ACCOUNTING DATA 
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    1           PLUS LENGTH OF ACCOUNTING DATA 
          CLIO   FEIP        EXIT TO ACCEPT AND STORE PACKED DATA 
          ZJN    CIAE.2      EXIT IF END OF TRANSFER NOT RECEIVED 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /BLOCK/L.EOF LESS EXPECTED INPUT LENGTH
          ZJN    CIAE.6      EXIT IF EXPECTED INPUT LENGTH
          UJK    CIAE.2      EXIT TO ERROR - PRU COMMAND FORMAT ERROR 
  
 CIAE.5   ADN    W.ACT       PLUS DELTA FOR ACCOUNTING WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ ACCOUNTING WORD 
          UJK    CIAE.4      EXIT TO STORE ACCOUNTING WORD ADDRESS
  
 CIAE.6   LDD    T6          LOAD HIGH-ORDER OF ACCOUNTING WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T6+1        PLUS LOW-ORDER OF ACCOUNTING WORD ADDRESS
          CWD    T10         REWRITE ACCOUNTING WORD
          LDD    BHS         LOAD BLOCK HANDLER STATE 
          LMN    /TABLES/BHS2 LESS VALUE FOR PRU INPUT STREAM 
          ZJN    CIAE.7      EXIT IF PRU INPUT STREAM 
          LDN    /TABLES/ADOT-/TABLES/ADIN DELTA FOR PRU OUTPUT STREAM
          RAD    CO          ADJUST COMMAND ORDINAL FOR OUTPUT STREAM 
          LDD    T10+/NAM/C.PCBACT LOAD HIGH-ORDER OF ACCOUNTING DATA 
          STM    DRBUF+/NAM/ACNT STORE HIGH-ORDER OF ACCOUNTING DATA
          LDD    T10+/NAM/C.PCBACT+1 LOAD LOW-ORDER OF ACCOUNTING DATA
          STM    DRBUF+/NAM/ACNT+1 STORE LOW-ORDER OF ACCOUNTING DATA 
          RJM    RFWL        EXIT TRANSFER FILE PARAMETERS TO WORKLIST
  
 CIAE.7   LDN    /NAM/SMFPT-/NAM/SMHDRT LENGTH OF FILE PARAMETER TEXT 
          STM    NBH+/NAM/C.BWD+1 STORE FILE PARAMETER TEXT WORD LENGTH 
          LDN    0           CONSTANT OF ZERO 
          STD    T17         STORE REASON CODE
          EXIT   CIBI.5      EXIT TO GET WORKLIST COMMAND CONTROL TABLE 
 CIAT     SPACE  2,44 
**               PRU INPUT COMMAND ACTION PROCESSOR CIAT. 
* 
*                PRU INPUT COMMAND ACTION PROCESSOR CIAT PROCESSES AN 
*                ACCOUNTING COMMAND AT ABORT TERMINATION FROM THE FRONT 
*                END.  THE ACCOUNTING DATA IS ACCEPTED AND STORED IN THE
*                PCB IF THERE IS NO DATA QUEUE OR THE LAST PRU BUFFER 
*                IF THERE IS A DATA QUEUE.  THE COMMAND ORDINAL IS
*                ADJUSTED FOR PRU OUTPUT STREAMS, THE WORKLIST COMMAND
*                CONTROL TABLE IS OBTAINED, THE WORKLIST COMMAND ORDINAL
*                IS STORED, THE SUPERVISORY HEADER WORD AND THE WORKLIST
*                ARE INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                    (BHS) = BLOCK HANDLER STATE, 
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU COMMAND FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    ASEB - ACCEPT AND STORE PACKED EIGHT BIT DATA, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 CIAT     ACTION             PROCESS END OF ABORT COMMAND 
          LDN    /NAM/B.NR/0#10 LOAD NORMAL RESPONSE BIT
          EXIT   CIAE.1      EXIT TO STORE RESPONSE BIT 
 ERWL     TITLE  WORKLIST PROCESSORS. 
 TYPEACT  MICRO  1,,*WORK*   DEFINE ACTION TYPE 
 ERWL     SPACE  2,10 
**               WORKLIST ACTION PROCESSOR ERWL.
* 
*                WORKLIST ACTION PROCESSOR ERWL PROCESSES AN ILLOGICAL
*                WORKLIST ACTION BY TRANSFERRING CONTROL TO THE DRIVER
**               ERROR ROUTINE. 
  
  
 ERWL     ACTION             ILLOGICAL WORKLIST ACTION
          EREXIT DWE         EXIT TO ERROR - ILLOGICAL WORKLIST ACTION
 ISWL     SPACE  2,32 
**               WORKLIST ACTION PROCESSOR ISWL.
* 
*                WORKLIST ACTION PROCESSOR ISWL PROCESSES AN INPUT
*                STREAM STOPPED EXTERNALLY.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE FOR THE INPUT STOPPED 
*                WORKLIST THE STREAM STOPPED EXTERNALLY REASON CODE IS
*                OBTAINED AND STORED.  THE WORKLIST HEADER WORD AND THE 
*                WORKLIST ARE INITIALIZED AND THE STREAM STATE RESPONSE 
*                ACTION ORDINAL IS RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 ISWL     ACTION             GENERATE INPUT STOPPED EXTERNALLY WORKLIST 
          LDN    /NAM/SMHDRCM LENGTH OF INPUT STREAM STOPPED WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    ISWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 ISWL.1   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD COUNT
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          LPN    77B         EXTRACT EXTERNALLY STOPPED REASON CODE 
  
 ISWL.2   LINK               ENTRY
          STD    T17         STORE REASON CODE
          LDN    0           CONSTANT OF ZERO 
  
 ISWL.3   LINK               ENTRY
          STM    DRBUF+/NAM/PFC STORE RESPONSE FLAG 
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/NAM/CPRU ZERO HIGH-ORDER CURRENT PRU POSITION 
          STM    DRBUF+/NAM/CPRU+1 ZERO LOW-ORDER CURRENT PRU POSITION
  
 ISWL.4   LINK               ENTRY
          RJM    ISMH        EXIT TO INITIALIZE SERVICE MESSAGE HEADER
          LDD    WLO         LOAD WORKLIST ORDINAL
          ADC    /TABLES/DWLQRT FWA OF DRIVER WORKLIST RESPONSE TABLE 
          RJM    GTE         EXIT TO GET STREAM STATE RESPONSE ACTION 
          EXIT   EWLPX       RETURN VIA WORKLIST PROCESSOR ACTION RETURN
 IEWL     SPACE  2,32 
**               WORKLIST ACTION PROCESSOR IEWL.
* 
*                WORKLIST ACTION PROCESSOR IEWL PROCESSES AN INPUT
*                STREAM STOPPED INTERNALLY.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE FOR THE INPUT STREAM STOPPED
*                WORKLIST THE STREAM STOPPED INTERNALLY REASON CODE IS
*                OBTAINED AND STORED.  IF A MASS STORAGE ERROR OCCURED
*                THE MASS STORAGE ERROR CODE IS OBTAINED AND STORED.
*                THE WORKLIST HEADER WORD AND THE WORKLIST ARE
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION IS
*                RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 IEWL     ACTION             GENERATE INPUT STOPPED INTERNALLY WORKLIST 
          LDN    /NAM/SMHDRCM LENGTH OF STREAM STOPPED WORKLIST 
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    IEWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 IEWL.1   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD LENGTH 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SHN    -6          POSITION INTERNALLY STOPPED REASON CODE
          STD    T17         STORE STREAM STOPPED REASON CODE 
          LMN    /NAM/RCMS   LESS VALUE FOR MASS STORAGE ERROR
          NJN    IEWL.2      EXIT IF NOT MASS STORAGE ERROR 
          LDN    /NAM/W.PCBPS4 PRU STREAM PARAMETER FOUR WORD ORDINAL 
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBMEC LOAD MASS STORAGE ERROR CODE 
          STM    DRBUF+/NAM/IMSEC STORE MASS STORAGE ERROR CODE 
  
 IEWL.2   LDD    T17         LOAD STREAM STOPPED REASON CODE
          EXIT   ISWL.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 BIWL     SPACE  2,26 
**               WORKLIST ACTION PROCESSOR BIWL.
* 
*                WORKLIST ACTION PROCESSOR BIWL PROCESSES AN INPUT
*                STREAM STOPPED BY BATCH INTERRUPT.  IF THERE IS
*                SUFFICIENT INBOUND BUFFER SPACE FOR THE INPUT
*                STOPPED WORKLIST THE STREAM STOPPED REASON CODE IS 
*                STORED.  THE WORKLIST HEADER WORD AND THE WORKLIST 
*                ARE INITIALIZED AND THE STREAM STATE RESPONSE ACTION 
*                ORDINAL IS RETURNED. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 BIWL     ACTION             GENERATE BATCH INTERRUPT WORKLIST
          LDN    /NAM/SMHDRCM LENGTH OF BATCH INTERRUPT WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    BIWL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 BIWL.1   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD COUNT
          LDN    /NAM/RCBI   REASON CODE FOR BATCH INTERRUPT
          EXIT   ISWL.2      EXIT TO STORE REASON CODE
 OAWL     SPACE  2,24 
**               WORKLIST ACTION PROCESSOR OAWL.
* 
*                WORKLIST ACTION PROCESSOR OAWL PROCESSES AN OUTPUT 
*                ACKNOWLEDGMENT FOR A DIRECT OUTPUT.  THE WORKLIST
*                HEADER WORD AND WORKLIST ARE INITIALIZED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORCINAL.
* 
*                  EXIT - 
* 
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    ISMH - INITIALIZE SERVICE MESSAGE HEADER,
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 OAWL     ACTION             DIRECT OUTPUT ACKNOWLEDGMENT WORKLIST
          LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD COUNT
          STD    T17         STORE REASON CODE
          LDN    /NAM/B.NR/0#10 LOAD NORMAL RESPONSE FLAG 
          EXIT   ISWL.3      EXIT TO STORE RESPONSE FLAG
 OSWL     SPACE  2,32 
**               WORKLIST ACTION PROCESSOR OSWL.
* 
*                WORKLIST ACTION PROCESSOR OSWL PROCESSES AN OUTPUT 
*                STREAM STOPPED BY THE APPLICATION.  IF THERE IS
*                SUFFICIENT INBOUND BUFFER SPACE FOR THE OUTPUT STREAM
*                STOPPED WORKLIST THE CURRENT FILE POSITION IS STORED 
*                IN THE WORKLIST.  THE WORKLIST HEADER WORD AND THE 
*                WORKLIST ARE INITIALIZED AND THE STREAM STATE RESPONSE 
*                ACTION IS RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    ISMH - INITIALIZE SERVICE MESSAGE HEADER,
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 OSWL     ACTION             GENERATE OUTPUT STOPPED RESPONSE WORKLIST
          LDN    /NAM/SMHDRCM LENGTH OF STREAM STOPPED WORKLIST 
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    OSWL.1      EXIT IF SUFFICIENT BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 OSWL.1   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD LENGTH 
          STD    T17         ZERO REASON CODE 
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDN    /NAM/B.NR/0#10 LOAD NORMAL RESPONSE BIT
  
 OSWL.2   LINK               ENTRY
          STM    DRBUF+/NAM/PFC STORE RESPONSE FLAG 
          LDD    T10+/NAM/C.PCBNPR LOAD HIGH-ORDER CURRENT PRU POSITION 
          STM    DRBUF+/NAM/CPRU STORE HIGH-ORDER CURRENT PRU POSITION
          LDD    T10+/NAM/C.PCBNPR+1 LOAD LOW-ORDER CURRENT PRU POSITION
          STM    DRBUF+/NAM/CPRU+1 STORE LOW-ORDER CURRENT PRU POSITION 
          EXIT   ISWL.4      EXIT TO INITIALIZE SERVICE MESSAGE HEADER
 OEWL     SPACE  2,34 
**               WORKLIST ACTION PROCESSOR OEWL.
* 
*                WORKLIST ACTION PROCESSOR OEWL PROCESSES AN OUTPUT 
*                STREAM STOPPED INTERNALLY.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE FOR THE OUTPUT STREAM STOPPED 
*                WORKLIST THE STREAM STOPPED INTERNALLY REASON CODE IS
*                OBTAINED AND STORED.  IF A MASS STORAGE ERROR OCCURED
*                THE LENGTH OF THE WORKLIST IS INCREMENTED AND THE MASS 
*                STORAGE ERROR CODE IS OBTAINED AND STORED.  THE
*                CURRENT FILE POSITION IS STORED IN THE WORKLIST, THE 
*                WORKLIST HEADER WORD AND THE WORKLIST ARE INITIALIZED
*                AND THE STREAM STATE RESPONSE ACTION IS RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    ISMH - INITIALIZE SERVICE MESSAGE HEADER,
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 OEWL     ACTION             GENERATE STREAM STOPPED INTERNALLY WORKLIST
          LDN    /NAM/SMHDRCM+1 LENGTH OF STREAM STOPPED WORKLIST 
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    OEWL.1      EXIT IF SUFFICIENT BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 OEWL.1   LDN    0           CONSTANT OF ZERO 
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD LENGTH 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SHN    -6          POSITION INTERNALLY STOPPED REASON CODE
          STD    T17         STORE STREAM STOPPED REASON CODE 
          LDD    T17         LOAD STREAM STOPPED REASON CODE
          LMN    /NAM/RCMS   LESS VALUE FOR MASS STORAGE ERROR
          NJN    OEWL.2      EXIT IF NOT MASS STORAGE ERROR 
          AOM    NBH+/NAM/C.BWD+1 INCREMENT TEXT WORD COUNT 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRM    DRBUF+5,ON  INITIALIZE MASS STORAGE ERROR CODE WORD
          LDN    /NAM/W.PCBPS4 PRU STREAM PARAMETER FOUR WORD ORDINAL 
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBMEC LOAD MASS STORAGE ERROR CODE 
          STM    DRBUF+/NAM/OMSEC STORE MASS STORAGE ERROR CODE 
  
 OEWL.2   LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDN    0           CONSTANT OF ZERO 
          EXIT   OSWL.2      EXIT TO STORE RESPONSE FLAG
 EFWL     SPACE  2,26 
**               WORKLIST ACTION PROCESSOR EFWL.
* 
*                WORKLIST ACTION PROCESSOR EFWL PROCESSES AN END OF FILE
*                TRANSFER.  IF THERE IS SUFFICIENT INBOUND BUFFER SPACE 
*                FOR THE END OF FILE TRANSFER WORKLIST THE WORKLIST 
*                HEADER WORD AND THE WORKLIST IS INITIALIZED AND THE
*                STREAM STATE RESPONSE ACTION IS RETURNED.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    RFWL - TRANSFER FILE PARAMETERS TO RETURN WORKLIST,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MES0AGE HEADER.
  
  
 EFWL     ACTION             PROCESS END OF FILE TRANSFER WORKLIST
 EJWL     SPACE  2,30 
**               WORKLIST ACTION PROCESSOR EJWL.
* 
*                WORKLIST ACTION PROCESSOR EJWL PROCESSES AN END OF JOB 
*                ON A PRU INPUT STREAM.  IF THERE IS SUFFICIENT INBOUND 
*                BUFFER SPACE FOR THE END OF JOB WORKLIST THE WORKLIST
*                HEADER WORD AND THE WORKLIST ARE INITIALIZED.  IF THE
*                STREAM STATE IS BYPASS THE WORKLIST ORDINAL IS MODIFIED
*                TO STREAM BYPASSED.  THE STREAM STATE RESPONSE ACTION
*                ORDINAL IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (STS) = STREAM STATES, 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    RFWL - TRANSFER FILE PARAMETERS TO RETURN WORKLIST,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MES0AGE HEADER.
  
  
 EJWL     ACTION             GENERATE END OF JOB WORKLIST 
          LDN    0           CONSTANT OF ZERO 
  
 EJWL.1   LINK               ENTRY
          STM    DRBUF+/NAM/PFC STORE RESPONSE FLAG 
          LDN    /NAM/SMFPCM LENGTH OF FILE PARAMETER WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    EJWL.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 EJWL.2   LDN    /NAM/SMFPT-/NAM/SMHDRT LENGTH OF FILE PARAMETER TEXT 
          STM    NBH+/NAM/C.BWD+1 STORE FILE PARAMETER TEXT WORD LENGTH 
          RJM    RFWL        EXIT TRANSFER FILE PARAMETERS TO WORKLIST
          LDN    /NAM/W.PCBPS3 PRU STREAM PARAMETER THREE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBACT LOAD HIGH-ORDER OF ACCOUNTING DATA 
          STM    DRBUF+/NAM/ACNT STORE HIGH-ORDER OF ACCOUNTING DATA
          LDD    T10+/NAM/C.PCBACT+1 LOAD LOW-ORDER OF ACCOUNTING DATA
          STM    DRBUF+/NAM/ACNT+1 STORE LOW-ORDER OF ACCOUNTING DATA 
          LDD    STS         LOAD STREAM STATES 
          LPN    77B         EXTRACT CURRENT STREAM STATE 
          LMN    /TABLES/STS16 LESS BYPASS STREAM STATE 
          ZJN    EJWL.4      EXIT IF BYPASS IN EFFECT 
  
 EJWL.3   LDN    0           CONSTANT OF ZERO 
          STD    T17         RESET REASON CODE
          EXIT   ISWL.4      EXIT TO INITIALIZE SERVICE MESSAGE HEADER
  
 EJWL.4   LDN    /TABLES/ISEB-/TABLES/ISEJ DELTA FOR BYPASSED 
          RAD    WLO         INCREMENT WORKLIST ORDINAL TO BYPASSED 
          LDN    /NAM/B.NR/0#10 LOAD NORMAL RESPONSE FLAG 
          STM    DRBUF+/NAM/PFC STORE RESPONSE FLAG 
          UJK    EJWL.3      EXIT TO STORE RESPONSE FLAG
 AJWL     SPACE  2,36 
**               WORKLIST ACTION PROCESSOR AJWL.
* 
*                WORKLIST ACTION PROCESSOR AJWL PROCESSES AN END OF 
*                ABORT OF A PRU INPUT STREAM.  IF THERE IS SUFFICIENT 
*                INBOUND BUFFER SPACE FOR THE END OF ABORT WORKLIST THE 
*                WORKLIST HEADER WORD AND THE WORKLIST ARE INITIALIZED
*                AND THE STREAM STATE RESPONSE ACTION ORDINAL IS
*                RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NO FNT ASSIGNED.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                   ISMH - INITIALIZE SERVICE MESSAGE HEADER.
  
  
 AJWL     ACTION             GENERATE END OF ABORT WORKLIST 
          LDN    /NAM/B.NR/0#10 LOAD NORMAL RESPONSE BIT
          EXIT   EJWL.1      EXIT TO STORE NORMAL RESPONSE BIT
 FTRF     SPACE  2,32 
**               A-A WORKLIST ACTION PROCESSOR FTRF.
* 
*                A-A WORKLIST ACTION PROCESSOR FTRF PROCESSES AN END OF 
*                INFORMATION ON AN A-A FILE TRANSFER.  IF THERE IS
*                SUFFICIENT INBOUND BUFFER SPACE FOR THE END OF FILE
*                TRANSFER WORKLIST THE FILE PARAMETERS ARE TRANSFERRED
*                TO THE WORKLIST, THE WORKLIST HEADER WORD AND THE
*                WORKLIST ARE INITIALIZED STREAM STATE RESPONSE 
*                ACTION ORDINAL IS RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RFWL - TRANSFER FILE PARAMETERS TO RETURN WORKLIST,
*                    ISMH - INITIALIZE SERVICE MESSAGE HEADER,
**                    GTE - GET DRIVER CONTROL TABLE ENTRY. 
  
  
 FTRF     ACTION             RETURN FILE TO APPLICATION 
          LDN    /NAM/FTEFCM LENGTH OF RETURN FILE WORKLIST 
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    FTRF.1      EXIT IF SUFFICIENT BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 FTRF.1   RJM    RFWL        EXIT TRANSFER FILE PARAMETERS TO WORKLIST
          LDN    /NAM/SMFPT-/NAM/SMHDRT LENGTH OF FILE PARAMETER TEXT 
          STM    NBH+/NAM/C.BWD+1 STORE FILE PARAMETER TEXT WORD COUNT
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/NAM/PFC SET RESPONSE CODE 
          EXIT   ISWL.4      EXIT TO INITIALIZE SERVICE MESSAGE HEADER
 QIWL     TITLE  DRIVER SUPPORT PROCESSORS. 
          QUAL
 QIWL     SPACE  2,24 
**               DRIVER SUPPORT PROCESSOR QIWL. 
* 
*                DRIVER SUPPORT PROCESSOR QIWL QUEUES A WORKLIST ENTRY
*                FOR A PRU INPUT STREAM.  IF A DATA QUEUE EXISTS THE
*                WORKLIST IS QUEUED TO THE LAST PRU BUFFER.  IF NO
*                DATA QUEUE EXISTS THE WORKLIST IS QUEUED TO THE PCB. 
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
**                    TFL - FORM ABSOLUTE CENTRAL ADDRESS.
  
  
 QIWL     LINK               ENTRY
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLDB LOAD HIGH-ORDER LAST BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLDB+1 PLUS LOW-ORDER LAST BUFFER ADDRESS 
          NJN    QIWL.2      EXIT IF DATA QUEUED TO PCB 
          LDN    /NAM/W.PCBWLQ WORKLIST QUEUE WORD ORDINAL
          RJM    RPCB        EXIT TO READ WORKLIST QUEUE WORD FROM PCB
  
 QIWL.1   STD    T15+1       STORE LOW-ORDER OF QUEUE WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF QUEUE WORD ADDRESS 
          LDD    T10+/NAM/C.QIO LOAD WORKLIST QUEUE IN POINTER
          SHN    -6          WORKLIST QUEUE IN POINTER TO LOW-ORDER 
          STD    T1          STORE WORKLIST QUEUE IN POINTER
          LDC    1S6         INCREMENT FOR WORKLIST QUEUE IN POINTER
          RAD    T10+/NAM/C.QIO INCREMENT WORKLIST QUEUE IN POINTER 
          SHN    -6          WORKLIST QUEUE IN POINTER TO LOW-ORDER 
          SBN    7           LESS MAXIMUM VALUE 
          MJN    QIWL.3      EXIT IF IN POINTER IN RANGE
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 QIWL.2   ADN    W.CLQ       DELTA FOR QUEUE WORD FROM PRU BUFFER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ QUEUE WORD FROM PRU BUFFER
          UJK    QIWL.1      EXIT TO STORE QUEUE WORD ADDRESS 
  
 QIWL.3   LDD    T1          LOAD QUEUE IN POINTER
          SHN    18-1        DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          STD    T2          STORE WORKLIST QUEUE IN BYTE DISPLACEMENT
          MJN    QIWL.5      EXIT IF RIGHT POSITION IN BYTE 
          LDD    WLO         LOAD WORKLIST COMMAND ORDINAL
          SHN    6           POSITION WORKLIST COMMAND ORDINAL
  
 QIWL.4   STM    T10+/NAM/C.QUE,T2 STORE QUEUED WORKLIST COMMAND BYTE 
          LDD    T15         LOAD HIGH-ORDER OF QUEUE WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF QUEUE WORD ADDRESS 
          CWD    T10         REWRITE QUEUE WORD 
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
  
 QIWL.5   LDM    T10+/NAM/C.QUE,T2 LOAD QUEUED WORKLIST COMMAND BYTE
          ADD    WLO         PLUS WORKLIST COMMAND ORDINAL
          UJK    QIWL.4      EXIT TO STORE WORKLIST COMMAND BYTE
 ISMH     TITLE  COMMAND/WORKLIST PROCESSOR SUBROUTINES.
 ISMH     SPACE  2,34 
**               SUBROUTINE ISMH. 
* 
*                SUBROUTINE ISMH INITIALIZES THE SERVICE MESSAGE HEADER 
*                OF THE WORKLIST BEING GENERATED.  THE PRIMARY AND
*                SECONDARY FUNCTION CODES ARE OBTAINED AND STORED WITH
*                THE REASON CODE INTO THE SERVICE MESSAGE HEADER AND THE
*                WORKLIST IS INITIALIZED. 
* 
*                  ENTRY -
* 
*                            (WLO) = WORKLIST COMMAND ORDINAL,
*                      (DRBUF+PFC) = RESPONSE FLAG, 
*                            (T17) = REASON CODE, 
*                    (NBH+C.BWD+1) = WORKLIST TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
*                    (DRBUF-DRBUF+L.SMH) = SERVICE MESSAGE HEADER,
*                          (NBH+C.BWD+1) = WORKLIST WORD LENGTH.
* 
*                  CALLS -
* 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    IWL - INITIALIZE WORKLIST. 
* 
*                  USES - 
* 
**                   T1 = WORKLIST COMMAND TABLE ENTRY. 
  
  
 ISMH     SUBR               ENTRY/EXIT 
          LDC    /TABLES/AWLCMD FWA APPLICATION COMMAND TABLE 
          ADD    WLO         PLUS WORKLIST ORDINAL
          RJM    GTE         EXIT TO GET WORKLIST COMMAND TABLE ENTRY 
          STD    T1          STORE WORKLIST COMMAND TABLE ENTRY 
          SCN    0#F         CLEAR SECONDARY FUNCTION CODE
          RAM    DRBUF+/NAM/PFC ADD PRIMARY FUNCTION TO RESPONSE FLAG 
          LDD    T1          LOAD WORKLIST COMMAND TABLE ENTRY
          LPN    0#F         EXTRACT LOW-ORDER SECONDARY FUNCTION CODE
          SHN    8           POSITION LOW-ORDER SECONDARY FUNCTION CODE 
          ADD    T17         PLUS REASON CODE 
          STM    DRBUF+/NAM/SFC SECONDARY FUNCTION CODE AND REASON CODE 
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/NAM/ACN ZERO APPLICATION CONNECTION NUMBER
          LDN    /NAM/SMHDRCM LENGTH OF SERVICE MESSAGE HEADER
          RAM    NBH+/NAM/C.BWD+1 INCREMENT WORKLIST WORD LENGTH
          LDN    /NAM/PDWL   LOAD PROCESS DRIVER WORKLIST REQUEST 
          RJM    IWL         EXIT TO INITIALIZE WORKLIST
          UJK    ISMHX       RETURN 
 RFWL     SPACE  2,28 
**               SUBROUTINE RFWL. 
* 
*                SUBROUTINE RFWL TRANSFERS THE FILE INFORMATION TO A
*                RETURN FILE WORKLIST IMAGE AND RESETS THE FILE NAME
*                TABLE ORDINAL PLUS SETS END OF LINE AS LAST OPERATION
*                IN THE PRU CONTROL BLOCK.
* 
*                  ENTRY -
* 
*                    (PCB-PCB+1) = PRU CONTROL BLOCK ADDRESS. 
* 
*                  EXIT - 
* 
*                    (W.PCBPS1+C.PCBFNT) = SET TO ZERO, 
*                     (W.PCBPS1+C.PCBFP) = LAST OPERATION END OF LINE,
*                          (DRBUF+FNAME) = FILE PARAMETERS. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
**                    TFL - FORM ABSOLUTE CENTRAL ADDRESS.
  
  
 RFWL     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+/NAM/C.PCBFNT ZERO FNT ORDINAL IN PCB
          STD    T10+/NAM/C.PCBNPR ZERO HIGH-ORDER OF FILE POSITION 
          STD    T10+/NAM/C.PCBNPR+1 ZERO LOW-ORDER OF FILE POSITION
          LDN    /NAM/B.PCBEOL LOAD END OF LINE AS LAST OPERATION FLAG
          STD    T10+/NAM/C.PCBFP STORE PRU FILE PARAMETER BYTE 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    PCB         LOAD HIGH-ORDER OF PCB ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PCB+1       PLUS LOW-ORDER OF PCB ADDRESS
          ADN    /NAM/W.PCBNFN PLUS DELTA FOR NAM FILE PARAMETER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRM    DRBUF+/NAM/FNAME,ON READ FILE NAME FROM NAM WORD 
          UJK    RFWLX       RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(WORKLIST PROCESSORS),T2=(DRIVER WORKLIST P
,ROCCESORS) 
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*WORK*   DEFINE ACTION TYPE 
 LINK     SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .EWLPX   SET    0
 .NPRU    SET    0
 .EBRAX   SET    0
 RJVL     SPACE  2,38 
**               WORKLIST ACTION PROCESSOR RJVL.
* 
*                WORKLIST ACTION PROCESSOR RJVL PROCESSES A REQUEST FOR 
*                JOB VALIDATION.  IF THERE IS SUFFICIENT INBOUND
*                BUFFER SPACE FOR THE REQUEST JOB VALIDATION WORKLIST 
*                THE JOB VALIDATION DATA IS TRANSFERRED FROM THE PRU
*                BUFFER TO THE WORKLIST BUFFER AND THE LENGTH OF THE
*                JOB VALIDATION TEXT IS CALCULATED.  THE SUPERVISORY
*                HEADER WORD AND THE WORKLIST ARE INITIALIZED.  THE 
*                STREAM STATE RESPONSE ACTION ORDINAL FOR JOB VALIDATION
*                REQUESTED IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF NO PRU INPUT BUFFER.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                    IWL - INITIALIZE WORKLIST.
  
  
 RJVL     ACTION             GENERATE JOB VERIFICATION REQUEST WORKLIST 
          LDN    /NAM/SMRJVCM LENGTH OF VERIFICATION REQUEST WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    RJVL.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 RJVL.1   LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          NJN    RJVL.2      EXIT IF DATA BUFFER QUEUED 
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 RJVL.2   ADN    W.PROUT     DELTA FOR OUT DATA POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ OUT DATA POINTER WORD 
          SBN    W.PROUT-W.PRIN DELTA FOR IN DATA POINTER WORD
          CRD    T5          READ IN DATA POINTER WORD
          LDD    T5+C.PRUIP  LOAD HIGH-ORDER OF IN DATA POINTER 
          SBD    T0+C.PRUOP  LESS HIGH-ORDER OF OUT DATA POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+C.PRUIP+1 PLUS LOW-ORDER OF IN DATA POINTER 
          SBD    T0+C.PRUOP+1 LESS LOW-ORDER OF OUT DATA POINTER
          STD    T17         STORE AVAILABLE TEXT LENGTH
          ZJN    RJVL.7      EXIT IF NO TEXT AVAILABLE
          SBN    2*9+1       LESS MAXIMUM LENGTH OF JOB VALIDATION DATA 
          MJN    RJVL.3      EXIT IF AVAILABLE LESS THAN MAXIMUM
          LDN    2*9         LOAD MAXIMUM LENGTH OF JOB VALIDATION DATA 
          STD    T17         STORE AVAILABLE TEXT LENGTH
  
 RJVL.3   LDD    T0+C.PRUOP  LOAD HIGH-ORDER OF OUT DATA POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+C.PRUOP+1 PLUS LOW-ORDER OF OUT DATA POINTER
          ADD    T17         PLUS AVAILABLE TEXT LENGTH 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS AVAILABLE TEXT LENGTH 
          CRM    DRBUF+/NAM/L.SMHDR,T17 READ AVAILABLE TEXT 
  
 RJVL.4   LDN    2           CONSTANT OF TWO
          STD    T1          INITIALIZE TERMINATOR COUNT
          LDC    DRBUF+/NAM/L.SMHDR+4 LOAD ADDRESS OF TERMINATOR BYTE 
          STD    T2          INITIALIZE TERMINATOR TEST ADDRESS 
          LDN    1           CONSTANT OF ONE
          STM    NBH+/NAM/C.BWD+1 INITIALIZE TEXT WORD LENGTH 
  
 RJVL.5   LMD    T17         LESS AVAILABLE TEXT LENGTH 
          ZJN    RJVL.9      EXIT IF END OF AVAILABLE TEXT
          LDI    T2          LOAD NEXT POSSIBLE TERMINATOR BYTE 
          ZJN    RJVL.8      EXIT IF END OF TEXT IMAGE
  
 RJVL.6   LDN    5           CONSTANT OF FIVE 
          RAD    T2          INCREMENT TERMINATOR TEST ADDRESS
          AOM    NBH+/NAM/C.BWD+1 INCREMENT TEXT WORD LENGTH
          UJK    RJVL.5      EXIT TO CHECK FOR END OF TREXT 
  
 RJVL.7   STM    NBH+/NAM/C.BWD+1 ZERO TEXT WORD LENGTH 
          UJN    RJVL.9      EXIT TO ZERO REASON CODE 
  
 RJVL.8   SOD    T1          DECREMENT TERMINATOR COUNT 
          NJN    RJVL.6      EXIT IF NOT LAST TERMINATOR
  
 RJVL.9   STD    T17         ZERO REASON CODE 
          STM    DRBUF+/NAM/PFC ZERO RESPONSE FLAG
          STM    DRBUF+/NAM/CPRU ZERO HIGH-ORDER CURRENT PRU POSITION 
          STM    DRBUF+/NAM/CPRU+1 ZERO LOW-ORDER CURRENT PRU POSITION
          LDC    /TABLES/AWLCMD FWA APPLICATION COMMAND TABLE 
          ADD    WLO         PLUS WORKLIST ORDINAL
          RJM    GTE         EXIT TO GET WORKLIST COMMAND TABLE ENTRY 
          STD    T1          STORE WORKLIST COMMAND TABLE ENTRY 
          SCN    0#F         CLEAR SECONDARY FUNCTION CODE
          RAM    DRBUF+/NAM/PFC ADD PRIMARY FUNCTION TO RESPONSE FLAG 
          LDD    T1          LOAD WORKLIST COMMAND TABLE ENTRY
          LPN    0#F         EXTRACT LOW-ORDER SECONDARY FUNCTION CODE
          SHN    8           POSITION LOW-ORDER SECONDARY FUNCTION CODE 
          ADD    T17         PLUS REASON CODE 
          STM    DRBUF+/NAM/SFC SECONDARY FUNCTION CODE AND REASON CODE 
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/NAM/ACN ZERO APPLICATION CONNECT NUMBER 
          LDN    /NAM/SMHDRCM LENGTH OF SERVICE MESSAGE HEADER
          RAM    NBH+/NAM/C.BWD+1 INCREMENT WORKLIST WORD LENGTH
          LDN    /NAM/PDWL   LOAD PROCESS DRIVER WORKLIST REQUEST 
          RJM    IWL         EXIT TO INITIALIZE WORKLIST
          LDD    WLO         LOAD WORKLIST ORDINAL
          ADC    /TABLES/DWLQRT FWA OF DRIVER WORKLIST RESPONSE TABLE 
          RJM    GTE         EXIT TO GET STREAM STATE RESPONSE ACTION 
          EXIT   EWLPX       RETURN VIA WORKLIST PROCESSOR ACTION RETURN
 CODE     TITLE  IVT OUTPUT COMMAND PROCESSORS. 
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 CODE     SPACE  2,10 
**               OUTPUT COMMAND ACTION PROCESSOR CODE.
* 
*                OUTPUT COMMAND ACTION PROCESSOR CODE PROCESSES AN
*                ILLOGICAL OUTPUT COMMAND ACTION BY TRANSFERRING
**               CONTROL TO THE DRIVER ERROR ROUTINE. 
  
  
 CODE     ACTION             ILLOGICAL OUTPUT COMMAND ACTION
          EREXIT ICA         EXIT TO ERROR - ILLOGICAL COMMAND ACTION 
 COCN     SPACE  2,28 
**               IVT COMMAND ACTION PROCESSOR COCN. 
* 
*                IVT COMMAND ACTION PROCESSOR COCN PROCESSES A FRONT END
*                REGULATION CHANGE COMMAND.  THE NEW REGULATION LEVEL 
*                IS EXTRACTED FROM THE COMMAND AND TRANSFERRED TO THE 
*                FRONT END AND THE DATA POINTER IN THE OUTBOUND PSEUDO
*                FET IS UPDATED.
* 
*                  ENTRY -
* 
*                    (DRBUF+DRBUF+L.RGCP) = COMMAND TEXT. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF REGULATION LEVEL ZERO.
* 
*                  CALLS -
* 
*                    UFOP - UPDATE FET OUT DATA POINTER.
* 
*                  MACRO CALLS -
* 
**                   FEIO - LOGICAL INPUT OUTPUT INTERFACE. 
  
 COCN.0   EREXIT IOC         EXIT TO ERROR - INVALID REGULATION LEVEL 
  
 COCN     ACTION             PROCESS NPU REGULATION LEVEL CHANGE COMMAND
          LDM    DRBUF+/BLOCK/REG LOAD NEW REGULATION LEVEL 
          LPN    0#F         EXTRACT BUFFER LEVEL AND FLAGS 
          STD    OW          STORE NPU ORDER WORD 
          LPN    3           EXTRACT BUFFER REGULATION LEVEL
          SHN    S.REG       POSITION NEW REGULATION LEVEL
          STD    T15         SAVE NEW REGULATION LEVEL
          ZJN    COCN.0      EXIT IF BUFFER REGULATION LEVEL ZERO 
          LDM    FTY,FEI     FRONT END TYPE 
          ZJN    COCN.1      EXIT IF 2550 FRONT END 
          LDM    CHVER,FEI   MCI CHANNEL PROTOCOL VERSION NUMBER
          SBN    /MSTATUS/VERSION4  LOWEST VERSION NUMBER THAT DOES NOT 
                             NEED STOP REGULATION TRANSPARENT FUNCTION
          PJN    COCN.2      EXIT IF STOP REGULATION FUNC NOT NEEDED
          LDM    FTY,FEI     FRONT END TYPE 
          LPN    L.REG       EXTRACT CURRENT REGULATION LEVEL 
          NJN    COCN.2      EXIT IF NO NEED TO SEND STOP REGULATION
          LDN    /FUNCTION/SPR  MCI STOP REGULATION TRANSPARENT FUNCTION
 COCN.1   FEIO   FERG        ESTABLISH FRONT END REGULATION LEVEL 
 COCN.2   LDM    FTY,FEI     CURRENT REGULATION LEVEL 
          ZJN    COCN.3      EXIT IF 2550 FRONT END 
          SCN    L.REG       CLEAR CURRENT REGULATION LEVEL 
          ADD    T15         ADD NEW REGULATION LEVEL 
          STM    FTY,FEI     SAVE NEW REGULATION LEVEL
 COCN.3   RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          EXIT   EBRAX       RETURN VIA OUTPUT COMMAND ACTION RETURN
  
 RPLB     TITLE  DRIVER SUPPORT PROCESSORS. 
          QUAL
 LINK     SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .ESRAX   SET    0
 RPLB     SPACE  2,30 
**               DRIVER SUPPORT PROCESSOR RPLB. 
* 
*                DRIVER SUPPORT PROCESSOR RPLB RETURNS THE ACTIVE PRU 
*                BUFFER TO THE DRIVER LIMBO CHAIN.  THE CURRENT BUFFER
*                IS SET TO THE NEXT BUFFER IN THE QUEUE.  THE WORKLIST
*                COMMAND QUEUE, CURRENT FILE POSITION AND ACCOUNTING
*                INFORMATION ARE TRANSFERRED FROM THE PRU BUFFER TO THE 
*                PCB AND THE PRU BUFFER IS RETURNED TO THE PROPER DRIVER
*                LIMBO BUFFER CHAIN.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR, 
*                    EXIT TO *ERROR* IF PRU BUFFER SIZE ERROR.
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    WCMW - WRITE WORD TO PCB,
**                    RLB - RETURN LIMBO BUFFER.
  
  
 RPLB     LINK               ENTRY
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          LPN    37B         EXTRACT ADDRESS BITS 
          STD    FBA         STORE HIGH-ORDER OF BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          NJN    RPLB.1      EXIT IF DATA BUFFER QUEUED 
  
 RPLB.0   EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 RPLB.1   STD    FBA+1       STORE LOW-ORDER OF BUFFER ADDRESS
          ADN    W.FFP       PLUS DELTA FOR FILE POSITION WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    W.FFP       LESS DELTA FOR BUFFER HEADER WORD ADDRESS
          CRD    T0          READ BUFFER HEADER WORD
          STD    CBA+1       STORE LOW-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    -12         POISITION HIGH-ORDER OF ADDRESS
          STD    CBA         STORE HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER
          LDD    T0+C.BST    LOAD BUFFER STATUS BYTE
          SHN    -S.PBS      POSITION BUFFER SIZE ORDINAL TO LOW-ORDER
          LPN    77B         EXTRACT BUFFER SIZE ORDINAL
          STD    PRU         STORE BUFFER SIZE ORDINAL
          SBN    MAXPRU      LESS MAXIMUM PRU BUFFER SIZE 
          MJN    RPLB.2      EXIT IF BUFFER SIZE IN RANGE 
          EREXIT BSE         EXIT TO ERROR - BUFFER SIZE ERROR
  
 RPLB.2   LDD    T0+C.DLK    LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          STD    T10+/NAM/C.PCBCDB STORE HIGH-ORDER OF CURRENT BUFFER 
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+C.DLK+1  PLUS LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T10+/NAM/C.PCBCDB+1 STORE LOW-ORDER OF CURRENT BUFFER
          NJN    RPLB.3      EXIT IF NEXT BUFFER QUEUED 
          STD    T10+/NAM/C.PCBLDB ZERO HIGH-ORDER LAST BUFFER ADDRESS
          STD    T10+/NAM/C.PCBLDB+1 ZERO LOW-ORDER LAST BUFFER ADDRESS 
  
 RPLB.3   LDN    0           CONSTANT OF ZERO 
          STD    T0+C.DLK    ZERO HIGH-ORDER OF BUFFER LINK ADDRESS 
          STD    T0+C.DLK+1  ZERO LOW-ORDER OF BUFFER LINK ADDRESS
          LDD    CBA         LOAD HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER ABSOLUTE ADDRESS OF BUFFER
          CWD    T0          REWRITE DRIVER BUFFER HEADER 
          ADN    W.CLQ       PLUS DELTA FOR COMMAND QUEUE WORD
          CRD    T0          READ COMMAND QUEUE WORD FROM BUFFER
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          ADN    /NAM/W.PCBWLQ-/NAM/W.PCBPS2 DELTA FOR WORKLIST QUEUE 
          CWD    T0          WRITE WORKLIST COMMAND QUEUE WORD TO PCB 
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDN    0           CONSTANT OF ZERO 
          STD    T0+C.QIO    ZERO COMMAND IN/OUT POINTER
          LDD    CBA         LOAD HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER ABSOLUTE ADDRESS OF BUFFER
          ADN    W.CLQ       PLUS DELTA FOR COMMAND QUEUE WORD
          CWD    T0          REWRITE COMMAND QUEUE TO BUFFER
          ADN    W.FFP-W.CLQ PLUS DELTA FOR FILE POSITION WORD
          CRD    T0          READ FILE POSITION WORD FROM BUFFER
          LDD    T0+C.FFP    LOAD HIGH-ORDER OF FILE POSITION 
          LPN    77B         EXTRACT HIGH-ORDER OF FILE POSITION
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+C.FFP+1  PLUS MIDDLE OF FILE POSITION 
          SHN    18-6        POSITION HIGH-ORDER OF FILE POSITION 
          STD    T10+/NAM/C.PCBNPR STORE HIGH-ORDER OF FILE POSITION
          LMD    T10+/NAM/C.PCBNPR RESET LOW-ORDER OF A-REGISTER
          ADD    T0+C.FFP+2  PLUS LOW-ORDER OF FILE POSITION
          SHN    -6          POSITION LOW-ORDER OF FILE POSITION
          STD    T10+/NAM/C.PCBNPR+1 STORE LOW-ORDER OF FILE POSITION 
          LDD    CBA         LOAD HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER ABSOLUTE ADDRESS OF BUFFER
          ADN    W.ACT       PLUS DELTA FOR ACCOUNTING WORD ADDRESS 
          CRD    T0+C.FFP+3  READ ACCOUNTING WORD FROM BUFFER 
          LDD    T0+C.FFP+3+C.ACT LOAD HIGH-ORDER OF ACCOUNTING DATA
          STD    T0+/NAM/C.PCBACT STORE HIGH-ORDER OF ACCOUNTING DATA 
          LDD    T0+C.FFP+3+C.ACT+1 LOAD LOW-ORDER OF ACCOUNTING DATA 
          STD    T0+/NAM/C.PCBACT+1 STORE LOW-ORDER OF ACCOUNTING DATA
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          ADN    /NAM/W.PCBPS3-/NAM/W.PCBPS1 DELTA FOR PARAMETER THREE
          CWD    T0          WRITE STREAM PARAMETER WORD THREE TO PCB 
          LDD    CBA         LOAD HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER ABSOLUTE ADDRESS OF BUFFER
          ADN    W.PRFRST    DELTA FOR FIRST POINTER WORD 
          CRD    T0          READ FIRST POINTER WORD
          LDD    T0+C.FPP    LOAD FILE PROCESSING FLAG BYTE 
          LPC    7777B&B.RP  CLEAR RANDOM PROCESSING FLAG 
          STD    T0+C.FPP    STORE FILE PROCESSING FLAG BYTE
          LDD    CBA         LOAD HIGH-ORDER ABSOLUTE ADDRESS OF BUFFER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER ABSOLUTE ADDRESS OF BUFFER
          ADN    W.PRFRST    DELTA FOR FIRST POINTER WORD 
          CWD    T0          REWRITE FIRST POINTER WORD 
          SBN    W.PRFRST    DELTA BACK TO BUFFER FIRST WORD
          CRD    T0          READ FIRST WORD OF BUFFER
          LDD    T0+C.BST    LOAD BUFFER STATUS BYTE
          SHN    -S.BTP      POSITION BUFFER TYPE 
          LMN    Q.INB       LESS VALUE FOR INBOUND BUFFER
          NJN    RPLB.4      EXIT NOT INBOUND BUFFER
          LDN    /NAM/W.PCBPS8 PRU PARAMETER WORD EIGHT ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD
          SOD    T10+/NAM/C.PCBQBC DECREMENT QUEUED BUFFER COUNT
          PJN    *+3         EXIT IF COUNT VALID
          LJM    RPLB.0      EXIT TO ERROR - DRIVER QUEUING ERROR 
          RJM    WCMW        EXIT TO REWRITE PRU PARAMETER WORD TO PCB
  
 RPLB.4   BSS    0
          RJM    RLB         EXIT TO RETURN LIMBO BUFFER TO DRIVER CHAIN
          EXIT   ESRAX       RETURN VIA STREAM STATE ACTION RETURN
 RLB      TITLE  DRIVER SUPPORT PROCESSOR SUBROUTINES.
 RLB      SPACE  2,42 
**               SUBROUTINE RLB.
* 
*                SUBROUTINE RLB RETURNS A BUFFER TO THE SPECIFIED 
*                INTERNAL DRIVER LIMBO CHAIN.  IF THE PRU BUFFER
*                STATISTICS OPTION IS SELECTED THE TOTAL TIME THAT
*                THE BUFFER WAS USED IS UPDATED ALONG WITH THE BUFFER 
*                USE COUNTER.  THE BUFFER STATUS AND BUFFER LINK OF 
*                THE BUFFER BEING RETURNED ARE VALIDATED.  THE COMMAND
*                QUEUE IS CHECKED FOR EMPTY BEFORE THE BUFFER IS
*                RETURNED.
* 
*                  ENTRY -
* 
*                          (PRU) = PRU SIZE ORDINAL OF BUFFER,
*                         (DROR) = DRIVER ORDINAL,
*                    (FBA-FBA+1) = ADDRESS OF BUFFER TO RETURN. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF RETURNED BUFFER FORMAT ERROR, 
*                    EXIT TO *ERROR* IF PRU BUFFER SIZE ERROR.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                           T7 = RETURNED BUFFER STATUS,
*                    T10-T10+4 = TIME ASSIGNED WORD FROM BUFFER,
*                      T0-T0+4 = SYSTEM REAL-TIME CLOCK,
*                    T16-T16+1 = ELAPSED TIME OF LAST BUFFER USE, 
*                    T10-T10+4 = TOTAL TIME USED WORD FROM BUFFER,
*                    T10-T10+4 = DRIVER HEADER WORD FROM BUFFER,
*                      T0-T0+4 = COMMAND QUEUE WORD FROM BUFFER,
*                      T0-T0+4 = LAST LIMBO BUFFER HEADER WORD, 
**                     T5-T5+1 = ADDRESS OF LAST LIMBO BUFFER.
  
  
 RLB      SUBR               ENTRY/EXIT 
          LDD    PRU         LOAD PRU BUFFER SIZE ORDINAL 
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          LMM    DROR        ADD DRIVER ORDINAL TO BUFFER STATUS
          STD    T7          STORE RETURNED BUFFER STATUS 
  
 .PBSTAT  IFEQ   .PBSTAT,1
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.TML       DELTA FOR TIME ASSIGNED WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ TIME ASSIGNED WORD FROM BUFFER
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+2+2      LOAD LOW-ORDER OF CURRENT MILLISECONDS 
          SBD    T10+C.TM+2  LESS LOW-ORDER OF ASSIGNED MILLISECONDS
          STD    T16+1       STORE LOW-ORDER OF MILLISECOND DIFFERENCE
  
          PJN    *+5         EXIT IF NO BORROW
          ADC    1S12        ADD BORROW 
          STD    T16+1       STORE LOW-ORDER OF MILLISECOND DIFFERENCE
          SOD    T0+2+1      SUBTRACT BORROW
  
          LDD    T0+2+1      LOAD HIGH-ORDER OF CURRENT MILLISECONDS
          SBD    T10+C.TM+1  LESS HIGH-ORDER OF ASSIGNED MILLISECONDS 
          STD    T16         STORE HIGH-ORDER OF MILLISECOND DIFFERENCE 
  
          PJN    *+4         EXIT IF NO BORROW
          ADC    1S12        ADD BORROW 
          STD    T16         STORE HIGH-ORDER OF MILLISECOND DIFERENCE
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.TMU       DELTA FOR TOTAL TIME USED WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ TOTAL TIME USED FROM BUFFER 
          LDD    T16+1       LOAD LOW-ORDER OF MILLISECOND DIFFERENCE 
          RAD    T10+C.TM+2  ADD TO LOW-ORDER TOTAL MILLISECONDS USED 
          SHN    -12         POSITION POSSIBLE CARRY
          ADD    T16         PLUS HIGH-ORDER OF MILLISECOND DIFFERENCE
          RAD    T10+C.TM+1  ADD TO HIGH-ORDER TOTAL MILLISECONDS USED
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    T10+C.TM    ADD TO TOTAL MILLISECONDS USED 
          AOD    T10+C.BUC+1 INCREMENT BUFFER USE COUNT 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    T10+C.BUC   ADD TO BUFFER USE COUNT
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.TMU       DELTA FOR TOTAL TIME USED WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE TOTAL TIME USED WORD TO BUFFER 
  
 .PBSTAT  ENDIF 
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER HEADER WORD FROM BUFFER
          SBN    1           MINUS DELTA FOR NAM HEADER WORD
          CRD    T0          READ NAM HEADER WORD FROM BUFFER 
          LDD    T0+/NAM/C.BID LOAD NAM BUFFER BLOCK ID BYTE
          SHN    -/NAM/S.BID BUFFER BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.PRUID LESS PRU BUFFER ID
          STD    T17         STORE NAM BLOCK ID FLAG
          LDD    T10+C.BST   LOAD BUFFER STATUS 
          LMD    T7          LESS RETURNED BUFFER STATUS VALUE
          LPC    M.PBS+M.DOR EXTRACT BUFFER STATUS
          ZJN    RLB.2       EXIT IF BUFFER BEING RETURNED FOR DRIVER 
  
 RLB.1    EREXIT LBE         EXIT TO ERROR ROUTINE - LIMBO BUFFER ERROR 
  
 RLB.2    LDD    T10+C.DLK   LOAD HIGH-ORDER OF BUFFER LINK ADDRESS 
          ADD    T10+C.DLK+1 PLUS LOW-ORDER OF BUFFER LINK ADDRESS
          NJN    RLB.1       EXIT IF RETURNED BUFFER HAS LINKED BUFFER
          LDD    T10+C.BST   LOAD BUFFER STATUS 
          STD    T7          SAVE TYPE CHECK INFORMATION
          LDD    PRU         LOAD PRU SIZE ORDINAL
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          STD    T10+C.BST   STORE LIMBO BUFFER VALUE INTO BUFFER STATUS
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.CLQ       DELTA FOR COMMAND LINK QUEUE FROM BUFFER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    W.CLQ       DELTA FOR DRIVER HEADER WORD FROM BUFFER 
          CWD    T10         REWRITE DRIVER HEADER WORD TO BUFFER 
          ADN    W.CLQ       DELTA FOR COMMAND LINK QUEUE FROM BUFFER 
          CRD    T0          READ QUEUED COMMAND WORD FROM BUFFER 
          LDD    T0+C.QIO    LOAD QUEUED COMMAND IN/OUT BYTE
          ZJN    RLB.3       EXIT IF COMMAND QUEUE EMPTY
 RLB.1X   UJK    RLB.1       EXIT TO ERROR ROUTINE - LIMBO BUFFER ERROR 
  
 RLB.3    LDD    PRU         LOAD RETURNED PRU BUFFER SIZE ORDINAL
          SBN    MAXPRU      LESS MAXIMUM PRU BUFFER SIZE 
          MJN    RLB.4       EXIT IF BUFFER SIZE IN RANGE 
          EREXIT BSE         EXIT TO ERROR - BUFFER SIZE ERROR
  
 RLB.4    LDM    BAT,PRU     LOAD ADDRESS OF BUFFER TABLE INDEX 
          STD    BTI         STORE BUFFER TABLE INDEX 
          LDD    T7          LOAD TYPE CHECK INFORMATION
          SHN    -S.BTP      POSITION BUFFER TYPE 
          LMN    Q.INB       CHECK FOR INBOUND TYPE 
          NJN    RLB.4A      EXIT IF NOT INBOUND BUFFER 
          SOM    INB,BTI     DECREMENT INBOUND ASSIGNMENT COUNT 
  
 RLB.4A   LDD    FBA         HIGH-ORDER OF DRIVER BUFFER HEADER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       LOW-ORDER OF DRIVER BUFFER HEADER ADDRESS
          SBN    1           CONVERT ADDRESS TO NAM BLOCK HEADER ADDRESS
          STD    FBA+1       LOW-ORDER OF NAM BLOCK HEADER ADDRESS
          SHN    -12         POSITION HIGH-ORDER
          STD    FBA         HIGH-ORDER OF NAM BLOCK HEADER ADDRESS 
          LDD    T17         NAM BLOCK ID FLAG
          NJN    RLB.5       EXIT IF USED-ON-CHAIN
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          ZJN    RLB.1X      EXIT TO ERROR ROUTINE - LIMBO BUFFER ERROR 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM HEADER OF FIRST BUFFER ON CHAIN 
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
          LDD    T10+/NAM/C.DPT HIGH-ORDER OF NEXT BUFFER ADDRESS 
          LPN    37B         EXTRACT ADDRESS
          STD    LBA         STORE HIGH-ORDER OF CHAINED BUFFER ADDRESS 
          LDD    T10+/NAM/C.DPT+1 LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    LBA+1       STORE LOW-ORDER OF CHAINED BUFFER ADDRESS
          LDD    FBA         HIGH-ORDER RELEASED BUFFER ADDRESS 
          STD    T10+/NAM/C.DPT BYTE FOR HIGH-ORDER CHAINED BUFF ADDRESS
          LDD    FBA+1       LOW-ORDER RELEASED BUFFER ADDRESS
          STD    T10+/NAM/C.DPT+1 LOW-ORDER CHAINED BUFFER ADDRESS
          RJM    WCMW        REWRITE FIRST BUFFER NAM BLOCK HEADER
  
 RLB.5    LDD    FBA         HIGH-ORDER OF RELEASED BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       LOW-ORDER OF RELEASED BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER OF RELEASED BUFFER 
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS RELEASED BUFF
          SHN    -12         POSITION HIGH-ORDER
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS RELEASED BUF
          LDD    T17         NAM BLOCK ID FLAG
          NJN    RLB.6       EXIT IF USED-ON-CHAIN
          LDD    LBA         HIGH-ORDER OF CHAINED BUFFER ADDRESS 
          STD    T10+/NAM/C.DPT HIGH-ORDER ADDRESS CHAINED FROM RELEASED
          LDD    LBA+1       LOW-ORDER OF CHIANED BUFFER ADDRESS
          STD    T10+/NAM/C.DPT+1 LOW-ORDER ADDR CHAINED FROM RELEASED
  
 RLB.6    LDN    /NAM/Q.FPBID LOAD FREE PRU BLOCK ID
          SHN    /NAM/S.BID  POSITION PRU BLOCK ID
          STD    T10+/NAM/C.BID REPLACE NAM BUFFER BLOCK ID BYTE
          RJM    WCMW        EXIT TO REWRITE RELEASED BUFFER NAM HEADER 
          AOM    NFB,BTI     INCREMENT COUNT OF FREE BUFFERS
          UJK    RLBX        RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DRIVER SUPPORT PRO
,CESSORS) 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .ESRAX   SET    0
 IPD      SPACE  2,44 
**               DRIVER SUPPORT PROCESSOR IPD.
* 
*                DRIVER SUPPORT PROCESSOR IPD INPUTS PRU DATA FROM THE
*                FRONT END.  THE DATA BLOCK CLARIFIER IS VALIDATED AND
*                A DRIVER LIMBO BUFFER IS OBTAINED.  THE INPUT DATA IS
*                ACCEPTED AND WRITTEN TO THE PRU BUFFER.  THE CIO ORDER 
*                REQUEST CODE IS STORED AND THE PRU BUFFER IS LINKED TO 
*                THE PCB FOR THE STREAM.
*                FOR FILE TRANSFER, RANDOM FLAG IS STORED IN CIO FIRST
*                POINTER WORD.
* 
*                  ENTRY -
* 
*                      (DBH+DBC) = DATA BLOCK CLARIFIER,
*                          (PRU) = PRU SIZE ORDINAL OF BUFFER,
*                         (DROR) = DRIVER ORDINAL,
*                          (BTI) = LIMBO BUFFER TABLE INDEX,
*                    (PCB-PCB+1) = OWNING PCB ADDRESS,
*                          (EOT) = END OF TRANSFER FLAG,
*                          (AAC) = APPLICATION TO APPLICATION FLAG. 
* 
*                  EXIT - 
* 
*                    (W.PRFS+C.FSB) = LEVEL NUMBER AND CIO REQUEST CODE.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF LIMBO BUFFER TABLE ERROR, 
*                    EXIT TO *ERROR* IF LIMBO BUFFER FORMAT ERROR,
*                    EXIT TO *ERROR* IF PRU INPUT FORMAT ERROR. 
* 
*                  CALLS -
* 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    APDC - ACCEPT PRU DISPLAY CODE DATA, 
*                    APPD - ACCEPT PRU PACKED BINARY DATA,
*                    ASUD - ACCEPT UNPACKED PRU EIGHT BIT DATA, 
*                    WDIB - WRITE DATA TO PRU INBOUND BUFFER, 
*                    WPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 IPD      LINK               ENTRY
          LDD    IOC         LOAD INPUT ORDER CODE
          LMN    /NSTATUS/IAP-/NSTATUS/IAS MINUS PRU INPUT ORDER CODE 
          NJN    IPD.1       EXIT IF INPUT ORDER CODE IS FOR IVT BLOCK
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    17-/BLOCK/S.PRU POSITION PRU BLOCK FLAG TO SIGN
          MJN    IPD.2       EXIT IF PRU BLOCK
  
 IPD.1    LINK               ENTRY
          EREXIT PIE         EXIT TO ERROR - PRU INPUT FORMAT ERROR 
  
 IPD.2    BSS    0           GET A FREE BUFFER ADDRESS
 GFB      RJM    RFPB        READ FIRST PRU BUFFER HEADER 
          LDD    T10+/NAM/C.BID LOAD BLOCK ID BYTE FROM FIRST BUFFER
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          STD    T17         STORE AVAILABILITY OF THE FIRST BUFFER 
  
 GFB.1    LDD    T10+/NAM/C.DPT HIGH-ORDER OF NEXT BUFFER ADDRESS 
          LPN    37B         EXTRACT ADDRESS
          STD    FBA         STORE HIGH-ORDER OF NEXT BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    FBA+1       STORE LOW-ORDRE OF NEXT BUFFER ADDRESS 
          ZJN    GFB.2       EXIT IF END OF BUFFER CHAIN
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER FROM NEXT BUFFER 
          LDD    T10+/NAM/C.BID LOAD BLOCK ID BYTE FROM NEXT BUFFER 
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          NJN    GFB.1       EXIT IF BUFFER NOT FREE
          UJN    GFB.3       EXIT IF FREE BUFFER IS FOUND 
  
 GFB.2    LDD    T17         LOAD FIRST BUFFER AVAILABLITY
          NJN    IPD.3       EXIT IF NO BUFFER AVAILABLE
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          STD    FBA         STORE HIGH-ORDER OF FIRST BUFFER ADDRESS 
          LDM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          STD    FBA+1       STORE LOW-ORDER OF FIRST BUFFER ADDRESS
  
 GFB.3    AOD    FBA+1       LOW-ORDER FOUND BUFFER DRIVER HEADER ADDR
          SHN    -12         POSSIBLE OVERFLOW
          RAD    FBA         HIGH-ORDER FOUND BUFFER DRIVER HEADER ADDR 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER BUFFER DRIVER HEADER ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER HEADER WORD FROM BUFFER
          LDD    PRU         LOAD PRU SIZE ORDINAL
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          LMD    T10+C.BST   LESS LIMBO BUFFER STATUS VALUE 
          ZJN    IPD.4       EXIT IF LIMBO BUFFER ASSIGNED TO DRIVER
  
 IPD.3    LINK               ENTRY
          EREXIT LBE         EXIT TO ERROR ROUTINE - FREE BUFFER ERROR
  
 IPD.4    LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.CLQ       DELTA FOR COMMAND LINK QUEUE FROM BUFFER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ QUEUED COMMAND WORD FROM BUFFER 
          LDD    T0+C.QIO    LOAD QUEUED COMMAND IN/OUT BYTE
          NJN    IPD.3       EXIT IF COMMAND QUEUE NOT EMPTY
  
 .PBSTAT  IFEQ   .PBSTAT,1
  
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T10         READ SYSTEM REAL-TIME CLOCK
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITON TO HIGH-ORDER
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.TML       DELTA FOR LAST TIME ASSIGNED WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE LAST TIME ASSIGNED WORD TO BUFFER
  
 .PBSTAT  ENDIF 
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.PROUT     PLUS DELTA FOR OUT POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ OUT DATA POINTER WORD 
          SBN    W.PROUT-W.PRFRST DELTA FOR FIRST POINTER WORD
          CRD    T10         READ FIRST POINTER WORD
          STD    T5+1        STORE LOW-ORDER OF FIRST POINTER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF FIRST POINTER ADDRESS
          LDD    T10+C.PRUFP LOAD HIGH-ORDER OF FIRST DATA POINTER
          LPN    77B         EXTRACT HIGH-ORDER OF FIRST DATA POINTER 
          STD    T0+C.PRUOP  STORE HIGH-ORDER OF OUT DATA POINTER 
          LDD    T10+C.PRUFP+1 LOAD LOW-ORDER OF FIRST DATA POINTER 
          STD    T0+C.PRUOP+1 STORE LOW-ORDER OF OUT DATA POINTER 
          LDD    T5          LOAD HIGH-ORDER OF FIRST POINTER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF FIRST DATA POINTER 
          ADN    W.PROUT-W.PRFRST DELTA FOR OUT DATA POINTER WORD 
          CWD    T0          WRITE OUT DATA POINTER WORD
          SBN    W.PROUT-W.PRIN DELTA FOR IN DATA POINTER WORD
          CWD    T0          WRITE IN DATA POINTER WORD 
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.PRLM      DELTA FOR LIMIT DATA POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ LIMIT DATA POINTER WORD 
          SBN    W.PRLM-W.PRIN DELTA FOR IN DATA POINTER WORD 
          CRD    T5          READ IN DATA POINTER WORD
          LDD    T5+C.PRUIP  LOAD HIGH-ORDER OF IN DATA POINTER 
          STD    CBA         STORE HIGH-ORDER OF CURRENT BUFFER ADDRESS 
          LDD    T5+C.PRUIP+1 LOAD LOW-ORDER OF IN DATA POINTER 
          STD    CBA+1       STORE LOW-ORDER OF CURRENT BUFFER ADDRESS
          LDD    T0+C.PRULP  LOAD HIGH-ORDER OF LIMIT DATA POINTER
          LPN    77B         EXTRACT HIGH-ORDER OF LIMIT DATA POINTER 
          STD    LBA         STORE HIGH-ORDER OF LAST BUFFER ADDRESS
          LDD    T0+C.PRULP+1 LOAD LOW-ORDER OF LIMIT DATA POINTER
          STD    LBA+1       STORE LOW-ORDER OF LAST BUFFER ADDRESS 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    IPD.8A      EXIT IF NOT APPLICATION TO APPLICATION 
  
 IPD.6    LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    IPD.7       EXIT IF END OF TRANSFER RECEIVED 
          LDC    DRBUF       LOAD STARTING ADDRESS OF DRIVER BUFFER 
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    /NAM/L.L7DH-1 PLUS LENGTH OF LEVEL SEVEN DATA HEADER 
          RJM    ASUD        EXIT TO ACCEPT LEVEL SEVEN DATA HEADER 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /NAM/L.L7DH LESS EXPECTED INPUT LENGTH 
          NJN    IPD.7       EXIT IF INPUT LENGTH ERROR 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDM    DRBUF+/NAM/L7BN LOAD HIGH-ORDER OF BLOCK NUMBER
          SHN    8           POSITION TO HIGH-ORDER 
          ADM    DRBUF+/NAM/L7BN+1 PLUS LOW-ORDER OF BLOCK NUMBER 
          LMD    T10+/NAM/C.PCBL7N+1 LESS LOW-ORDER OF EXPECTED NUMBER
          STD    T0          STORE PARTIAL RESULT 
          SHN    -12         POSITION HIGH-ORDER OF BLOCK NUMBER
          LMD    T10+/NAM/C.PCBL7N LESS HIGH-ORDER OF EXPECTED NUMBER 
          ADD    T0          PLUS PARTIAL RESULT
          ZJN    IPD.8       EXIT IF EXPECTED BLOCK NUMBER
  
 IPD.7    EREXIT L7H         EXIT TO ERROR - LEVEL SEVEN HEADER ERROR 
  
 IPD.8A   LDN    0           CONSTANT OF ZERO 
          STD    T15         RESET BIT COUNTER FOR OVERRUN BIT TEST 
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    17-/BLOCK/S.EBD POSITION EIGHT BIT DATA FLAG TO SIGN 
          MJN    IPD.8B      EXIT IF EIGHT BIT DATA 
          LDC    APDC        LOAD ADDRESS OF PRU DISPLAY CODE PROCESSOR 
          UJN    IPD.9       EXIT TO STORE ADDRESS OF INPUT PROCESSOR 
  
 IPD.8B   LDC    ASUD        LOAD ADDRESS OF EIGHT BIT DATA PROCESSOR 
          UJN    IPD.9       EXIT TO STORE ADDRESS OF INPUT PROCESSOR 
  
 IPD.8    LDM    DRBUF+/NAM/L7BL LOAD HIGH-ORDER OF BLOCK LENGTH
          SHN    8           POSITION TO HIGH-ORDER 
          ADM    DRBUF+/NAM/L7BL+1 PLUS LOW-ORDER OF BLOCK LENGTH 
          STD    L7IC        STORE INPUT OCTET COUNT
          SHN    -12         POSITION HIGH-ORDER OF OCTET COUNT 
          NJN    IPD.7       EXIT IF BLOCK LENGTH ERROR 
          LDM    DRBUF+/NAM/L7UB LOAD UNUSED BIT COUNT
          STD    T15         STORE UNUSED BIT COUNT IN LAST BYTE
          LDC    APPD        LOAD ADDRESS OF INPUT CHARACTER PROCESSOR
  
 IPD.9    STD    ICP         STORE ADDRESS OF INPUT CHARACTER PROCESSOR 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    IPD.10      EXIT IF END OF TRANSFER NOT RECEIVED 
          LJM    IPD.21      EXIT TO CHECK FOR EOR OR EOI REQUEST 
  
 IPD.10   LDC    L.DBCM      LOAD CENTRAL WORD LENGTH OF DRIVER BUFFER
          STD    T7          STORE DATA WORD COUNT
  
 IPD.11   LDC    DRBUF       LOAD STARTING ADDRESS OF DRIVER BUFFER 
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          LDC    E.DRBUF     LOAD ENDING ADDRESS OF DRIVER BUFFER 
          RJM    0,ICP       EXIT TO INPUT PRU DATA FROM NPU
          LDD    T1          LOAD CURRENT INPUT BUFFER ADDRESS
          STD    T16         STORE CURRENT INPUT BUFFER ADDRESS 
          SBD    T2          LESS ENDING INPUT BUFFER ADDRESS 
          NJN    IPD.13      EXIT IF NOT FULL BUFFER
  
 IPD.12   LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          RJM    WDIB        EXIT TO WRITE DATA TO INBOUND BUFFER 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    IPD.11      EXIT TO ACCEPT NEXT INPUT BLOCK
          LJM    IPD.21      EXIT IF END OF TRANSFER RECEIVED 
  
 IPD.13   ADC    L.DBCM*5    GET INPUT BYTE COUNT 
          SHN    2           TIMES FOUR TO GET CONTROL TABLE CM WORD
          RJM    GTE         EXIT TO READ CONTROL TABLE WORD TO T0 - T4 
          LDD    T0+/NAM/C.QUOT LOAD DIVISION BY FIVE INFORMATION 
          SHN    18-/NAM/S.QUOT POSITION QUOTIENT (ROUNDED-UP)
          STD    T7          STORE CM INPUT WORD COUNT
          SHN    -18+/NAM/S.QUOT POSITION DEFICIT BYTE COUNT
          STD    T6          STORE DEFICIT BYTE COUNT 
          ZJN    IPD.12      EXIT IF NOT PARTIAL WORD INPUT 
          LDD    ICP         LOAD ADDRESS OF INPUT CHARACTER PROCESSOR
          LMC    APDC        LESS VALUE FOR PRU DISPLAY CODE PROCESSOR
          NJN    IPD.14      EXIT IF NOT PRU DISPLAY CODE PROCESSOR 
          LJM    IPD.1       EXIT TO ERROR - PARTIAL CM WORD INPUT
  
 IPD.14   LDD    T7          LOAD CM WORD COUNT 
          LPN    1           DATA FOR EVEN CM WORD COUNT TEST 
          SHN    3           POSITION DATA
          ADD    T6          ADD DATA FOR DEFICIT BYTE COUNT OF FOUR
          SHN    3           POSITION DATA
          ADD    T15         ADD DATA FOR UNUSED BIT COUNT OF FOUR
          LMN    44B         TEST FOR EVEN CM WORD WITH 4 UNUSED BITS 
          NJN    IPD.14A     EXIT IF NOT - FILL CM WORD WITH ZEROES 
          SOD    T7          IF YES - DECREMENT CM WORD COUNT 
  
 IPD.14B  UJK    IPD.12      EXIT TO PROCESS DATA 
  
 IPD.14A  AOD    T16         INCREMENT CURRENT DATA BUFFER ADDRESS
          LDN    0           CONSTANT OF ZERO 
          STI    T16         ZERO NEXT BYTE OF WORD 
          SOD    T6          DECREMENT DEFICIT BYTE COUNT 
          NJN    IPD.14A     EXIT IF ZERO FILL NOT COMPLETED
          UJK    IPD.14B     EXIT IF ZERO FILL COMPLETED
  
 IPD.21   LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    -/BLOCK/S.EOR POSITION EOR AND EOI BITS TO LOW-ORDER 
          LPN    3           EXTRACT EOR AND EOI BITS 
          LMN    2           LESS VALUE FOR EOI RECEIVED
          NJN    IPD.24      EXIT IF EOI NOT RECEIVED 
          LDC    B.EIR       LOAD END OF INFORMATION RECEIVED FLAG
          UJN    IPD.24A     EXIT TO STORE END OF INFORMATION FLAG
  
 IPD.24   LDN    0           CONSTANT OF ZERO 
  
 IPD.24A  STD    T17         STORE END OF INFORMATION FLAG
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.PRIN      DELTA FOR IN DATA POINTER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T5          READ IN DATA POINTER WORD
          SBN    W.PRIN-W.PRFS DELTA FOR FILE STATUS WORD 
          CRD    T0          READ FILE STATUS WORD
          STD    T12+1       STORE LOW-ORDER FILE STATUS WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T12         STORE HIGH-ORDER FILE STATUS WORD ADDRESS
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          LPN    /BLOCK/L.LVL EXTRACT LEVEL NUMBER
          SHN    14-12       POSITION LEVEL NUMBER TO FET FORMAT
          STD    T0+C.FSB    STORE LEVEL NUMBER IN FILE STATUS WORD 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    IPD.25B     EXIT IF NOT APPLICATION TO APPLICATION 
          LPN    /NAM/L.PCBXDD EXTRACT APPLICATION DATA DECLARATION 
          ZJN    IPD.26C     EXIT IF CONTROL WORD FORMAT
          UJN    IPD.26      EXIT IF NOT CONTROL WORD WRITE 
  
 IPD.25B  LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    -/BLOCK/S.EOI+3 POSITION THE BIT TO MAKE WRITER CODE 
          LPN    1S3         EXTRACT EOI BIT AT BIT POSITION 3
          NJN    IPD.26B     EXIT TO SET UP CIO WRITE ORDER REQUEST CODE
  
 IPD.26   LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    -/BLOCK/S.EOR+3 POSITION EOR BIT TO FET FORMAT 
          LPN    3S3         EXTRACT EITHER EOF OR EOR BIT
  
 IPD.26B  ADN    .CIOWT      PLUS CIO WRITE ORDER REQUEST CODE
          UJN    IPD.27      EXIT TO STORE CIO WRITE ORDER CODE 
  
 IPD.26C  LDC    .CIOWCW     LOAD CIO WRITE ORDER CODE
  
 IPD.27   STD    T0+C.FSB+1  STORE CIO WRITE ORDER REQUEST CODE 
          LDD    CBA         LOAD HIGH-ORDER OF CURRENT BUFFER ADDRESS
          STD    T5+C.PRUIP  STORE HIGH-ORDER OF IN DATA POINTER
          LDD    CBA+1       LOAD LOW-ORDER OF CURRENT BUFFER ADDRESS 
          STD    T5+C.PRUIP+1 STORE LOW-ORDER OF IN DATA POINTER
          LDD    T12         LOAD HIGH-ORDER OF FILE STATUS WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T12+1       PLUS LOW-ORDER OF FILE STATUS WORD ADDRESS 
          CWD    T0          REWRITE FILE STATUS WORD 
          ADN    W.PRIN-W.PRFS DELTA FOR IN DATA POINTER WORD 
          CWD    T5          REWRITE IN DATA POINTER WORD 
          SBN    W.PRIN-W.PRFRST DELTA FOR FIRST POINTER WORD 
          CRD    T0          READ FIRST POINTER WORD
          LDC    B.RP        LOAD RANDOM PROCESSING FLAG
          RAD    T0+C.FPP    STORE RANDOM PROCESSING FLAG 
          LDD    AAC         APPLICATION TO APPLICATION CONNECTION FLAG 
          ZJN    IPD.27A     EXIT IF REMOTE BATCH TERMINAL CONNECTION 
          LDD    T12         LOAD HIGH-ORDER OF FILE STATUS WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T12+1       PLUS LOW-ORDER OF FILE STATUS WORD ADDRESS 
          ADN    W.PRFRST-W.PRFS DELTA FOR FIRST POINTER WORD 
          CWD    T0          REWRITE FIRST POINTER WORD 
  
*         DELINK PRU BUFFER FROM LIMBO CHAIN AND CONNECT TO PCNB PRU
*         DATA CHAIN. 
  
 IPD.27A  BSS    0           DELINK THE ASSIGNED BUFFER 
 DKB      LDD    FBA         HIGH-ORDER OF BUFFER HEADER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       LOW-ORDER OF BUFFER HEADER ADDRESS 
          SBN    1           DELTA FOR NAM BLOCK HEADER ADDRESS 
          STD    FBA+1       STORE LOW-ORDER OF NAM BLOCK HEADER ADDRESS
          SHN    -12         POSITION HIGH-ORDER
          STD    FBA         STORE HIGH-ORDER OF NAM BLOCK HEADR ADDRESS
          RJM    RFPB        READ FIRST PRU BUFFER HEADER 
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          LMD    FBA         LESS HIGH-ORDER ASSIGNED BUF HEADER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          LMD    FBA+1       LESS LOW-ORDER ASSIGNED BUF HEADER ADDRESS 
          NJN    DKB.1       EXIT IF ASSIGNED IS NOT THE FIRST BUFFER 
          LDN    /NAM/Q.UOCID BUFFER USED-ON-CHAIN ID 
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    T10+/NAM/C.BID STORE BLOCK ID BYTE TO ASSIGNED BUFFER
          LJM    DKB.4       EXIT TO REWRITE NAM BLOCK HEADER 
  
 DKB.1    LDD    T10+/NAM/C.DPT HIGH-ORDER CURRENT BUFFER ADDRESS 
          LPN    37B         EXTRACT HIGH-ORDER BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER CURRENT BUFFER ADDRESS
          NJN    DKB.2       EXIT IF MORE BUFFERS ON THE CHAIN
          EXIT   IPD.3       EXIT IF NO MORE BUFFER 
  
 DKB.2    RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM BLOCK HEADER FROM LINKED BUFFER 
          STD    T5+1        LOW-ORDER ABSOLUTE ADDRESS LINKED BUFFER 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          HIGH-ORDER ABSOLUTE ADDRESS LINKED BUFFER
          LDD    T10+/NAM/C.DPT HIGH-ORDER CURRENT BUFFER ADDRESS 
          LPN    37B         EXTRACT HIGH-ORDER BUFFER ADDRESS
          LMD    FBA         LESS HIGH-ORDER ASSIGNED BUFFER ADDRESS
          SHN    12          POISTION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER CURRENT BUFFER ADDRESS
          LMD    FBA+1       LESS LOW-ORDER ASSIGNED BUFFER ADDRESS 
          ZJN    DKB.3       EXIT IF ASSIGNED BUFFER FOUND
          LDD    T5          HIGH-ORDER ABSOLUTE ADDRESS LINKED BUFFER
          STD    T15         STORE HIGH-ORDER ABSOLUTE ADDRESS CUR BUF
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE ADDRESS LINKED BUFFER 
          STD    T15+1       STORE LOW-ORDER ABSOLUTE ADDRESS CUR BUF 
          CRD    T10         READ NAM BLOCK HEADER CURRENT BUFFER 
          UJK    DKB.1       EXIT TO CONTINUE SEARCH FOR ASSIGNED BUFFER
  
 DKB.3    LDN    /NAM/Q.PRUID PRU BLOCK ID
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    T0+/NAM/C.BID STORE BLOCK ID BYTE TO ASSIGNED BUFFER 
          LDD    T5          HIGH-ORDER ABSOLUTE ADDRESS ASSIGNED BUFFER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE ADDRESS ASSIGNED BUFFER 
          CWD    T0          REWRITE ASSIGNED BUFFER BLOCK HEADER 
          LDD    T0+/NAM/C.DPT HIGH-ORDER ADDRESS LINKED FROM ASSIGNED
          LPN    37B         EXTRACE HIGH-ORDER ADDRESS 
          STD    T10+/NAM/C.DPT HIGH-ORDER ADDRESS LINKED FROM ASSIGNED 
          LDD    T0+/NAM/C.DPT+1 LOW-ORDER ADDRESS LINKED FROM ASSIGNED 
          STD    T10+/NAM/C.DPT+1 LOW-ORDER ADDRESS LINKED FROM ASSIGNED
  
 DKB.4    RJM    WCMW        REWRITE NAM BLOCK HEADER 
          AOD    FBA+1       CONVERT LOW-ORDER NAM BLOCK HDR TO BUF HDR 
          SHN    -12         POSITION OVERFLOW TO HIGH-ORDER ADDRESS
          RAD    FBA         CONVERT HIGH-ORDER NAM BLOCK HDR TO BUF HDR
          SOM    NFB,BTI     DECREMENT FREE BUFFER COUNT
          PJN    DKBX        RETURN IF VALID FREE BUFFER COUNT
          EXIT   IPD.3       EXIT IF FREE BUFFER COUNT INVALID
  
 DKBX     AOM    INB,BTI     INCREMENT INBOUND ASSIGNMENT COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF PRU BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF PRU BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER HEADER WORD FROM PRU BUFFER
          LDN    Q.INB       LOAD INBOUND BUFFER ID 
          SHN    S.BTP-S.PBS POSITION BUFFER TYPE 
          LMD    PRU         ADD PRU SIZE ORDINAL TO BUFFER TYPE
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          LMM    DROR        ADD DRIVER ORDINAL TO BUFFER STATUS
          STD    T10+C.BST   STORE BUFFER STATUS VALUE
          LDD    PCB         LOAD HIGH-ORDER OF PCNB ADDRESS
          STD    T10+C.PCB   STORE HIGH-ORDER OF PCNB ADDRESS 
          LDD    PCB+1       LOAD LOW-ORDER OF PCNB ADDRESS 
          STD    T10+C.PCB+1 STORE LOW-ORDER OF PCNB ADDRESS
          LDN    0           CONSTANT OF ZERO 
          STD    T10+C.DLK   ZERO HIGH-ORDR OF BUFFER LINK ADDRESS
          STD    T10+C.DLK+1 ZERO LOW-ORDER OF BUFFER LINK ADDRESS
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE DRIVER HEADER WORD FOR PRU BUFFER
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          ZJN    *+3         EXIT IF NO DATA QUEUED 
          LJM    IPD.30      EXIT IF DATA QUEUED TO PCB 
          LDD    FBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          ADD    T17         PLUS END OF INFORMATION FLAG 
          STD    T10+/NAM/C.PCBCDB STORE HIGH-ORDER OF CURRENT BUFFER 
          LDD    FBA+1       LOAD LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T10+/NAM/C.PCBCDB+1 STORE LOW-ORDER OF CURRENT BUFFER
  
 IPD.28   LDD    FBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          STD    T10+/NAM/C.PCBLDB STORE HIGH-ORDER LAST BUFFER ADDRESS 
          LDD    FBA+1       LOAD LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T10+/NAM/C.PCBLDB+1 STORE LOW-ORDER LAST BUFFER ADDRESS
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /NAM/W.PCBPS8 PRU PARAMETER WORD EIGHT ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD
          AOD    T10+/NAM/C.PCBQBC BUMP QUEUED BUFFER COUNT 
          RJM    WCMW        EXIT TO REWRITE PRU PARAMETER WORD TO PCB
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    IPD.29      EXIT IF NOT APPPLICATION TO APPLICATION
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          AOD    T10+/NAM/C.PCBL7N+1 INCREMENT LOW-ORDER NEXT BLOCK 
          SHN    -12         POSITION POSSIBLE CARRY
          ADD    T10+/NAM/C.PCBL7N PLUS HIGH-ORDER OF BLOCK NUMBER
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT BLOCK NUMBER
          STD    T10+/NAM/C.PCBL7N STORE HIGH-ORDER OF NEXT BLOCK NUMBER
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
  
 IPD.29   EXIT   ESRAX       RETURN VIA STREAM RESPONSE ACTION RETURN 
  
 IPD.30   LDD    T10+/NAM/C.PCBLDB LOAD HIGH-ORDER LAST BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLDB+1 PLUS LOW-ORDER LAST BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ BUFFER LINK WORD
          STD    T5+1        STORE LOW-ORDER OF LINK WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF LINK WORD ADDRESS
          LDD    FBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          ADD    T17         PLUS END OF INFORMATION FLAG 
          STD    T0+C.DLK    STORE HIGH-ORDER OF LINK ADDRESS 
          LDD    FBA+1       LOAD LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T0+C.DLK+1  STORE LOW-ORDER OF LINK ADDRESS
          LDD    T5          LOAD HIGH-ORDER OF LINK WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF LINK WORD ADDRESS
          CWD    T0          REWRITE BUFFER LINK WORD 
          UJK    IPD.28      EXIT TO STORE LAST BUFFER ADDRESS
 RFPB     SPACE  2,16 
**               SUBROUTINE RFPB
* 
*                SUBROUTINE RFPB LOCATES AND READS FIRST FREE BUFFER
*                NAM BLOCK HEADER AND SAVES ITS ADDRESS.
* 
*                  EXIT - 
* 
*                      (T10-T14) = NAM BLOCK HEADER WORD CONTENTS.
*                    (T15-T15+1) = FIRST BUFFER FIRST WORD ADDRESS. 
* 
*                  ERROR EXIT - 
* 
**                   EXIT TO *ERROR* IF FREE BUFFER TABLE ERROR.
  
 RFPB     SUBR               ENTRY/EXIT 
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          NJN    RFPB.1      EXIT IF FREE BUFFER EXISTS 
          EXIT   IPD.3       EXIT TO ERROR ROUTINE - FREE BUFFER ERROR
  
 RFPB.1   RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER FROM FIRST BUFFER
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
          UJK    RFPBX       RETURN 
 APDC     TITLE  FRONT END INPUT/OUTPUT DATA MANAGEMENT SUBROUTINES.
 APDC     SPACE  2,36 
**               SUBROUTINE APDC. 
* 
*                SUBROUTINE APDC INPUTS PRU DISPLAY CODE DATA FROM THE
*                FRONT END AND STORES THE INPUT DATA IN PACKED DISPLAY
*                CODE FORMAT INTO THE SPECIFIED BUFFER AREA.
* 
*                  ENTRY -
* 
*                      (A) = ENDING DATA BUFFER ADDRESS,
*                     (T1) = STARTING DATA BUFFER ADDRESS,
*                    (NCC) = CURRENT MESSAGE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                      (A) = NON-ZERO IF END OF TRANSFER, 
*                     (T1) = ENDING INPUT DATA BUFFER ADDRESS,
*                     (T3) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (NCC) = UPDATED TO CURRENT MESSAGE CHARACTER COUNT,
*                    (EOT) = NON-ZERO IF END OF TRANSFER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF PRU INPUT FORMAT ERROR. 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
**                   T2 = ENDING DATA BUFFER ADDRESS. 
  
  
 APDC     SUBR               ENTRY/EXIT 
          STD    T2          STORE ENDING DATA ADDRESS
          LDN    0           CONSTANT OF ZERO 
          STD    T3          INITIALIZE DATA CHARACTER COUNT
  
 APDC.1   CLIO   FEIC        INPUT NEXT DATA CHARACTER
          SHN    6           POSITION DISPLAY CODE CHARACTER
          STI    T1          STORE NEXT DISPLAY CODE CHARACTER
          SHN    -6-6        CLEAR DISPLAY CODE CHARACTER 
          ZJN    APDC.3      EXIT IF INPUT WAS DISPLAY CODE CHARACTER 
  
 APDC.2   EXIT   IPD.1       EXIT TO ERROR - PRU INPUT FORMAT ERROR 
  
 APDC.3   LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    APDC.2      EXIT IF END OF TRANSFER RECEIVED 
          CLIO   FEIC        INPUT NEXT DATA CHARACTER
          RAI    T1          ADD TO LEFT DISPLAY CODE CHARACTER 
          LDD    T0          LOAD INPUT CHARACTER 
          SCN    77B         CLEAR DISPLAY CODE CHARACTER 
          NJN    APDC.2      EXIT IF INPUT NOT DISPLAY CODE CHARACTER 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    APDCX       RETURN IF END OF TRANSFER RECEIVED 
          LDD    T1          LOAD CURRENT DATA BUFFER ADDRESS 
          LMD    T2          LESS ENDING DATA BUFFER ADDRESS
          ZJN    APDCX       RETURN IF END OF DATA BUFFER 
          AOD    T1          INCREMENT CURRENT DATA BUFFER ADDRESS
          UJK    APDC.1      EXIT TO INPUT NEXT DATA CHARACTER
 APPD     SPACE  2,40 
**               SUBROUTINE APPD. 
* 
*                SUBROUTINE APPD INPUTS EIGHT BIT PRU DATA FROM THE 
*                FRONT END AND STORES THE INPUT DATA IN PACKED BINARY 
*                FORMAT INTO THE SPECIFIED BUFFER AREA. 
* 
*                  ENTRY -
* 
*                       (A) = ENDING DATA BUFFER ADDRESS, 
*                      (T1) = STARTING DATA BUFFER ADDRESS, 
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                    (L7IC) = REMAINING INPUT OCTET COUNT.
* 
*                  EXIT - 
* 
*                       (A) = NON-ZERO IF END OF TRANSFER,
*                      (T1) = ENDING INPUT DATA BUFFER ADDRESS, 
*                      (T3) = CURRENT CHARACTER COUNT,
*                    (L7IC) = REMAINING INPUT OCTET COUNT,
*                     (NCC) = CURRENT MESSAGE CHARACTER COUNT,
*                     (EOT) = END OF TRANSFER FLAG. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ILLEGAL BUFFER SIZE,
*                    EXIT TO *ERROR* IF LEVEL SEVEN DATA ERROR. 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
**                   T2 = ENDING DATA BUFFER ADDRESS. 
  
  
 APPD     SUBR               ENTRY/EXIT 
          CLIO   FEIP        EXIT TO INPUT NEXT DATA CHARACTER
          UJN    APPD.4 
  
 APPD.3   EREXIT L7D         EXIT TO ERROR - LEVEL SEVEN DATA ERROR 
  
 APPD.4   LDD    L7IC        LOAD LEVEL SEVEN INPUT OCTET COUNT 
          SBD    T3          LESS INPUT CHARACTER COUNT 
          STD    L7IC        STORE REMAINING LEVEL SEVEN OCTET COUNT
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    APPDX       EXIT IF END OF TRANSFER NOT RECEIVED 
          LDD    L7IC        LOAD REMAINING LEVEL SEVEN OCTET COUNT 
          NJN    APPD.3      EXIT IF INPUT LENGTH ERROR 
          LDN    1           SET A-REGISTER NON-ZERO
  
 APPD.5   UJK    APPDX       RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DRIVER SUPPORT PRO
,CESSORS) 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .NPRU    SET    0
 .GIBS.1  SET    0
 PIOD     SPACE  2,30 
**               DRIVER SUPPORT PROCESSOR PIOD. 
* 
*                DRIVER SUPPORT PROCESSOR PIOD SETS THE FRONT END OUTPUT
*                FET TO THE HIGHEST PRIORITY AND CHECKS THE IVT OUTPUT
*                CYCLE TIMER.  IF THE IVT OUTPUT CYCLE TIMER HAS NOT
*                EXPIRED THE OUTPUT BUFFER IS CHECKED FOR IVT MESSAGES. 
*                IF AN OUTBOUND IVT MESSAGE IS FOUND THE NETWORK HEADER 
*                IS READ AND VALIDATED, THE ADDRESS OF THE OUTPUT TEXT
*                IS INITIALIZED AND THE MAIN DRIVER IS CALLED TO PROCESS
*                THE MESSAGE.  IF THERE IS NO MESSAGE IN THE CURRENT
*                OUTBOUND BUFFER THE BUFFER IS ADVANCED TO THE NEXT 
*                LOWER PRIORITY BUFFER FOR THE FRONT END AND IT IS
*                CHECKED FOR OUTBOUND IVT MESSAGES. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF OUTBOUND MESSAGE FORMAT ERROR.
* 
*                  CALLS -
* 
*                    PAUSE - PAUSE FOR STORAGE RELOCATION,
*                     CIOA - CHECK IVT OUTPUT AVAILABLE,
*                      TFL - GENERATE ABSOLUTE CENTRAL ADDRESS, 
**                     UPD - UNPACK DATA. 
  
  
 PIOD     LINK               ENTRY
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    /NAM/W.NBTOF OFFSET FOR FIRST OUTBOUND FET 
          STD    FTO         INITIALIZE NPU FET OFFSET
          LDN    /NORDER/OL1 LOAD INITIAL OUTPUT PRIORITY LEVEL 
          STD    OPL         INITIALIZE NPU OUTPUT PRIORITY LEVEL 
  
 PIOD.1   LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        LOAD SYSTEM SECOND TIME
          SBM    IDT         LESS IVT DATA CYCLE TIMER
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    PIOD.2      EXIT IF IVT DATA CYCLE NOT EXPIRED 
          EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
  
 PIOD.2   LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          STD    T17         STORE CENTRAL WORD COUNT 
          RJM    CIOA        EXIT TO CHECK FOR IVT OUTPUT AVAILABLE 
          NJN    PIOD.3      EXIT IF IVT OUTPUT AVAILABLE 
          LJM    PIOD.6      EXIT TO CHECK FOR LAST FRONT END FET 
  
 PIOD.3   ADD    T17         PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS CENTRAL WORD COUNT
          CRM    NBH,T17     READ NAM BLOCK HEADER AND NETWORK HEADER 
          LDM    NBH+/NAM/C.BID LOAD BUFFER ID BYTE 
          SHN    -/NAM/S.BID BUFFER BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.OBID LESS OUTBOUND BUFFER ID
          ZJN    PIOD.3F     EXIT IF OUTBOUND BUFFER ID 
          LMN    /NAM/Q.PONID&/NAM/Q.OBID  CHECK IF PRU/ON BLOCK ID 
          NJN    PIOD.4      EXIT IF BAD BUFFER ID
          RJM    UFOP        EXIT TO UPDATE NBT FET OUT PTR 
          EXIT   PIOD        EXIT TO PROCESS NEXT ENTRY IN OUTBOUND CHN 
  
 PIOD.3F  LDM    NBH+/NAM/C.BWD LOAD HIGH-ORDER OF BLOCK SIZE IN WORDS
          LPN    77B         EXTRACT HIGH-ORDER OF BLOCK SIZE 
          ZJN    PIOD.5      EXIT IF WORD COUNT IN RANGE
  
 PIOD.4   UJK    /ACTIONS/OIOT.1 EXIT TO ERROR - ILLEGAL OUTPUT BLOCK 
  
 PIOD.5   LDC    /BLOCK/L.DATA LOAD MAXIMUM MESSAGE TEXT LENGTH 
          SBM    NNH+/NAM/C.MCC LESS MESSAGE TEXT LENGTH FROM NAM 
          MJN    PIOD.4      EXIT IF MESSAGE TEXT LENGTH OUT OF RANGE 
          LCN    /NAM/L.BH+/NAM/L.NH NEGATIVE LENGTH OF NAM HEADER WORDS
          RAM    NBH+/NAM/C.BWD+1 DECREMENT BLOCK SIZE FOR TEXT LENGTH
          MJN    PIOD.4      EXIT IF TEXT LENGTH OUT OF RANGE 
          LDC    NNH         LOAD ADDRESS OF NAM NETWORK HEADER BUFFER
          STD    T1          STORE SOURCE BUFFER ADDRESS
          ADN    BHB-NNH     DELTA FOR NPU BLOCK HEADER BUFFER
          STD    T2          STORE DESTINATION BUFFER ADDRESS 
          LDN    /BLOCK/L.BH+/BLOCK/L.DH LENGTH OF BLOCK AND DATA HEADER
          RJM    /2IM/UPD    EXIT TO UNPACK NAM NETWORK HEADER
          LDM    BHB+/BLOCK/DN LOAD DESTINATION NODE FROM NAM 
          STD    TN          STORE TERMINAL NODE
          LDM    BHB+/BLOCK/CN LOAD CONNECTION NUMBER FROM NAM
          STD    CN          STORE CONNECTION NUMBER
          LDM    BHB+/BLOCK/BNBT LOAD BLOCK TYPE FROM NAM 
          LPN    /BLOCK/L.BT EXTRACT BLOCK TYPE 
          ZJN    PIOD.4      EXIT IF INVALID BLOCK TYPE 
          STD    BT          STORE BLOCK TYPE 
          SBN    /BLOCK/MAXBT LESS MAXIMUM VALID BLOCK TYPE 
          PJN    PIOD.4      EXIT IF INVALID BLOCK TYPE 
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADM    NBH+/NAM/C.BWD+1 PLUS BLOCK SIZE IN WORDS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBM    NBH+/NAM/C.BWD+1 LESS BLOCK SIZE IN WORDS
          ADD    T17         PLUS LENGTH OF NAM HEADER WORDS
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          EXIT   PFE.4       EXIT TO READ CONNECTION TABLE ENTRY
  
 PIOD.6   LDD    OPL         LOAD CURRENT OUTPUT PRIORITY LEVEL 
          SBN    MAXOPL      LESS MAXIMUM OUTPUT PRIORITY LEVEL 
          ZJN    PIOD.7      EXIT IF ALL PRIORITY LEVELS PROCESSED
          ADN    MAXOPL-LOWOPL CHECK IF READY TO SEND LOW PRIORITY DATA 
          MJN    PIOD.6H     EXIT IF NOT TIME TO SEND LOW PRIORITY DATA 
          LDM    FTY,FEI     FRONT END TYPE 
          ZJN    PIOD.6H     EXIT IF 2550 FRONT END 
          LDM    CHVER,FEI   MCI CHANNEL PROTOCOL VERSION NUMBER
          SBN    /MSTATUS/VERSION4  LOWEST VERSION NUMBER THAT SUPPORTS 
                             FLOW CONTROL BIT IN GENERAL STATUS REGISTER
          MJN    PIOD.6H     IF FLOW CONTROL BIT DOES NOT EXIST IN GS 
          LDM    MGS,FEI     MDI GENERAL STATUS REGISTER
          LPK    7           EXTRACT BITS 0 TO 2 OF GENERAL STATUS
          SBN    /MSTATUS/FON CHECK IF NORMAL FLOW CONTROL IS ON
          ZJN    PIOD.7      EXIT IF NORMAL FLOW CONTROL IS ON
 PIOD.6H  LDN    /NAM/L.FET  LENGTH OF FRONT END FET
          RAD    FTO         INCREMENT FRONT END FET OFFSET 
          AOD    OPL         INCREMENT CURRENT OUTPUT PRIORITY LEVEL
          UJK    PIOD.1      EXIT TO CHECK FOR IVT TIMER EXPIRED
  
 PIOD.7   EXIT   PPRU        EXIT TO PROCESS PRU STREAMS
 INSS     SPACE  2,46 
**               DRIVER SUPPORT PROCESSOR INSS. 
* 
*                DRIVER SUPPORT PROCESSOR INSS INITIALIZES FOR A NEW PRU
*                STREAM.  THE STREAM STATE IS SET TO EITHER PRU INPUT OR
*                PRU OUTPUT, THE CONNECTION TABLE IS WRITTEN, THE COUNT 
*                OF PRU STREAMS IS INCREMENTED AND THE PRU LIMBO BUFFER 
*                CHAINS ARE INITIALIZED IF THIS IS THE FIRST ACTIVE PRU 
*                STREAM.  THE FILE TRANSFER PARAMETERS ARE INTIALIZED 
*                AND STORED IN THE PRU CONTROL BLOCK. 
* 
*                  ENTRY -
* 
*                       (BHS) = BLOCK HANDLER STATE FOR STREAM, 
*                       (NPS) = NPU STATE,
*                       (FEI) = FRONT END TABLE ADDRESS,
*                       (AAC) = APPLICATION TO APPLICATION FLAG,
*                    (PRUSTS) = COUNT OF ACTIVE PRU STREAMS,
*                       (MLB) = MINIMUM PRU BUFFER COUNT. 
* 
*                  EXIT - 
* 
*                       (STS) = INITIAL PRU STREAM STATE, 
*                      (BSBC) = INITIAL BLOCK SERIAL NUMBERS, 
*                    (PRUSTS) = INCREMENTED,
*                       (ALB) = INITIALIZED IF FIRST ACTIVE STREAM, 
*                       (CN0) = INITIALIZED IF FIRST ACTIVE STREAM, 
*                       (CWO) = INITIALIZED IF FIRST ACTIVE STREAM. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ILLEGAL BLOCK HANDLER STATE,
*                    EXIT TO *ERROR* IF ILLEGAL PCB SIZE, 
*                    EXIT TO *ERROR* IF ILLEGAL PRU BUFFER SIZE.
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                     WCT - WRITE CONNECTION TABLE, 
*                    RPCB - READ WORD FROM PCB, 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 INSS     LINK               ENTRY
          LDD    BHS         LOAD BLOCK HANDLER STATE 
          LMN    /TABLES/BHS2 LESS VALUE FOR PRU INPUT STREAM 
          ZJN    INSS.3      EXIT IF PRU INPUT STREAM 
          LMN    /TABLES/BHS3&/TABLES/BHS2 DELTA FOR PRU OUTPUT STREAM
          ZJN    INSS.2      EXIT IF PRU OUTPUT STREAM
          LDI    FEI         LOAD FRONT END STATE 
          NJN    INSS.1      EXIT IF FRONT END INOPERATIVE
          EREXIT BHS         EXIT TO ERROR - ILLEGAL BLOCK HANDLER STATE
  
 INSS.1   UJK    /STATES/SIWL EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY
  
 INSS.2   LDN    /TABLES/PROT-/TABLES/PRIN DELTA FOR PRU OUTPUT STREAM
  
 INSS.3   ADN    /TABLES/PRIN DELTA FOR INITIAL PRU INPUT STREAM STATE
          STD    STS         STORE INITIAL PRU STREAM STATE 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          NJN    INSS.4      EXIT IF APPLICATION CONNECTION 
          LDC    1S9&1S3     LOAD INITIAL BLOCK SERIAL NUMBERS
          STD    BSBC        INITIALIZE BLOCK SERIAL NUMBER 
  
 INSS.4   RJM    WCT         EXIT TO WRITE CONNECTION TABLE ENTRY 
          LDN    0           CONSTANT OF ZERO 
          RJM    RPCB        EXIT TO READ PCB HEADER WORD 
          LDD    T10+/NAM/C.BWD+1 LOAD PCB WORD LENGTH
          LMN    /NAM/L.PCB  LESS EXPECTED PCB WORD LENGTH
          NJN    INSS.5      EXIT IF PCB LENGTH ERROR 
          LDD    T10+/NAM/C.PCBSP LOAD STREAM PARAMETER BYTE
          LPN    /NAM/L.PCBNBS EXTRACT PRU BLOCK SIZE 
          SBN    MAXPRU+1    LESS MAXIMUM BUFFER SIZE 
          MJN    INSS.8      EXIT IF BUFFER SIZE VALID
          UJK    /STATES/SRNO.1 EXIT TO ERROR - PCB BUFFER SIZE ERROR 
  
 INSS.5   EREXIT PSE         EXIT TO ERROR - PCB SIZE ERROR 
  
 INSS.8   LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS6-/NAM/W.PCBIWP DELTA FOR CHECKMARK WINDOW 
          CRD    T1          READ CHECKMARK WINDOW SIZE WORD
          ADN    /NAM/W.PCBPS5-/NAM/W.PCBIWP CHECKMARK ACKNOWLEDGED 
          CRM    DRBUF,ON    READ CHECKMARK ACKNOWLEDGED WORD 
          LDD    T1+/NAM/C.PCBFTP LOAD FILE TRANSFER PARAMETER BYTE 
          SHN    -/NAM/S.PCBCWS CHECKMARK WINDOW SIZE TO LOW-ORDER
          ZJN    INSS.9      EXIT IF CHECKMARKS NOT REQUESTED 
          LDN    NBBC        LOAD NUMBER OF BLOCKS BETWEEN CHECKMARKS 
          SHN    6           POSITION TO INTERVAL 
          ADN    NBBC        PLUS BLOCKS UNTIL CHECKMARK
  
 INSS.9   STD    T10+/NAM/C.PCBCMC STORE CHECKMARK CONTROL BYTE 
          LDD    T1+/NAM/C.PCBFTP LOAD FILE TRANSFER PARAMETER BYTE 
          LPN    0#F         EXTRACT HIGH-ORDER OF FIRST CHECKMARK
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T1+/NAM/C.PCBFTP+1 PLUS LOW-ORDER OF FIRST CHECKMARK 
          SHN    -/NAM/S.PCBKVL POSITION FIRST CHECKMARK VALUE
  
 INSS.10  STM    DRBUF+/NAM/C.PCBLAC+1 STORE LOW-ORDER LAST ACKNOWLEDGED
          SHN    -12         POSITION HIGH-ORDER OF VALUE 
          STM    DRBUF+/NAM/C.PCBLAC STORE HIGH-ORDER LAST ACKNOWLEDGED 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+/NAM/C.PCBL7N HIGH-ORDER OF LEVEL 7 BLOCK NUMBER 
          STD    T10+/NAM/C.PCBL7N+1 LOW-ORDER OF LEVEL 7 BLOCK NUMBER
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        LOAD SYSTEM SECOND TIME
          ADK    Q.L7TO      PLUS LEVEL SEVEN TIMEOUT QUANTUM 
          STD    T10+/NAM/C.PCBL7T STORE LEVEL SEVEN TIMER
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          SBN    /NAM/W.PCBPS6-/NAM/W.PCBPS5 CHECKMARK ACKNOWLEDGED 
          CWM    DRBUF,ON    WRITE CHECKMARK ACKNOWLEDGED WORD
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 PRIT     SPACE  2,30 
**               DRIVER SUPPORT PROCESSOR PRIT. 
* 
*                DRIVER SUPPORT PROCESSOR PRIT ACCEPTS IVT TEXT FROM
*                THE FRONT END.  THE IVT TEXT IS ACCEPTED FROM THE FRONT
*                END AND STORED IN THE DRIVER BUFFER IN PACKED FORMAT.
*                WHEN THE DRIVER BUFFER IS FILLED THE IVT TEXT IS 
*                WRITTEN TO THE INBOUND BUFFER AND THE PROCESS IS 
*                REPEATED UNTIL THE COMPLETE MESSAGE HAS BEEN RECEIVED. 
*                AT THE COMPLETION OF THE INPUT THE NAM BLOCK HEADER AND
*                NETWORK HEADER ARE WRITTEN TO THE INBOUND BUFFER AND 
*                THE FET IN DATA POINTER IS UPDATED.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER RECEIVED FLAG,
*                       (FBA-FBA+1) = ADDRESS OF FET BUFFER,
*                       (CBA-CBA+1) = FET BUFFER ADDRESS FOR TEXT,
*                       (LBA-LBA+1) = ADDRESS OF END OF FET BUFFER, 
*                    (NBH-NBH+L.BH) = NAM BLOCK HEADER, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF MESSAGE EXCEEDS FET BUFFER. 
* 
*                  CALLS -
* 
*                    ASED - ACCEPT AND STORE PACKED DATA, 
*                    WDIB - WRITE INPUT DATA TO INBOUND BUFFER, 
**                   UFIP - UPDATE FET IN POINTER.
  
  
 PRIT     LINK               ENTRY
          LDC    DRBUF       LOAD STARTING ADDRESS OF DRIVER BUFFER 
  
 PRIT.2   LINK               ENTRY
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          LDC    E.DRBUF     LOAD ENDING ADDRESS OF DRIVER BUFFER 
          CLIO   FEIP        EXIT TO ACCEPT AND STORE PACKED DATA 
          LDD    T3          LOAD CHARACTER COUNT OF INPUT
          RAM    NNH+/NAM/C.MCC ADD TO MESSAGE TEXT CHARACTER COUNT 
          LDN    0           CONSTANT OF ZERO 
          STD    T7          INITIALIZE CENTRAL WORD COUNT
          LDD    T3          LOAD CHARACTER COUNT OF INPUT
          ADN    8-1         ROUND UP FOR MODULUS 7 1/2 
          SHN    1           TIMES TWO
  
 PRIT.3   SBN    15          LESS COUNT OF CHARACTERS PER WORD TIMES TWO
          MJN    PRIT.4      EXIT IF CHARACTER COUNT EXHAUSTED
          STD    T3          STORE RESIDUAL CHARACTER COUNT 
          AOD    T7          INCREMENT CENTRAL MEMORY WORD COUNT
          LDD    T3          LOAD RESIDUAL CHARACTER COUNT
          UJK    PRIT.3      EXIT TO DECREMENT RESIDUAL CHARACTER COUNT 
  
 PRIT.4   LDD    T7          LOAD DATA LENGTH WORD COUNT
          RAM    NBH+/NAM/C.BWD+1 ADD TO MESSAGE WORD COUNT 
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          RJM    WDIB        EXIT TO WRITE DATA TO INBOUND BUFFER 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          ZJN    PRIT        EXIT IF END OF TRANSFER NOT RECEIVED 
          UJK    /ACTIONS/SRUI EXIT TO UPDATE DATA IN POINTER 
 CIOA     TITLE  IVT OUTPUT SUPPORT SUBROUTINES.
 CIOA     SPACE  2,46 
**               SUBROUTINE CIOA. 
* 
*                SUBROUTINE CIOA CHECKS FOR THE AVAILABILITY OF IVT 
*                OUTPUT DATA.  IF THE OUT POINTER FROM THE OUTPUT 
*                PSEUDO FET IS EQUAL TO ZERO THE FIRST POINTER FROM 
*                THE PSEUDO FET IS USED.  IF THE FIRST POINTER FROM 
*                THE PSEUDO FET IS ALSO ZERO NO OUTPUT DATA IS
*                AVAILABLE.  IF IN IS EQUAL TO OUT NO OUTPUT IS 
*                AVAILABLE.  IF IN IS NOT EQUAL TO OUT THE NEXT 
*                OUTBOUND MESSAGE HAS BEEN LINKED TO THE BUFFER 
*                HEADER WORD POINTED TO BY THE OUT POINTER IN THE 
*                PSEUDO FET.
* 
*                  ENTRY -
* 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                    (FET-FET+1) = BASE ADDRESS FOR FET TABLES, 
*                          (FTO) = CURRENT FET OFFSET.
* 
*                  EXIT - 
* 
*                            (A) = ZERO IF OUTPUT UNAVAILABLE OR
*                                  RELATIVE ADDRESS OF OUTPUT BUFFER, 
*                    (FBA-FBA+1) = RELATIVE ADDRESS OF OUTPUT BUFFER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF INVALID BUFFER LINK.
* 
*                  CALLS -
* 
*                    GCTA - GET RELATIVE ADDRESS OF CURRENT FET,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                      T0-T0+4 = OUT POINTER WORD FROM FET, 
*                      T5-T5+4 = IN POINTER WORD FROM FET,
*                    T12-T12+4 = FIRST POINTER WORD FROM FET, 
*                           T5 = ADDRESS OF DATA POINTER, 
**                     T0-T0+4 = BUFFER LINK POINTER WORD.
  
  
 CIOA     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTOP DELTA FOR OUTPOINTER WORD FROM FET
          RJM    GCTA        EXIT TO GET CURRENT OUT POINTER ADDRESS
          CRD    T0          READ OUT POINTER WORD FROM FET 
          SBN    /NAM/W.NBTOP-/NAM/W.NBTIP DELTA FOR IN POINTER WORD
          CRD    T5          READ IN POINTER WORD FROM FET
          SBN    /NAM/W.NBTIP-/NAM/W.NBTFP DELTA FOR FIRST POINTER WORD 
          CRD    T12         READ FIRST POINTER WORD FROM FET 
          LDD    T0+/NAM/C.NBTOP LOAD HIGH-ORDER OF OUT DATA POINTER
          ADD    T0+/NAM/C.NBTOP+1 PLUS LOW-ORDER OF OUT DATA POINTER 
          NJN    CIOA.3      EXIT IF NOT NULL OUT POINTER 
          LDN    T12+/NAM/C.NBTFP LOAD ADDRESS OF FIRST DATA POINTER
  
 CIOA.1   STD    T5          STORE ADDRESS OF DATA POINTER
          LDI    T5          LOAD HIGH-ORDER OF DATA POINTER
          STD    FBA         STORE HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    1,T5        PLUS LOW-ORDER OF DATA POINTER 
          STD    FBA+1       STORE LOW-ORDER OF FIRST BUFFER ADDRESS
  
 CIOA.2   UJK    CIOAX       RETURN WITH DATA AVAILABLE INDICATOR 
  
 CIOA.3   LDD    T0+/NAM/C.NBTOP LOAD HIGH-ORDER OF OUT DATA POINTER
          SBD    T5+/NAM/C.NBTIP LESS HIGH-ORDER OF IN DATA POINTER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.NBTOP+1 PLUS LOW-ORDER OF OUT DATA POINTER 
          SBD    T5+/NAM/C.NBTIP+1 LESS LOW-ORDER OF IN DATA POINTER
          ZJN    CIOA.2      EXIT IF NO OUTPUT DATA AVAILABLE 
          LDD    T0+/NAM/C.NBTOP LOAD HIGH-ORDER OF OUT DATA POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.NBTOP+1 PLUS LOW-ORDER OF OUT DATA POINTER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ POINTER WORD TO NEXT OUTPUT BUFFER
          LDD    T0+/NAM/C.QLK LOAD HIGH-ORDER OF LINKED BUFFER ADDRESS 
          ADD    T0+/NAM/C.QLK+1 PLUS LOW-ORDER OF LINKED BUFFER ADDRESS
          ZJN    CIOA.4      EXIT IF NO LINKED BUFFER 
          LDN    T0+/NAM/C.QLK LOAD ADDRESS OF NEXT BUFFER POINTER
          UJK    CIOA.1      EXIT TO STORE ADDRESS OF DATA POINTER
  
 CIOA.4   EREXIT BLE         EXIT TO ERROR ROUTINE - BUFFER LINK ERROR
 TOT      TITLE  INPUT/OUTPUT DATA MANAGEMENT SUBROUTINES.
 TOT      SPACE  2,34 
**               SUBROUTINE TOT.
* 
*                SUBROUTINE TOT TRANSFERS OUTPUT TEXT TO THE FRONT
*                END.  OUTPUT TEXT IS READ FROM THE CENTRAL BUFFER AND
*                THE OUTPUT CHARACTER PROCESSOR IS CALLED TO PROCESS
*                THE OUTPUT TEXT. 
* 
*                  ENTRY -
* 
*                    (NNH+C.BWD+1) = MESSAGE TEXT WORD COUNT, 
*                      (NNH+C.MCC) = MESSAGE TEXT CHARACTER COUNT,
*                      (CBA-CBA+1) = ABSOLUTE TEXT BUFFER ADDRESS,
*                            (OCB) = OUTPUT CHARACTERS PER BUFFER,
*                            (OCP) = CHARACTER PROCESSOR ADDRESS, 
*                           (REOT) = ZERO.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT CHARACTER PROCESSOR.
* 
*                  USES - 
* 
*                    T10 = OUTPUT MESSAGE TEXT WORD COUNT,
*                    T11 = OUTPUT MESSAGE TEXT CHARACTER COUNT, 
*                     T5 = END OF LINE FLAG,
*                    T14 = RESIDUAL ZERO CHARACTER FLAG,
*                     T1 = CENTRAL WORD COUNT,
*                     T1 = LAST TEXT BYTE DISPLACEMENT, 
*                    T15 = LAST TEXT BYTE,
*                     T2 = SOURCE DATA CHARACTER COUNT, 
**                    T1 = SOURCE DATA BUFFER ADDRESS.
  
  
 TOT      SUBR               ENTRY/EXIT 
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          STD    T11         STORE MESSAGE TEXT CHARACTER COUNT 
          LDN    1           CONSTANT OF ONE
          STD    T5          INITIALIZE LAST OPERATION TO END OF LINE 
          LDN    0           CONSTANT OF ZERO 
          STD    T14         INITIALIZE RESIDUAL ZERO CHARACTER FLAG
          LDM    NBH+/NAM/C.BWD+1 LOAD MESSAGE TEXT WORD COUNT
          STD    T10         STORE MESSAGE TEXT WORD COUNT
  
 TOT.1    ADC    -L.DBCM     LESS DRIVER BUFFER LENGTH IN WORDS 
          PJN    TOT.2       EXIT IF PARTIAL TRANSFER 
          LJM    TOT.8       EXIT TO STORE CENTRAL WORD COUNT 
  
 TOT.2    STD    T10         STORE RESIDUAL MESSAGE TEXT WORD COUNT 
          ZJN    TOT.3       EXIT IF EXACT MESSAGE FIT
          LDD    T11         LOAD RESIDUAL MESSAGE TEXT CHARACTER COUNT 
          SBD    OCB         LESS CHARACTERS PER DRIVER BUFFER
          STD    T11         STORE RESIDUAL MESSAGE TEXT CHARACTER COUNT
  
 TOT.3    LDC    L.DBCM      LOAD DRIVER BUFFER LENGTH IN WORDS 
          STD    T1          STORE CENTRAL WORD COUNT 
  
 TOT.4    LDD    CBA         LOAD HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF ABSOLUTE BUFFER ADDRESS
          CRM    DRBUF,T1    READ MESSAGE TEXT FROM CENTRAL BUFFER
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          LDD    T1          LOAD CENTRAL WORD COUNT
          SHN    2           CENTRAL WORD COUNT TIMES FOUR
          RAD    T1          CENTRAL WORD COUNT TIMES FIVE
          LDM    DRBUF-1,T1  LOAD LAST MESSAGE TEXT BYTE
          STD    T15         STORE LAST MESSAGE TEXT BYTE 
          LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          ZJN    TOT.7       EXIT IF LAST PORTION OF TRANSFER 
          LDD    OCB         LOAD CHARACTERS PER DRIVER BUFFER
  
 TOT.5    STD    T2          STORE SOURCE DATA CHARACTER COUNT
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE SOURCE DATA BUFFER ADDRESS 
          RJM    0,OCP       EXIT TO OUTPUT CHARACTER PROCESSOR 
          LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          NJN    TOT.6       EXIT IF MORE DATA TO TRANSFER
          UJK    TOTX        RETURN 
  
 TOT.6    UJK    TOT.1       EXIT TO GET NEXT DATA TEXT 
  
 TOT.7    AOD    REOT        SET END OF TRANSFER REQUESTED
          LDD    T11         LOAD RESIDUAL MESSAGE TEXT CHARACTER COUNT 
          UJK    TOT.5       EXIT TO STORE SOURCE DATA CHARACTER COUNT
  
 TOT.8    LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          STD    T1          STORE CENTRAL WORD COUNT 
          LDN    0           CONSTANT OF ZERO 
          STD    T10         ZERO RESIDUAL MESSAGE TEXT WORD COUNT
          UJK    TOT.4       EXIT TO READ TEXT FROM CENTRAL BUFFER
 TDCI     TITLE  IVT OUTPUT CHARACTER PROCESSORS. 
 TDCI     SPACE  2,42 
**               SUBROUTINE TDCI. 
* 
*                SUBROUTINE TDCI PROCESSES DISPLAY CODE DATA THAT IS
*                TO BE TRANSFERRED TO THE NPU.  THE DISPLAY CODE SOURCE 
*                DATA IS TRANSLATED INTO *ASCII* CODE AS REQUIRED FOR 
*                THE IVT FORMAT.
* 
*                  ENTRY -
* 
*                     (T14) = RESIDUAL ZERO CHARACTER FLAG (0 = NO),
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT), 
*                     (T15) = LAST TEXT BYTE, 
*                      (T5) = END OF LINE FLAG (0 = NOT END OF LINE). 
* 
*                  EXIT - 
* 
*                    (T14) = RESIDUAL ZERO CHARACTER FLAG (0 = NO), 
*                     (T5) = END OF LINE FLAG (0 = NOT END OF LINE).
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
* 
*                  PROCESSOR CALLS -
* 
*                    SPECIAL OUTPUT CHARACTER PROCESSOR.
* 
*                  USES - 
* 
*                    T5 = LAST OPERATION FLAG (0 = NOT END OF LINE),
*                    T4 = CENTRAL MEMORY WORD OFFSET, 
*                    T6 = DISPLAY CODE SOURCE CHARACTER,
*                    T3 = OUTPUT DATA CHARACTER,
*                    T6 = CHARACTER PROCESSOR TABLE ADDRESS,
**                   T6 = CHARACTER PROCESSOR ADDRESS.
  
  
 TDCI     SUBR               ENTRY/EXIT 
          LDD    T14         LOAD RESIDUAL ZERO CHARACTER FLAG
          ZJN    TDCI.1      EXIT IF NO RESIDUAL ZERO CHARACTER 
          AOD    T2          INCREMENT SOURCE DATA CHARACTER COUNT
          SOD    T1          DECREMENT SOURCE DATA STARTING ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STI    T1          STORE RESIDUAL ZERO CHARACTER
          LDN    9           CONSTANT OF NINE 
  
 TDCI.1   STD    T4          INITIALIZE CENTRAL MEMORY WORD OFFSET
          LDD    REOT        LOAD REQUEST END OF TRANSFER FLAG
          NJN    TDCI.6      EXIT IF END OF TRANSFER REQUESTED
          LDD    T15         LOAD LAST TEXT BYTE
          ZJN    TDCI.2      EXIT IF NOT RESIDUAL ZERO CHARACTER
          LPN    77B         EXTRACT LAST TEXT CHARACTER
          NJN    TDCI.6      EXIT IF NOT RESIDUAL ZERO CHARACTER
          SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
  
 TDCI.2   STD    T14         SET RESIDUAL ZERO CHARACTER FLAG 
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
  
 TDCI.3   LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          NJN    TDCI.7      EXIT IF RIGHT CHARACTER NEXT 
          LDI    T1          LOAD NEXT DISPLAY CODE SOURCE BYTE 
          SHN    -6          POSITION NEXT DISPLAY CODE SOURCE CHARACTER
  
 TDCI.4   STD    T6          STORE NEXT DISPLAY CODE SOURCE CHARACTER 
          LDM    ASCII,T6    LOAD EQUIVALENT TRANSLATION TABLE BYTE 
          STD    T3          STORE TRANSLATION TABLE CONTROL BYTE 
          SHN    -8          POSITION PROCESSOR ORDINAL TO LOW-ORDER
          NJN    TDCI.8      EXIT IF SPECIAL CHARACTER PROCESSOR
          STD    T5          LAST OPERATION TO NOT END OF LINE
  
 TDCI.5   SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
          NJN    TDCI.9      EXIT IF NOT END OF SOURCE DATA 
          CLIO   FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    TDCIX       RETURN 
  
 TDCI.6   LDN    0           CONSTANT OF ZERO 
          UJK    TDCI.2      EXIT TO SET RESIDUAL ZERO CHARACTER FLAG 
  
 TDCI.7   LDI    T1          LOAD NEXT DISPLAY CODE SOURCE BYTE 
          LPN    77B         EXTRACT NEXT DISPLAY CODE SOURCE CHARACTER 
          UJK    TDCI.4      EXIT TO STORE DISPLAY CODE SOURCE CHARACTER
  
 TDCI.8   ADC    SCP-1       PLUS ADDRESS OF CHARACTER PROCESSOR TABLE
          STD    T6          STORE CHARACTER PROCESSOR TABLE ADDRESS
          LDI    T6          LOAD ADDRESS OF CHARACTER PROCESSOR
          STD    T6          STORE ADDRESS OF CHARACTER PROCESSOR 
          RJM    0,T6        EXIT TO SPECIAL CHARACTER PROCESSOR
          UJK    TDCI.5      EXIT TO OUTPUT NEXT CHARACTER
  
 TDCI.9   CLIO   FEOC        OUTPUT NEXT DATA CHARACTER 
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          NJN    TDCI.12     EXIT IF RIGHT CHARACTER
  
 TDCI.10  AOD    T4          INCREMENT CENTRAL MEMORY WORD OFFSET 
  
 TDCI.11  UJK    TDCI.3      EXIT TO PROCESS NEXT SOURCE CHARACTER
  
 TDCI.12  AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LMN    9           LESS ENDING VALUE
          NJN    TDCI.10     EXIT IF NOT END OF CENTRAL MEMORY WORD 
          STD    T4          RESET CENTRAL MEMORY WORD OFFSET 
          UJK    TDCI.11     EXIT TO PROCESS NEXT SOURCE CHARACTER
 CEOL     TITLE  SPECIAL CHARACTER PROCESSORS.
 CEOL     SPACE  2,30 
**               SPECIAL CHARACTER PROCESSOR CEOL.
* 
*                SPECIAL CHARACTER PROCESSOR CEOL CHECKS FOR THE END OF 
*                THE CURRENT SOURCE LINE.  IF THE LAST OPERATION ON THE 
*                STREAM WAS END OF LINE AND FORMAT EFFECTORS ARE IN 
*                EFFECT, END OF SOURCE LINE CHECKING IS NOT DONE. 
* 
*                  ENTRY -
* 
*                         (T5) = LAST OPERATION FLAG (1 = EOL), 
*                    (DBH+DBC) = DATA BLOCK CLARIFIER,
*                         (T3) = TRANLATION TABLE CONTROL BYTE, 
*                         (T1) = CURRENT SOURCE DATA ADDRESS, 
*                         (T4) = CURRENT CENTRAL MEMORY OFFSET. 
* 
*                  EXIT - 
* 
*                    (T3) = OUTPUT DATA CHARACTER,
*                    (T5) = SET BASED UPON END OF LINE RESULT,
*                    (T1) = UPDATED IF END OF LINE, 
*                    (T4) = UPDATED IF END OF LINE. 
* 
*                  CALLS -
* 
**                   CESL - CHECK FOR END OF SOURCE LINE. 
  
  
 CEOL     SUBR               ENTRY/EXIT 
          LDD    T5          LOAD LAST OPERATION FLAG BYTE
          ZJN    CEOL.3      EXIT IF LAST OPERATION NOT END OF LINE 
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          SHN    17-/BLOCK/S.FE POSITION FORMAT EFFECTOR FLAG TO SIGN 
          MJN    CEOL.3      EXIT IF FORMAT EFFECTOR NOT IN EFFECT
  
 CEOL.1   LDN    0           CONSTANT OF ZERO 
          STD    T5          SET LAST OPERATION NOT END OF LINE 
          LDD    T3          LOAD TRANSLATION TABLE CONTROL BYTE
          LPC    377B        EXTRACT EQUIVALENT OUTPUT CHARACTER
  
 CEOL.2   STD    T3          STORE OUTPUT DATA CHARACTER
          UJK    CEOLX       RETURN 
  
 CEOL.3   RJM    /2IM/CESL   EXIT TO CHECK FOR END OF SOURCE LINE 
          NJN    CEOL.1      EXIT IF NOT END OF SOURCE LINE 
          LDD    T7          LOAD ADDRESS OF END OF SOURCE LINE 
          STD    T1          STORE CURRENT SOURCE DATA ADDRESS
          LDD    T2          LOAD REMAINING CHARACTER COUNT 
          SBD    T0          LESS SCAN CHARACTER COUNT
          STD    T2          STORE REMAINING CHARACTER COUNT
          LDN    9           LOAD END OF CENTRAL MEMORY WORD OFFSET 
          STD    T4          STORE CURRENT CENTRAL MEMORY WORD OFFSET 
          LDN    .EOL        LOAD END OF LINE OUTPUT CHARACTER
          STD    T5          SET END OF LINE AS LAST OPERATION
          UJK    CEOL.2      EXIT TO STORE OUTPUT DATA CHARACTER
 UPD      SPACE  2,26 
          QUAL   2IM
  
  
**               SUBROUTINE UPD.
* 
*                SUBROUTINE UPD UNPACKS A SOURCE CHARACTER STRING OF
*                CONSECUTIVE EIGHT BIT CHARACTERS INTO A STRING OF
*                SINGLE EIGHT BIT CHARACTERS.  THE SUBROUTINE ITERATES
*                ON THREE SOURCE CHARACTERS.
* 
*                  ENTRY -
* 
*                     (A) = SOURCE DATA CHARACTER COUNT,
*                    (T1) = SOURCE DATA ADDRESS,
*                    (T2) = DESTINATION DATA ADDRESS. 
* 
*                  USES - 
* 
**                   T0 = SOURCE DATA CHARACTER COUNT.
  
  
 UPD      SUBR               ENTRY/EXIT 
          STD    T0          STORE SOURCE DATA CHARACTER COUNT
  
 UPD.1    LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -4          POSITION NEXT SOURCE CHARACTER 
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION HIGH-ORDER OF NEXT DATA CHARACTER 
          STI    T2          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAI    T2          ADD TO HIGH-ORDER OF DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPC    0#FF        EXTRACT NEXT SOURCE CHARACTER
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          UJK    UPD.1       EXIT TO PROCESS NEXT SOURCE BYTE 
  
          QUAL
 CESL     SPACE  2,32 
          QUAL   2IM
  
  
**               SUBROUTINE CESL. 
* 
*                SUBROUTINE CESL CHECKS FOR THE END OF THE SOURCE LINE. 
*                END OF SOURCE LINE IS DEFINED AS FROM 12 TO 66 BITS OF 
*                BINARY ZERO RIGHT JUSTIFIED ON A CENTRAL MEMORY WORD 
*                BOUNDARY.  THE TECHNIQUE USED IS TO SCAN FROM THE
*                CURRENT POSITION TO THE APPROPRIATE CENTRAL MEMORY 
*                WORD BOUNDARY FOR A NON-ZERO SOURCE CHARACTER.  END OF 
*                SOURCE DATA IS DEFINED TO BE EQUIVALENT TO A CENTRAL 
*                MEMORY WORD BOUNDARY.
* 
*                  ENTRY -
* 
*                    (T4) = CURRENT CENTRAL MEMORY WORD OFFSET, 
*                    (T1) = CURRENT SOURCE DATA ADDRESS,
*                    (T2) = REMAINING SOURCE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                     (A) = ZERO IF END OF SOURCE LINE, 
*                    (T0) = CHARACTER COUNT OF SCAN,
*                    (T7) = ADDRESS OF END OF SOURCE LINE.
* 
*                  USES - 
* 
**                   T6 = SCAN ADDRESS. 
  
  
 CESL     SUBR               ENTRY/EXIT 
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          ADD    T1          PLUS CURRENT SOURCE DATA ADDRESS 
          STD    T6          STORE STARTING SCAN ADDRESS
          LDN    9           MAXIMUM CENTRAL MEMORY WORD OFFSET 
          SBD    T4          LESS CURRENT CENTRAL MEMORY WORD OFFSET
          NJN    CESL.1      EXIT IF NOT CENTRAL MEMORY WORD BOUNDARY 
          LDN    5S1         DISPLACEMENT FOR NEXT CENTRAL MEMORY WORD
  
 CESL.1   STD    T0          STORE CHARACTER COUNT OF SCAN
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          STD    T7          STORE BYTE COUNT FOR SCAN
          LDD    T2          LOAD REMAINING SOURCE CHARACTER COUNT
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          SBD    T7          LESS BYTE COUNT FOR SCAN 
          PJN    CESL.2      EXIT IF SUFFICIENT SOURCE DATA FOR SCAN
          LDD    T2          LOAD REMAINING SOURCE CHARACTER COUNT
          SBN    1           LESS ONE 
          STD    T0          STORE CHARACTER COUNT OF SCAN
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          STD    T7          STORE BYTE COUNT FOR SCAN
  
 CESL.2   LDD    T1          LOAD CURRENT SOURCE DATA ADDRESS 
          RAD    T7          ADD TO BYTE COUNT FOR SCAN 
  
 CESL.3   LDI    T6          LOAD NEXT SOURCE DATA BYTE 
          NJN    CESLX       RETURN IF SOURCE DATA NOT EQUAL TO ZERO
          LDD    T6          LOAD CURRENT SCAN ADDRESS
          LMD    T7          LESS ENDING SCAN ADDRESS 
          ZJN    CESLX       RETURN IF END OF SCAN
          AOD    T6          INCREMENT SCAN ADDRESS 
          UJK    CESL.3      EXIT TO TEST NEXT SOURCE DATA BYTE 
  
          QUAL
 SCP      TITLE  DISPLAY CODE TO *ASCII* TRANSLATION TABLE, 64 CS.
 SCP      SPACE  2,12 
**               SPECIAL CHARACTER PROCESSOR TABLES.
* 
*                THE SPECIAL CHARACTER PROCESSOR TABLE CONTAINS AN
*                ENTRY FOR EACH SPECIAL CHARACTER PROCESSOR USED IN 
*                THE TRANSLATION TABLE.  THE CONTENTS OF AN ENTRY IS
**               THE ADDRESS OF THE SPECIAL CHARACTER PROCESSOR.
  
  
 SCP      BSS    0           SPECIAL CHARACTER PROCESSOR TABLE
  
          LOC    1
  
 EOL      CON    CEOL        END OF LINE (CHECK FOR END OF LINE)
  
 .LAST    SET    *-1
          LOC    SCP+.LAST
 ASCII    SPACE  2,16 
**               DISPLAY CODE TO *ASCII* TRANSLATION TABLE. 
* 
*                THE DISPLAY CODE TO *ASCII* TRANSLATION TABLE IS USED
*                BY THE DRIVER TO CONVERT OUTBOUND DISPLAY CODE DATA TO 
*                *ASCII* CODE REQUIRED FOR IVT FORMAT.  THE TABLE IS
**               INDEXED BY THE DISPLAY CODE CHARACTER VALUE. 
  
  
 ASCII    BSS    0           DISPLAY CODE TO *ASCII* CODE TABLE 
  
          LOC    0
  
 00       ASCII  3A,EOL      CL    COLON (POSSIBLE END OF LINE) 
 01       ASCII  41          A
 02       ASCII  42          B
 03       ASCII  43          C
 04       ASCII  44          D
 05       ASCII  45          E
 06       ASCII  46          F
 07       ASCII  47          G
  
 10       ASCII  48          H
 11       ASCII  49          I
 12       ASCII  4A          J
 13       ASCII  4B          K
 14       ASCII  4C          L
 15       ASCII  4D          M
 16       ASCII  4E          N
 17       ASCII  4F          O
  
 20       ASCII  50          P
 21       ASCII  51          Q
 22       ASCII  52          R
 23       ASCII  53          S
 24       ASCII  54          T
 25       ASCII  55          U
 26       ASCII  56          V
 27       ASCII  57          W
  
 30       ASCII  58          X
 31       ASCII  59          Y
 32       ASCII  5A          Z
 33       ASCII  30          0
 34       ASCII  31          1
 35       ASCII  32          2
 36       ASCII  33          3
 37       ASCII  34          4
  
 40       ASCII  35          5
 41       ASCII  36          6
 42       ASCII  37          7
 43       ASCII  38          8
 44       ASCII  39          9
 45       ASCII  2B          PL    PLUS 
 46       ASCII  2D          MI    MINUS (HYPHEN) 
 47       ASCII  2A          AS    ASTERISK 
  
 50       ASCII  2F          SL    SLANT
 51       ASCII  28          OP    OPENING PARENTHESIS
 52       ASCII  29          CP    CLOSING PARENTHS 
 53       ASCII  24          DS    DOLLAR SIGN
 54       ASCII  3D          EQ    EQUALS 
 55       ASCII  20          SP    SPACE
 56       ASCII  2C          CM    COMMA (CEDILLA)
 57       ASCII  2E          PD    PERIOD (DECIMAL POINT) 
  
 60       ASCII  23          NM    NUMBER SIGN
 61       ASCII  5B          OB    OPENING BRACKET
 62       ASCII  5D          CB    CLOSING BRACKET
 63       ASCII  25          PC    PERCENT
 64       ASCII  22          DQ    DOUBLE QUOTE (DIARESIS)
 65       ASCII  5F          UL    UNDERLINE
 66       ASCII  21          EX    EXCLAMATION POINT
 67       ASCII  26          AM    AMPERSAND
  
 70       ASCII  27          AP    APOSTROPHE 
 71       ASCII  3F          QM    QUESTION MARK
 72       ASCII  3C          LT    LESS THAN
 73       ASCII  3E          GT    GREATER THAN 
 74       ASCII  40          AT    COMMERCIAL AT
 75       ASCII  5C          RVS   REVERSE SLANT
 76       ASCII  5E          CF    CIRCUMFLEX 
 77       ASCII  3B          SC    SEMICOLON
  
 .LAST    SET    *
          LOC    ASCII+.LAST
  
 TTOA     SPACE  2,6
*                DEFINE REFERENCE TO TRANSLATION TABLE OVERLAY ADDRESS. 
  
  
 TTOA     EQU    5*O.OVL+3   OFFSET FOR OVERLAY ADDRESS 
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DRIVER SUPPORT PRO
,CESSORS) 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .EOVPX   SET    0
 PPOD     SPACE  2,32 
**               DRIVER SUPPORT PROCESSOR PPOD. 
* 
*                DRIVER SUPPORT PROCESSOR PPOD PROCESSES PRU OUTPUT 
*                DATA.  THE OUTPUT PARAMETERS ARE INITIALIZED AND AN
*                ATTEMPT IS MADE TO TRANSFER THE OUTPUT BLOCK TO THE
*                NPU. 
* 
*                  ENTRY -
* 
*                    (AAC) = APPLICATION TO APPLICATION FLAG. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR, 
*                    EXIT TO *ERROR* IF FILE MODE ERROR.
* 
*                  CALLS -
* 
*                    RPCB -READ WORD FROM PCB,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO NPU. 
* 
*                  PROCESSOR CALLS -
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 PPOD     LINK               ENTRY
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          NJN    PPOD.2      EXIT IF APPLICATION TO APPLICATION 
          LDC    /BLOCK/B.PRU  *PRU DATA FLAG*
          STM    PPOD.5+1    PLUG IN VARIABLE FIELD OF ADC INSTRUCTION
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          LPN    /NAM/L.PCBFM EXTRACT FILE MODE 
  
 PPOD.1   STD    T17         STORE FILE MODE
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          STD    FBA         STORE HIGH-ORDER OF BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          STD    FBA+1       STORE LOW-ORDER OF BUFFER ADDRESS
          NJN    PPOD.3      EXIT IF DATA BUFFER QUEUED 
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 PPOD.2   LDC    /BLOCK/B.PRU+/BLOCK/B.EBD *PRU DATA AND 8-BIT XPARENT* 
          STM    PPOD.5+1    PLUG IN VARIABLE FIELD OF ADC INSTRUCTION
          LDN    /TABLES/P8B-/TABLES/PCT PACKED EIGHT BIT DATA
          UJK    PPOD.1      EXIT TO STORE FILE MODE
  
 PPOD.3   ADN    W.PROUT     DELTA FOR OUT DATA POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ OUT DATA POINTER WORD 
          SBN    W.PROUT-W.PRIN DELTA FOR IN DATA POINTER WORD
          CRD    T5          READ IN DATA POINTER WORD
          SBN    W.PRIN-W.PRFS DELTA FOR FILE STATUS WORD 
          CRD    T12         READ FILE STATUS WORD
          LDD    T5+C.PRUIP  LOAD HIGH-ORDER OF IN DATA POINTER 
          SBD    T0+C.PRUOP  LESS HIGH-ORDER OF OUT DATA POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+C.PRUIP+1 PLUS HIGH-ORDER OF IN DATA POINTER
          SBD    T0+C.PRUOP+1 LESS HIGH-ORDER OF OUT DATA POINTER 
          STM    NBH+/NAM/C.BWD+1 STORE DATA LENGTH IN CENTRAL WORDS
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    T12+C.FSB+1 LOAD LOW-ORDER OF FILE STATUS BYTE 
          SHN    -9          POSITION EOI FLAG TO LOW-ORDER 
          NJN    PPOD.7      EXIT IF EOI READ 
          LDD    T12+C.FSB+1 LOAD LOW-ORDER OF FILE STATUS
          LPN    20B         EXTRACT END OF FILE/END OF RECORD STATUS 
          ZJN    PPOD.5      EXIT IF NOT END OF FILE OR RECORD
          LDD    T12+C.FSB+1 LOAD LOW-ORDER OF FILE STATUS
          LPN    10B         EXTRACT END OF FILE STATUS 
          ZJN    PPOD.8      EXIT IF NOT END OF FILE
          LDN    17B         LOAD END OF FILE LEVEL NUMBER
  
 PPOD.4   ADN    /BLOCK/B.EOR PLUS EOR FLAG 
  
 PPOD.5   ADC    /BLOCK/B.PRU PLUS PRU DATA BLOCK FLAG
          STM    DHB+/BLOCK/DBC STORE DATA BLOCK CLARIFIER
          LDD    T0+C.PRUOP  LOAD HIGH-ORDER OF OUT DATA POINTER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+C.PRUOP+1 PLUS LOW-ORDER OF OUT DATA POINTER
          ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESSS
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
  
 PPOD.6   LINK               ENTRY
          LDN    /TABLES/PCT LOAD OFFSET FOR PRU OUTPUT TABLE 
          ADD    T17         PLUS FILE MODE 
          RJM    EOVP        EXIT TO EXECUTE OUTPUT VALIDATION PROCESSOR
          ZJN    PPOD.9      EXIT IF INVALID OUTPUT REQUEST 
          LDN    /BLOCK/MSG  LOAD MESSAGE BLOCK TYPE
          UJK    /STATES/SOPC.3 EXIT TO TRANSFER OUTPUT TO NPU
  
 PPOD.7   LDC    /BLOCK/B.EOI LOAD END OF INFORMATION FLAG
          UJK    PPOD.5      EXIT TO ADD PRU DATA BLOCK FLAG
  
 PPOD.8   LDD    T12+C.FSB   LOAD HIGH-ORDER OF FILE STATUS 
          SHN    -2          POSITION LEVEL NUMBER TO LOW-ORDER 
          LPN    17B         EXTRACT LEVEL NUMBER 
          UJK    PPOD.4      EXIT TO ADD EOR FLAG 
  
 PPOD.9   EREXIT OME         EXIT TO ERROR - OUTPUT MODE ERROR
 POC      TITLE  PRU OUTPUT CONTROL SUBROUTINE. 
 POC      SPACE  2,48 
**               SUBROUTINE POC.
* 
*                SUBROUTINE POC CONTROLS THE TRANSFER OF PRU OUTPUT DATA
*                TO THE FRONT END.  IF THE CONNECTION IS AN APPLICATION 
*                TO APPLICATION CONNECTION THE LEVEL SEVEN DATA HEADER
*                IS TRANSFERRED TO THE FRONT END.  THE FILE CONTROL 
*                PARAMETERS ARE RETRIEVED FROM THE PCB AND STORED.  THE 
*                OUTPUT TEXT IS READ FROM THE CENTRAL BUFFERS AND THE 
*                OUTPUT CHARACTER PROCESSOR IS CALLED TO PROCESS THE
*                OUTPUT TEXT.  AT THE COMPLETION OF THE TRANSFER THE
*                FILE CONTROL PARAMETERS ARE RETURNED TO THE PCB. 
* 
*                  ENTRY -
* 
*                            (AAC) = APPLICATION TO APPLICATION FLAG, 
*                    (NNH+C.BWD+1) = OUTPUT TEXT WORD COUNT,
*                      (NNH+C.MCC) = OUTPUT TEXT CHARACTER COUNT, 
*                      (CBA-CBA+1) = ABSOLUTE TEXT BUFFER ADDRESS,
*                            (OCB) = OUTPUT CHARACTERS PER BUFFER,
*                            (OCP) = CHARACTER PROCESSOR ADDRESS, 
*                           (REOT) = ZERO.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    TTBF - TRANSFER TWELVE BIT FORMATTED DATA, 
*                    RSPB - READ AND STORE ADDRESS OF CPB WORD, 
*                    WCMW - WRITE WORD TO PCB.
* 
*                  PROCESSOR CALLS -
* 
*                    OUTPUT CHARACTER PROCESSOR.
* 
*                  USES - 
* 
*                    T17 = FILE CONTROL FLAGS,
*                    T10 = OUTPUT MESSAGE TEXT WORD COUNT,
*                    T11 = OUTPUT MESSAGE TEXT CHARACTER COUNT, 
*                     T1 = CENTRAL WORD COUNT,
*                     T1 = LAST TEXT BYTE DISPLACEMENT, 
*                    T15 = LAST TEXT BYTE,
*                     T2 = SOURCE DATA CHARACTER COUNT, 
**                    T1 = SOURCE DATA BUFFER ADDRESS.
  
  
 POC      SUBR               ENTRY/EXIT 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    POC.1       EXIT IF NOT APPLICATION TO APPLICATION 
          LJM    POC.15      EXIT TO TRANSFER LEVEL SEVEN HEADER TO NPU 
  
 POC.1    LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          ZJN    POCX        RETURN IF NO MESSAGE TEXT
  
 POC.1A   LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          ADN    /NAM/W.PCBPS8-/NAM/W.PCBPS1 DELTA TO PARAM WORD 8
          CRD    T0          READ PARAM WORD EIGHT FROM PCNB
          LDD    T0+/NAM/C.PCBOSC LOAD OUTSTANDING SPACES COUNT 
          STM    OSC         STORE PREVIOUS O/S SPACES COUNT
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          SHN    17-/NAM/S.PCBFNL POSITION FORCE NEW LINE FLAG TO SIGN
          PJN    POC.2       EXIT IF NOT FORCE NEW LINE 
          LDC    0#FF        LOAD END OF LINE CHARACTER 
          STD    T10         STORE OUTPUT DATA CHARACTER
          LDN    T10         LOAD ADDRESS OF OUTPUT CHARACTER 
          STD    T1          STORE STARTING BUFFER ADDRESS
          LDN    1           LOAD COUNT OF OUTPUT CHARACTERS
          STD    T2          STORE OUTPUT TEXT CHARACTER COUNT
          RJM    TTBF        EXIT TO TRANSFER NEW LINE CHARACTER
  
 POC.2    LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          LPN    /NAM/B.PCBEOL&/NAM/B.PCBLOC EXTRACT FILE CONTROL FLAGS 
          SHN    18-/NAM/S.PCBEOL END OF LINE FLAG TO LOW-ORDER 
          STD    T5          STORE LAST OPERATION FLAG
          SHN    /NAM/S.PCBEOL-/NAM/S.PCBLOC-18 RESIDUAL ZERO FLAG
          STD    T14         STORE RESIDUAL ZERO CHARACTER FLAG 
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          STD    T11         STORE MESSAGE TEXT CHARACTER COUNT 
          LDM    NBH+/NAM/C.BWD+1 LOAD MESSAGE TEXT WORD COUNT
          STD    T10         STORE MESSAGE TEXT WORD COUNT
  
 POC.3    ADC    -L.DBCM     LESS DRIVER BUFFER LENGTH IN WORDS 
          PJN    POC.4       EXIT IF PARTIAL TRANSFER 
          LJM    POC.9       EXIT TO STORE CENTRAL WORD COUNT 
  
 POC.4    STD    T10         STORE RESIDUAL MESSAGE TEXT WORD COUNT 
          ZJN    POC.5       EXIT IF EXACT MESSAGE FIT
          LDD    T11         LOAD RESIDUAL MESSAGE TEXT CHARACTER COUNT 
          SBD    OCB         LESS CHARACTERS PER DRIVER BUFFER
          STD    T11         STORE RESIDUAL MESSAGE TEXT CHARACTER COUNT
  
 POC.5    LDC    L.DBCM      LOAD DRIVER BUFFER LENGTH IN WORDS 
          STD    T1          STORE CENTRAL WORD COUNT 
  
 POC.6    LDD    CBA         LOAD HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF ABSOLUTE BUFFER ADDRESS
          CRM    DRBUF,T1    READ MESSAGE TEXT FROM CENTRAL BUFFER
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          LDD    T1          LOAD CENTRAL WORD COUNT
          SHN    2           CENTRAL WORD COUNT TIMES FOUR
          RAD    T1          CENTRAL WORD COUNT TIMES FIVE
          LDM    DRBUF-1,T1  LOAD LAST MESSAGE TEXT BYTE
          STD    T15         STORE LAST MESSAGE TEXT BYTE 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    POC.6A      EXIT NOT A-A TRANSFER
          LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          NJN    POC.6A      EXIT IF NOT LAST TRANSFER THIS BUFFER
          LDM    UBC         LOAD UNUSED BIT COUNT
          ZJN    POC.6A      EXIT NO UNUSED BITS
          LDM    DHB+/BLOCK/DBC LOAD DATA BLOCK CLARIFIER 
          LPC    /BLOCK/B.EOI+/BLOCK/B.EOR  EXTRACT EOR/EOI BITS
          ZJN    POC.6A      EXIT NOT EOR OR EOF BLOCK
          LDD    T15         LOAD LAST MESSAGE TEXT BYTE
          SCN    17B         CLEAR BOTTOM 4 BITS
          STM    DRBUF-1,T1  STORE LAST BYTE BACK IN BUFFER 
 POC.6A   LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          ZJN    POC.8       EXIT IF LAST PORTION OF TRANSFER 
          LDD    OCB         LOAD CHARACTERS PER DRIVER BUFFER
  
 POC.7    STD    T2          STORE SOURCE DATA CHARACTER COUNT
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE SOURCE DATA BUFFER ADDRESS 
          RJM    0,OCP       EXIT TO OUTPUT CHARACTER PROCESSOR 
          LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          ZJN    POC.10      EXIT IF NO MORE DATA TO TRANSFER 
          UJK    POC.3       EXIT TO GET NEXT DATA TEXT 
  
 POC.8    AOD    REOT        SET END OF TRANSFER REQUESTED
          LDD    T11         LOAD RESIDUAL MESSAGE TEXT CHARACTER COUNT 
          UJK    POC.7       EXIT TO STORE SOURCE DATA CHARACTER COUNT
  
 POC.9    LDD    T10         LOAD RESIDUAL MESSAGE TEXT WORD COUNT
          STD    T1          STORE CENTRAL WORD COUNT 
          LDN    0           CONSTANT OF ZERO 
          STD    T10         ZERO RESIDUAL MESSAGE TEXT WORD COUNT
          UJK    POC.6       EXIT TO READ TEXT FROM CENTRAL BUFFER
  
 POC.10   LDD    T14         LOAD RESIDUAL ZERO CHARACTER FLAG
          ZJN    POC.11      EXIT IF NO RESIDUAL ZERO CHARACTER 
          LDN    /NAM/B.PCBLOC LOAD RESIDUAL ZERO CHARACTER FLAG
  
 POC.11   STD    T17         STORE RESIDUAL ZERO CHARACTER FLAG 
          LDD    T5          LOAD LAST OPERATION FLAG 
          ZJN    POC.12      EXIT IF LAST OPERATION NOT END OF LINE 
          LDN    /NAM/B.PCBEOL LOAD END OF LINE FLAG
          RAD    T17         ADD TO RESIDUAL ZERO CHARACTER FLAG
  
 POC.12   LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          ADN    /NAM/W.PCBPS8-/NAM/W.PCBPS1 DELTA TO WORD EIGHT
          CRD    T0          READ PARAMETER WORD EIGHT
          LDM    OSC         LOAD O/S SPACES COUNT
          STD    T0+/NAM/C.PCBOSC STORE IN PARAMETER WORD 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          SCN    /NAM/B.PCBFNL&/NAM/B.PCBEOL&/NAM/B.PCBLOC CLEAR FLAGS
          ADD    T17         PLUS CURRENT FILE CONTROL FLAGS
          STD    T10+/NAM/C.PCBFP STORE PRU FILE PARAMETER BYTE 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          ADN    /NAM/W.PCBPS8-/NAM/W.PCBPS1 DELTA TO PARAM WORD EIGHT
          CWD    T0          WRITE PARAMETER WORD EIGHT 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    POC.14      EXIT IF NOT APPLICATION TO APPLICATION 
  
 POC.12A  LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCMC LOAD CHECKMARK CONTROL BYTE
          ZJN    POC.13      EXIT IF CHECKMARKING NOT REQUESTED 
          SOD    T10+/NAM/C.PCBCMC DECREMENT BLOCKS UNTIL CHECKMARK 
  
 POC.13   AOD    T10+/NAM/C.PCBL7N+1 INCREMENT LOW-ORDER OF BLOCK NUMBER
          SHN    -12         POSITION POSSIBLE CARRY
          ADD    T10+/NAM/C.PCBL7N PLUS HIGH-ORDER OF BLOCK NUMBER
          LPN    0#F         EXTACT HIGH-ORDER OF BLOCK NUMBER
          STD    T10+/NAM/C.PCBL7N STORE HIGH-ORDER OF BLOCK NUMBER 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
  
 POC.14   UJK    POCX        RETURN 
  
 POC.15   LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBL7N LOAD HIGH-ORDER OF NEXT BLOCK NUMBER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBL7N+1 PLUS LOW-ORDER OF NEXT BLOCK NUMBER
          SHN    -8          POSITION HIGH-ORDER OF NEXT BLOCK NUMBER 
          STM    DRBUF+/NAM/L7BN STORE HIGH-ORDER OF NEXT BLOCK NUMBER
          LDD    T10+/NAM/C.PCBL7N+1 LOAD LOW-ORDER OF NEXT BLOCK NUMBER
          LPC    0#FF        EXTRACT LOW-ORDER OF NEXT BLOCK NUMBER 
          STM    DRBUF+/NAM/L7BN+1 STORE LOW-ORDER OF NEXT BLOCK NUMBER 
          LDM    DHB+/BLOCK/DBC LOAD NETWORK DATA BLOCK CLARIFIER 
          STM    DRBUF+/NAM/L7DBC STORE LEVEL SEVEN DATA BLOCK CLARIFIER
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTPUT TEXT WORD COUNT 
          LPN    1           EXTRACT ODD WORD COUNT FLAG
          ZJN    POC.16      EXIT IF EVEN WORD COUNT
          LDN    4           CONSTANT OF FOUR 
  
 POC.16   STM    DRBUF+/NAM/L7UB STORE UNUSED BIT COUNT 
          STM    UBC         SET UNUSED BIT COUNT FOR LATER 
          LCN    /NAM/L.L7DH NEGATIVE OF LEVEL SEVEN DATA HEADER LENGTH 
          RAM    NNH+/NAM/C.MCC DECREMENT MESSAGE TEXT CHARACTER COUNT
          NJN    POC.17      EXIT IF NOT NULL MESSAGE 
          AOD    REOT        SET REQUEST END OF TRANSFER
  
 POC.17   LDM    NNH+/NAM/C.MCC LOAD OUTPUT TEXT CHARACTER COUNT
          SHN    -8          POSITION HIGH-ORDER OF TEXT COUNT
          STM    DRBUF+/NAM/L7BL STORE HIGH-ORDER OF LEVEL SEVEN LENGTH 
          LDM    NNH+/NAM/C.MCC LOAD OUTPUT TEXT CHARACTER COUNT
          LPC    0#FF        EXTRACT LOW-ORDER OF TEXT COUNT
          STM    DRBUF+/NAM/L7BL+1 STORE LOW-ORDER OF LEVEL SEVEN LENGTH
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE STARTING OUTPUT BUFFER ADDRESS 
          LDN    /NAM/L.L7DH LOAD LENGTH OF LEVEL SEVEN DATA HEADER 
          STD    T2          STORE OUTPUT CHARACTER COUNT 
          RJM    TTBF        EXIT TO TRANSFER LEVEL SEVEN HEADER
          LDM    NNH+/NAM/C.MCC LOAD MESSAGE TEXT CHARACTER COUNT 
          ZJN    POC.18      EXIT IF NO MESSAGE TEXT
          UJK    POC.1A      EXIT IF CHARACTER COUNT NON-ZERO 
  
 POC.18   LJM    POC.12A     EXIT IF NO MESSAGE TEXT
  
 UBC      BSS    1           UNUSED BIT COUNT IN LEVEL-7 HEADER 
          ERRNZ  L.DBCM-100B IF DRBUF LENGTH ALTERED, NEED TO ENSURE
*                            LENGTH IS EVEN OR PUT PAD BYTE AT END FOR
*                            CLEARED LEVEL-7 UNUSED BITS. 
 VDSP     TITLE  PRU OUTPUT VALIDATION PROCESSORS.
 VDSP     SPACE  2,20 
**               PRU OUTPUT VALIDATION PROCESSOR VDSP.
* 
*                PRU OUTPUT VALIDATION ACTION PROCESSOR VDSP SETS THE 
*                OUTPUT PARAMETERS FOR A PRU OUTPUT OF DISPLAY CODE 
*                DATA.
* 
*                  ENTRY -
* 
*                    (NBH+C.BWD+1) = OUTPUT TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
*                          (OCP) = ADDRESS OUTPUT CHARACTER PROCESSOR,
*                          (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (NNH+C.MCC) = OUTPUT TEXT CHARACTER LENGTH.
  
  
 VDSP     BSS    0           VALIDATE DISPLAY CODE PRU OUTPUT 
          LDC    TDCP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
  
 VDSP.1   LINK               ENTRY
          STD    OCP         STORE ADDRESS OF OUTPUT CHARACTER PROCESSOR
          LDC    L.DBCM*10   LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTPUT TEXT WORD COUNT 
          SHN    1           TIMES TWO
          STD    T0          OUTPUT TEXT WORD COUNT TIMES TWO 
          SHN    2           TIMES EIGHT
          ADD    T0          TIMES TEN
  
 VDSP.2   LINK               ENTRY
          ADN    1           PLUS ONE FOR DATA BLOCK CLARIFIER
          STM    NNH+/NAM/C.MCC STORE OUTPUT TEXT CHARACTER COUNT 
          EXIT   EOVPX       RETURN VIA VALIDATION PROCESSOR RETURN 
 VSBP     SPACE  2,20 
**               PRU OUTPUT VALIDATION PROCESSOR VSBP.
* 
*                PRU OUTPUT VALIDATION ACTION PROCESSOR VSBP SETS THE 
*                OUTPUT PARAMETERS FOR A PRU OUTPUT OF SIX BIT
*                TRANSPARENT DATA.
* 
*                  ENTRY -
* 
*                    (NBH+C.BWD+1) = OUTPUT TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
*                          (OCP) = ADDRESS OUTPUT CHARACTER PROCESSOR,
*                          (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (NNH+C.MCC) = OUTPUT TEXT CHARACTER LENGTH.
  
  
 VSBP     BSS    0           VALIDATE SIX BIT TRANSPARENT PRU OUTPUT
          LDC    TSBP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          EXIT   VDSP.1      EXIT TO STORE CHARACTER PROCESSOR ADDRESS
 VASP     SPACE  2,20 
**               PRU OUTPUT VALIDATION PROCESSOR VASP.
* 
*                PRU OUTPUT VALIDATION ACTION PROCESSOR VASP SETS THE 
*                OUTPUT PARAMETERS FOR A PRU OUTPUT OF ASCII DATA.
* 
*                  ENTRY -
* 
*                    (NBH+C.BWD+1) = OUTPUT TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
*                          (OCP) = ADDRESS OUTPUT CHARACTER PROCESSOR,
*                          (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (NNH+C.MCC) = OUTPUT TEXT CHARACTER LENGTH.
  
  
 VASP     BSS    0           VALIDATE ASCII PRU OUTPUT
          LDC    TASP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
  
 VASP.1   LINK               ENTRY
          STD    OCP         STORE ADDRESS OF OUTPUT CHARACTER PROCESSOR
          LDC    L.DBCM*5    LOAD CHARACTERS PER DRIVER BUFFER
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTPUT TEXT WORD COUNT 
          SHN    2           TIMES FOUR 
          ADM    NBH+/NAM/C.BWD+1 TIMES FIVE
          EXIT   VDSP.2      EXIT TO STORE OUTPUT TEXT CHARACTER COUNT
 VEBP     SPACE  2,20 
**               PRU OUTPUT VALIDATION PROCESSOR VEBP.
* 
*                PRU OUTPUT VALIDATION ACTION PROCESSOR VEBP SETS THE 
*                OUTPUT PARAMETERS FOR A PRU OUTPUT OF EIGHT BIT
*                TRANSPARENT DATA.
* 
*                  ENTRY -
* 
*                    (NBH+C.BWD+1) = OUTPUT TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
*                          (OCP) = ADDRESS OUTPUT CHARACTER PROCESSOR,
*                          (OCB) = OUTPUT CHARACTERS PER DRIVER BUFFER, 
**                   (NNH+C.MCC) = OUTPUT TEXT CHARACTER LENGTH.
  
  
 VEBP     BSS    0           VALIDATE EIGHT BIT TRANSPARENT PRU OUTPUT
          LDC    TTBF        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          EXIT   VASP.1      EXIT TO STORE CHARACTER PROCESSOR ADDRESS
 VPEP     SPACE  2,18 
**               PRU OUTPUT VALIDATION PROCESSOR VPEP.
* 
*                PRU OUTPUT VALIDATION PROCESSOR VPEP SETS THE OUTPUT 
*                CHARACTER LENGTH FOR A PRU OUTPUT OF PACKED EIGHT BIT
*                BINARY DATA. 
* 
*                  ENTRY -
* 
*                    (NBH+C.BWD+1) = OUTPUT TEXT WORD LENGTH. 
* 
*                  EXIT - 
* 
**                   (NNH+C.MCC) = OUTPUT TEXT CHARACTER LENGTH.
  
  
 VPEP     BSS    0           VALIDATE EIGHT BIT PACKED PRU OUTPUT 
          LDC    FEOP        LOAD ADDRESS OF OUTPUT CHARACTER PROCESSOR 
          STD    OCP         STORE ADDRESS OF OUTPUT CHARACTER PROCESSOR
          LDC    L.DBCM/2*15 CHARACTERS PER DRIVER BUFFER 
          STD    OCB         STORE CHARACTERS PER DRIVER BUFFER 
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTPUT TEXT WORD COUNT 
          STD    T0          STORE OUTPUT TEXT WORD COUNT 
          SHN    4           WORD COUNT TIMES SIXTEEN 
          SBD    T0          WORD COUNT TIMES FIFTEEN 
          SHN    -1          WORD COUNT TIMES FIFTEEN DIVIDED BY TWO
          STD    T1          STORE CHARACTER COUNT FOR EVEN WORDS 
          LDD    T0          LOAD OUTPUT TEXT WORD COUNT
          LPN    1           EXTRACT ODD WORD COUNT FLAG
          ADD    T1          PLUS CHARACTER COUNT FOR EVEN WORDS
          ADN    /NAM/L.L7DH LENGTH OF LEVEL SEVEN DATA HEADER
          EXIT   VDSP.2      EXIT TO STORE OUTPUT TEXT CHARACTER COUNT
 TDCP     TITLE   PRU OUTPUT CHARACTER PROCESSORS.
 TDCP     SPACE  2,38 
**               SUBROUTINE TDCP. 
* 
*                SUBROUTINE TDCP PROCESSES DISPLAY CODE DATA THAT IS TO 
*                BE TRANSFERRED TO THE FRONT END FOR A PRU STREAM.  END 
*                OF LINES ARE REMOVED AND REPLACED BY HEXIDECIMAL *FF*. 
*                TRAILING BLANKS ARE ALSO REMOVED, IF THERE ARE LESS
*                THAN 256 OF THEM - THEY ARE NOT
*                TRANSMITTED TO THE FRONT END.
* 
*                  ENTRY -
* 
*                     (T14) = RESIDUAL ZERO CHARACTER FLAG (0 = NO),
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT), 
*                     (T15) = LAST TEXT BYTE, 
*                     (OSC) = OUTSTANDING SPACES COUNT
*                      (T5) = END OF LINE FLAG (0 = NOT END OF LINE). 
* 
*                  EXIT - 
* 
*                    (T14) = RESIDUAL ZERO CHARACTER FLAG (0 = NO), 
*                    (UBC) = NEW OUTSTANDING SPACES COUNT,
*                     (T5) = END OF LINE FLAG (0 = NOT END OF LINE).
* 
*                  CALLS -
* 
*                    CESL - CHECK FOR END OF SOURCE LINE. 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
*                    T5 = LAST OPERATION FLAG (0 = NOT END OF LINE),
*                    T4 = CENTRAL MEMORY OFFSET,
*                     T3 = PREVIOUS CHARACTER PROCESSED,
*                    T16 = END OF LINE FLAG FOR CURRENT CHARACTER,
*                    T13 = CURRENT CHARACTER BEING PROCESSED. 
  
  
 TDCP.0A  LDN    0           ZERO VALUE FOR FLAG
          UJN    TDCP.2      EXIT TO SET RESIDUAL ZERO CHARACTER FLAG 
  
 TDCP     SUBR               ENTRY/EXIT 
          LDM    FTY,FEI     LOAD FRONT-END TYPE
          ZJN    TDCP.0      EXIT IF NPU
          LDC    -100B+1R    DISPLAY CODE SPACE MINUS 100B
 TDCP.0   ADC    100B        (A) = 100B IF NPU, = SPACE IF MDI
          STM    TDCP.5+1    SET CHARACTER TO LOOK FOR
          LDD    T14         LOAD RESIDUAL ZERO CHARACTER FLAG
          ZJN    TDCP.1      EXIT IF NO RESIDUAL ZERO CHARACTER 
          AOD    T2          INCREMENT SOURCE DATA CHARACTER COUNT
          SOD    T1          DECREMENT SOURCE DATA STARTING ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STI    T1          STORE RESIDUAL ZERO CHARACTER
          LDN    9           CONSTANT OF NINE 
  
 TDCP.1   STD    T4          INITIALIZE CENTRAL MEMORY WORD OFFSET
          LDD    T15         LOAD LAST TEXT BYTE
          ZJN    TDCP.2      EXIT IF NOT RESIDUAL ZERO CHARACTER
          LPN    77B         EXTRACT LAST TEXT CHARACTER
          NJN    TDCP.0A     EXIT IF NOT RESIDUAL ZERO CHARACTER
          SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
  
 TDCP.2   STD    T14         SET RESIDUAL ZERO CHARACTER FLAG 
          LDC    100B        LOAD PRESET VALUE
          STD    T3          SET NO PREVIOUS CHARACTER PROCESSED
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
  
 TDCP.3   LPN    1           GET RIGHT CHARACTER FLAG 
          NJN    TDCP.3A     EXIT IF RIGHT CHARACTER NEXT 
          LDI    T1          LOAD NEXT DISPLAY CODE SOURCE BYTE 
          SHN    -6          POSITION NEXT DISPLAY CODE SOURCE CHARACTER
          UJN    TDCP.4      EXIT TO STORE NEXT OUTPUT CHARACTER
  
 TDCP.3A  LDI    T1          NEXT DISPLAY CODE SOURCE BYTE
          LPN    77B         EXTRACT NEXT DISPLAY CODE SOURCE CHARACTER 
  
  
 TDCP.4   STD    T13         STORE NEXT OUTPUT CHARACTER
          NJN    TDCP.5      EXIT IF NOT ZERO DISPLAY CODE CHARACTER
          RJM    /3IM/CESL   EXIT TO TEST FOR END OF SOURCE 
          NJN    TDCP.8      EXIT IF NOT END OF SOURCE
          LDD    T7          ADDRESS OF END OF SOURCE LINE
          STD    T1          SET CURRENT SOURCE DATA ADDRESS
          LDD    T2          REMAINING CHARACTER COUNT
          SBD    T0          LESS SCAN CHARACTER COUNT
          STD    T2          SET REMAINING CHARACTER COUNT
          LDN    9           HIGHEST BYTE OFFSET FOR CM WORD
          STD    T4          SET CURRENT CENTRAL MEMORY WORD OFFSET 
          LDC    0#FF        END OF LINE CHARACTER
          STD    T13         SET CURRENT CHARACTER
          LDN    1           NONZERO VALUE FOR FLAG 
          STD    T16         SET CURRENT CHARACTER CAUSES EOL FLAG
          LDD    T5          PREVIOUS END OF LINE FLAG
          STM    OSC         SET NUMBER OF SPACES TO OUTPUT (0 OR 1)
          UJN    TDCP.9      EXIT TO OUTPUT POSSIBLE PREVIOUS CHARACTER 
  
 TDCP.5   LMC    **          MODIFIED DEPENDING ON MDI/NPU
*                            MDI - SEARCH FOR A SPACE (55B) 
*                            NPU - FORCE TEST TO ALWAYS FAIL (100B) 
          NJN    TDCP.8      EXIT IF NOT BLANK CHARACTER
          AOM    OSC         BUMP COUNT OF SPACES 
          SHN    -8D         CHECK IF VALUE GREATER THAN 257
          NJN    TDCP.8      EXIT IF REACHED MAXIMUM NUMBER OF BLANKS 
  
 TDCP.6   SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
          NJN    TDCP.13     EXIT IF NOT END OF SOURCE
          CLIO   FEEC        EXIT TO OUTPUT ENDING DATA CHARACTER 
          UJK    TDCPX       RETURN 
  
 TDCP.8   LDN    0           CONSTANT OF ZERO 
          STD    T16         SET CURRENT CHARACTER NOT END OF LINE
  
 TDCP.9   LDD    T3          LOAD POSSIBLE PREVIOUS CHARACTER 
          LMC    100B        TEST FOR PRESET ENTRY VALUE
          ZJN    TDCP.10     EXIT IF NO PREVIOUS CHARACTER
          CLIO   FEOC        EXIT TO OUTPUT PREVIOUS CHARACTER
 TDCP.10  LDM    OSC         LOAD COUNT OF OUTSTANDING SPACES 
          ZJN    TDCP.12     EXIT NO SPACES TO OUTPUT 
  
 TDCP.11  LDN    1R          CONSTANT OF DISPLAY CODE BLANK 
          STD    T3          SET OUTPUT CHARACTER 
          CLIO   FEOC        EXIT TO OUTPUT CHARACTER 
          SOM    OSC         DECREMENT OUTSTANDING SPACES COUNT 
          NJN    TDCP.11     LOOP IF MORE SPACES TO OUTPUT
  
 TDCP.12  LDD    T13         LOAD CURRENT CHARACTER 
          STD    T3          SET PREVIOUS CHARACTER 
          LDD    T16         LOAD CURRENT END OF LINE FLAG
          STD    T5          SET PREVIOUS END OF LINE FLAG
          UJN    TDCP.6      EXIT TO CHECK FOR END OF SOURCE
  
 TDCP.13  LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          NJN    TDCP.16     EXIT IF RIGHT CHARACTER
  
 TDCP.14  AOD    T4          INCREMENT CENTRAL MEMORY WORD OFFSET 
  
 TDCP.15  UJK    TDCP.3      EXIT TO PROCESS NEXT SOURCE CHARACTER
  
 TDCP.16  AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LMN    9           LESS ENDING VALUE
          NJN    TDCP.14     EXIT IF NOT END OF CENTRAL MEMORY WORD 
          STD    T4          RESET CENTRAL MEMORY WORD OFFSET 
          UJN    TDCP.15     EXIT TO PROCESS NEXT SOURCE CHARACTER
  
 OSC      BSS    1           COUNT OF OUTSTANDING SPACES
 TASC     SPACE  2,28 
**               SUBROUTINE TASC. 
* 
*                SUBROUTINE TASC PROCESSES ASCII DATA THAT IS TO BE 
*                TRANSFERRED TO THE FRONT END FOR A PRU STREAM.  END OF 
*                LINES ARE REMOVED AND REPLACED BY HEXIDECIMAL *FF*.
* 
*                  ENTRY -
* 
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
*                    T4 = CENTRAL MEMORY WORD OFFSET, 
*                    T3 = OUTPUT DATA CHARACTER,
*                    T0 = SCAN BYTE COUNT,
*                    T6 = SCAN ADDRESS, 
**                   T7 = SCAN END ADDRESS. 
  
  
 TASP     SUBR               ENTRY/EXIT 
          LDN    0           CONSTANT OF ZERO 
  
 TASP.1   STD    T4          INITIALIZE CENTRAL MEMORY WORD OFFSET
  
 TASP.2   LDI    T1          LOAD NEXT ASCII SOURCE BYTE
          ZJN    TASP.5      EXIT IF POSSIBLE END OF LINE 
          LPC    177B        EXTRACT ASCII CHARACTER LESS PARITY
  
 TASP.3   STD    T3          STORE NEXT OUTPUT CHARACTER
          SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
          NJN    TASP.4      EXIT IF NOT END OF SOURCE DATA 
          CLIO   FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    TASPX       RETURN 
  
 TASP.4   CLIO   FEOC        OUTPUT NEXT DATA CHARACTER 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T4          INCREMENT CENTRAL MEMORY WORD OFFSET 
          LMN    5           LESS ENDING VALUE
          NJN    TASP.2      EXIT IF NOT END OF CENTRAL MEMORY WORD 
          UJK    TASP.1      EXIT TO RESET CENTRAL MEMORY WORD OFFSET 
  
 TASP.5   LDN    4           CONSTANT OF FOUR 
          SBD    T4          LESS CENTRAL MEMORY WORD OFFSET
          STD    T0          STORE BYTE COUNT FOR SCAN
          LDD    T1          LOAD CURRENT SOURCE DATA ADDRESS 
          STD    T6          STORE CURRENT SCAN ADDRESS 
          ADD    T0          PLUS BYTE COUNT FOR SCAN 
          STD    T7          STORE ENDING SCAN ADDRESS
  
 TASP.6   LDD    T6          LOAD CURRENT SCAN ADDRESS
          LMD    T7          LESS ENDING SCAN ADDRESS 
          NJN    TASP.8      EXIT IF MORE SOURCE TO SCAN
          LDD    T7          LOAD ENDING SCAN ADDRESS 
          STD    T1          STORE CURRENT SOURCE DATA ADDRESS
          LDD    T2          LOAD REMAINING CHARACTER COUNT 
          SBD    T0          LESS SCAN CHARACTER COUNT
          STD    T2          STORE REMAINING CHARACTER COUNT
          LDN    4           CONSTANT OF FOUR 
          STD    T4          STORE CURRENT CENTRAL MEMORY WORD OFFSET 
          LDC    0#FF        LOAD END OF LINE CHARACTER 
  
 TASP.7   UJK    TASP.3      EXIT TO STORE NEXT OUTPUT CHARACTER
  
 TASP.8   AOD    T6          INCREMENT SCAN ADDRESS 
          LDI    T6          LOAD NEXT SCAN SOURCE BYTE 
          NJN    TASP.9      EXIT IF NOT BINARY ZERO FILL 
          UJK    TASP.6      EXIT TO CHECK FOR END OF SCAN
  
 TASP.9   LDN    0           LOAD ORIGINAL SOURCE BYTE
          UJK    TASP.7      EXIT TO STORE NEXT OUTPUT CHARACTER
 TSBP     SPACE  2,26 
**               SUBROUTINE TSBP. 
* 
*                SUBROUTINE TSBP PROCESSES SIX BIT TRANSPARENT DATA 
*                THAT IS TO BE TRANSFERRED TO THE FRONT END FOR A 
*                PRU STREAM.
* 
*                  ENTRY -
* 
*                      (T1) = SOURCE DATA STARTING ADDRESS, 
*                      (T2) = SOURCE DATA CHARACTER COUNT,
*                    (REOT) = REQUEST END OF TRANSFER FLAG (1 = EOT). 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
*                    T4 = CENTRAL MEMORY WORD OFFSET, 
**                   T3 = OUTPUT DATA CHARACTER.
  
  
 TSBP     SUBR               ENTRY/EXIT 
          LDN    0           CONSTANT OF ZERO 
  
 TSBP.1   STD    T4          INITIALIZE CEN,RAL MEMORY WORD OFFSET
  
 TSBP.2   LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          NJN    TSBP.4      EXIT IF RIGHT CHARACTER NEXT 
          LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -6          POSITION NEXT SOURCE CHARACTER 
  
 TSBP.3   STD    T3          STORE NEXT OUTPUT CHARACTER
          SOD    T2          DECREMENT SOURCE DATA CHARACTER COUNT
          NJN    TSBP.5      EXIT IF NOT END OF SOURCE DATA 
          CLIO   FEEC        TRANSFER ENDING DATA CHARACTER 
          UJK    TSBPX       RETURN 
  
 TSBP.4   LDI    T1          LOAD NEXT SOURCE BYTE
          LPN    77B         EXT9ACT NEXT SOURCE CHARACTER
          UJK    TSBP.3      EXIT TO STORE NEXT OUTPUT CHARACTE9
  
 TSBP.5   CLIO   FEOC        OUTPUT NEXT DATA CHARACTER 
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          NJN    TSBP.7      EXIT IF RIGHT CHARACTER
  
 TSBP.6   AOD    T4          INCREMENT CENTRAL MEMORY WORD OFFSET 
          UJK    TSBP.2      EXIT TO PROCESS NEXT SOURCE CHARACTER
  
 TSBP.7   AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LMN    9           LESS ENDING VALUE
          NJN    TSBP.6      EXIT IF NOT END OF CENTRAL MEMORY WORD 
          UJK    TSBP.1      EXIT TO RESET CENTRAL MEMORY WORD OFFSET 
  
  
 CESL     SPACE  2,32 
          QUAL   3IM
  
  
**               SUBROUTINE CESL. 
* 
*                SUBROUTINE CESL CHECKS FOR THE END OF THE SOURCE LINE. 
*                END OF SOURCE LINE IS DEFINED AS FROM 12 TO 66 BITS OF 
*                BINARY ZERO RIGHT JUSTIFIED ON A CENTRAL MEMORY WORD 
*                BOUNDARY.  THE TECHNIQUE USED IS TO SCAN FROM THE
*                CURRENT POSITION TO THE APPROPRIATE CENTRAL MEMORY 
*                WORD BOUNDARY FOR A NON-ZERO SOURCE CHARACTER.  END OF 
*                SOURCE DATA IS DEFINED TO BE EQUIVALENT TO A CENTRAL 
*                MEMORY WORD BOUNDARY.
* 
*                  ENTRY -
* 
*                    (T4) = CURRENT CENTRAL MEMORY WORD OFFSET, 
*                    (T1) = CURRENT SOURCE DATA ADDRESS,
*                    (T2) = REMAINING SOURCE CHARACTER COUNT. 
* 
*                  EXIT - 
* 
*                     (A) = ZERO IF END OF SOURCE LINE, 
*                    (T0) = CHARACTER COUNT OF SCAN,
*                    (T7) = ADDRESS OF END OF SOURCE LINE.
* 
*                  USES - 
* 
**                   T6 = SCAN ADDRESS. 
  
  
 CESL     SUBR               ENTRY/EXIT 
          LDD    T4          LOAD CENTRAL MEMORY WORD OFFSET
          LPN    1           EXTRACT RIGHT CHARACTER FLAG 
          ADD    T1          PLUS CURRENT SOURCE DATA ADDRESS 
          STD    T6          STORE STARTING SCAN ADDRESS
          LDN    9           MAXIMUM CENTRAL MEMORY WORD OFFSET 
          SBD    T4          LESS CURRENT CENTRAL MEMORY WORD OFFSET
          NJN    CESL.1      EXIT IF NOT CENTRAL MEMORY WORD BOUNDARY 
          LDN    5S1         DISPLACEMENT FOR NEXT CENTRAL MEMORY WORD
  
 CESL.1   STD    T0          STORE CHARACTER COUNT OF SCAN
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          STD    T7          STORE BYTE COUNT FOR SCAN
          LDD    T2          LOAD REMAINING SOURCE CHARACTER COUNT
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          SBD    T7          LESS BYTE COUNT FOR SCAN 
          PJN    CESL.2      EXIT IF SUFFICIENT SOURCE DATA FOR SCAN
          LDD    T2          LOAD REMAINING SOURCE CHARACTER COUNT
          SBN    1           LESS ONE 
          STD    T0          STORE CHARACTER COUNT OF SCAN
          SHN    -1          DIVIDED BY TWO FOR BYTE DISPLACEMENT 
          STD    T7          STORE BYTE COUNT FOR SCAN
  
 CESL.2   LDD    T1          LOAD CURRENT SOURCE DATA ADDRESS 
          RAD    T7          ADD TO BYTE COUNT FOR SCAN 
  
 CESL.3   LDI    T6          LOAD NEXT SOURCE DATA BYTE 
          NJN    CESLX       RETURN IF SOURCE DATA NOT EQUAL TO ZERO
          LDD    T6          LOAD CURRENT SCAN ADDRESS
          LMD    T7          LESS ENDING SCAN ADDRESS 
          ZJN    CESLX       RETURN IF END OF SCAN
          AOD    T6          INCREMENT SCAN ADDRESS 
          UJK    CESL.3      EXIT TO TEST NEXT SOURCE DATA BYTE 
  
          QUAL
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DRIVER SUPPORT PRO
,CESSORS) 
 LINK     SPACE  2,6
*                RESET LINKS. 
  
  
.EOIAX   SET       0
 .ERROR   SET    0
 .NFE.1   SET    0
 .NPRU    SET    0
 .DCR.3   SET    0
 PNST     SPACE  2,26 
**               DRIVER SUPPORT PROCESSOR PNST. 
* 
*                DRIVER SUPPORT PROCESSOR PNST UPDATES THE FRONT END
*                STATISTICS FOR BOTH IVT AND PRU TRAFFIC IN THE NETWORK 
*                BUFFER TABLE AT THE COMPLETION OF AN NPU SERVICE CYCLE.
*                IF THE PERFORMANCE ASSEMBLY OPTION IS SELECTED THE IVT 
*                AND PRU TRANSACTION COUNTS ARE UPDATED.
* 
*                  ENTRY -
* 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                          (IMC) = IVT MESSAGE COUNT, 
*                    (ICC-ICC+1) = IVT MESSAGE CHARACTER COUNT, 
*                          (PMC) = PRU MESSAGE COUNT, 
*                    (PCC-PCC+1) = PRU MESSAGE CHARACTER COUNT. 
* 
*                  CALLS -
* 
*                     UFES - UPDATE FRONT END STATISTICS, 
**                   PAUSE - PAUSE FOR STORAGE RELOCATION.
  
  
 PNST     LINK               ENTRY
  
 .PERF    IFEQ   .PERF,1
  
          LDM    IMC,FEI     LOAD IVT MESSAGE COUNT 
          RAM    IVTTRAN     ADD TO IVT TRANSACTION COUNT 
  
 .PERF    ENDIF 
  
          LDN    /NAM/W.NBTIS DISPLACEMENT FOR IVT STATISTICS WORD
          STD    T17         STORE IVT STATISTICS WORD DISPLACEMENT 
          LDN    IMC         DISPLACEMENT FOR IVT STATISTICS TABLE
          RJM    UFES        EXIT TO UPDATE FRONT END STATISTICS
  
 .PERF    IFEQ   .PERF,1
  
          LDM    PMC,FEI     LOAD PRU MESSAGE COUNT 
          RAM    PRUTRAN     ADD TO PRU TRANSACTION COUNT 
  
 .PERF    ENDIF 
  
          LDN    /NAM/W.NBTPS DISPLACEMENT FOR PRU STATISTICS WORD
          STD    T17         STORE PRU STATISTICS WORD DISPLACEMENT 
          LDN    PMC         DISPLACEMENT FOR PRU STATISTICS TABLE
          RJM    UFES        EXIT TO UPDATE FRONT END STATISTICS
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    /NAM/W.NBTILE DELTA FOR INLINE DIAG STATUS WORD
          RJM    GNBT        EXIT TO GET NETWORK BUFFER TABLE ADDRESS 
          CRD    T0          READ INLINE DIAG STATUS WORD 
          LDD    T0+/NAM/C.NBTIC LOAD INLINE DIAG STATUS INFORMATION
          SHN    17-/NAM/S.NBTIRF CHECK FOR INLINE DIAG BUFFER REQUESTED
          PJN    PNST.1      EXIT IF NO INLINE DIAGNOSTICS ACTIVITY 
          LOPA   4IE,ILDO    LOAD ENTRY POINT FOR INLINE DIAG PROCESSOR 
          EXIT   DCR.3       EXIT TO PROCESS THE INLINE DIAG ACTIVITY 
  
 PNST.1   EXIT   NFE.1       EXIT TO PROCESS NEXT FRONT END 
 INSS     SPACE  2,42 
 PBM      SPACE  2,22 
**               DRIVER SUPPORT PROCESSOR PBM.
* 
*                DRIVER SUPPORT PROCESSOR PBM MAINTAINS THE DRIVER FREE 
*                BUFFER POOLS.  IF ADDITIONAL FREE BUFFERS ARE REQUIRED 
*                AN ATTEMPT IS MADE TO OBTAIN THE FREE BUFFERS FROM NAM.
*                ONCE IN /NAM/Q.NPBOT SECONDS WHILE NO BUFFERS ARE
*                REQUESTED FROM NAM, THE DRIVER WILL RETURN A FREE
*                BUFFER TO NAM.  IF THE PERFORMANCE DATA OPTION IS
*                SELECTED, THE DRIVER WILL WRITE THE CURRENT PERFORMANCE
**               DATA TO THE DRIVER INTERFACE TABLE.
  
 PBM      LINK               NETRY
          LDN    L.FRNIP     COUNT OF NIP WORDS IN FREE BUFFER TABLE
          STD    T7          STORE WORD COUNT 
          RJM    GFTA        EXIT TO GET FREE BUFFER TABLE ADDRESS
          CRM    LIMBOP1,T7  READ NIP WORDS OF FREE BUFFER INFORMATION
          LDC    LIMBOP3     ADDRESS FOR THREE PRU FREE BUFFER TABLE
          STD    BTI         INITIALIZE FREE BUFFER TABLE INDEX 
          LDN    PRU3        PRU SIZE ORDINAL FOR THREE PRU BUFFERS 
          STD    PRU         INITIALIZE PRU SIZE ORDINAL
          LDN    0           CONSTANT OF ZERO 
          STD    PWO         CLEAR PRU BUFFER REQUESTED FLAG
  
 PBM.1    LDM    NCA,BTI     LOAD ASSIGNED BUFFER COUNT 
          NJN    PBM.3       EXIT IF BUFFERS ASSINGED 
          LDM    NRA,BTI     LOAD REQUESTED BUFFER COUNT
          NJN    PBM.2       EXIT IF BUFFER REQUEST OUTSTANDING 
          LJM    PBM.11      EXIT TO MAKE BUFFER REQUEST IF NECESSARY 
  
 PBM.2    LDN    0           CONSTANT OF ZERO 
          STM    AFB,BTI     RESET REQUIRED ADDITIONAL BUFFER COUNT 
          LCN    LIMBOP3-LIMBOP2 LENGTH OF FREE BUFFER TABLE INCREMENT
          RAD    BTI         DECREMENT FREE BUFFER TABLE INDEX
          SOD    PRU         DECREMENT PRU SIZE ORDINAL 
          PJN    PBM.1       EXIT TO PROCESS NEXT FREE BUFFER TABLE 
          LJM    PBM.18      EXIT TO CONTINUE 
  
 PBM.3    LDM    NSA,BTI     NUMBER OF LAST ASSIGNMENT COUNT
          NJN    PBM.5       EXIT IF NOT INITIAL ASSIGNMENT 
          LDD    BTI         LOAD FREE BUFFER TABLE ADDRESS 
          ADN    NFB         OFFSET FOR START OF PIP WORD 
          STM    PBM.4+1     STORE PPU ADDRESS FOR READING PIP WORD 
          RJM    GFTA        EXIT TO GET FREE BUFFER TABLE ADDRESS
          ADN    L.FRNIP     PLUS OFFSET FOR PIP WORD 
          ADD    PRU         PLUS DELTA FOR PRU TYPE
  
 PBM.4    CRM    **,ON       READ PIP WORD FOR THIS PRU SIZE
          LDM    NRA,BTI     LOAD REQUESTED BUFFER COUNT
          ZJN    PBM.2       EXIT IF BUFFER RELEASE REQUEST OUTSTINDING 
  
 PBM.5    LDM    NCA,BTI     LOAD ASSIGND BUFFER COUNT
          SBM    NSA,BTI     MINUS SAVED LAST ASSIGNMENT COUNT
          MJN    PBM.6       EXIT IF ASSIGNMENT DECREASED 
          RAM    NFB,BTI     UPDATE FREE BUFFER COUNT IF COUNT INCREASED
 PBM.6    LDM    NCA,BTI     LOAD COUNT OF ASSINGED BUFFERS 
          STM    NSA,BTI     UPDATE SAVED ASSIGNED BUFFER COUNT 
          SBM    NRA,BTI     MINUS REQUESTED BUFFER COUNT 
          ZJN    PBM.6A      EXIT IF LAST REQUEST SATISFIED 
          LJM    PBM.2       EXIT IF REQUEST OUTSTANDING
  
 PBM.6A   LDM    FPB,BTI     HIGH-ORDER OF FIRST FREE BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST FREE BUFFER ADDRESS 
          NJN    PBM.7       EXIT IF CHAIN OF BUFFERS EXISTS
  
 PBM.6B   EREXIT LBE         EXIT TO ERROR ROUTINE - FREE BUFFER ERROR
  
 PBM.7    RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ FIRST BUFFER HEADER WORD
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
  
 PBM.8    LDD    T10+/NAM/C.DPT HIGH-ORDER OF CHAINED BUFFER ADDRESS
          LPN    37B         EXTRACT ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER OF CHAINED BUFFER ADDRESS 
          NJN    PBM.9       EXIT IF MORE BUFFERS 
          LJM    PBM.11      EXIT IF END OF CHAIN 
  
 PBM.9    RJM    TFL         EXIT TO FORM ASBOLUTE CENTRAL ADDRESS
          CRD    T10         READ CHAINED BUFFER HEADER WORD
          STD    T5+1        LOW-ORDER OF ABSOLUTE ADDRESS CHAINED BUFFR
          SHN    -12         POSITION HIGH-ORDER
          STD    T5          HIGH-ORDER OF ABSOLUTE ADDRESS CHAINED BUFF
          LDD    T10+/NAM/C.BID LOAD BLOCK ID BYTE FROM CHAINED BUFFER
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          NJN    PBM.10      EXIT IF USED-ON-CHAIN
          LDD    T5          HIGH-ORDER CHAINED BUFFER ADDRESS
          STD    T15         STORE AS HIGH-ORDER CURRENT BUFFER ADDRESS 
          LDD    T5+1        LOW-ORDER CHAINED BUFFER ADDRESS 
          STD    T15+1       STORE AS LOW-ORDER CURRENT BUFFER ADDRESS
          UJK    PBM.8       EXIT FOR NEXT CHAINED BUFFER 
  
 PBM.10   LDN    /NAM/Q.PRUID PRU BUFFER BLOCK ID 
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    T10+/NAM/C.BID STORE BLOCK ID BYTE TO DELINK THE BUFFER
          LDD    T5          LOW-ORDER ABSOLUTE ADDRESS CHAINED BUFFER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        HIGH-ORDER ABSOLUTE ADDRESS CHAINED BUFFER 
          CWD    T10         REWRITE NAM BLOCK HEADER WORD
          LDD    T15         HIGH-ORDER ABSOLUTE CURRENT BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       LOW-ORDER ABSOLUTE CURRENT BUFFER ADDRESS
          CRD    T0          READ CURRENT BUFFER HEADER WORD
          LDD    T10+/NAM/C.DPT HIGH-ORDER CHAINED FROM DELINKED BUFFER 
          LPN    37B         EXTRACT ADDRESS
          STD    T0+/NAM/C.DPT REPLACE HIGH-ORDER CHIANED BUFFER ADDRESS
          LDD    T10+/NAM/C.DPT+1 LOW-ORDER CHAINED FROM DELINKED BUFFER
          STD    T0+/NAM/C.DPT+1 REPLACE LOW-ORDER CHAINED BUFFER ADDR
          LDD    T15         HIGH-ORDER ABSOLUTE CURRENT BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       LOW-ORDER ABSOLUTE CURRENT BUFFER ADDRESS
          CWD    T0          REWRITE CURRENT BUFFER HEADER WORD 
          UJK    PBM.8       EXIT TO PROCESS CHAINED BUFFER 
  
 PBM.11   LDM    AFB,BTI     LOAD COUNT OF ADDITIONAL BUFFERS REQUIRED
          SBM    NFB,BTI     MINUS COUNT OF EXISTING FREE BUFFERS 
          ZJN    PBM.14      EXIT IF NO REQUEST NO RELEASE
          MJN    PBM.16      EXIT TO RELEASE BUFFER 
          STD    T15         STORE NUMBER OF BUFFERS REQUIRED 
          LDM    MFB,BTI     LOAD MIN/MAX BUFFER COUNTS 
          LPN    77B         EXTRACT MAXIMUM BUFFER COUNT 
          SBM    NCA,BTI     MINUS NUMBER OF ASSIGNED BUFFERS 
          ZJN    PBM.14      EXIT IF MAXIMUM REACHED
          SBD    T15         MINUS REQUIRED BUFFER COUNT
          PJN    PBM.13      EXIT IF REQUIRED COUNT IS ACCEPTABLE 
          RAD    T15         ADJUST THE COUNT TO BE REQUESTED FROM NAM
  
 PBM.13   LDD    T15         LOAD NUMBER OF ADDITIONAL BUFFERS
          RAM    NRA,BTI     UPDATE REQUESTED NUMBER OF BUFFERS 
          STD    PWO         SET PRU BUFFER REQUESTED FLAG
  
 PBM.14   LDK    RTCL        ADDRESS OF SYSTEM REAL-TIME CLOCK
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        READ-TIME SECONDS TIME 
          ADK    Q.NPBOT     PLUS NO BUFFER OVERRUN TIMEOUT INTERVAL
          STM    NBOT,BTI    INITIALIZE NO BUFFER OVERRUN TIME
  
 PBM.15   UJK    PBM.2       EXIT TO PROCESS NEXT PRU SIZE
  
 PBM.16   LDK    RTCL        ADDRESS OF SYSTEM REAL-TIME CLOCK
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+1        READ-TIME SECONDS TIME 
          SBM    NBOT,BTI    MINUS NO BUFFER OVERRUN TIME 
          SHN    5+1         POSITION HIGH ORDER VALUE TO SIGN
          MJN    PBM.15      EXIT TO PROCESS NEXT PRU SIZE
          LDM    NPC,BTI     LOAD NUMBER OF PRU CONNECTIONS 
          NJN    PBM.16A     EXIT IF PRU CONNECTIONS ACTIVE 
          LDM    NFB,BTI     LOAD CURRENT FREE BUFFER COUNT 
          SBM    NRA,BTI     MINUS CURRENT TOTAL BUFFER COUNT 
          ZJN    PBM.17      EXIT IF NO PRU BUFFERS ACTIVE
  
 PBM.16A  LDM    MFB,BTI     LOAD MIN/MAX BUFFER COUNTS 
          SHN    -6          EXTRACT MINIMUM BUFFER COUNT 
          SBM    NFB,BTI     MINUS CURRENT FREE BUFFER COUNT
          PJN    PBM.14      EXIT IF NO BUFFER TO RELEASE 
  
 PBM.17   BSS    0           RELEASE A FREE BUFFER
 REB      LDM    FPB,BTI     HIGH-ORDER OF FIRST FREE BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST FREE BUFFER ADDRESS 
          NJN    REB.1       EXIT IF BUFFERS EXIST
          LJM    PBM.6B      EXIT TO ERROR ROUTINE - FREE BUFFER ERROR
  
 REB.1    RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER FROM FIRST BUFFER
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
          LDD    T10+/NAM/C.DPT HIGH-ORDER OF SECOND FREE BUFFER ADDRESS
          LPN    37B         EXTRACT ADDRESS
          STD    FBA         STORE HIGH-ORDER OF SECOND FREE BUF ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER OF SECOND FREE BUF ADDRESS
          STD    FBA+1       STORE LOW-ORDER OF SECOND FREE BUF ADDRESS 
          NJN    REB.3       EXIT IF SECOND BUFFER EXISTS 
          LDD    T10+/NAM/C.BID LOAD NAM BLOCK ID BYTE
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          ZJN    REB.2       EXIT IF FIRST BUFFER IS FREE 
          LJM    REBX        EXIT IF NO FREE BUFFER 
  
 REB.2    LDN    /NAM/Q.PRUID LOAD PRU BLOCK ID 
          SHN    /NAM/S.BID POSITION BLOCK ID 
          STD    T10+/NAM/C.BID STORE NAM BLOCK ID BYTE 
          LDM    FPB,BTI     LOAD HIGH-ORDER FIRST BUFFER ADDRESS 
          STD    FBA         STORE HIGH-ORDER RELEASED BUFFER ADDRESS 
          LDM    FPB+1,BTI   LOAD LOW-ORDER FIRST BUFFER ADDRESS
          STD    FBA+1       STORE LOW-ORDER RELEASED BUFFER ADDRESS
          LDN    0           CONSTANT OF ZERO 
          STM    NSA,BTI     RESET NCA COUNT
          UJN    REB.4       EXIT TO RELEASE BUFFER 
  
 REB.3    RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM BLOCK HEADER FROM SECOND BUFFER 
          STD    T5+1        LOW-ORDER OF ABSOLUTE ADDRESS SECOND BUFFER
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          HIGH-ORDER OF ABSOLUTE ADDRESS SECOND BUFFR
          LDD    T0+/NAM/C.DPT HIGH-ORDER OF SECOND BUFFER LINK POINTER 
          LPN    37B         EXTRACT HIGH-ORDER 
          STD    T10+/NAM/C.DPT REPLACE HIGH-ORDER OF FIRST BUF LINK PTR
          LDD    T0+/NAM/C.DPT+1 LOW-ORDER OF SECOND FREE BUF LINK PTR
          STD    T10+/NAM/C.DPT+1 REPLACE HIGH-ORDER OF FIRST LINK PTR
          LDN    0           CONSTANT OF ZERO 
          STD    T0+/NAM/C.DPT CLEAR HIGH-ORDER CHAINED BUFFER ADDRESS
          STD    T0+/NAM/C.DPT+1 CLEAR LOW-ORDER CHAINED BUFFER ADDRESS 
          LDN    /NAM/Q.PRUID PRU BLOCK ID
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    T0+/NAM/C.BID STORE PRU BLOCK ID 
          LDD    T5          HIGH-ORDER ABSOLUTE ADDRESS DELINKED BUFFER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE ADDRESS DELINKED BUFFER 
          CWD    T0          REWRITE BLOCK HEADER OF DELINKED BUFFER
  
 REB.4    RJM    WCMW        REWRITE NAM BLOCK HEADER FIRST PRU BUFFER
          LDD    FBA         HIGH-ORDER DELINKED BUFFER ADDRESS 
          STM    RPB,BTI     STORE HIGH-ORDER DELINKED BUFFER ADDRESS 
          LDD    FBA+1       LOW-ORDER DELINKED BUFFER ADDRESS
          STM    RPB+1,BTI   STORE LOW-ORDER DELINKED BUFFER ADDRESS
          SOM    NFB,BTI     DECREMENT FREE BUFFER COUNT
          SOM    NRA,BTI     DECREMENT ASSIGNED BUFFER COUNT
 REBX     UJK    PBM.14      EXIT TO RESET NO BUFFER OVERRUN TIME 
  
 PBM.18   BSS    0           CONTINUE 
  
 .PERF    IFEQ   .PERF,1
  
          AOM    DRCYCLE     INCREMENT DRIVER CYCLE COUNT 
  
 .PERF    ENDIF 
  
          LDN    L.FRPIP     COUNT OF PIP WORDS IN FREE BUFFER TABLE
          STD    T7          STORE CENTRAL TABLE LENGTH 
          RJM    GFTA        EXIT TO GET FREE BUFFER TABLE ADDRESS
          ADN    L.FRNIP     PLUS OFFSET FOR PIP WORDS
          CWM    LIMBOP1+NFB,T7 WRITE PIP WORDS TO FREE BUFFER TABLE
          LDD    PWO         LOAD PRU BUFFER REQUESTED FLAG 
          ZJN    PBM.18A     EXIT IF NO BUFFER REQUESTED
          RJM    RNAC        EXIT TO REQUEST NIP ACTIVITY 
          ADN    1           INCREMENT CM ADDRESS FOR PRU ACTIVITY FLAG 
          CWD    T10         WRITE REQUEST PRU ACTIVITY FLAG WORD 
  
 PBM.18A  LDC    FETABLE     LOAD ADDRESS OF FRONT END TABLE
          STD    FEI         INITIALIZE FRONT END TABLE ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STD    PWO         INITIALIZE TABLE POINTER WORD OFFSET 
          LDM    NBT,FEI     LOAD HIGH-ORDER OF NETWORK BUFFER TABLE
          ADM    NBT+1,FEI   PLUS LOW-ORDER OF NETWORK BUFFER TABLE 
          NJN    PBM.19      EXIT IF FIRST NBT IS ACTIVE
          LJM    PFE.0       EXIT TO CHECK FOR APPLICATION REQUEST
  
 PBM.19   LJM    PFE         EXIT TO PROCESS THE FIRST NBT
 PCIO     SPACE  2,32 
**               DRIVER SUPPORT PROCESSOR PCIO. 
* 
*                DRIVER SUPPORT PROCESSOR PCIO REQUESTS CIO TO PERFORM
*                A MASS STORAGE OPERATION ON A STREAM.  THE FILE
*                PARAMETERS ARE OBTAINED AND STORED IN THE FET IMAGE OF 
*                THE PRU BUFFER AND CIO IS CALLED.
*                CURRENT PRU POSITION IS TAKEN FROM W.PCBPS1 OF PCB AND 
*                SET UP AS CIO FILE POSITION WORD WITH RANDOM REWRITE 
*                FLAG SET.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR, 
*                    EXIT TO *ERROR* IF NO FNT ASSIGNED.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     MTR - REQUEST PPU JOB,
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    NFA - CALCULATE NEGATIVE FIELD LENGTH ADDRESS. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
*                USAGE OF T0 - T17 DEPENDS ON THE FOLLOWING SETTINGS. 
  
          ERRNZ  /NAM/C.PCBCDB-1
          ERRNZ  /NAM/C.PCBNPR-1
          ERRNZ  C.RRQ-3
  
 PCIO     LINK               ENTRY
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS2-/NAM/W.PCBPS1 DELTA FOR PARAMETER ONE
          CRD    T13         READ PRU PARAMETER WORD ONE FROM PCB 
                             CURRENT PRU POSITION IN
                             T13+/NAM/C.PCBNPR IS IN T11+C.RRQ
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          NJN    PCIO.1      EXIT IF DATA BUFFER QUEUED TO PCB
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 PCIO.1   ADN    W.PRFS      PLUS DELTA FOR FILE STATUS WORD
          STM    CCIO+3+1    STORE LOW-ORDER OF FET HEADER ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STM    CCIO+3      STORE HIGH-ORDER OF FET HEADER ADDRESS 
          LDD    T13+/NAM/C.PCBFNT LOAD FNT ORDINAL 
          NJN    PCIO.2      EXIT IF FNT ASSIGNED 
          EREXIT FTR         EXIT TO ERROR - NO FNT ASSIGNED
  
 PCIO.2   STD    T17         STORE FNT ORDINAL
          LDN    0           LOAD CONSTANT OF ZERO
          STD    T11         CLEAR UPPER OF RANDOM INDEX FIELD
          STD    T11+1       CLEAR MIDDLE OF RANDOM INDEX FIELD 
          LDN    B.RWR       LOAD RANDOM REWRITE REQUEST FLAG 
          STD    T11+C.RWR   STORE RANDOM REWRITE REQUEST FLAG
          LDM    CCIO+3      LOAD HIGH-ORDER OF FET HEADER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    CCIO+3+1    PLUS LOW-ORDER OF FET HEADER ADDRESS 
          ADN    W.FFP-W.PRFS PLUS DELTA FOR FILE POSITION WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T11         WRITE FET FILE POSITION WORD 
          SBN    W.FFP-W.PRLM MINUS DELTA FOR LIMIT POINTER WORD
          CRD    T5          READ FET LIMIT POINTER WORD
          SBN    W.PRLM-W.PRFS LESS DELTA FOR FILE STATUS WORD
          CRD    T0          READ FILE STATUS WORD
          STD    CBA+1       STORE LOW-ORDER FILES STATUS WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER FILE STATUS WORD ADDRESS
          NFA    T17,R       CALCULATE ADDRESS OF FNT ENTRY 
          CRD    T12         READ FILE NAME TABLE HEADER WORD 
          LDD    T17         LOAD FNT ORDINAL 
          STD    T5+C.FNT    STORE FNT ORDINAL
          LDD    T0+3        LOAD LAST BYTE OF FILE NAME
          LPN    77B         CLEAR EXTRANEOUS BITS
          STD    T0+3        STORE LAST BYTE OF FILE NAME 
          LDN    T0+3        LOAD ADDRESS OF LAST BYTE OF FILE NAME 
          STD    T17         INITIALIZE FILE NAME ADDRESS 
          LDM    T12,T17     LOAD LAST CHARACTER OF FILE NAME 
          SCN    77B         CLEAR EXTRANEOUS BITS
          RAI    T17         STORE LAST CHARACTER OF FILE NAME
  
 PCIO.3   SOD    T17         DECREMENT FILE NAME ADDRESS
          MJN    PCIO.4      EXIT IF END OF FILE NAME 
          LDM    T12,T17     LOAD NEXT BYTE OF FILE NAME
          STI    T17         STORE NEXT BYTE OF FILE NAME 
          UJK    PCIO.3      EXIT TO DECREMENT FILE NAME ADDRESS
  
 PCIO.4   LDD    CBA         LOAD HIGH-ORDER FILE STATUS WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER FILE STATUS WORD ADDRESS
          CWD    T0          REWRITE FILE STATUS WORD 
          ADN    W.PRLM-W.PRFS PLUS DELTA FOR LIMIT POINTER WORD
          CWD    T5          REWRITE LIMIT POINTER WORD 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         ZERO OUT PPU CALL PARAMETER AREA 
          LDD    MA          LOAD ADDRESS OF PPU MESSAGE BUFFER 
          CWM    CCIO,ON     WRITE OUT CIO CALL IMAGE 
          CWD    T10         WRITE OUT CIO CALL PARAMETER AREA
          LDK    RPPM        LOAD MONITOR FUNCTION TO REQUEST PPU 
          RJM    MTR         EXIT TO REQUEST CIO
          LDD    T10+1       LOAD REPLY BYTE
          ZJN    PCIO.5      EXIT IF PPU NOT AVAILABLE
          LDN    /TABLES/.SMSR STREAM ACTION ORDINAL FOR RMS REQUESTED
          UJK    /STATES/SCWL.4 EXIT TO EXECUTE STREAM RESPONSE ACTION
  
 PCIO.5   EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 PIII     SPACE  2,28 
**               DRIVER SUPPORT PROCESSOR PIII. 
* 
*                DRIVER SUPPORT PROCESSOR PIII PROCESSES AN ILLEGAL 
*                INPUT ON AN IVT STREAM.  THE INPUT TEXT IS BYPASSED
*                FROM THE FRONT END, THE ORIGINAL BLOCK TYPE IS SET TO
*                ZERO, THE BLOCK TYPE IS STORED IN THE BAD BLOCK TYPE 
*                FIELD, THE MESSAGE CHARACTER COUNT IS STORED AND THE 
*                NAM NETWORK HEADER IS TRANSFERRED TO THE INBOUND 
*                BUFFER.
* 
*                  ENTRY -
* 
*                             (EOT) = END OF TRANSFER FLAG, 
*                    (NNH-NNH+L.NH) = NAM NETWORK HEADER. 
* 
*                  CALLS -
* 
*                    WNHB - WRITE NAM HEADER TO INBOUND BUFFER, 
*                    UFIP - UPDATE FET IN DATA POINTER. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 PIII     LINK               ENTRY
  
 PIII.1   LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    PIII.2      EXIT IF END OF TRANSFER RECEIVED 
          CLIO   FEIC        ACCEPT NEXT DATA CHARACTER FROM FRONT END
          UJK    PIII.1      EXIT TO CHECK FOR END OF TRANSFER
  
 PIII.2   LDM    NNH+/NAM/C.BT LOAD ORIGINAL BLOCK TYPE BYTE
          LPC    0#FS4       EXTRACT ORIGINAL BLOCK TYPE
          STD    T0          STORE ORIGINAL BLOCK TYPE
          LMM    NNH+/NAM/C.BT RESET ORIGINAL BLOCK TYPE
          STM    NNH+/NAM/C.BT STORE ZERO BLOCK TYPE VALUE
          LDD    T0          LOAD ORIGINAL BLOCK TYPE 
          SHN    -4          POSITION ORIGINAL BLOCK TYPE TO LOW-ORDER
          RAM    NNH+/NAM/C.CBT STORE BAD BLOCK TYPE
          LDD    NCC         LOAD INPUT MESSAGE CHARACTER COUNT 
          STM    NNH+/NAM/C.MCC STORE INPUT MESSAGE CHARACTER COUNT 
          LJM    /ACTIONS/SRUI EXIT TO TRANSFER NAM HEADER TO BUFFER
  
 UFES     TITLE  DRIVER SUPPORT PROCESSOR SUBROUTINES.
 UFES     SPACE  2,30 
**               SUBROUTINE UFES. 
* 
*                SUBROUTINE UFES UPDATES THE SPECIFIED FRONT END
*                STATISTICS WORD IN THE NETWORK BUFFER TABLE. 
* 
*                  ENTRY -
* 
*                      (A) = DRIVER STATISTICS TABLE DISPLACEMENT,
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (T17) = FRONT END STATISTICS WORD DISPLACEMENT.
* 
*                  EXIT - 
* 
*                    DRIVER STATISTICS TABLE RESET. 
* 
*                  CALLS -
* 
*                    GNBT - GET NETWORK BUFFER TABLE ADDRESS, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                        T16 = DRIVER STATISTICS TABLE ADDRESS, 
*                    T0-T0+4 = FRONT END STATISTICS WORD, 
**                   T5-T5+1 = FRONT END STATISTICS WORD ADDRESS. 
  
  
 UFES     SUBR               ENTRY/EXIT 
          ADD    FEI         PLUS FRONT END TABLE ADDRESS 
          STD    T16         STORE DRIVER STATISTICS TABLE ADDRESS
          LDD    T17         DELTA FOR FRONT END STATISTICS WORD
          RJM    GNBT        EXIT TO GET STATISTICS WORD ABSOLUTE ADDR
          CRD    T0          READ FRONT END STATISTICS WORD 
          STD    T5+1        STORE LOW-ORDER OF STATISTICS WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF STATISTICS WORD ADDRESS
          LDI    T16         LOAD MESSAGE COUNT 
          RAD    T0+/NAM/C.NBTMC+1 ADD TO LOW-ORDER OF MESSAGE COUNT
          SHN    -12         POSITION CARRY 
          RAD    T0+/NAM/C.NBTMC ADD TO HIGH-ORDER OF MESSAGE COUNT 
          LDN    0           CONSTANT OF ZERO 
          STI    T16         RESET MESSAGE COUNT
          LDN    ICC+1-IMC   DELTA FOR LOW-ORDER OF CHARACTER COUNT 
          RAD    T16         INCREMENT DRIVER STATISTICS TABLE ADDRESS
          LDI    T16         LOAD LOW-ORDER OF CHARACTER COUNT
          RAD    T0+/NAM/C.NBTCC+2 ADD TO LOW-ORDER OF CHARACTER COUNT
          SHN    -12         POSITION CARRY 
          ADM    -1,T16      PLUS HIGH-ORDER OF CHARACTER COUNT 
          RAD    T0+/NAM/C.NBTCC+1 ADD TO MIDDLE OF CHARACTER COUNT 
          SHN    -12         POSITION CARRY 
          RAD    T0+/NAM/C.NBTCC ADD TO HIGH-ORDER OF CHARACTER COUNT 
          LDN    0           CONSTANT OF ZERO 
          STI    T16         RESET LOW-ORDER OF CHARACTER COUNT 
          STM    -1,T16      RESET HIGH-ORDER OF CHARACTER COUNT
          LDD    T5          LOAD HIGH-ORDER OF STATISTICS WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF STATISTICS WORD ADDRESS
          CWD    T0          REWRITE FRONT END STATISTICS WORD
          UJK    UFESX       RETURN 
 GFTA     SPACE  2,16 
**               SUBROUTINE GFTA
* 
*                SUBROUTINE GFTA GETS ABSOLUTE CENTRAL WORD ADDRESS OF
*                PRU FREE BUFFER TABLE IN DIT.
* 
*                  EXIT - 
* 
**                   (A) = ABSOLUTE CENTRAL ADDRESS OF FREE BUFFER TABLE
  
 GFTA     SUBR               ENTRY/EXIT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/L.DITE DELTA FOR LIMIT OF FREE BUFF AREA
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    L.FREE      SET ADDRESS TO START OF FREE BUFF AREA 
          UJK    GFTAX       RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(A-A PROCESSORS),T2=(A-A LEVEL SEVEN COMMAN
,D PROCESSORS)
  
          QUAL   ACTIONS
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .EWLPX   SET    0
 .SOPC.3  SET    0
 .NPRU    SET    0
 IPQM     SPACE  2,32 
**               DRIVER SUPPORT PROCESSOR IPQM. 
* 
*                DRIVER SUPPORT PROCESSOR IPQM INPUTS THE COMMAND NUMBER
*                FROM A Q-MESSAGE INPUT.  IF THE COMMAND NUMBER IS NOT
*                A LEVEL SEVEN ELEMENT FOR THE DRIVER AN ERROR EXIT IS
*                TAKEN.  IF THE COMMAND NUMBER IS PROCESSED BY THE
*                DRIVER THE LEVEL SEVEN COMMAND ACTION PROCESSOR IS 
*                CALLED TO PROCESS THE COMMAND. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF UNKNOWN LREVEL SEVEN COMMAND. 
* 
*                  CALLS -
* 
*                    ASED - ACCEPT AND STORE PACKED EIGHT BIT DATA, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION, 
*                     UPD - UNPACK EIGHT BIT DATA,
*                    CAFN - CONVERT ASCII FIELD TO NUMERIC, 
*                     TLU - TABLE LOOKUP, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY. 
* 
*                  PROCESSOR CALLS -
* 
*                    STREAM STATE RESPONSE ACTION PROCESSOR,
**                   LEVEL SEVEN COMMAND ACTION PROCESSOR.
  
  
 IPQM     LINK               ENTRY
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE STARTING BUFFER ADDRESS
          ADN    2-1         LENGTH OF COMMAND NUMBER PLUS ONE CHARACTER
          CLIO   FEIP        EXIT TO INPUT COMMAND NUMBER FROM FE 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          RAM    NNH+/NAM/C.MCC ADD TO MESSAGE TEXT CHARACTER COUNT 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          SBN    2           LESS LENGTH OF COMMAND NUMBER
          PJN    IPQM.2      EXIT IF POSSIBLE COMMAND NUMBER
  
 IPQM.1   UJK    /ACTIONS/BRIQ.1 EXIT TO ERROR - UNKNOWN Q-MESSAGE
  
 IPQM.2   LDC    DRBUF       LOAD ADDRESS OF COMMAND NUMBER 
          STD    T1          STORE SOURCE DATA ADDRESS
          LDN    T10         LOAD ADDRESS FOR UNPACKED DATA 
          STD    T2          STORE ADDRESS OF DESTINATION DATA
          LDN    2           LOAD LENGTH OF COMMAND NUMBER
          RJM    /2IO/UPD    EXIT TO UNPACK COMMAND NUMBER
          LDN    T10         LOAD ADDRESS OF ASCII COMMAND NUMBER 
          STD    T1          STORE ADDRESS OF ASCII COMMAND NUMBER
          LDN    2           LOAD ASCII CHARACTER COUNT 
          RJM    CAFN        EXIT TO CONVERT COMMAND NUMBER TO NUMERIC
          STD    TAR         STORE TABLE ARGUMENT 
          LDN    /TABLES/L7CNIN DELTA FOR LEVEL SEVEN COMMAND TABLE 
          STD    CO          INITIALIZE COMMAND ORDINAL FOR LEVEL SEVEN OFFSET
          ADC    /TABLES/NPIC PLUS ADDRESS OF INBOUND COMMAND TABLE 
          RJM    TLU         EXIT TO SEARCH COMMAND TABLE FOR COMMAND 
          MJN    IPQM.1      EXIT IF COMMAND NOT IN COMMAND TABLE 
          RAD    CO          STORE LEVEL SEVEN COMMAND ORDINAL
          ADC    /TABLES/NPIR PLUS COMMAND ACTION TABLE ADDRESS 
          EXIT   EIIA.1      EXIT TO GET DRIVER CONTROL TABLE ENTRY 
 ESCP     TITLE  A-A INBOUND COMMAND ACTION PROCESSORS. 
 ESCP     SPACE  2,42 
**               A-A INBOUND COMMAND ACTION PROCESSOR ESCP. 
* 
*                A-A INBOUND COMMAND ACTION PROCESSOR ESCP PROCESSES A
*                END OF STREAM COMMAND FROM THE REMOTE APPLICATION. 
*                THE COMMAND IS ACCEPTED AND VALIDATED.  THE COMMAND
*                PARAMETER AND THE STREAM STOPPED REASON CODE ARE STORED
*                IN THE PCB.  THE WORKLIST COMMAND CONTROL TABLE ENTRY
*                IS OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, 
*                THE SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION IS
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    IVCF - INPUT AND VALIDATE COMMAND FORMAT,
*                    GACS - GENERATE ASCII COMMAND STRING,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    L7WL - INITIALIZE LEVEL SEVEN SERVICE MESSAGE, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 ESCP     LINK               RECEIVE AND PROCESS LEVEL SEVEN ES COMMAND 
          RJM    IVCF        EXIT TO INPUT AND VERIFY COMMAND FORMAT
          NJN    ESCP.1      EXIT IF ERROR BEING REPORTED 
          STD    T17         STORE FILE TRANSFER STOPPED REASON CODE
          LDN    /NAM/FTESCM LOAD WORKLIST LENGTH IN CENTRAL WORDS
          STM    NBH+/NAM/C.BWD+1 STORE WORKLIST WORD LENGTH
          LDC    DRBUF+/NAM/ESTEXT LOAD ADDRESS FOR LEVEL SEVEN TEXT
          UJN    ESCP.3      EXIT TO GENERATE LEVEL SEVEN COMMAND TEXT
  
 ESCP.1   AOD    CO          INCREMENT COMMAND ORDINAL FOR ERROR CASE 
          LDN    /NAM/FTRCSE LOAD SENDER ERROR REASON CODE
  
 ESCP.2   LINK               ENTRY
          STD    T17         STORE FILE TRANSFER STOPPED REASON CODE
          LDN    /NAM/FTERCM LOAD WORKLIST LENGTH IN CENTRAL WORDS
          STM    NBH+/NAM/C.BWD+1 STORE WORKLIST WORD LENGTH
          LDC    DRBUF+/NAM/ERTEXT LOAD ADDRESS FOR LEVEL SEVEN TEXT
  
 ESCP.3   RJM    GACS        EXIT TO GENERATE ASCII COMMAND STRING
          LDN    /NAM/W.PCBPS3 PRU STREAM PARAMETER THREE WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    L7PR        LOAD HIGH-ORDER OF COMMAND PARAMETER 
          STD    T10+/NAM/C.PCBL7P STORE HIGH-ORDER COMMAND PARAMETER 
          LDD    L7PR+1      LOAD LOW-ORDER OF COMMAND PARAMETER
          STD    T10+/NAM/C.PCBL7P+1 STORE LOW-ORDER COMMAND PARAMETER
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SCN    77B         CLEAR OLD EXTERNALLY STOPPED REASON CODE 
          ADD    T17         PLUS NEW EXTERNALLY STOPPED REASON CODE
          STD    T10+/NAM/C.PCBSS STORE STREAM STOPPED REASON CODES 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    CO          LOAD COMMAND ORDINAL 
          ADC    /TABLES/DWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    POSITION WORKLIST ORDINAL TO LOW-ORDER 
          STD    WLO         STORE WORKLIST COMMAND ORDINAL 
          RJM    L7WL        EXIT TO INITIALIZE LEVEL SEVEN WORKLIST
  
 ESCP.4   LINK               ENTRY
          LDD    RTE         LOAD DRIVER CONTROL TABLE ENTRY
          LPN    L.ACTORD    EXTRACT STREAM STATE ACTION ORDINAL
          EXIT   BRDI.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 RRCP     SPACE  2,42 
**               A-A INBOUND COMMAND ACTION PROCESSOR RRCP. 
* 
*                A-A INBOUND COMMAND ACTION PROCESSOR RRCP PROCESSES A
*                REQUEST RESTART COMMAND FROM THE REMOTE APPLICATION. 
*                THE COMMAND IS ACCEPTED AND VALIDATED.  THE COMMAND
*                PARAMETER AND THE STREAM STOPPED REASON CODE ARE STORED
*                IN THE PCB.  THE WORKLIST COMMAND CONTROL TABLE ENTRY
*                IS OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, 
*                THE SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION IS
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    IVCF - INPUT AND VALIDATE COMMAND FORMAT,
*                    GACS - GENERATE ASCII COMMAND STRING,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    L7WL - INITIALIZE LEVEL SEVEN SERVICE MESSAGE, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 RRCP     LINK               RECEIVE AND PROCESS LEVEL SEVEN RR COMMAND 
          RJM    IVCF        EXIT TO INPUT AND VERIFY COMMAND FORMAT
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLAC HIGH-ORDER OF ACKNOWLEDGED CHECKMARK 
          LMD    L7PR        LESS HIGH-ORDER OF RECEIVED CHECKMARK
          SHN    12          POSITION TO HIGH-ORDER 
          LMD    T10+/NAM/C.PCBLAC+1 LOW-ORDER OF ACKNOWLEDGED CHECKMARK
          LMD    L7PR+1      LESS LOW-ORDER OF RECEIVED CHECKMARK 
          ZJN    RRCP.1      EXIT IF RECEIVED IS EXPECTED 
          EXIT   MSCP.2      EXIT TO ERROR - CHECKMARK NUMBER ERROR 
  
 RRCP.1   STD    T10+/NAM/C.PCBOCM RESET OUTSTANDING CHECKMARK
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    /NAM/FTRCRS LOAD RESTART REQUESTED REASON CODE 
          EXIT   ESCP.2      EXIT TO STORE TRANSFER STOPPED REASON CODE 
 QRCP     SPACE  2,42 
**               A-A INBOUND COMMAND ACTION PROCESSOR QRCP. 
* 
*                A-A INBOUND COMMAND ACTION PROCESSOR QRCP PROCESSES A
*                QUIT REQUEST COMMAND FROM THE REMOTE APPLICATION.
*                THE COMMAND IS ACCEPTED AND VALIDATED.  THE COMMAND
*                PARAMETER AND THE STREAM STOPPED REASON CODE ARE STORED
*                IN THE PCB.  THE WORKLIST COMMAND CONTROL TABLE ENTRY
*                IS OBTAINED, THE WORKLIST COMMAND ORDINAL IS STORED, 
*                THE SUPERVISORY HEADER WORD AND THE WORKLIST ARE 
*                INITIALIZED AND THE STREAM STATE RESPONSE ACTION IS
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT,
*                                 (WLO) = WORKLIST COMMAND ORDINAL. 
* 
*                  CALLS -
* 
*                    IVCF - INPUT AND VALIDATE COMMAND FORMAT,
*                    GACS - GENERATE ASCII COMMAND STRING,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    L7WL - INITIALIZE LEVEL SEVEN SERVICE MESSAGE, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 QRCP     LINK               RECEIVE AND PROCESS LEVEL SEVEN QR COMMAND 
          RJM    IVCF        EXIT TO INPUT AND VERIFY COMMAND FORMAT
          LDN    /NAM/FTRCRE LOAD QUIT REQUESTED REASON CODE
          EXIT   ESCP.2      EXIT TO STORE TRANSFER STOPPED REASON CODE 
 MSCP     SPACE  2,40 
**               A-A INBOUND COMMAND ACTION PROCESSOR MSCP. 
* 
*                A-A INBOUND COMMAND ACTION PROCESSOR MSCP PROCESSES A
*                CHECKMARK COMMAND FROM THE REMOTE APPLICATION.  THE
*                COMMAND IS ACCEPTED AND VALIDATED.  IF THE CHECKMARK 
*                NUMBER RECEIVED IN THE COMMAND IS THE EXPECTED 
*                CHECKMARK NUMBER THE OUTSTANDING CHECKMARK COUNT IS
*                INCREMENTED, THE WORKLIST COMMAND ORDINAL IS STOREED 
*                AND THE STREAM STATE RESPONSE ACTION IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHECKMARK NUMBER ERROR. 
* 
*                  CALLS -
* 
*                    IVCF - INPUT AND VALIDATE COMMAND FORMAT,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 MSCP     LINK               RECEIVE AND PROCESS LEVEL SEVEN MS COMMAND 
          RJM    IVCF        EXIT TO INPUT AND VERIFY COMMAND FORMAT
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLAC HIGH-ORDER OF ACKNOWLEDGED CHECKMARK 
          SBD    L7PR        LESS HIGH-ORDER OF RECEIVED CHECKMARK
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLAC+1 LOW-ORDER OF ACKNOWLEDGED CHECKMARK
          ADD    T10+/NAM/C.PCBOCM PLUS OUTSTANDING CHECKMARK COUNT 
          ADN    1           PLUS ONE 
          SBD    L7PR+1      LESS LOW-ORDER OF RECEIVED CHECKMARK 
          NJN    MSCP.2      EXIT IF CHECKMARK NUMBER ERROR 
          AOD    T10+/NAM/C.PCBOCM INCREMENT OUTSTANDING CHECKMARK COUNT
  
 MSCP.1   LINK               ENTRY
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    CO          LOAD COMMAND ORDINAL 
          ADC    /TABLES/DWLCTL FWA OF WORKLIST COMMAND CONTROL TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE DRIVER CONTROL TABLE ENTRY 
          SHN    -S.CTLCD    POSITION WORKLIST ORDINAL TO LOW-ORDER 
          STD    WLO         STORE WORKLIST COMMAND ORDINAL 
          EXIT   ESCP.4      EXIT TO EXTRACT STREAM STATE ACTION ORDINAL
  
 MSCP.2   LINK               ENTRY
          EREXIT CNE         EXIT TO ERROR - CHECKMARK NUMBER ERROR 
 MRCP     SPACE  2,42 
**               A-A INBOUND COMMAND ACTION PROCESSOR MRCP. 
* 
*                A-A INBOUND COMMAND ACTION PROCESSOR MRCP PROCESSES A
*                CHECKMARK REPLY COMMAND FROM THE REMOTE APPLICATION. 
*                THE COMMAND IS ACCEPTED AND VALIDATED.  IF THE 
*                CHECKMARK NUMBER RECEIVED IN THE COMMAND IS THE
*                EXPECTED CHECKMARK NUMBER THE OUTSTANDING CHECKMARK
*                COUNT IS DECREMENTED, THE LAST ACKNOWLEDGED CHECKMARK
*                NUMBER AND ASSOCIATED PRU POSITION IS UPDATED, THE 
*                WORKLIST COMMAND ORDINAL IS STORED AND THE STREAM
*                STATE RESPONSE ACTION IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG,
*                     (CO) = COMMAND ORDINAL. 
* 
*                  EXIT - 
* 
*                    (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF CHECKMARK NUMBER ERROR. 
* 
*                  CALLS -
* 
*                    IVCF - INPUT AND VALIDATE COMMAND FORMAT,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 MRCP     LINK               RECEIVE AND PROCESS LEVEL SEVEN MR COMMAND 
          RJM    IVCF        EXIT TO INPUT AND VERIFY COMMAND FORMAT
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS5-/NAM/W.PCBPS4 DELTA FOR WORD FOUR
          CRD    T1          READ PRU PARAMETER WORD FROM PCB 
          LDD    T1+/NAM/C.PCBPCN HIGH-ORDER OF PENDING CHECKMARK 
          LMD    L7PR        LESS HIGH-ORDER OF RECEIVED REPLY
          SHN    12          POSITION TO HIGH-ORDER 
          LMD    T1+/NAM/C.PCBPCN+1 LOW-ORDER OF PENDING CHECKMARK
          LMD    L7PR+1      LESS LOW-ORDER OF RECEIVED REPLY 
          NJN    MSCP.2      EXIT IF REPLY DIFFERS FROM EXPECTED
          SOD    T10+/NAM/C.PCBOCM DECREMENT OUTSTANDING CHECKMARK
          NJN    MSCP.2      EXIT IF NOT SINGLE CHECKMARK OUTSTANDING 
          LDD    T1+/NAM/C.PCBPCN LOAD HIGH-ORDER OF CHECKMARK NUMBER 
          STD    T10+/NAM/C.PCBLAC HIGH-ORDER OF ACKNOWLEDGED CHECKMARK 
          LDD    T1+/NAM/C.PCBPCN+1 LOAD LOW-ORDER OF CHECKMARK NUMBER
          STD    T10+/NAM/C.PCBLAC+1 LOW-ORDER OF ACKNOWLEDGED CHECKMARK
          LDD    T1+/NAM/C.PCBPPR LOAD HIGH-ORDER OF PRU POSITION 
          STD    T10+/NAM/C.PCBCPP HIGH-ORDER OF ACKNOWLEDGED POSITION
          LDD    T1+/NAM/C.PCBPPR+1 LOAD LOW-ORDER OF PRU POSITION
          STD    T10+/NAM/C.PCBCPP+1 LOW-ORDER OF ACKNOWLEDGED POSITION 
          EXIT   MSCP.1      EXIT TO WRITE PRU PARAMETER WORD TO PCB
 WLES     TITLE  A-A LEVEL SEVEN WORKLIST ACTION PROCESSORS.
 TYPEACT  MICRO  1,,*WORK*   DEFINE ACTION TYPE 
 WLES     SPACE  2,34 
**               A-A WORKLIST ACTION PROCESSOR WLES.
* 
*                A-A WORKLIST ACTION PROCESSOR WLES PROCESSES AN END OF 
*                STREAM NORMAL.  IF THERE ARE OUTSTANDING BACKS ON THE
*                STREAM THEY ARE ISSUED.  IF THERE IS SUFFICIENT
*                INBOUND BUFFER SPACE FOR THE END OF STREAM NORMAL
*                WORKLIST THE WORKLIST IS BUILT AND THE STREAM STATE
*                RESPONSE ACTION IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK FLAGS,
*                     (WLO) = WORKLIST ORDINAL. 
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII, 
*                    GACS - GENERATE ASCII COMMAND STRING,
*                    L7WL - INITIALIZE LEVEL SEVEN WORKLIST,
**                    PKD - PACK LEVEL SEVEN COMMAND TEXT.
  
  
 WLES     ACTION             GENERATE END OF STREAM LEVEL SEVEN WORKLIST
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          SHN    -/NAM/S.IBC OUTSTANDING BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING BACK COUNT 
          ZJN    WLES.1      EXIT IF NO OUTSTANDING BACKS 
          UJK    /STATES/SPIQ.7 EXIT TO ISSUE BACK TO NPU 
  
 WLES.1   LDN    /NAM/FTESCM LENGTH OF END OF STREAM WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    WLES.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 WLES.2   LDN    /NAM/FTESCM LOAD WORKLIST LENGTH IN CENTRAL WORDS
  
 WLES.3   LINK               ENTRY
          STM    NBH+/NAM/C.BWD+1 STORE WORKLIST WORD LENGTH
          LDN    /NAM/W.PCBPS3 PRU STREAM PARAMETER THREE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS3-/NAM/W.PCBPS2 DELTA FOR WORD TWO 
          CRD    T1          READ PRU PARAMETER WORD FROM PCB 
          LDD    T1+/NAM/C.PCBSS LOAD TRANSFER STOPPED REASON CODES 
          LPN    77B         EXTRACT EXTERNALLY STOPPED REASON CODE 
          STD    T17         STORE TRANSFER STOPPED REASON CODE 
          ADC    /TABLES/L7RCCO ADDRESS OF REASON CODE TO COMMAND TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    CO          STORE INBOUND COMMAND ORDINAL
          NJN    WLES.4      EXIT IF INBOUND COMMAND
          LJM    WLES.8      EXIT TO DECREMENT WORKLIST LENGTH
  
 WLES.4   LDD    T10+/NAM/C.PCBL7P LOAD HIGH-ORDER OF C0MMAND PARAMETER 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBL7P+1 PLUS LOW-ORDER OF COMMAND PARAMETER
          RJM    CNFA        EXIT TO CONVERT TO ASCII CHARACTER STRING
          LDD    T17         LOAD TRANSFER STOPPED REASON CODE
          ZJN    WLES.5      EXIT IF NO ERROR BEING REPORTED
          LDN    /NAM/ERTEXT-/NAM/ESTEXT DELTA FOR ERROR TEXT ADDRESS 
  
 WLES.5   ADC    DRBUF+/NAM/ESTEXT ADDRESS FOR LEVEL SEVEN COMMAND TEXT 
          RJM    GACS        EXIT TO GENERATE ASCII COMMAND STRING
  
 WLES.6   RJM    L7WL        EXIT TO INITIALIZE LEVEL SEVEN WORKLIST
          LDD    T17         LOAD TRANSFER STOPPED REASON CODE
          ZJN    WLES.7      EXIT IF NO ERROR BEING REPORTED
          LDN    /NAM/ERTEXT-/NAM/ESTEXT DELTA FOR ERROR TEXT ADDRESS 
  
 WLES.7   ADC    DRBUF+/NAM/ESTEXT ADDRESS OF LEVEL SEVEN COMMAND TEXT
          STD    T2          STORE PACKED DATA DESTINATION ADDRESS
          STD    T1          STORE PACKED DATA SOURCE ADDRESS 
          LDN    /NAM/L.L7ES LOAD LENGTH OF COMMAND STRING
          RJM    PKD         EXIT TO PACK COMMAND TEXT STRING 
          LDD    WLO         LOAD WORKLIST ORDINAL
          ADC    /TABLES/DWLQRT FWA OF DRIVER WORKLIST RESPONSE TABLE 
          RJM    GTE         EXIT TO GET STREAM STATE RESPONSE ACTION 
          EXIT   EWLPX       RETURN VIA WORKLIST PROCESSOR ACTION RETURN
  
 WLES.8   LCN    /NAM/FTERCM-/NAM/FTIECM DELTA FOR INTERNAL ERROR 
          RAM    NBH+/NAM/C.BWD+1 DECREMENT WORKLIST WORD LENGTH
          UJK    WLES.6      EXIT TO INITIALIZE LEVEL SEVEN WORKLIST
 WLER     SPACE  2,32 
**               A-A WORKLIST ACTION PROCESSOR WLER.
* 
*                A-A WORKLIST ACTION PROCESSOR WLER PROCESSES AN ERROR
*                CONDITION REPORTED ON AN A-A CONNECTION.  IF THERE IS
*                SUFFICIENT INBOUND BUFFER SPACE FOR THE ERROR WORKLIST 
*                THE WORKLIST IS BUILT AND THE STREAM STATE RESPONSE
*                ACTION IS RETURNED.
* 
*                  ENTRY -
* 
*                    (WLO) = WORKLIST ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = STREAM STATE ACTION ORDINAL,
*                        (NBH-NBH+L.BH) = WORKLIST WORD LENGTH, 
*                    (DRBUF-DRBUF+L.WT) = WORKLIST TEXT.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    GACS - GENERATE ASCII COMMAND STRING,
*                    L7WL - INITIALIZE LEVEL SEVEN WORKLIST,
**                    PKD - PACK LEVEL SEVEN COMMAND TEXT.
  
  
 WLER     ACTION             GENERATE ERROR LEVEL SEVEN WORKLIST
          LDN    /NAM/FTERCM LENGTH OF ERROR WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    WLER.1      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 WLER.1   LDN    /NAM/FTERCM LENGTH OF ERROR WORKLIST 
          EXIT   WLES.3      EXIT TO STORE WORKLIST WORD LENGTH 
 MSCG     TITLE  A-A OUTBOUND COMMAND ACTION PROCESSORS.
 TYPEACT  MICRO  1,,*CMDOUT* DEFINE ACTION TYPE 
 MSCG     SPACE  2,28 
**               A-A OUTBOUND COMMAND ACTION PROCESSOR MSCG.
* 
*                A-A OUTBOUND COMMAND ACTION PROCESSOR MSCG GENERATES 
*                A CHECKMARK.  THE LAST TRANSMITTED CHECKMARK IS
*                OBTAINED FROM THE PCB AND INCREMENTED BY ONE, THE
*                COMMAND TEXT IS GENERATED AND STORED IN THE DRIVER 
*                BUFFER AREA AND THE OUTPUT BLOCK TYPE IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (CO) = LEVEL SEVEN COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = OUTPUT BLOCK TYPE,
*                           (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT, 
*                    (DRBUF-DRBUF+L.CT) = LEVEL SEVEN COMMAND TEXT. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII, 
**                   GACS - GENERATE ASCII COMMAND STRING.
  
  
 MSCG     ACTION             GENERATE LEVEL SEVEN CHECKMARK 
 MRCG     SPACE  2,28 
**               A-A OUTBOUND COMMAND ACTION PROCESSOR MRCG.
* 
*                A-A OUTBOUND COMMAND ACTION PROCESSOR MRCG GENERATES 
*                A CHECKMARK REPLY.  THE LAST ACKNOWLEDGED CHECKMARK
*                IS OBTAINED FROM THE PCB AND INCREMENTED BY ONE, THE 
*                COMMAND TEXT IS GENERATED AND STORED IN THE DRIVER 
*                BUFFER AREA AND THE OUTPUT BLOCK TYPE IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (CO) = LEVEL SEVEN COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = OUTPUT BLOCK TYPE,
*                           (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT, 
*                    (DRBUF-DRBUF+L.CT) = LEVEL SEVEN COMMAND TEXT. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII, 
**                   GACS - GENERATE ASCII COMMAND STRING.
  
  
 MRCG     ACTION             GENERATE CHECKMARK REPLY 
          LDN    1           CONSTANT OF ONE
  
 MRCG.1   LINK               ENTRY
          STD    T17         STORE CHECKMARK NUMBER INCREMENT 
          LDN    /NAM/L.L7MR TEXT CHARACTER LENGTH OF MESSAGE 
          STM    NNH+/NAM/C.MCC STORE OUTPUT TEXT CHARACTER COUNT 
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBLAC HIGH-ORDER OF ACKNOWLEDGED CHECKMARK 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBLAC+1 LOW-ORDER OF ACKNOWLEDGED CHECKMARK
          ADD    T17         PLUS CHECKMARK NUMBER INCREMENT
          RJM    CNFA        EXIT TO CONVERT TO ASCII CHARACTER STRING
          LDC    DRBUF+/NAM/L7CN ADDRESS FOR LEVEL SEVEN COMMAND TEXT 
          RJM    GACS        EXIT TO GENERATE ASCII COMMAND STRING
          LDN    /BLOCK/QMSG LOAD Q-MESSAGE BLOCK TYPE
  
          QUAL   STATES 
          EXIT   SOPC.3      EXIT TO TRANSFER OUTPUT TO FRONT END 
          QUAL   ACTIONS
  
 SRCG     SPACE  2,28 
**               A-A OUTBOUND COMMAND ACTION PROCESSOR SRCG.
* 
*                A-A OUTBOUND COMMAND ACTION PROCESSOR SRCG GENERATES 
*                THE START OF DATA REPLY.  THE INITIAL CHECKMARK IS 
*                OBTAINED FROM THE PCB, THE COMMAND TEXT IS GENERATED 
*                AND STORED IN THE DRIVER BUFFER AREA AND THE OUTPUT
*                BLOCK TYPE IS RETURNED.
* 
*                  ENTRY -
* 
*                    (CO) = LEVEL SEVEN COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                                   (A) = OUTPUT BLOCK TYPE,
*                           (NNH+C.MCC) = OUTPUT MESSAGE CHARACTER COUNT, 
*                    (DRBUF-DRBUF+L.CT) = LEVEL SEVEN COMMAND TEXT. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII, 
**                   GACS - GENERATE ASCII COMMAND STRING.
  
  
 SRCG     ACTION             GENERATE START OF DATA REPLY 
          LDN    0           CONSTANT OF ZERO 
          EXIT   MRCG.1      EXIT TO STORE CHECKMARK INCREMENT
 IVCF     TITLE  A-A SUPPORT SUBROUTINES. 
          QUAL
 PEL7     SPACE  2,20 
**               DRIVER SUPPORT PROCESSOR PEL7. 
* 
*                DRIVER SUPPORT PROCESSOR PEL7 REPORTS A LEVEL-7 ERROR
*                ON A FILE TRANSFER. FIRSTLY THE PRU BUFFER IS CHECKED
*                TO SEE IF THERE IS ANY MASS STORAGE I-O TO COMPLETE. 
*                IF NOT, THE WORKLIST IS TRANSFERRED TO THE INBOUND 
*                BUFFER.
* 
*                  CALLS -
* 
*                    EWLP - EXECUTE WORKLIST PROCESSOR
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION PROCESS
*                    RPCB - READ WORD FROM PCB
* 
**
  
 PEL7     LINK               ENTRY
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAM 2 WORD ORDINAL
          RJM    RPCB        EXIT TO READ PCB WORD
          LDD    T10+/NAM/C.PCBCDB HIGH ORDER OF CURRENT DATA BLOCK 
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12D         POSITION TO HIGH ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 ADD LOW ORDER OF CURRENT BLOCK 
          ZJN    PEL7.1      EXIT NO DATA BUFFER
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAM 1 WORD ORDINAL
          RJM    RPCB        EXIT TO READ PCB WORD
          LDD    T10+/NAM/C.PCBFNT LOAD FNT ORDINAL 
          ZJN    PEL7.1      EXIT NO FNT ASSIGNED 
          STD    T17         STORE FNT ORDINAL
          NFA    T17,R       CALCULATE ADDRESS OF FNT ENTRY 
          ADN    FSTL        DELTA TO BUSY STATUS WORD
          CRD    T10         READ STATUS WORD 
          LDD    T10+4       LOAD STATUS BYTE 
          LPN    1           EXTRACT COMPLETE BIT 
          NJN    PEL7.1      EXIT COMPLETE BIT SET
  
          UJK    NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 PEL7.1   LDN    /TABLES/L7ER LOAD LEVEL SEVEN ERROR WORKLIST ORDINAL 
          UJK    /STATES/SPIQ.1 EXIT TO STORE WORKLIST COMMAND ORDINAL
  
 IVCF     SPACE  2,32 
**               SUBROUTINE IVCF. 
* 
*                SUBROUTINE ICVF INPUTS AND VERIFIES THE LEVEL
*                SEVEN APPLICATION TO APPLICATION COMMAND FORMAT. 
* 
*                  EXIT - 
* 
*                              (A) = NUMERIC EQUIVALENT OF PARAMETER, 
*                      (T10-T10+4) = COMMAND *ASCII* PARAMETER STRING,
*                    (L7PR-L7PR+1) = NUMERIC EQUIVALENT OF PARAMETER. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF Q-MESSAGE FORMAT ERROR. 
* 
*                  CALLS -
* 
*                    ASUD - ACCEPT AND STORE UNPACKED DATA, 
*                    CAFN - CONVERT ASCII FIELD TO NUMERIC. 
* 
*                  MACRO CALLS -
* 
*                    CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
* 
*                  USES - 
* 
**                   T10 = CHARACTER COUNT. 
  
  
 IVCF     SUBR               ENTRY/EXIT 
          LDN    0           CONSTANT OF ZERO 
          STD    T10         INITIALIZE CHARACTER COUNT 
          LDM    DRBUF+1     LOAD FIRST CHARACTER OF COMMAND TEXT 
          LPC    0#FF        EXTRACT FIRST CHARACTER OF COMMAND TEXT
  
 IVCF.1   LMM    L7CSF,T10   LESS EXPECTED CHARACTER
          NJN    IVCF.2      EXIT IF CHARATCER DOES NOT MATCH 
          AOD    T10         INCREMENT CHARACTER COUNT
          LDM    L7CSF,T10   LOAD NEXT COMPARE VALUE
          ZJN    IVCF.3      EXIT IF END OF COMPARE 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    IVCF.2      EXIT IF END OF TRANSFER RECEIVED 
          CLIO   FEIC        ACCEPT NEXT DATA CHARACTER FROM FRONT END
          UJK    IVCF.1      EXIT TO COMPARE NEXT INPUT CHARACTER 
  
 IVCF.2   UJK    /ACTIONS/BRIQ.1 EXIT TO ERROR - Q-MESSAGE FORMAT ERROR 
  
 IVCF.3   LDN    T10         LOAD ADDRESS FOR NUMERIC FIELD 
          STD    T1          STORE STARTING BUFFER ADDRESS
          ADN    4-1         PLUS LENGTH OF NUMERIC FIELD 
          RJM    ASUD        EXIT TO INPUT NUMERIC FIELD FROM NPU 
          ZJN    IVCF.2      EXIT IF END OF TRANSFER NOT RECEIVED 
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    4           LESS LENGTH OF NUMERIC FIELD 
          NJN    IVCF.2      EXIT IF NUMERIC FIELD LENGTH ERROR 
          LDN    T10         LOAD ADDRESS OF NUMERIC FIELD
          STD    T1          STORE ADDRESS OF ASCII NUMERIC FIELD 
          LDN    4           CONSTANT OF FOUR 
          RJM    CAFN        EXIT TO CONVERT FROM ASCII TO NUMERIC
          STD    L7PR+1      STORE LOW-ORDER OF NUMERIC VALUE 
          SHN    -12         POSITION HIGH-ORDER OF NUMERIC FIELD 
          STD    L7PR        STORE HIGH-ORDER OF NUMERIC FIELD
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    L7PR+1      PLUS LOW-ORDER OF NUMERIC VALUE
          UJK    IVCFX       RETURN 
 L7CSF    SPACE  2,8
*                LEVEL SEVEN COMMAND STRUCTURE FORMAT.
  
  
 L7CSF    BSS    0           LEVEL SEVEN CONSTANT COMMAND STRUCTURE 
  
          ASCII  30          *0*
          ASCII  31          *1*
          ASCII  32          *2*
          ASCII  33          *3*
          ASCII  53          *S*
          ASCII  30          *0*
          ASCII  30          *0*
          ASCII  34          *4*
  
          CON    0           TERMINATE CONSTANT COMMAND STRUCTURE 
 GACS     SPACE  2,28 
**               SUBROUTINE GACS. 
* 
*                SUBROUTINE GACS GENERATES AN *ASCII* CHARACTER STRING
*                OF THE LEVEL SEVEN COMMAND TEXT WITH THE VALUE OF THE
*                LEVEL SEVEN PARAMETER. 
* 
*                  ENTRY -
*                            (A) = DESTINATION ADDRESS FOR COMMAND TEXT,
*                           (CO) = COMMAND ORDINAL, 
*                    (T10-T10+3) = PARAMETER VALUE IN ASCII.
* 
*                  CALLS -
* 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
*                    CNFA - CONVERT NUMERIC FIELD TO ASCII. 
* 
*                  USES - 
* 
*                    T14 = DESTINATION ADDRESS, 
*                    T15 = PARAMETER DESTINATION ADDRESS, 
*                    T16 = CHARACTER COUNT, 
*                    T15 = SOURCE DATA ADDRESS, 
**                    T0 = SOURCE DATA BYTE.
  
  
 GACS     SUBR               ENTRY/EXIT 
          STD    T14         STORE DESTINATION ADDRESS FOR ASCII STRING 
          LDD    CO          LOAD LEVEL SEVEN COMMAND ORDINAL 
          ADC    /TABLES/NPIC PLUS ADDRESS DRIVER COMMAND TABLE 
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STD    RTE         STORE COMMAND NUMBER 
          LDD    T14         LOAD DESTINATION ADDRESS FOR ASCII STRING
          ADN    /NAM/L7EC   PLUS OFFSET FOR PARAMETER
          STD    T15         STORE DESTINATION ADDRESS FOR PARAMETER
          LDN    0           CONSTANT OF ZERO 
          STD    T16         INITIALIZE CHARACTER COUNT 
  
 GACS.1   LDM    T10,T16     LOAD NEXT ASCII CHARACTER OF PARAMETER 
          STI    T15         STORE NEXT ASCII CHARACTER OF PARAMETER
          AOD    T15         INCREMENT DESTINATION ADDRESS FOR PARAMETER
          AOD    T16         INCREMENT CHARACTER COUNT
          LMN    4           LESS LENGTH OF PARAMETER 
          NJN    GACS.1      EXIT IF MORE PARAMETER CHARACTERS
          LDD    RTE         LOAD COMMAND NUMBER
          RJM    CNFA        EXIT TO CONVERT COMMAND NUMBER TO ASCII
          LDD    T10+2       LOAD HIGH-ORDER OF COMMAND NUMBER IN ASCII 
          STI    T14         STORE INTO COMMAND STRING
          AOD    T14         INCREMENT ASCII STRING DESTINATION ADDRESS 
          LDD    T10+3       LOAD LOW-ORDER OF COMMAND NUMBER IN ASCII
          STI    T14         STORE INTO COMMAND STRING
          AOD    T14         INCREMENT ASCII STRING DESTINATION ADDRESS 
          LDC    L7CSF       LOAD ADDRESS OF CONSTANT COMMAND STRING
          STD    T15         STORE SOURCE ADDRESS FOR ASCII STRING
  
 GACS.2   LDI    T15         LOAD NEXT SOURCE STRING BYTE 
          NJN    GACS.3      EXIT IF NOT END OF SOURCE STRING DATA
          UJK    GACSX       RETURN 
  
 GACS.3   STI    T14         STORE ASCII CHARACTER INTO COMMAND STRING
          AOD    T14         INCREMENT ASCII STRING DESTINATION ADDRESS 
          AOD    T15         INCREMENT ASCII STRING SOURCE ADDRESS
          UJK    GACS.2      EXIT TO INCREMENT CHARACTER COUNT
 L7WL     SPACE  2,34 
**               SUBROUTINE L7WL. 
* 
*                SUBROUTINE L7WL OBTAINS THE VALUES REQUIRED FOR A
*                LEVEL SEVEN WORKLIST AND STORES THEM INTO THE
*                WORKLIST IMAGE.
* 
*                  ENTRY -
* 
*                          (T17) = FILE TRANSFER STOPPED REASON CODE, 
*                    (PCB-PCB+1) = ADDRESS OF PCB,
*                          (WLO) = WORKLIST COMMAND ORDINAL.
* 
*                  EXIT - 
* 
*                          (DRBUF+FNAME) = FILE NAME, 
*                            (DRBUF+FNT) = FNT ORDINAL, 
*                           (DRBUF+CKMS) = LAST ACKNOWLEDGED CHECKMARK, 
*                          (DRBUF+CLPRU) = CORRESPONDING PRU POSITION,
*                    (DRBUF-DRBUF+L.SMH) = SERVICE MESSAGE HEADER.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                    GTE - GET DRIVER CONTROL TABLE ENTRY,
*                    IWL - INITIALIZE WORKLIST. 
* 
*                  USES - 
* 
**                   T1 = WORKLIST COMMAND TABLE ENTRY. 
  
  
 L7WL     SUBR               ENTRY/EXIT 
          LDD    T17         LOAD FILE TRANSFER STOPPED REASON CODE 
          ZJN    L7WL.1      EXIT IF NO ERROR CONDITION BEING REPORTED
          LDD    PCB         LOAD HIGH-ORDER OF PCB ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PCB+1       PLUS LOW-ORDER OF PCB ADDRESS
          ADN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRM    DRBUF+/NAM/CKMS,ON READ CHECKMARK NUMBER AND POSITION
          SBN    /NAM/W.PCBPS5+1-/NAM/W.PCBNFN DELTA FOR FILE NAME WORD 
          CRM    DRBUF+/NAM/FNAME,ON READ FILE NAME AND ORDINAL 
  
 L7WL.1   LDC    /TABLES/AWLCMD ADDRESS OF APPLICATION COMMAND TABLE
          ADD    WLO         PLUS WORKLIST ORDINAL
          RJM    GTE         EXIT TO GET WORKLIST COMMAND TABLE ENTRY 
          STD    T1          STORE WORKLIST COMMAND TABLE ENTRY 
          SCN    0#F         CLEAR SECONDARY FUNCTION CODE
          STM    DRBUF+/NAM/PFC STORE PRIMARY FUNCTION CODE 
          LDD    T1          LOAD WORKLIST COMMAND TABLE ENTRY
          LPN    0#F         EXTRACT LOW-ORDER SECONDARY FUNCTION CODE
          SHN    8           POSITION LOW-ORDER SECONDARY FUNCTION CODE 
          ADD    T17         PLUS FILE TRANSFER STOPPED REASON CODE 
          STM    DRBUF+/NAM/SFC SEONDARY FUNCTION CODE AND REASON CODE
          LDN    0           CONSTANT OF ZERO 
          STM    DRBUF+/NAM/ACN ZERO APPLICATION CONNECTION NUMBER
          LDN    /NAM/PDWL   LOAD PROCESS DRIVER WORKLIST REQUEST 
          RJM    IWL         EXIT TO INITIALIZE WORKLIST
          UJK    L7WLX       RETURN 
 CNFA     SPACE  2,24 
**               SUBROUTINE CNFA. 
* 
*                SUBROUTINE CNFA CONVERTS A NUMERIC FIELD TO THE
*                EQUIVALENT *ASCII* CHARACTER REPRESENTATION OF THE 
*                VALUE.  THE MAXIMUM CALLING VALUE IS LIMITED TO
*                FOUR DECIMAL DIGITS. 
* 
*                ENTRY -
* 
*                    (A) = NUMERIC VALUE. 
* 
*                  EXIT - 
* 
*                    (T10-T10+3) = *ASCII* CHARACTER EQUIVALENT.
* 
*                  USES - 
* 
*                    T0-T0+1 = NUMERIC VALUE, 
**                        T2 = INDEX. 
  
  
 CNFA     SUBR               ENTRY/EXIT 
          STD    T0+1        STORE LOW-ORDER OF NUMERIC VALUE 
          SHN    -12         POSITION HIGH-ORDER OF VALUE 
          STD    T0          STORE HIGH-ORDER OF NUMERIC VALUE
          LDN    0           CONSTANT OF ZERO 
          STD    T2          INITIALIZE INDEX 
  
 CNFA.1   LDN    0#30        CONSTANT OF ASCII ZERO CHARACTER 
          STM    T10,T2      INITIALIZE RESULT DIGIT
  
 CNFA.2   LDD    T0          LOAD HIGH-ORDER OF VALUE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+1        PLUS LOW-ORDER OF VALUE
          SBM    DDT,T2      LESS VALUE OF DECIMAL DIGIT
          MJN    CNFA.3      EXIT IF DECIMAL DIGIT VALUE GREATER
          STD    T0+1        STORE LOW-ORDER OF NUMERIC VALUE 
          SHN    -12         POSITION HIGH-ORDER OF VALUE 
          STD    T0          STORE HIGH-ORDER OF NUMERIC VALUE
          AOM    T10,T2      INCREMENT ASCII RESULT DIGIT 
          UJK    CNFA.2      EXIT TO DECREMENT NUMERIC VALUE
  
 CNFA.3   AOD    T2          INCREMENT INDEX
          LMN    3+1         LESS ENDING VALUE
          NJN    CNFA.1      EXIT IF CONVERSION NOT COMPLETE
          UJK    CNFAX       RETURN 
 DDT      SPACE  2,6
*                DECIMAL DIGIT VALUE TABLE. 
  
  
 DDT      BSS    0           DECIMAL DIGIT VALUE TABLE
  
          CON    1000        THOUSANDS
          CON    100         HUNDREDS 
          CON    10          TENS 
          CON    1           UNITS
 CAFN     SPACE  2,28 
**               SUBROUTINE CAFN. 
* 
*                SUBROUTINE CAFN CONVERTS AN *ASCII* CHARACTER STRING 
*                REPRESENTING A NUMERIC VALUE INTO ITS EQUIVALENT 
*                NUMERIC VALUE.  THE MAXIMUM CALLING VALUE IS LIMITED TO
*                FOUR DECIMAL DIGITS REPRESENTED AS *ASCII* CHARACTERS. 
* 
*                  ENTRY -
* 
*                     (A) = NUMBER OF *ASCII* CHARACTERS, 
*                    (T1) = ADDRESS OF *ASCII* CHARACTER STRING.
* 
*                  EXIT - 
* 
*                    (A) = EQUIVALENT NUMERIC VALUE.
* 
*                  USES - 
* 
*                         T0 = NUMBER OF DIGITS,
*                         T2 = INDEX, 
*                         T0 = DIGIT VALUE, 
**                   T3-T3+1 = NUMERIC VALUE. 
  
  
 CAFN     SUBR               ENTRY/EXIT 
          STD    T0          STORE NUMBER OF DIGITS 
          LDN    4           LOAD MAXIMUM NUMBER OF DIGITS
          SBD    T0          LESS NUMBER OF CALLING DIGITS
          STD    T2          INITIALIZE INDEX 
          LDN    0           CONSTANT OF ZERO 
          STD    T3          INITIALIZE HIGH-ORDER OF RESULT
          STD    T3+1        INITIALIZE LOW-ORDER OF RESULT 
  
 CAFN.1   LDI    T1          LOAD NEXT SOURCE ASCII DIGIT 
          SBN    0#30        LESS ASCII ZERO CHARACTER
          STD    T0          STORE NUMERIC DIGIT VALUE
  
 CAFN.2   ZJN    CAFN.3      EXIT IF NUMERIC DIGIT EXHAUSTED
          LDM    DDT,T2      LOAD NUMERIC DIGIT VALUE 
          RAD    T3+1        ADD TO LOW-ORDER OF RESULT 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    T3          ADD TO HIGH-ORDER OF RESULT
          SOD    T0          DECREMENT NUMERIC DIGIT
          UJK    CAFN.2      EXIT TO TEST DIGIT EXHAUSTED 
  
 CAFN.3   AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT INDEX
          LMN    3+1         LESS ENDING VALUE
          NJN    CAFN.1      EXIT IF CONVERSION NOT COMPLETE
          LDD    T3          LOAD HIGH-ORDER OF RESULT
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T3+1        PLUS LOW-ORDER OF RESULT 
          UJK    CAFNX       RETURN 
  
  
 UPD      SPACE  2,26 
          QUAL   2IO
  
  
**               SUBROUTINE UPD.
* 
*                SUBROUTINE UPD UNPACKS A SOURCE CHARACTER STRING OF
*                CONSECUTIVE EIGHT BIT CHARACTERS INTO A STRING OF
*                SINGLE EIGHT BIT CHARACTERS.  THE SUBROUTINE ITERATES
*                ON THREE SOURCE CHARACTERS.
* 
*                  ENTRY -
* 
*                     (A) = SOURCE DATA CHARACTER COUNT,
*                    (T1) = SOURCE DATA ADDRESS,
*                    (T2) = DESTINATION DATA ADDRESS. 
* 
*                  USES - 
* 
**                   T0 = SOURCE DATA CHARACTER COUNT.
  
  
 UPD      SUBR               ENTRY/EXIT 
          STD    T0          STORE SOURCE DATA CHARACTER COUNT
  
 UPD.1    LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -4          POSITION NEXT SOURCE CHARACTER 
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPN    0#F         EXTRACT HIGH-ORDER OF NEXT DATA CHARACTER
          SHN    4           POSITION HIGH-ORDER OF NEXT DATA CHARACTER 
          STI    T2          STORE HIGH-ORDER OF NEXT DATA CHARACTER
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          LDI    T1          LOAD NEXT SOURCE BYTE
          SHN    -8          POSITION LOW-ORDER OF NEXT DATA CHARACTER
          RAI    T2          ADD TO HIGH-ORDER OF DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          LDI    T1          LOAD NEXT SOURCE BYTE
          LPC    0#FF        EXTRACT NEXT SOURCE CHARACTER
          STI    T2          STORE NEXT DATA CHARACTER
          SOD    T0          DECREMENT SOURCE DATA CHARACTER COUNT
          ZJN    UPDX        RETURN IF END OF SOURCE DATA 
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          AOD    T2          INCREMENT DESTINATION DATA ADDRESS 
          UJK    UPD.1       EXIT TO PROCESS NEXT SOURCE BYTE 
  
          QUAL
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(NAM INTERFACE SUB 
,ROUTINES)
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .DROP    SET    0
 .GIBS.4  SET    0
 CNIR     SPACE  2,50 
**               SUBROUTINE CNIR. 
* 
*                SUBROUTINE CNIR CHECKS FOR AND PROCESSES REQUESTS FROM 
*                NAM.  IF NAM IS REQUESTING THE DRIVER INTERLOCK THE
*                DRIVER WILL WRITE THE PRU LIMBO BUFFER TABLES TO THE 
*                DRIVER INTERFACE TABLE, ACKNOWLEDGE THE INTERLOCK AND
*                WAIT FOR NAM TO RELEASE OR ABORT THE INTERLOCK REQUEST.
*                WHEN NAM RELEASES THE INTERLOCK THE DRIVER READS BACK
*                THE PRU LIMBO BUFFER TABLES.  THIS ALLOWS NAM TO MOVE
*                PRU LIMBO BUFFERS WITHOUT INTERFERENCE FROM THE DRIVER.
*                IF NAM REQUESTS TO HALT THE FRONT END THE DRIVER WILL
*                HALT THE FRONT END AND ISSUE A WORKLIST WITH DAYFILE 
*                TEXT THAT IT WAS HALTED.  IF NAM IS REQUESTING A DRIVER
*                DUMP AN ERROR EXIT IS TAKEN TO DUMP THE DRIVER.  IF NAM
*                IS REQUESTING THE DRIVER TO DROP THE DRIVER ENTERS THE 
*                TERMINATION SEQUENCE.  IF NAM IS REQUESTING THE DRIVER 
*                TO SCAN THE EQUIPMENT STATUS TABLE THE DRIVER WILL SCAN
*                THE EQUIPMENT STATUS TABLE AND UPDATE THE COUPLER
*                EQUIPMENT TABLE FOR ANY NEWLY TURNED ON EQUIPMENTS.
*                THE DRIVER WILL CHECK THE EQUIPMENT STATUS TABLE ENTRY 
*                FOR THE CURRENT NPU AND IF IT HAS BEEN TURNED OFF THE
*                BLOCK HANDLER STATE RESPONSE ACTION FOR EQUIPMENT
*                TURNED OFF WILL BE EXECUTED. 
* 
*                  ENTRY -
* 
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                          (CHN) = NPU HALTED FLAG, 
*                          (HND) = HOST NODE NUMBER,
*                    (NBT-NBT+1) = NETWORK BUFFER TABLE ADDRESS.
* 
*                  EXIT - 
* 
*                    (ACI) = RESET IF INTERLOCK REQUESTED,
*                    (CHN) = NPU HALTED FLAG UPDATED, 
*                    (IDT) = IVT DATA CYCLE TIMER.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* FOR DRIVER DUMP REQUESTED, 
*                    EXIT TO *ERROR* IF COUPLER TABLE FORMAT ERROR, 
*                    EXIT TO *ERROR* IF NETWORK BUFFER TABLE *ERROR*. 
* 
*                  CALLS -
* 
*                     GNIW - GET APPLICATION REQUEST WORD,
*                     GLTA - GET LIMBO TABLE AREA ADDFRESS, 
*                     WDRW - WRITE DRIVER REPLY WORD, 
*                    PAUSE - PAUSE FOR STORAGE RELOACTION,
*                     CIBS - CHECK FOR INBOUND BUFFER SPACE,
*                      TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                      RCT - READ CONNECTION TABLE ENTRY, 
*                     EBRA - EXECUTE BLOCK STATE RESPONSE ACTION. 
* 
*                  PROCESSOR CALLS -
* 
*                    BLOCK HANDLER STATE RESPONSE ACTION PROCESSOR. 
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    SFA - CALCULATE ADDRESS OF MANAGED TABLE.
* 
*                  MACRO CALLS -
* 
*                    FEIO - LOGICAL INPUT/OUTPUT INTERFACE. 
* 
*                  USES - 
* 
*                          T17 = APPLICATION REQUEST BYTE,
*                           T7 = CENTRAL LENGTH OF LIMBO BUFFER TABLES, 
*                          T16 = HALT FRONT END REQUEST FLAG, 
*                           T1 = SOURCE DATA ADDRESS, 
*                           T2 = DESTINATION DATA ADDRESS,
*                      T0-T0+4 = EST POINTER WORD,
*                          T16 = ENDING ORDINAL OF EST, 
*                      T0-T0+4 = NAM POINTER AREA POINTER,
*                      T0-T0+4 = COUPLER EQUIPMENT TABLE POINTER, 
*                    CBA-CBA+1 = ADDRESS OF TABLE CONTROL WORD, 
*                    T10-T10+4 = COUPLER TABLE CONTROL WORD,
*                      T0-T0+4 = COUPLER TABLE HEADER WORD, 
*                          T17 = COUPLER TABLE BLOCK SIZE,
*                           T6 = COUPLER TABLE ENTRY COUNT, 
*                           T7 = COUPLER TABLE ENTRY OFFSET,
*                      T0-T0+4 = EST ENTRY FOR EQUIPMENT, 
*                           T5 = DRIVER ORDINAL,
**                   T10-T10+4 = EQUIPMENT WORD FROM NETWORK BUFFER.
  
  
 CNIR     SUBR               ENTRY/EXIT 
          RJM    GNIW        EXIT TO GET APPLICATION REQUEST WORD 
          LDD    T0+/NAM/C.DITAR LOAD APPLICATION REQUEST BYTE
          STD    T17         STORE APPLICATION REQUEST BYTE 
          SHN    17-/NAM/S.DITDR POSITION INTERLOCK REQUESTED TO SIGN 
          MJN    CNIR.1A     EXIT IF INTERLOCK REQUESTED
          LJM    CNIR.3      EXIT IF INTERLOCKK NOT REQUESTED 
  
 CNIR.1A  LDN    L.FRPIP     LOAD CENTRAL LENGTH OF PIP WORD BLOCK
          STD    T7          STORE CENTRAL TABLE LENGTH 
          RJM    GLTA        EXIT TO GET ADDRESS OF LIMBO TABLE AREA
          ADN    L.FRNIP     PLUS OFFSET TO START OF PIP WORD BLOCK 
          CWM    LIMBOP1+NFB,T7 WRITE PIP WORD BLOCK
          LDN    /NAM/B.DITIA LOAD INTERLOCK ACKNOWLEDGED FLAG
          STD    T10+/NAM/C.DITDF STORE DRIVER FLAG BYTE
          RJM    WCMW        EXIT TO WRITE DRIVER REPLY WORD
          LDN    0           CONSTANT OF ZERO 
          STM    ACI         RESET ACTIVE CONNECTION TABLE IDENTIFIER 
  
 CNIR.1   RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          RJM    GNIW        EXIT TO GET APPLICATION REQUEST WORD 
          LDD    T10+/NAM/C.DITDF LOAD DRIVER REPLY BYTE
          ZJN    CNIR.2      EXIT IF DRIVER REPLY RESET 
          LDD    T0+/NAM/C.DITAR LOAD APPLICATION REQUEST BYTE
          SHN    17-/NAM/S.DITAI POSITION ABORT INTERLOCK FLAG TO SIGN
          PJN    CNIR.1      EXIT IF NOT ABORT INTERLOCK REQUEST
          LDN    0           CONSTANT OF ZERO 
          STD    T10+/NAM/C.DITDF RESET DRIVER FLAG BYTE
          RJM    WCMW        EXIT TO WRITE DRIVER REPLY WORD
  
 CNIR.2   LDN    L.FREE      LOAD CENTRAL LENGTH OF FREE BUFFER TABLE 
          STD    T7          STORE CENTRAL TABLE LENGTH 
          RJM    GLTA        EXIT TO GET ADDRESS FOR FREE BUFFER TABLE
          CRM    LIMBOP1,T7  READ FREE BUFFER TABLE FROM INTERFACE TABLE
          LDC    LIMBOP3     ADDRESS OF THREE PRU FREE BUFFER TABLE 
          STD    BTI         INITIALIZE FREE BUFFER TABLE INDEX 
          LDN    PRU3        PRU SIZE ORDINAL FOR THREE PRU BUFFERS 
          STD    PRU         INITIALIZE PRU SIZE ORDINAL
  
 CNIR.2A  LDM    NRA,BTI     LOAD REQUESTED BUFFER COUNT
          ZJN    CNIR.2C     EXIT IF NO BUFFER REQUESTED
          LDM    NCA,BTI     LOAD CURRENT BUFFER COUNT ASSIGNED BY NIP
          SBM    NSA,BTI     MINUS LAST BUFFER COUNT KNOWN TO PIP 
          MJN    CNIR.2B     EXIT IF COUNT NOT INCREASED
          RAM    NFB,BTI     INCREMENT FREE BUFFER COUNT
 CNIR.2B  LDM    NCA,BTI     LOAD CURRENT BUFFER COUNT ASSIGNED BY NIP
          STM    NSA,BTI     UPDATE BUFFER COUNT KNOWN TO PIP 
  
 CNIR.2C  LCN    LIMBOP3-LIMBOP2 LENGTH OF FREE BUFFER TABLE ENTRY
          RAD    BTI         DECREMENT FREE BUFFER TABLE INDEX
          SOD    PRU         DECREMENT PRU SIZE ORDINAL 
          PJN    CNIR.2A     EXIT TO PROCESS FREE BUFFER TYPE 
  
 CNIR.3   LDM    NBT,FEI     LOAD HIGH-ORDER OF NETWORK BUFFER ADDRESS
          ADM    NBT+1,FEI   PLUS LOW-ORDER OF NETWORK BUFFER ADDRESS 
          NJN    CNIR.3A     EXIT IF NBT ACTIVE 
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          LJM    DCR         EXIT TO CHECK FOR ACTIVE FRONT ENDS
  
 CNIR.3A  LDD    T17         LOAD APPLICATION REQUEST BYTE
          LPC    /NAM/B.DITHN EXTRACT HALT FRONT END REQUEST FLAG 
          STD    T16         STORE HALT FRONT END REQUEST FLAG
          ZJN    CNIR.5      EXIT IF HALT FRONT END NOT REQUESTED 
          LDM    CHN,FEI     LOAD FRONT END HALTED FLAG 
          SCN    77B         CLEAR FRONT END CHANNEL NUMBER 
          NJN    CNIR.5      EXIT IF FRONT END ALREADY HALTED 
          LDN    /NAM/L.BH+/NAM/L.WH+L.NPHT LENGTH OF HALTED WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    CNIR.4      EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          LJM    CNIR.25     EXIT TO SET IVT DATA CYCLE TIMER 
  
 CNIR.4   FEIO   FEHL        HALT FRONT END 
  
 CNIR.5   LDM    CHN,FEI     LOAD FRONT END HALTED FLAG 
          LPN    77B         CLEAR OLD FRONT END HALTED FLAG
          ADD    T16         PLUS NEW FRONT END HALTED FLAG 
          STM    CHN,FEI     STORE FRONT END HALTED FLAG
          LDD    T17         LOAD APPLICATION REQUEST BYTE
          LPC    /NAM/B.DITDF&/NAM/B.DITDH&/NAM/B.DITDD EXTRACT REQUEST 
          ZJN    CNIR.7      EXIT IF NO DROP REQUEST
          SHN    17-/NAM/S.DITDD POSITION DRIVER DUMP REQUEST TO SIGN 
          PJN    CNIR.6      EXIT IF NOT DRIVER DUMP REQUEST
          EREXIT DDR         EXIT TO ERROR - DRIVER DUMP REQUESTED
  
 CNIR.6   EXIT   DROP        EXIT TO TERMINATE DRIVER 
  
 CNIR.7   LDN    ESTP        LOAD ADDRESS OF EST POINTER WORD 
          CRD    T0          READ EST POINTER WORD
          LDD    T0+2        LOAD ENDING EST ORDINAL
          STD    T16         STORE ENDING ORDINAL OF EST
          LDD    T17         LOAD APPLICATION REQUEST BYTE
          SHN    17-/NAM/S.DITSE POSITION SCAN EST REQUEST TO SIGN
          MJN    CNIR.8      EXIT IF REQUEST TO SCAN EST
          LJM    CNIR.21     EXIT TO CHECK EST TURNED OFF 
  
 CNIR.8   LDN    /NAM/W.NPTA LOAD ADDRESS OF NAM POINTER AREA POINTER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM POINTER AREA POINTER WORD 
          LDD    T0+/NAM/C.DPT LOAD HIGH-ORDER OF POINTER AREA ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.DPT+1 PLUS LOW-ORDER OF POINTER AREA ADDRESS 
          ADN    /NAM/W.CETP DELTA FOR COUPLER EQUIPMENT TABLE POINTER
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ COUPLER EQUIPMENT TABLE POINTER WORD
          LDD    T0+/NAM/C.DPT LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.DPT+1 PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ZJN    CNIR.9      EXIT IF NO COUPLER TABLE ADDRESS 
          ADN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          STD    CBA+1       STORE LOW-ORDER OF TABLE CONTROL ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF TABLE CONTROL ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF TABLE CONTROL ADDRESS
          RJM    TFL         EXIT TO FROM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ COUPLER TABLE CONTROL WORD
          SBN    /NAM/W.CETHW DELTA FOR COUPLER TABLE HEADER WORD 
          CRD    T0          READ COUPLER TABLE HEADER WORD 
          LDD    T0+/NAM/C.BID LOAD COUPLER TABLE BLOCK ID BYTE 
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.CETID LESS COUPLER TABLE BLOCK ID 
          ZJN    CNIR.10     EXIT IF VALID BLOCK ID 
  
 CNIR.9   EREXIT CET         EXIT TO ERROR - COUPLER TABLE FORMAT ERROR 
  
 CNIR.10  LDD    T0+/NAM/C.BWD LOAD HIGH-ORDER OF TABLE BLOCK SIZE
          LPN    77B         EXTRACT HIGH-ORDER OF BLOCK SIZE 
          NJN    CNIR.9      EXIT IF TABLE BLOCK SIZE RANGE ERROR 
          LDD    T0+/NAM/C.BWD+1 LOAD LOW-ORDER OF TABLE BLOCK SIZE 
          SBN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          STD    T17         STORE TABLE BLOCK SIZE 
          SBN    /NAM/W.CETE+1-/NAM/W.CETHW LESS MINIMUM TABLE SIZE 
          MJN    CNIR.9      EXIT IF TABLE BLOCK SIZE RANGE ERROR 
          LDD    T17         LOAD TABLE BLOCK SIZE
          ADC    -L.DBCM-1   LESS MAXIMUM TABLE BLOCK SIZE
          PJN    CNIR.9      EXIT IF TABLE BLOCK SIZE RANGE ERROR 
          LDD    T10+/NAM/C.CETCB LOAD COUPLER TABLE CONTROL BYTE 
          LPN    /NAM/B.CETDB&/NAM/B.CETDC EXTRACT TABLE BUSY FLAGS 
          ZJN    CNIR.11     EXIT IF TABLE NOT BUSY 
          LJM    CNIR.21     EXIT TO CHECK EST TURNED OFF 
  
 CNIR.11  LDN    /NAM/B.CETDB LOAD DRIVER SCANNING FLAG 
          STD    T10+/NAM/C.CETCB STORE COUPLER TABLE CONTROL BYTE
          LDD    CBA         LOAD HIGH-ORDER OF TABLE CONTROL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF TABLE CONTROL ADDRESS
          ADD    T17         PLUS COUPLER TABLE BLOCK SIZE
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS COUPLER TABLE BLOCK SIZE
          CWD    T10         REWRITE COUPLER TABLE CONTROL WORD 
          CRM    DRBUF,T17   READ COUPLER EQUIPMENT TABLE 
          LDD    T17         LOAD COUPLER EQUIPMENT TABLE BLOCK SIZE
          SBN    /NAM/W.CETE-/NAM/W.CETHW DELTA FOR TABLE CONTROL WORD
          STD    T6          STORE COUPLER EQUIPMENT TABLE ENTRY COUNT
          LDN    5*/NAM/W.CETE-5*/NAM/W.CETHW OFFSET FOR FIRST ENTRY
          STD    T7          INITIALIZE TABLE ENTRY OFFSET
  
 CNIR.12  LDM    DRBUF+/NAM/C.CETET,T7 LOAD EQUIPMENT BYTE FROM TABLE 
          SHN    17-/NAM/S.CETOF POSITION EQUIPMENT OFF FLAG TO SIGN
          PJN    CNIR.14     EXIT IF EQUIPMENT ON IN COUPLER TABLE
          LDM    DRBUF+/NAM/C.CETEST,T7 EST ORDINAL FROM COUPLER TABLE
          LPC    /NAM/L.CETEST EXTRACT EST ORDINAL
          STD    T5          SAVE EST ORDINAL HERE TEMPORARILY
          STM    CNIR.17A+1  CHANGE INSTRUCTION TO LDC EST ORDINAL
          SBD    T16         LESS ENDING ORDINAL OF EST 
          MJN    CNIR.13     EXIT IF EST ORDINAL IN RANGE 
          UJK    CNIR.9      EXIT TO ERROR - COUPLER TABLE FORMAT ERROR 
  
 CNIR.13  SFA    EST,T5      GET ADDRESS OF EST ENTRY 
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ EQUIPMENT DESCRIPTION WORD
          ADK    EQAE        SECOND WORD OF EST ENTRY 
          CRD    T10         READ SECOND WORD OF EST ENTRY
          LDD    T0          EQUIPMENT STATUS BYTE
          LPN    3           EXTRACT EQUIPMENT STATUS 
          SBN    2           SUBTRACT STATUS VALUE FOR EQUIPMENT OFF
          ZJN    CNIR.14     EXIT IF EQUIPMENT TURNED OFF 
          LDD    T10+2       BYTE CONTAINING DRIVER ORDINAL 
          SHN    -9          POSITION DRIVER ORDINAL TO LOW-ORDER 
          NJN    CNIR.15     EXIT IF DRIVER ORDINAL SPECIFIED 
  
 CNIR.14  LJM    CNIR.19     EXIT TO CHECK ALL TABLES PROCESSED 
  
 CNIR.15  STD    T5          STORE DRIVER ORDINAL 
          SBN    MAXDRV+1    LESS MAXIMUM VALUE FOR DRIVER ORDINAL
          PJN    CNIR.14     EXIT IF NOT VALID DRIVER ORDINAL 
          LDD    T0+3        LOAD EQUIPMENT TYPE FROM EST 
          LMC    2RND        LESS VALUE FOR MDI 
          ZJN    CNIR.16     EXIT IF EQUIPMENT IS MDI 
          LMN    2RND&2RNP   LESS DELTA FOR NPU 
          ZJN    CNIR.16     EXIT IF EQUIPMENT IS NPU 
  
 .MSS     IFEQ   .MSS,1 
  
          LMN    2RNP&2RNQ   LESS DELTA FOR MSS EQUIPMENT TYPE
          ZJN    CNIR.16     EXIT IF MSS EQUIPMENT
  
 .MSS     ENDIF 
  
          UJK    CNIR.14     EXIT TO CHECK ALL TABLES PROCESSED 
  
 CNIR.16  LDD    T5          LOAD DRIVER ORDINAL
          STM    DRBUF+/NAM/C.CETDOR,T7  STORE DRIVER ORD IN CET ENTRY
          LDD    T0+1        BYTE CONTAINING CHANNEL NO FROM EST ENTRY
          LPK    37B         EXTRACT CHANNEL NUMBER 
          SHN    /NAM/S.CETCH  POSITION CHANNEL NO TO CET ENTRY POSITION
          RAM    DRBUF+/NAM/C.CETCH,T7  STORE CHANNEL NO IN CET ENTRY 
          LDD    T0+4        BYTE CONTAINING HOST NODE NO FROM EST ENTRY
          LPC    /NAM/L.CETHN  EXTRACT HOST NODE NUMBER 
          STM    DRBUF+/NAM/C.CETHN,T7  STORE HOST NODE NO IN CET ENTRY 
          LDD    T0+4        LOAD EQUIPMENT NUMBER FROM EST 
          LPC    7000B       EXTRACT EQUIPMENT NUMBER 
          RAM    DRBUF+/NAM/C.CETEN,T7 ADD TO DRIVER ORDINAL
          LDD    T0+3        LOAD EQUIPMENT TYPE FROM EST 
          LMC    2RND        LESS VALUE FOR MDI EQUIPMENT 
          ZJN    CNIR.17     EXIT IF MDI EQUIPMENT
          LDD    T0+0        LOAD EQUIPMENT FLAGS FROM EST
          SHN    -9          SYSTEM AUTO-START MODULE FLAG TO LOW-ORDER 
          LPN    1           EXTRACT SYSTEM AUTO-START MODULE FLAG
          SHN    /NAM/S.CETSAM POSITION TO COUPLER TABLE FORMAT 
          STM    DRBUF+/NAM/C.CETTN,T7  STORE SAM FLAG IN CET ENTRY 
          UJN    CNIR.17H    EXIT TO SKIP STORING TN IN CET ENTRY 
  
 CNIR.17  LDD    T10+2       BYTE CONTAINING CDCNET TERMINAL NODE NO
          LPC    377B        EXTRACT TERMINAL NODE NUMBER 
          SHN    /NAM/S.CETTN  POSITION TERMINAL NODE TO CET ENTRY POS
          STM    DRBUF+/NAM/C.CETTN,T7  STORE TERMINAL NODE IN CET ENTRY
  
 CNIR.17H LDD    T0+3        EQUIPMENT TYPE FROM EST
          ADC    4000B       PLUS EQUIPMENT OFF FLAG
          STM    DRBUF+/NAM/C.CETET,T7 STORE EQUIPMENT TYPE 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+2       STORE NORMAL REQUEST SUBFUNCTION 
          STD    T10+3       ZERO EJT ORDINAL FIELD 
          LDM    DRBUF+/NAM/C.CETEST,T7  EST ORDINAL FROM CET ENTRY 
          LPC    /NAM/L.CETEST  EXTRACT EST ORDINAL 
          STD    T10+1       SAVE FOR REQM MTR FUNCTION 
          LDN    REQM        LOAD MONITOR FUNCTION TO REQUEST EQUIPMENT 
          RJM    MTR         EXIT TO REQUEST EQUIPMENT FROM SYSTEM
          LDD    T10+1       LOAD SYSTEM REPLY BYTE 
          NJN    CNIR.17A    EXIT IF EQUIPMENT ASSIGNED 
          LJM    CNIR.19     EXIT TO CHECK NEXT EQUIPMENT ENTRY 
* 
*                CHECK IF NEWLY TURNED ON EST ENTRY HAS SAME CHANNEL
*                AND EQUIPMENT NUMBER AS ALREADY ACTIVE FRONT END 
* 
 CNIR.17A LDC    0           EST ORD OF CURRENT ENTRY (INSTR CHANGED) 
          STD    T10+1       SAVE EST ORDINAL FOR MONITOR FUNCTION
          SFA    EST,T10+1   CALCULATE ADDRESS OF EST ENTRY 
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ EQUIPMENT DESCRIPTOR WORD 
          LDD    T0+1        BYTE CONTAINING CHANNEL NUMBER 
          LPK    37B         EXTRACT CHANNEL NUMBER 
          STD    T0+1        CLEAR OTHER BITS IN CHANNEL NUMBER BYTE
          LDN    0           INITIALIZE CET TABLE ENTRY OFFSET
          STD    T3          INITIALIZE CET TABLE ENTRY OFFSET
          LDD    T17         SIZE OF CET TABLE IN CM WORDS
          SBN    /NAM/W.CETE-/NAM/W.CETHW  DELTA FOR TABLE CONTROL WORD 
          STD    T2          NO OF ENTRIES IN CET TABLE 
 CNIR.17C LDN    5           SIZE OF CET ENTRY IN PP WORDS
          RAD    T3          OFFSET FOR NEXT CET ENTRY IN TABLE 
          SBD    T7          OFFSET OF CURRENT ENTRY FOUND ON IN EST
          ZJN    CNIR.17F    EXIT IF COMPARING TO ITSELF
          LDM    DRBUF+/NAM/C.CETET,T3  BYTE CONTAINING ON/OFF FLAG 
          SHN    17-/NAM/S.CETOF  POSITION EQUIPMENT OFF FLAG TO SIGN 
          PJN    CNIR.17D    EXIT IF THIS CET ENTRY IS ON 
          LDM    DRBUF+/NAM/C.CETTN,T3 BYTE CONTAINING ENTRY CHANGED FLG
          LPN    /NAM/B.CETEC  ENTRY CHANGED BIT
          ZJN    CNIR.17F    EXIT IF ENTRY HAS NOT BEEN PROCESSED 
 CNIR.17D LDM    DRBUF+/NAM/C.CETCH,T3  BYTE CONTAINING CHANNEL NO
          SHN    -/NAM/S.CETCH  RIGHT JUSTIFY CHANNEL NO FIELD
          SBD    T0+1        CHANNEL NO OF NEWLY TURNED ON EST ENTRY
          NJN    CNIR.17F    EXIT IF CHANNEL NUMBERS DO NOT MATCH 
          LDM    DRBUF+/NAM/C.CETDOR,T3  BYTE CONTAINING DRIVER ORDINAL 
          LMM    DRBUF+/NAM/C.CETDOR,T7  BYTE ORDINAL OF NEW ON ENTRY 
          LPN    17B         EXTRACT DRIVER ORDINAL FIELD 
          NJN    CNIR.17L    EXIT IF DIFFERENT DRIVER FOR SAME CH NO
  
          LDM    DRBUF+/NAM/C.CETEN,T3  BYTE CONTAINING EQUIPMENT NO
          LMD    T0+4        EQUIPMENT NO OF NEWLY TURNED ON EST ENTRY
          SHN    -9D         EXTRACT ONLY EQUIPMENT NUMBER FIELD IN BYTE
          ZJN    CNIR.17O    EXIT IF EQUIPMENT NUMBER MATCH 
  
 CNIR.17F SOD    T2          DECREMENT REMAINING NO OF ENTRIES TO CHECK 
          NJN    CNIR.17C    EXIT IF NOT ALL CET ENTRIES CHECKED
          LJM    CNIR.17U    EXIT TO COMPLETE PROCESSING NEW ENTRY
  
 CNIR.17L LDN    MSGCH-MSGDUP FLAG TO INDICATE DUPLICATE ENTRY DAY MSG
 CNIR.17O STD    T3          SAVE DAYFILE MESSAGE FLAG
          LDD    T10+1       EST ORDINAL OF BAD EST ENTRY 
          SHN    -6          RIGHT JUSTIFY MOST SIGNIFICANT DIGIT 
          ADC    5533B       CONSTANT FOR CONVERTING TO DISPLAY CODE
          STM    MSGDUP+EST0,T3 SAVE PART OF EST ORDINAL IN DAYFILE MSG 
          LDD    T10+1       EST ORDINAL OF BAD EST ENTRY 
          LPN    70B         MIDDLE DIGIT OF EST ORDINAL
          SHN    3           POSITION OF DISPLAY CODE CHARACTER 
          STD    T2          SAVE MIDDLE DIGIT OF EST ORDINAL 
          LDD    T10+1       EST ORDINAL OF BAD EST ENTRY 
          LPN    7           LEAST SIGNIFICANT DIGIT OF EST ORDINAL 
          ADD    T2          ADD MIDDLE DIGIT OF EST ORDINAL
          ADC    3333B       CONSTANT FOR CONVERTING TO DISPLAY CODE
          STM    MSGDUP+EST1,T3 SAVE REST OF EST ORDINAL IN DAYFILE MSG 
          LDC    MSGDUP      ADDRESS OF FIRST DAYFILE MSG 
          ADD    T3          OFFSET FOR SECOND DAYFILE MSG IF NEEDED
          STM    CNIR.17T    CHANGE INSTRUCTION TO CWM ADDR OF DAY MSG
          LDN    /NOS/OFES   SUBFUNCTION CODE TO TURN OFF EQUIPMENT 
          STD    T10+2       INITIALIZE SUBFUNCTION BYTE OF SEQM FUNC 
          LDN    SEQM        FUNCTION TO SET EQUIPMENT PARAMETERS 
          RJM    MTR         EXIT TO TURN EST ENTRY OFF 
          LDN    DEQM        RELEASE EST ENTRY
          RJM    MTR         EXIT TO RELEASE EST ENTRY
          LDN    LDAYMSGW    SIZE OF DAYFILE MESSAGE IN CM WORDS
          STD    T3          SAVE FOR WRITING DAY MSG TO PP MSG BUFFER
          LDN    0           MESSAGE CONTROL = ZERO 
          STD    T12         SAVE FOR DFMM MONITOR REQUEST
          LDD    MA          ADDRESS OF PP MESSAGE BUFFER 
          CWM    *,T3        WRITE DAY MSG TO PP MESSGE BUFFER
 CNIR.17T EQU    *-1         PP WORD TO CONTAIN ADDR OF MSG IN PP MEM 
          LDN    LDAYMSG     LENGTH OF DAYFILE MESSAGE
          STD    T11         SAVE FOR DFMM MONITOR REQUEST
          LDN    DFMM        MONITOR FUNCTION CODE TO ISSUE DAY MSG 
          RJM    MTR         EXIT TO ISSUE DAYFILE MESSAGE
          UJN    CNIR.19     EXIT TO CHECK IF ENTIRE TABLE PROCESSED
  
 CNIR.17U LDM    DRBUF+/NAM/C.CETET,T7  EQUIPMENT TYPE BYTE FROM EST
          LPC    3777B       EXTRACT EQUIPMENT TYPE BITS
          LMC    2RND        LESS VALUE FOR MDI EQUIPMENT 
          NJN    CNIR.18     EXIT IF NOT MDI EQUIPMENT
          LDN    4           LOAD SUBFUNCTION CODE TO CHANGE BYTE ZERO
          STD    T10+2       STORE SUBFUNCTION CODE 
          LDC    7777B&1S9   LOAD MASK TO CLEAR INTERLOCKED FLAG
          STD    T10+3       STORE MASK FOR EQUIPMENT STATUS TABLE BYTE 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+4       STORE NO FLAGS TO SET
          LDN    SEQM        LOAD FUNCTION TO SET EUIPMENT PARAMETERS 
          RJM    MTR         EXIT TO RESET EQUIPMENT INTERLOCKED FLAG 
  
 CNIR.18  LDN    /NAM/B.CETEC LOAD ENTRY CHANGED FLAG 
          RAM    DRBUF+/NAM/C.CETTN,T7  SET ENTRY CHANGED FLAG
          LDN    /NAM/B.CETTC LOAD TABLE CHANGED FLAG 
          STM    DRBUF+/NAM/C.CETCB SET TABLE CHANGED IN CONTROL BYTE 
  
 CNIR.19  SOD    T6          DECREMENT COUPLER TABLE ENTRY COUNT
          ZJN    CNIR.20     EXIT IF ALL ENTRIES PROCESSED
          LDN    5           CONSTANT OF FIVE 
          RAD    T7          INCREMENT TABLE ENTRY OFFSET 
          UJK    CNIR.12     EXIT TO CHECK NEXT COUPLER TABLE ENTRY 
  
 CNIR.20  LDM    DRBUF+/NAM/C.CETCB LOAD COUPLER TABLE CONTROL BYTE 
          SCN    /NAM/B.CETDB CLEAR DRIVER SCANNING FLAG
          ADN    /NAM/B.CETDC PLUS DRIVER COMPLETED FLAG
          STM    DRBUF+/NAM/C.CETCB STORE COUPLER TABLE CONTROL BYTE
          LDD    CBA         LOAD HIGH-ORDER OF TABLE CONTROL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF TABLE CONTROL ADDRESS
          ADD    T17         PLUS COUPLER TABLE BLOCK SIZE
          RJM    TFL         EXIT TO FROM ABSOLUTE CENTRAL ADDRESS
          SBD    T17         LESS COUPLER TABLE BLOCK SIZE
          CWM    DRBUF,T17   REWRITE COUPLER EQUIPMENT TABLE
  
 CNIR.21  LDM    NBT,FEI     LOAD HIGH-ORDER OF NETWORK BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    NBT+1,FEI   PLUS LOW-ORDER OF NETWORK BUFFER ADDRESS 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ EQUIPMENT WORD FROM NETWORK BUFFER
          LDD    T10+/NAM/C.NBTNA LOAD EQUIPMENT BYTE 
          LPC    /NAM/L.NBTEST EXTRACT EST ORDINAL
          STD    T15         STORE EST ORDINAL OF EQUIPMENT 
          SBD    T16         LESS ENDING ORDINAL OF EST 
          MJN    CNIR.23     EXIT IF EST ADDRESS IN RANGE 
  
 CNIR.22  EXIT   GIBS.4      EXIT TO ERROR - NETWORK BUFFER TABLE ERROR 
  
 CNIR.23  SFA    EST,T15     CALCULATE ADDRESS OF EST ENTRY 
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ EQUIPMENT DESCRIPTION WORD
          LDD    T0+3        LOAD EQUIPMENT BYTE FROM EST 
          LPC    3777B       EXTRACT EQUIPMENT TYPE 
          LMC    2RND        LESS VALUE FOR MDI 
          ZJN    CNIR.24     EXIT IF EQUIPMENT IS MDI 
          LMN    2RND&2RNP   LESS DELTA FOR NPU 
          ZJN    CNIR.24     EXIT IF NPU EQUIPMENT
  
 .MSS     IFEQ   .MSS,1 
  
          LMN    2RNP&2RNQ   LESS DELTA FOR MSS EQUIPMENT TYPE
          ZJN    CNIR.24     EXIT IF MSS EQUIPMENT
  
 .MSS     ENDIF 
  
          UJK    CNIR.22     EXIT TO ERROR - UNKNOWN EQUIPMENT
  
 CNIR.24  LDD    T0          EQUIPMENT STATUS BYTE
          LPN    3           EXTRACT EQUIPMENT STATUS 
          SBN    2           SUBTRACT STATUS VALUE FOR EQUIPMENT OFF
          NJN    CNIR.25     EXIT IF EQUIPMENT TURNED ON
          LDM    HND,FEI     LOAD HOST NODE OF FRONT END
          STD    TN          SET TERMINAL NODE TO HOST NODE 
          LDN    0           CONSTANT OF ZERO 
          STD    CN          SET CONNECTION NUMBER TO SERVICE CHANNEL 
          RJM    RCT         EXIT TO READ CONNECTION TABLE ENTRY
          LDN    /TABLES/.ESTO LOAD BLOCK RESPONSE ACTION ORDINAL 
          STD    CTL         STORE BLOCK RESPONSE ACTION ORDINAL
          RJM    EBRA        EXIT TO EXECUTE BLOCK RESPONSE ACTION
  
 CNIR.25  LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+1        LOAD SYSTEM SECOND TIMER 
          ADK    Q.IDT       PLUS IVT DATA CYCLE TIME QUANTUM 
          STM    IDT         STORE IVT DATA CYCLE TIMER 
          UJK    CNIRX       RETURN 
 MSGDUP   DATA   L$PIP -  EST XXX CH/EQ NO. ALREADY IN USE. $ 
          DATA   0           ZERO BYTE TERMINATOR FOR DAYFILE MESSAGE 
 EST0     EQU    5           POSITION OF FIRST EST DIGIT IN DAYFILE MSG 
 EST1     EQU    6           POSITION OF 2ND EST DIGIT IN DAYFILE MSG 
 MSGCH    DATA   L$PIP -  EST XXX CH. IN USE BY ANOTHER PIP.$ 
          DATA   0           ZERO BYTE TERMINATOR FOR DAYFILE MESSAGE 
 LDAYMSG  EQU    *-MSGCH     LENGTH OF DAYFILE MESSAGE.  BOTH MESSAGES
                             MUST BE THE SAME LENGTH. 
 .LDAYMS  EQU    LDAYMSG+4   LENGTH FOR CONVERTING TO NO OF WORDS 
 LDAYMSGW EQU    .LDAYMS/5   LENGTH OF DAYFILE MSG IN CM WORDS
  
 GNIW     SPACE  2,24 
**               SUBROUTINE GNIW. 
* 
*                SUBROUTINE GNIW RETURNS THE APPLICATION REQUEST WORD,
*                THE DRIVER ACKNOWLEDGE WORD AND THE ADDRESS OF THE 
*                DRIVER ACKNOWLEDGE WORD. 
* 
*                  ENTRY -
* 
*                    (DIT-DIT+1) = ADDRESS OF DRIVER INTERFACE TABLE. 
* 
*                  EXIT - 
* 
*                      (T0-T0+4) = APPLICATION REQUEST WORD,
*                    (T10-T10+4) = DRIVER ACKNOWLEDGE WORD, 
*                    (T15-T15+1) = DRIVER ACKNOWLEDGE WORD ADDRESS. 
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 GNIW     SUBR               ENTRY/EXIT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDR OF INTERFACE TABLE ADDRESS 
          ADN    /NAM/W.DITNTP DELTA FOR APPLICATION REQUEST WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ APPLICATION REQUEST WORD
          SBN    /NAM/W.DITNTP DELTA FOR DRIVER ACKNOWLEDGE WORD
          CRD    T10         READ DRIVER ACKNOWLEDGE WORD 
          STD    T15+1       STORE LOW-ORDER OF ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF ADDRESS
          UJK    GNIWX       RETURN 
 GLTA     SPACE  2,22 
**               SUBROUTINE GLTA. 
* 
*                SUBROUTINE GLTA RETURNS THE ABSOLUTE ADDRESS OF THE PRU
*                LIMBO BUFFER TABLE AREA IN THE DRIVER INTERFACE TABLE. 
* 
*                  ENTRY -
* 
*                    (DIT-DIT+1) = DRIVER INTERFACE TABLE ADDRESS,
*                           (T7) = CENTRAL LENGTH OF LIMBO BUFFER TABLE.
* 
*                  EXIT - 
* 
*                    (A) = ADDRESS OF LIMBO BUFFER TABLE AREA.
* 
*                  CALLS -
* 
**                   TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 GLTA     SUBR               ENTRY/EXIT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/L.DITE DELTA FOR LIMIT OF FREE BUFF AREA
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    L.FREE      SET ADDRESS TO START OF FREE BUFF AREA 
          UJK    GLTAX       RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DRIVER SUPPORT PRO
,CESSORS) 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .NPRU    SET    0
 PSNO     SPACE  2,38 
**               DRIVER SUPPORT PROCESSOR PSNO. 
* 
*                DRIVER SUPPORT PROCESSOR PSNO INITIALIZES FOR THE NEXT 
*                PRU OUTPUT DATA BLOCK.  A DRIVER LIMBO BUFFER IS 
*                OBTAINED, RANDOM FLAG IS STORED IN FIRST POINTER WORD, 
*                THE CIO ORDER REQUEST CODE IS STORED AND THE PRU BUFFER
*                IS LINKED TO THE PCB.
* 
*                  ENTRY -
* 
*                          (PRU) = PRU SIZE ORDINAL OF BUFFER,
*                         (DROR) = DRIVER ORDINAL,
*                          (BTI) = BUFFER TABLE INDEX,
*                    (PCB-PCB+1) = OWNING PCB ADDRESS.
* 
*                  EXIT - 
* 
*                      (W.PRFS+C.FSB) = CIO REQUEST CODE, 
*                    (W.PRFRST+C.FPP) = RANDOM FLAG SET,
*                       (W.FFP+C.FFP) = CURRENT FILE POSITION.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF LIMBO BUFFER TABLE ERROR, 
*                    EXIT TO *ERROR* IF LIMBO BUFFER FORMAT ERROR,
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
**                   WCMW - WRITE WORD TO PCB.
  
  
 PSNO     LINK               ENTRY
          LDN    Q.OTB       LOAD OUTBOUND BUFFER ID
          SHN    S.BTP-S.PBS POSITION BUFFER TYPE 
          LMD    PRU         ADD PRU SIZE ORDINAL TO BUFFER TYPE
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          LMM    DROR        ADD DRIVER ORDINAL TO BUFFER STATUS
          STD    T7          STORE REQUESTED BUFFER STATUS VALUE
          RJM    GFO         EXIT TO GET A FREE BUFFER ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER HEADER WORD FROM BUFFER
          LDD    PRU         LOAD PRU SIZE ORDINAL
          SHN    S.PBS       POSITION PARTIAL BUFFER STATUS 
          LMD    T10+C.BST   LESS LIMBO BUFFER STATUS VALUE 
          ZJN    PSNO.2      EXIT IF LIMBO BUFFER ASSIGNED TO DRIVER
  
 PSNO.1   EREXIT LBE         EXIT TO ERROR ROUTINE - LIMBO BUFFER ERROR 
  
 PSNO.2   LDD    T7          LOAD REQUESTED BUFFER STATUS VALUE 
          STD    T10+C.BST   STORE BUFFER STATUS VALUE
          LDD    PCB         LOAD HIGH-ORDER OF PCB ADDRESS 
          STD    T10+C.PCB   STORE HIGH-ORDER OF PCB ADDRESS
          LDD    PCB+1       LOAD LOW-ORDER OF PCB ADDRESS
          STD    T10+C.PCB+1 STORE LOW-ORDER OF PCB ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+C.DLK   ZERO HIGH-ORDER OF BUFFER LINK ADDRESS 
          STD    T10+C.DLK+1 ZERO LOW-ORDER OF BUFFER LINK ADDRESS
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.CLQ       DELTA FOR COMMAND LINK QUEUE FROM BUFFER 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    W.CLQ       DELTA FOR DRIVER HEADER WORD FROM BUFFER 
          CWD    T10         REWRITE DRIVER HEADER WORD TO BUFFER 
          ADN    W.CLQ       DELTA FOR COMMAND LINK QUEUE FROM BUFFER 
          CRD    T0          READ QUEUED COMMAND WORD FROM BUFFER 
          LDD    T0+C.QIO    LOAD QUEUED COMMAND IN/OUT BYTE
          ZJN    PSNO.3      EXIT IF COMMAND QUEUE EMPTY
          UJK    PSNO.1      EXIT TO ERROR ROUTINE - LIMBO BUFFER ERROR 
  
 PSNO.3   BSS    0           CONTINUE 
  
 .PBSTAT  IFEQ   .PBSTAT,1
  
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T10         READ SYSTEM REAL-TIME CLOCK
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITON TO HIGH-ORDER
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.TML       DELTA FOR LAST TIME ASSIGNED WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE LAST TIME ASSIGNED WORD TO BUFFER
  
 .PBSTAT  ENDIF 
  
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.PROUT     PLUS DELTA FOR OUT POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ OUT DATA POINTER WORD 
          SBN    W.PROUT-W.PRFRST DELTA FOR FIRST POINTER WORD
          CRD    T10         READ FIRST POINTER WORD
          STD    T5+1        STORE LOW-ORDER OF FIRST POINTER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T5          STORE HIGH-ORDER OF FIRST POINTER ADDRESS
          LDD    T10+C.PRUFP LOAD HIGH-ORDER OF FIRST DATA POINTER
          LPN    77B         EXTRACT HIGH-ORDER OF FIRST DATA POINTER 
          STD    T0+C.PRUOP  STORE HIGH-ORDER OF OUT DATA POINTER 
          LDD    T10+C.PRUFP+1 LOAD LOW-ORDER OF FIRST DATA POINTER 
          STD    T0+C.PRUOP+1 STORE LOW-ORDER OF OUT DATA POINTER 
          LDD    T5          LOAD HIGH-ORDER OF FIRST POINTER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF FIRST DATA POINTER 
          ADN    W.PROUT-W.PRFRST DELTA FOR OUT DATA POINTER WORD 
          CWD    T0          WRITE OUT DATA POINTER WORD
          SBN    W.PROUT-W.PRIN DELTA FOR IN DATA POINTER WORD
          CWD    T0          WRITE IN DATA POINTER WORD 
          LDD    FBA         LOAD HIGH-ORDER OF BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF BUFFER ADDRESS 
          ADN    W.PRFRST    DELTA FOR FIRST POINTER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ FIRST POINTER WORD
          SBN    W.PRFRST-W.PRFS DELTA FOR FILE STATUS WORD 
          CRD    T5          READ FILE STATUS WORD
          STD    CBA+1       STORE LOW-ORDER ABSOLUTE BUFFER ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          LDC    B.RP        LOAD RANDOM PROCESSING FLAG
          RAD    T0+C.FPP    STORE RANDOM PROCESSING FLAG 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    PSNO.4      EXIT IF NOT APPLICATION TO APPLICATION 
          LPN    /NAM/L.PCBXDD EXTRACT APPLICATION DATA DECLARATION 
          ZJN    PSNO.7      EXIT IF CONTROL WORD FORMAT
  
 PSNO.4   LDN    .CIORD      LOAD CIO READ REQUEST CODE 
  
 PSNO.5   STD    T5+C.FSB+1  STORE CIO READ REQUEST CODE
          LDN    0           CONSTANT OF ZERO 
          STD    T5+C.FSB    CLEAR REST OF STATUS INFORMATION 
          LDD    CBA         LOAD HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF ABSOLUTE BUFFER ADDRESS
          CWD    T5          REWRITE FILE STAUS WORD
          ADN    W.PRFRST-W.PRFS DELTA FOR FIRST POINTER WORD 
          CWD    T0          REWRITE FIRST POINTER WORD 
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          ZJN    PSNO.6      EXIT IF NO BUFFER QUEUED TO PCB
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 PSNO.6   LDD    FBA         LOAD HIGH-ORDER OF NEXT BUFFER ADDRESS 
          STD    T10+/NAM/C.PCBCDB STORE HIGH-ORDER OF CURRENT BUFFER 
          STD    T10+/NAM/C.PCBLDB STORE HIGH-ORDER LAST BUFFER ADDRESS 
          LDD    FBA+1       LOAD LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    T10+/NAM/C.PCBCDB+1 STORE LOW-ORDER OF CURRENT BUFFER
          STD    T10+/NAM/C.PCBLDB+1 STORE LOW-ORDER LAST BUFFER ADDRESS
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          UJK    /STATES/SRMS EXIT TO REQUEST MASS STORAGE
  
 PSNO.7   LDC    .CIORCW     LOAD CIO READ REQUEST CODE 
          UJK    PSNO.5      EXIT TO STORE CIO READ REQUEST CODE
 PCMS     SPACE  2,26 
**               DRIVER SUPPORT PROCESSOR PCMS. 
* 
*                DRIVER SUPPORT PROCESSOR PCMS WAITS FOR A MASS STORAGE 
*                OPERATION TO COMPLETE.  IF AN ERROR OCCURES THE ERROR
*                CODE IS TRANSFERRED TO THE PCB.
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR. 
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 PCMS     LINK               ENTRY
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          SHN    -S.EIR      POSITION EOI RECEIVED TO LOW-ORDER 
          STD    T17         STORE EOI RECEIVED FLAG
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          LPN    37B         EXTRACT ADDRESS BITS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          NJN    PCMS.2      EXIT IF DATA BUFFER QUEUED 
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 PCMS.1   LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          SHN    -/NAM/S.IBC OUTSTANDING BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING BACK COUNT 
          ZJN    PCMS.1A     EXIT IF NO OUTSTANDING BACKS 
          UJK    /STATES/SPIQ.7 EXIT TO ISSUE BACK TO FE
  
 PCMS.1A  EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 PCMS.2   ADN    W.FFP       DELTA FOR DETAIL ERROR STATUS WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ DETAIL ERROR STATUS WORD
          SBN    W.FFP-W.PRFS DELTA FOR FILE STATUS WORD
          CRD    T5          READ FILE STATUS WORD
          LDD    T5+C.FSB+1  LOAD LOW-ORDER OF FILE STATUS
          LPN    1           EXTRACT COMPLETED BIT
          ZJN    PCMS.1      EXIT IF OPERATION NOT COMPLETED
          LDD    T5+C.FSB+1  LOAD LOW-ORDER OF FILE STATUS
          SHN    -9-1        POSITION ERROR STATUS TO LOW-ORDER 
          NJN    PCMS.6      EXIT IF ERROR STATUS RETURNED
          LDD    T5+C.FSB+1  LOAD LOW-ORDER OF FILE STATUS
          SHN    -8-1        POSITION EOI READ FLAG TO LOW-ORDER
          NJN    PCMS.5      EXIT IF EOI READ 
          LDD    T17         LOAD EOI RECEIVED FLAG 
          NJN    PCMS.5      EXIT IF EOI RECEIVED 
  
 PCMS.3   LDN    /TABLES/.SMSC ACTION ORDINAL FOR MASS STORAGE COMPLETE 
  
 PCMS.4   UJK    /STATES/SCWL.4 EXIT TO EXECUTE STREAM RESPONSE ACTION
  
 PCMS.5   LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          NJN    PCMS.7      EXIT IF APPLICATION CONNECTION 
          LDN    /TABLES/.SMSE ACTION ORDINAL FOR MASS STORAGE EOI
          UJK    PCMS.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 PCMS.6   LDD    T0+C.DEC    LOAD DETAIL ERROR CODE 
          LPC    0#FF        EXTRACT MASS STORAGE ERROR CODE
          STD    T17         STORE MASS STORAGE ERROR CODE
          LDN    /NAM/W.PCBPS4 PRU STREAM PARAMETER FOUR WORD ORDINAL 
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T17         LOAD MASS STORAGE ERROR CODE 
          STD    T10+/NAM/C.PCBMEC STORE MASS STORAGE ERROR CODE
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          NJN    PCMS.8      EXIT IF APPLICATION CONNECTION 
          LDN    /TABLES/.SMER ACTION ORDINAL FOR MASS STORAGE ERROR
          UJK    PCMS.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 PCMS.7   LDN    /TABLES/.SFTE ACTION ORDINAL FOR END OF FILE TRANSFER
          UJK    PCMS.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
  
 PCMS.8   LDN    /TABLES/.SFTR ACTION ORDINAL FOR FILE TRANSFER ERROR 
          UJK    PCMS.4      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 TMSS     SPACE  2,34 
**               DRIVER SUPPORT PROCESSOR TMSS. 
* 
*                DRIVER SUPPORT PROCESSOR TMSS PROCESSES THE TERMINATION
*                OF A PRU STREAM.  IF DATA IS QUEUED TO THE PCB THE 
*                STREAM STATE RESPONSE ACTION FOR QUEUED DATA IS
*                EXECUTED.  IF THE STREAM HAS ISSUED A PRU ON COMMAND 
*                TO THE NPU A PRU OFF COMMAND IS ISSUED TO THE NPU.  IF 
*                A BREAK HAS BEEN RECEIVED A RESET IS SENT TO THE NPU.
*                THE INBOUND BUFFER IS CHECKED FOR SPACE FOR THE PRU
*                STREAM TERMINATED WORKLIST.  IF THE BUFFER SPACE IS
*                AVAILABLE THE WORKLIST IS INITIALIZED, THE COUNT OF PRU
*                STREAMS IS DECREMENTED AND THE STREAM STATE RESPONSE 
*                ACTION FOR PRU STREAM TERMINATED IS EXECUTED.
* 
*                  EXIT - 
* 
*                    (PRUSTS) = DECREMENTED.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     IWL - INITIALIZE WORKLIST.
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 TMSS     LINK               ENTRY
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBCDB LOAD HIGH-ORDER OF CURRENT BUFFER
          ADD    T10+/NAM/C.PCBCDB+1 PLUS LOW-ORDER OF CURRENT BUFFER 
          ZJN    TMSS.2      EXIT IF NO DATA QUEUED TO PCB
          LDN    /TABLES/.SQID STREAM ACTION ORDINAL FOR QUEUED DATA
  
 TMSS.1   UJK    /STATES/SCWL.4 EXIT TO EXECUTE STREAM RESPONSE ACTION
  
 TMSS.2   LDI    FEI         LOAD FRONT END STATE 
          NJN    TMSS.4      EXIT IF FRONT END NOT OPERATIONAL
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          LPN    /NAM/B.PCBBRR EXTRACT BREAK RECEIVED FLAG
          ZJN    TMSS.3      EXIT IF NOT BREAK RECEIVED 
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SCN    /NAM/M.OBN&/NAM/L.OBC RESET OUTPUT SERIAL & BACK COUNT 
          ADN    /NAM/I.OBN  SET OUTPUT SERIAL NUMBER TO ONE
          STD    BSBC        STORE BLOCK SERIAL NUMBERS AND BACK COUNTS 
          LDN    /BLOCK/L.RST TEXT CHARACTER LENGTH OF RESET
          STM    NNH+/NAM/C.MCC STORE OUTPUT TEXT CHARACTER LENGTH
          LDN    /BLOCK/RST  LOAD RESET BLOCK TYPE
          UJK    /STATES/SOPC.3 EXIT TO ISSUE RESET TO NPU
  
 TMSS.3   LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          LPN    /NAM/B.PCBFTO EXTRACT PRU MODE 
          ZJN    TMSS.4      EXIT IF PRU MODE NOT ON
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          LMD    NBL         LESS NETWORK BLOCK LIMIT 
          ZJN    TMSS.5      EXIT IF NETWORK BLOCK LIMIT REACHED
          LDN    /TABLES/FTOF LOAD COMMAND ORDINAL TO TURN PRU MODE OFF 
          UJK    /STATES/SOPC.2 EXIT TO STORE COMMAND ORDINAL 
  
 TMSS.4   LDN    /NAM/WHCM   LENGTH OF PRU STREAM TERMINATED WORKLIST 
          RJM    CIBS        EXIT TO CHECK INBOUND BUFFER SPACE 
          PJN    TMSS.6      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
  
 TMSS.5   EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 TMSS.6   LDN    /NAM/WHCM   LENGTH OF PRU TERMINATED WORKLIST
          STM    NBH+/NAM/C.BWD+1 STORE WORKLIST WORD LENGTH
          LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBTRC LOAD TERMINATE PRU REASON CODE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADN    /NAM/PTWL   PLUS PRU STREAM TERMINATED WORKLIST REQUEST
          RJM    IWL         EXIT TO INITIALIZE WORKLIST
          LDN    /TABLES/.SPST STREAM ACTION ORDINAL FOR PRU TERMINATED 
          UJK    TMSS.1      EXIT TO EXECUTE STREAM RESPONSE ACTION 
 TSR      SPACE  2,34 
**               DRIVER SUPPORT PROCESSOR TSR.
* 
*                DRIVER SUPPORT PROCESSOR TSR TRANSFERS THE START OF
*                DATA REPLY TO THE REMOTE APPLICATION.  IF THERE IS 
*                AN IMMEDIATED WORKLIST QUEUED FOR THE STREAM IT IS 
*                PROCESSED.  IF THE NETWORK BLOCK LIMIT HAS NOT BEEN
*                REACHED THE LEVEL SEVEN COMMAND ORDINAL IS STORED, THE 
*                COMMAND ACTION PROCESSOR IS CALLED AND THE LEVEL SEVEN 
*                COMMAND IS TRANSFERRED TO THE REMOTE APPLICATION.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM. 
* 
*                  EXIT - 
* 
*                    (CO) = LEVEL SEVEN COMMAND ORDINAL.
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    EOCP - EXECUTE LEVEL SEVEN COMMAND PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO NPU. 
* 
*                  PROCESSOR CALLS -
* 
**                   LEVEL SEVEN OUTPUT COMMAND PROCESSOR.
  
  
 TSR      LINK               TRANSFER START DATA REPLY TO REMOTE
          LDN    /TABLES/SRL7 LOAD START DATA REPLY COMMAND ORDINAL 
  
 TSR.1    LINK               ENTRY
          STD    T17         STORE LEVEL SEVEN COMMAND ORDINAL
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          ZJN    TSR.2       EXIT IF NO WORKLIST OR REGULATION
          UJK    /STATES/SCWL.1 EXIT TO PROCESS WORKLIST OR REGULATION
  
 TSR.2    LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          LMD    NBL         LESS NETWORK BLOCK LIMIT 
          ZJN    TSR.3       EXIT IF NETWORK BLOCK LIMIT REACHED
          LDD    T17         LOAD LEVEL SEVEN COMMAND ORDINAL 
          UJK    /STATES/SOPC.2 EXIT STORE LEVEL SEVEN COMMAND ORDINAL
  
 TSR.3    UJK    /STATES/SPIQ.6 EXIT TO CHECK FOR BACK OWED 
 ICR      SPACE  2,34 
**               DRIVER SUPPORT PROCESSOR ICR.
* 
*                DRIVER SUPPORT PROCESSOR ICR TRANSFERS THE CHECKMARK 
*                REPLY TO THE REMOTE APPLICATION.  IF THERE IS AN 
*                IMMEDIATED WORKLIST QUEUED FOR THE STREAM IT IS
*                PROCESSED.  IF THE NETWORK BLOCK LIMIT HAS NOT BEEN
*                REACHED THE LEVEL SEVEN COMMAND ORDINAL IS STORED, THE 
*                COMMAND ACTION PROCESSOR IS CALLED AND THE LEVEL SEVEN 
*                COMMAND IS TRANSFERRED TO THE REMOTE APPLICATION.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM. 
* 
*                  EXIT - 
* 
*                    (CO) = LEVEL SEVEN COMMAND ORDINAL.
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    EOCP - EXECUTE LEVEL SEVEN COMMAND PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO NPU. 
* 
*                  PROCESSOR CALLS -
* 
**                   LEVEL SEVEN OUTPUT COMMAND PROCESSOR.
  
  
 ICR      LINK               TRANSFER CHECKMARK REPLY TO REMOTE 
          LDN    /TABLES/MRL7 LOAD CHECKMARK REPLY COMMAND ORDINAL
          EXIT   TSR.1       EXIT TO STORE LEVEL SEVEN COMMAND ORDINAL
 OIC      SPACE  2,28 
**               DRIVER SUPPORT PROCESSOR OIC.
* 
*                DRIVER SUPPORT PROCESSOR OIC PROCESSES A QUEUED PRU
*                INTERRUPT COMMAND TO THE NPU.  IF THERE IS A IMMEDIATE 
*                WORKLIST COMMAND QUEUED FOR THE STREAM IT IS PROCESSED.
*                IF THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE
*                WORKLIS, COMPLETED WORKLIST THE WORKLIST PARAMETER WORD
*                IS OBTAINED FROM THE PCB, THE INTERRUPT COMMAND CONTROL
*                CODE AND WORKLIST POINTER WORD ORDINAL ARE STORED AND
*                THE PRU INTERRUPT COMMAND IS TRANSFERRED TO THE NPU. 
* 
*                  EXIT - 
* 
*                    (NCH) = INTERRUPT COMMAND CONTROL CODE,
*                    (WLP) = WORKLIST POINTER WORD ORDINAL. 
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     GTE - GET DRIVER CONTROL TABLE ENTRY, 
**                    CEH - TRANSFER OUTPUT TO NPU. 
  
  
 OIC      LINK               OUTPUT PRU STREAM INTERRUPT COMMAND TO NPU 
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          ZJN    OIC.1       EXIT IF NO WORKLIST OR REGULATION
          UJK    /STATES/SCWL.1 EXIT TO RPOCESS WORKLIST OR REGULATION
  
 OIC.1    LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETE WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    OIC.2       EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
  
 OIC.2    LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBWP LOAD WORKLIST PARAMETER BYTE
          LPN    77B         EXTRACT INTERRUPT COMMAND CONTROL CODE 
          ADC    /TABLES/NPOC PLUS FWA OF OUTPUT COMMAND MESSAGE TABLE
          RJM    GTE         EXIT TO GET DRIVER CONTROL TABLE ENTRY 
          STM    NCH         STORE INTERRUPT COMMAND CONTROL CODE 
          LDD    T10+/NAM/C.PCBWP LOAD WORKLIST PARAMETER BYTE
          SHN    -6          POSITION WORKLIST PARAMETER WORD ORDINAL 
          STD    WLP         STORE WORKLIST POINTER WORD ORDINAL
          LDN    /BLOCK/L.ICMD LENGTH OF INTERRUPT COMMAND TEXT 
          STM    NNH+/NAM/C.MCC STORE OUTPUT TEXT CHARACTER LENGTH
          LDN    /BLOCK/ICMD LOAD INTERRUPT COMMAND BLOCK TYPE
          UJK    /STATES/SOPC.3 EXIT TO ISSUE INTERRUPT COMMAND TO NPU
 WNA      SPACE  2,36 
**               DRIVER SUPPORT PROCESSOR WNA.
* 
*                DRIVER SUPPORT PROCESSOR WNA WAITS FOR NO OUTPUT 
*                ACTIVITY ON THE PRU STREAM.  THE OLD STATE IS SET TO 
*                THE CURRENT STATE.  THE IMMEDIATE AND HIGH PRIORITY
*                WORKLIST QUEUES ARE CHECKED FOR WORKLISTS TO PROCESS.
*                IF THERE ARE NO OUTSTANDING OUTPUT BACKS AND THE STREAM
*                IS AN APPLICATION TO APPLICATION STREAM A CHECK IS 
*                MADE FOR OUTSTANDING CHECKMARK REPLYS.  IF THERE ARE NO
*                OUTSTANDING CHECKMARK REPLYS THE STREAM STATE RESPONSE 
*                ACTION FOR NO OUTPUT ACTIVITY IS EXECUTED.  OTHERWISE
*                IF THERE ARE OUTSTANDING BACKS OWED ON THE STREAM AN 
*                ATTEMPT IS MADE TO TRANSFER A BACK TO THE NPU. 
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    SCSS - SET OLD STATE TO CURRENT STREAM STATE,
*                    CIHQ - CHECK IMMEDIATE AND HIGH PRIORITY QUEUE,
*                    RPCB - READ WORD FROM PCB, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT,
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                     CEH - TRANSFER OUTPUT TO NPU. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 WNA      LINK               WAIT FOR NO OUTPUT ACTIVITY
          RJM    SCSS        EXIT TO SET OLD STATE TO CURRENT STATE 
 WNO      SPACE  2,36 
**               DRIVER SUPPORT PROCESSOR WNO.
* 
*                DRIVER SUPPORT PROCESSOR WNO WAITS FOR NO OUTPUT 
*                ACTIVITY ON THE PRU STREAM.  THE IMMEDIATE AND HIGH
*                PRIORITY WORKLIST QUEUES ARE CHECKED FOR WORKLISTS TO
*                PROCESS.  IF THERE ARE NO OUTSTANDING OUTPUT BACKS 
*                AND THE STREAM IS AN APPLICATION TO APPLICATION STREAM 
*                A CHECK IS MADE FOR OUTSTANDING CHECKMARK REPLYS.  IF
*                THERE ARE NO OUTSTANDING CHECKMARK REPLYS THE STREAM 
*                STATE RESPONSE ACTION FOR NO OUTPUT ACTIVITY IS
*                EXECUTED.  OTHERWISE IF THERE ARE OUTSTANDING BACKS
*                OWED ON THE STREAM AN ATTEMPT IS MADE TO TRANSFER A
*                BACK TO THE NPU. 
* 
*                  ENTRY -
* 
*                    (BSBN) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    RPCB - READ WORD FROM PCB, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT,
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                     CEH - TRANSFER OUTPUT TO NPU. 
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 WNO      LINK               WAIT NO OUTPUT ACTIVITY
          RJM    CIWL        EXIT TO CHECK IMMEDIATE WORKLIST QUEUE 
          NJN    WNO.0H      RETURN IF WORKLIST OR REGULATION 
          LDN    /NAM/W.PCBHWP DELTA FOR HIGH-PRIORITY WORKLIST POINTER 
          STD    WLP         STORE WORKLIST POINTER WORD DISPLACEMENT 
          RJM    RWLP        EXIT TO READ WORKLIST QUEUE POINTER WORD 
          ZJN    WNO.1       EXIT IF NO WORKLIST OR NOT REGULATION
 WNO.0H   UJK    /STATES/SCWL.1  EXIT TO PROCESS WORKLIST OR REGULATION 
  
 WNO.1    LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          LPC    /NAM/L.IBC*/NAM/I.IBC+/NAM/L.OBC*/NAM/I.OBC BACK COUNTS
          NJN    WNO.3       EXIT IF OUTSTANDING BACKS
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    WNO.2       EXIT IF NOT APPLICATION TO APPLICATION 
          LDN    /NAM/W.PCBPS5 PRU STREAM PARAMETER FIVE WORD ORDINAL 
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBOCM LOAD OUTSTANDING CHECKMARK COUNT 
          NJN    WNO.3       EXIT IF OUTSTANDING CHECKMARKS 
  
 WNO.2    LDN    /TABLES/.SNOA ACTION ORDINAL FOR NO OUTPUT ACTIVITY
          UJK    /STATES/SCWL.4 EXIT TO EXECUTE STREAM RESPONSE ACTION
  
 WNO.3    UJK    /STATES/SPIQ.6 EXIT TO CHECK FOR BACK OWED 
 PPOS     SPACE  2,20 
**               DRIVER SUPPORT PROCESSOR PPOS. 
* 
*                DRIVER SUPPORT PROCESSOR PPOS PROCESSES THE QUEUE FOR
*                PRU OUTPUT STREAMS.  IF AN APPLICATION WORKLIST IS 
*                AVAILABLE IT IS PROCESSED.  IF THERE ARE OUTSTANDING 
*                BACKS OWED ON THE STREAM AN ATTEMPT IS MADE TO TRANSFER
*                A BACK TO THE FRONT END.  IF THE CONNECTION IS AN
*                APPLICATION TO APPLICATION CONNECTION AND THE NETWORK
*                BLOCK LIMIT HAS NOT BEEN REACHED FOR THE STREAM A CHECK
*                IS MADE FOR A CHECKMARK REQUIRED.  IF A CHECKMARK IS 
*                REQUIRED AND THE LAST CHECKMARK HAS BEEN ACKNOWLEDGED
*                AN ATTEMPT IS MADE TO ISSUE THE CHECKMARK COMMAND TO 
*                THE FRONT END.  IF A CHECKMARK IS NOT REQUIRED A CHECK 
*                IS MADE TO SEE IF THE CHECKMARK WINDOW SIZE HAS BEEN 
*                REACHED.  IF THE CHECKMARK WINDOW SIZE HAS BEEN REACHED
*                THE NEXT PRU STREAM IS PROCESSED.  OTHERWISE THE STREAM
*                STATE RESPONSE ACTION FOR OUTPUT ALLOWED IS EXECUTED.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM, 
*                     (AAC) = APPLICATION TO APPLICATION FLAG.
* 
*                  CALLS -
* 
*                    CIWL - CHECK FOR IMMEDIATE WORKLIST ENTRY, 
*                     CEH - TRANSFER OUTPUT TO FRONT END, 
*                    CWLQ - CHECK FOR NORMAL WORKLIST ENTRY,
*                    RPCB - READ WORD FROM PCB, 
*                    ESRA - EXECUTE STREAM RESPONSE ACTION PROCESSOR, 
*                    CL7T - CHECK FOR LEVEL SEVEN TIMEOUT.
* 
*                  PROCESSOR CALLS -
* 
**                   STREAM STATE RESPONSE ACTION PROCESSOR.
  
  
 PPOS     LINK               ENTRY
          RJM    CIWL        EXIT TO CHECK FOR IMMEDIATE WORKLIST ENTRY 
          ZJN    PPOS.2      EXIT IF NO WORKLIST OR NOT REGULATION
  
 PPOS.1   LJM    /STATES/SCWL.1 EXIT TO PROCESS WORKLIST OR REGULATION
  
 PPOS.2   LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          SHN    -/NAM/S.IBC OUTSTANDING INPUT BACK COUNT TO LOW-ORDER
          LPN    /NAM/L.IBC  EXTRACT OUTSTANDING INPUT BACK COUNT 
          ZJN    PPOS.3      EXIT IF NO OUTSTANDING BACKS OWED
          LJM    /STATES/SPIQ.7 EXIT TO ISSUE BACK TO FRONT END 
  
 PPOS.3   RJM    CWLQ        EXIT TO CHECK FOR NORMAL WORKLIST ENTRY
          NJN    PPOS.1      EXIT IF WORKLIST TO PROCESS
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK FLAGS 
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          SBD    NBL         LESS NETWORK BLOCK LIMIT FOR STREAM
          PJN    PPOS.6      EXIT IF NETWORK BLOCK LIMIT REACHED
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          ZJN    PPOS.5      EXIT IF NOT APPLICATION TO APPLICATION 
          LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS6-/NAM/W.PCBPS5 DELTA FOR WORD FIVE
          CRD    T0          READ PRU PARAMETER WORD FROM PCB 
          SBN    /NAM/W.PCBPS5-/NAM/W.PCBIWP DELTA FOR WINDOW SIZE
          CRD    T0+/NAM/C.PCBOCM+1 READ WINDOW SIZE WORD FROM PCB
          LDD    T10+/NAM/C.PCBCMC LOAD CHECKMARK CONTROL BYTE
          ZJN    PPOS.5      EXIT IF NO CHECKMARKING
          LPN    77B         EXTRACT BLOCKS UNTIL CHECKMARK REQUIRED
          NJN    PPOS.4      EXIT IF CHECKMARK NOT REQUIRED 
          LDD    T0+/NAM/C.PCBOCM LOAD OUTSTANDING CHECKMARK COUNT
          NJN    PPOS.6      EXIT IF LAST CHECKMARK NOT ACKNOWLEDGED
          LDN    /TABLES/MSL7 LOAD CHECKMARK COMMAND ORDINAL
          LJM    /STATES/SOPC.2 EXIT TO STORE LEVEL SEVEN COMMAND ORDINAL 
  
 PPOS.4   LDD    T0+/NAM/C.PCBOCM+1+/NAM/C.PCBFTP LOAD PARAMETER BYTE 
          SHN    -/NAM/S.PCBCWS CHECKMARK WINDOW SIZE TO LOW-ORDER
          LMD    T0+/NAM/C.PCBOCM LESS OUTSTANDING CHECKMARK COUNT
          ZJN    PPOS.6      EXIT IF CHECKMARK WINDOW REACHED 
  
 PPOS.5   LDN    /TABLES/.SOPA STREAM ACTION ORDINAL FOR OUTPUT ALLOWED 
          LJM    /STATES/SCWL.4 EXIT TO EXECUTE STREAM RESPONSE ACTION
  
 PPOS.6   LJM    /STATES/SPIQ.8 EXIT TO CHECK FOR LEVEL SEVEN TIMEOUT 
 GFO      SPACE  2,20 
**               SUBROUTINE GFO 
* 
*                SUBROUTINE GFO SEARCHES FOR A FREE PRU BUFFER OF THE 
*                SPECIFIED TYPE AND DELINKS IT FROM THE FREE BUFFER 
*                CHAIN.  THE ID CODE OF THE DELINKED BUFFER IS CHANGED
*                AND ITS ADDRESS IS RETURNED. 
* 
*                  ENTRY -
* 
*                    (BTI) = BUFFER TABLE INDEX.
* 
*                  EXIT - 
* 
*                            (A) = DRIVER HEADER ADDRESS OF THE BUFFER, 
*                    (FBA-FBA+1) = DRIVER HEADER ADDRESS OF THE BUFFER. 
* 
*                  ERROR EXIT - 
* 
**                   EXIT TO *ERROR* IF FREE BUFFER TABLE ERROR.
  
  
 GFO      SUBR               ENTRY/EXIT 
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          NJN    GFO.1       EXIT IF FREE BUFFER EXISTS 
          LJM    GFO.4       EXIT IF NO BUFFER
  
 GFO.1    RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER FROM FIRST BUFFER
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
          LDD    T10+/NAM/C.BID LOAD BLOCK ID BYTE FROM FIRST BUFFER
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          STD    T17         STORE AVAILABILITY OF THE FIRST BUFFER 
  
 GFO.2    LDD    T10+/NAM/C.DPT HIGH-ORDER OF NEXT BUFFER ADDRESS 
          LPN    37B         EXTRACT ADDRESS
          STD    FBA         STORE HIGH-ORDER OF NEXT BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 LOW-ORDER OF NEXT BUFFER ADDRESS
          STD    FBA+1       STORE LOW-ORDRE OF NEXT BUFFER ADDRESS 
          ZJN    GFO.3       EXIT IF END OF BUFFER CHAIN
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM BLOCK HEADER FROM NEXT BUFFER 
          STD    T5+1        LOW-ORDER ABSOLUTE ADDRESS NEXT BUFFER 
          SHN    -12         POSITION HIGH-ORDER
          STD    T5          HIGH-ORDER ABSOLUTE ADDRESS NEXT BUFFER
          LDD    T0+/NAM/C.BID LOAD BLOCK ID BYTE FROM NEXT BUFFER
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.FPBID LESS FREE PRU BUFFER ID 
          ZJN    GFO.5       EXIT IF BUFFER IS FREE 
          LDD    T5          HIGH-ORDER ABSOLUTE ADDRESS LINKED BUFFER
          STD    T15         STORE HIGH-ORDER ABSOLUTE ADDRESS CUR BUF
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE ADDRESS LINKDED BUFFER
          STD    T15+1       STORE LOW-ORDER ABSOLUTE ADDRESS CUR BUFF
          CRD    T10         READ NAM BLOCK HEADER CURRENT BUFFER 
          UJK    GFO.2       EXIT TO SEARCH FOR FREE BUFFER 
  
 GFO.3    LDD    T17         LOAD FIRST BUFFER AVAILABLITY
          NJN    GFO.4       EXIT IF NO BUFFER AVAILABLE
          LDM    FPB,BTI     HIGH-ORDER OF FIRST BUFFER ADDRESS 
          STD    FBA         STORE HIGH-ORDER OF FIRST BUFFER ADDRESS 
          SHN    12          POSITION  TO HIGH-ORDER
          ADM    FPB+1,BTI   LOW-ORDER OF FIRST BUFFER ADDRESS
          STD    FBA+1       STORE LOW-ORDER OF FIRST BUFFER ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM BLOCK HEADER FROM FIRST BUFFER
          STD    T15+1       LOW-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         HIGH-ORDER OF ABSOLUTE ADDRESS FIRST BUFFER
          LDN    /NAM/Q.UOCID BUFFER USED-ON-CHAIN ID 
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    T10+/NAM/C.BID STORE BLOCK ID BYTE TO ASSIGNED BUFFER
          UJN    GFO.6       EXIT 
  
 GFO.4    EREXIT LBE         EXIT TO ERROR ROUTINE - FREE BUFFER ERROR
  
 GFO.5    LDN    /NAM/Q.PRUID LOAD PRU BLOCK ID 
          SHN    /NAM/S.BID  POSITION BLOCK ID
          STD    /NAM/C.BID  STORE PRU BLOCK ID BYTE
          LDD    T5          HIGH-ORDER ABSOLUTE ADDRESS DELINKED BUFFER
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE ADDRESS DELINKED BUFFER 
          CWD    T0          REWRITE NAM BLOCK HEADER DELINKED BUFFER 
          LDD    T0+/NAM/C.DPT HIGH-ORDER ADDRESS LINKED FROM FOUND 
          LPN    37B         EXTRACT HIGH-ORDER ADDRESS 
          STD    T10+/NAM/C.DPT HIGH-ORDER ADDRESS LINKED FROM FOUND
          LDD    T0+/NAM/C.DPT+1 LOW-ORDER ADDRESS LINKED FROM FOUND
          STD    T10+/NAM/C.DPT+1 LOW-ORDER ADDRESS LINKED FROM FOUND 
  
 GFO.6    RJM    WCMW        REWRITE NAM BLOCK HEADER 
          SOM    NFB,BTI     DECREMENT FREE BUFFER COUNT
          MJN    GFO.4       EXIT IF FREE BUFFER COUNT INVALID
          AOD    FBA+1       LOW-ORDER FOUND BUFFER DRIVER HEADER ADDR
          SHN    -12         POSSIBLE OVERFLOW
          RAD    FBA         HIGH-ORDER FOUND BUFFER DRIVER HEADER ADDR 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER BUFFER DRIVER HEADER ADDRESS
          UJK    GFOX        RETURN 
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(SUPPORT PROCESSORS),T2=(DIRECT OUTPUT SUPP
,ORT PROCESSORS)
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 PEOR     TITLE  DRIVER SUPPORT PROCESSORS. 
 PEOR     SPACE  2,36 
**               DRIVER SUPPORT PROCESSOR PEOR. 
* 
*                DRIVER SUPPORT PROCESSOR PEOR PROCESSES AN END OF JOB
*                DIRECT OUTPUT REQUEST.  IF THE NETWORK BLOCK LIMIT HAS 
*                NOT BEEN REACHED FOR THE STREAM AND THERE IS SUFFICIENT
*                INBOUND BUFFER SPACE FOR THE WORKLIST COMPLETE RESPONSE
*                THE DIRECT OUTPUT WORKLIST IS OBTAINED.  THE OUTPUT
*                PARAMETERS ARE INITIALIZED AND AN ATTEMPT IS MADE TO 
*                TRANSFER THE OUTPUT BLOCK TO THE FRONT END.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR, 
*                    EXIT TO *ERROR* IF FILE MODE ERROR.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO FRONT END. 
* 
*                  PROCESSOR CALLS -
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 PEOR     LINK               ENTRY
          LDC    /BLOCK/B.EOI&/BLOCK/B.EOR LOAD END OF JOB FLAGS
          UJN    PDOR.1      EXIT TO INITIALIZE DATA BLOCK CLARIFIER
 PDOR     SPACE  2,36 
**               DRIVER SUPPORT PROCESSOR PDOR. 
* 
*                DRIVER SUPPORT PROCESSOR PDOR PROCESSES A DIRECT OUTPUT
*                REQUEST.  IF THE NETWORK BLOCK LIMIT HAS NOT BEEN
*                REACHED FOR THE STREAM AND THERE IS SUFFICIENT INBOUND 
*                BUFFER SPACE FOR THE WORKLIST COMPLETE RESPONSE THE
*                DIRECT OUTPUT WORKLIST IS OBTAINED.  THE OUTPUT
*                PARAMETERS ARE INITIALIZED AND AN ATTEMPT IS MADE TO 
*                TRANSFER THE OUTPUT BLOCK TO THE FRONT END.
* 
*                  ENTRY -
* 
*                    (BSBC) = BLOCK SERIAL NUMBERS AND BACK COUNTS, 
*                     (NBL) = NETWORK BLOCK LIMIT FOR STREAM. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER QUEUING ERROR, 
*                    EXIT TO *ERROR* IF FILE MODE ERROR.
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    RPCB - READ WORD FROM PCB, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                    EOVP - EXECUTE OUTPUT VALIDATION PROCESSOR,
*                     CEH - TRANSFER OUTPUT TO FRONT END. 
* 
*                  PROCESSOR CALLS -
* 
**                   OUTPUT VALIDATION PROCESSOR. 
  
  
 PDOR     LINK               ENTRY
          LDN    0           CONSTANT OF ZERO 
  
 PDOR.1   LINK               ENTRY
          ADC    /BLOCK/B.PRU PLUS PRU DATA BLOCK FLAG
          STM    DHB+/BLOCK/DBC INITIALIZE DATA BLOCK CLARIFIER 
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          LPN    /NAM/L.OBC  EXTRACT OUTSTANDING OUTPUT BACK COUNT
          LMD    NBL         LESS NETWORK BLOCK LIMIT FOR STREAM
          NJN    PDOR.3      EXIT IF NETWORK BLOCK LIMIT NOT REACHED
  
 PDOR.2   UJK    /STATES/SIWL EXIT TO CHECK FOR IMMEDIATE WORKLIST
  
 PDOR.3   LDN    /NAM/WLCCM  LENGTH OF WORKLIST COMPLETE WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          MJN    PDOR.2      EXIT IF INSUFFICIENT INBOUND BUFFER SPACE
          LDN    /NAM/W.PCBPS1 PRU STREAM PARAMETER ONE WORD ORDINAL
          RJM    RPCB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFP LOAD PRU FILE PARAMETER BYTE
          LPN    /NAM/L.PCBFM EXTRACT FILE MODE 
          STD    T17         STORE FILE MODE
          LDD    T10+/NAM/C.PCBWP LOAD WORKLIST PARAMETER BYTE
          SHN    -6          POSITION POINTER WORD ORDINAL TO LOW-ORDER 
          STD    WLP         STORE WORKLIST POINTER WORD ORDINAL
          RJM    RPCB        EXIT TO READ WORKLIST POINTER WORD FROM PCB
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    T10+/NAM/C.PCBWLP LOAD HIGH-ORDER OF WORKLIST POINTER
          STD    FBA         STORE HIGH-ORDER OF WORKLIST ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.PCBWLP+1 PLUS LOW-ORDER OF WORKLIST POINTER 
          STD    FBA+1       STORE LOW-ORDER OF WORKLIST ADDRESS
          NJN    PDOR.4      EXIT IF WORKLIST QUEUED
          EREXIT DQE         EXIT TO ERROR - DRIVER QUEUING ERROR 
  
 PDOR.4   ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
          CRM    NBH,T7      READ NAM BLOCK HEADER AND WORKLIST HEADER
          LCN    /NAM/SMHDRCM NEGATIVE OF SERVICE MESSAGE HEADER LENGTH 
          RAM    NBH+/NAM/C.BWD+1 DECREMENT BLOCK SIZE TO DATA LENGTH 
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF SERVICE MESSAGE HEADER 
          ADN    /NAM/SMHDRCM PLUS LENGTH OF SERVICE MESSAGE HEADER 
          ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          UJK    /STATES/SWDO.1 EXIT TO EXECUTE OUTPUT VALIDATION 
  
  
 ."O.N"   EQU    *
  
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(TERMINATION),T2=(DRIVER TERMINATION PROCES
,SORS)
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 PEND     SPACE  2,30 
**               DRIVER TERMINATION ROUTINE PEND. 
* 
*                DRIVER TERMINATION ROUTINE PEND PROCESSES DRIVER 
*                TERMINATIONS.  IF THE TERMINATION IS DUE TO AN ERROR 
*                A DAYFILE MESSAGE IS ISSUED TO INDICATE THE ERROR. 
*                OTHERWISE THE DRIVER COMPLETED FLAG IS SET IN THE
*                DRIVER INTERFACE TABLE AND THE PRU LIMBO BUFFERS ARE 
*                RETURNED TO THE SYSTEM EMPTY CHAIN.  ALL DRIVER
*                EQUIPMENTS AND CHANNELS ARE RETURNED AND THE PPU 
*                RESIDENT IS RELOADED.  IF THE TERMINATION IS NOT DUE 
*                TO INACTIVITY OR AN ERROR THE DRIVER TERMINATED MESSAGE
*                IS ISSUED TO THE SYSTEM DAYFILE. 
* 
*                  CALLS -
* 
*                    HNPE - HALT ACTIVE NPUS IF OPTION SELECTED,
*                     REQ - RELEASE DRIVER EQUIPMENT, 
*                    RDCH - RELEASE DRIVER CHANNELS,
*                     RPB - RETURN DRIVER PRU LIMBO BUFFERS,
*                     SDC - SET DRIVER COMPLETED, 
*                     RLR - RELOAD PPU RESIDENT,
*                     DFM - ISSUE DAYFILE MESSAGE,
*                    HNMS - ISSUE NPU HALTED MESSAGES,
**                    FTN - ISSUE MONITOR FUNCTION. 
  
  
 PEND     LINK               ENTRY
  
          LDM    ERRCODE     LOAD ERROR CODE
          STD    CTL         STORE DRIVER ERROR CODE
          ZJN    PEND.1A     EXIT IF NO DRIVER ERROR
          RJM    HNPE        EXIT TO HALT ANY ACTIVE NPUS 
          LDD    CTL         LOAD ERROR CODE
          LMN    /ERROR/CPE  LESS CONTROL POINT ERROR VALUE 
          ZJN    PEND.1      EXIT IF CONTROL POINT ERROR
          LDD    CTL         LOAD ERROR CODE
          SHN    -6          POSITION HIGH-ORDER DIGIT OF ERROR CODE
          RAM    ERRMSG+6    ADD DIGIT TO ERROR MESSAGE 
          LDD    CTL         LOAD ERROR CODE
          LPN    70B         EXTRACT MIDDLE DIGIT OF ERROR CODE 
          SHN    3           POSITION MIDDLE DIGIT OF ERROR CODE
          RAM    ERRMSG+7    ADD DIGIT TO ERROR MESSAGE 
          LDD    CTL         LOAD ERROR CODE
          LPN    7           EXTRACT LOW-ORDER DIGIT
          RAM    ERRMSG+7    ADD DIGIT TO ERROR MESSAGE 
          LDM    DROR        LOAD DRIVER ORDINAL
          RAM    ERRMSG+1    ADD DRIVER ORDINAL TO ERROR MESSAGE
          UJN    PEND.2      EXIT TO STORE DRIVER ORDINAL 
  
 PEND.1A  LDD    DIT         HIGH ORDER PART OF PIT ENTRY ADDRESS 
          SHN    12D         SHIFT TO HIGH ORDER POSITION 
          ADD    DIT+1       LOW ORDER PART OF PIT ENTRY ADDRESS
          ADN    /NAM/W.DITNTP  OFFSET FOR WD CONTAINING DROP FLAG
          RJM    TFL         EXIT TO GET ABSOLUTE ADDRESS 
          CRD    T0          READ INTO PP WORD CONTAINING DROP FLAG 
          LDD    T0+/NAM/C.DITAR  BYTE CONTAINING DROP FLAG 
          SHN    17D-/NAM/S.DITDF  SHIFT DROP FLAG TO SIGN POSITION 
          MJN    PEND.1      EXIT IF PIP DROP FLAG SET
          RJM    RALL        EXIT TO RELEASE PRU BUFFERS
  
 PEND.1   LDM    ACTFES      LOAD ACTIVE FRONT END COUNT
          STD    TAR         STORE DRIVER ACTIVITY
          ZJN    PEND.3      EXIT IF DRIVER DROP BECAUSE OF INACTIVITY
  
 PEND.2   LDM    DROR        LOAD DRIVER ORDINAL
          RAM    TERMSG+1    ADD DRIVER ORDINAL TO TERMINATED MESSAGE 
          RJM    REQ         EXIT TO RELEASE DRIVER EQUIPMENTS
  
 PEND.3   RJM    RDCH        EXIT TO RELEASE DRIVER CHANNELS
          LDD    CTL         LOAD ERROR CODE
          NJN    PEND.4      EXIT IF DRIVER ERROR 
          RJM    SDC         EXIT TO SET DRIVER COMPLETED 
  
 PEND.4   RJM    RLR         EXIT TO RELOAD PPU RESIDENT
          LDD    CTL         LOAD ERROR CODE
          ZJN    PEND.5      EXIT IF NO DRIVER ERROR
          RJM    HNMS        EXIT TO ISSUE NPUS HALTED MESSAGES 
          LDD    CTL         LOAD ERROR CODE
          LMN    /ERROR/CPE  LESS CONTROL POINT ERROR VALUE 
          ZJN    PEND.6      EXIT IF CONTROL POINT ERROR
          LDC    ERRMSG      LOAD ADDRESS OF ERROR MESSAGE
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          UJN    PEND.6      EXIT TO ISSUE TERMINATED MESSAGE 
  
 PEND.5   LDD    TAR         LOAD DRIVER ACTIVITY 
          ZJN    PEND.7      EXIT IF DRIVER DROP BECAUSE OF INACTIVITY
  
 PEND.6   LDC    TERMSG      LOAD ADDRESS OF TERMINATED MESSAGE 
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          LDD    CTL         LOAD ERROR CODE
          ZJN    PEND.7      EXIT IF NO DRIVER ERROR
          LMN    /ERROR/CPE  LESS CONTROL POINT ERROR VALUE 
          ZJN    PEND.7      EXIT IF CONTROL POINT ERROR
          LCN    DPPM-ABTM   DELTA FOR MONITOR FUNCTION TO ABORT
  
 PEND.7   ADN    DPPM        DELTA FOR MONITOR FUNCTION TO DROP PPU 
          RJM    FTN         EXIT TO DROP PPU 
          LJM    PPR         RETURN TO PPU RESIDENT 
 MSG      SPACE  2,6
*                DAYFILE MESSAGES.
  
  
 HNMSG    DATA   L$PIP - HALTED NPU XXX.$ 
          DATA   0
 ERRMSG   DATA   L$PIP0 - ERROR 000.$ 
          DATA   0
 TERMSG   DATA   L$PIP0 TERMINATED.$
          DATA   0
 REQ      TITLE  TERMINATION SUPPORT SUBROUTINES. 
 REQ      SPACE  2,26 
**               SUBROUTINE REQ.
* 
*                SUBROUTINE REQ RELEASES ANY
*                EQUIPMENTS REQUESTED BY THE DRIVER.
* 
*                  CALLS -
* 
*                    MTR - RELEASE EQUIPMENT. 
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    SFA - CALCULATE MANAGED TABLE ADDRESS. 
* 
*                  USES - 
* 
*                      T0-T0+4 = EST POINTER WORD,
*                          T15 = CURRENT EST ENTRY ORDINAL, 
*                          T16 = ENDING EST ORDINAL,
*                      T0-T0+4 = EST EQUIPMENT DESCRIPTION WORD,
*                    T10-T10+4 = EST EQUIPMENT ASSIGNMENT WORD, 
**                     T0-T0+4 = EXECUTING JOB TABLE WORD.
  
  
 REQ      SUBR               ENTRY/EXIT 
          LDN    ESTP        LOAD ADDRESS OF EST POINTER WORD 
          CRD    T0          READ EST POINTER WORD
          LDN    NOPE        LOAD NUMBER OF PSEUDO EST ENTRIES
          STD    T15         INITIALIZE CURRENT EST ENTRY ORDINAL 
          LDD    T0+2        LOAD ENDING EST ORDINAL
          STD    T16         STORE ENDING EST ORDINAL 
  
 REQ.1    SFA    EST,T15     CALCULATE ADDRESS OF NEXT EST ENTRY
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ NEXT EQUIPMENT DESCRIPTION WORD 
          ADK    EQAE-EQDE   DELTA FOR EQUIPMENT ASSIGNMENT WORD
          CRD    T10         READ NEXT EQUIPMENT ASSIGNMENT WORD
          LDD    T0+3        LOAD EQUIPMENT TYPE BYTE 
          LMC    2RND        LESS EQUIPMENT TYPE FOR MDI
          ZJN    REQ.3       EXIT IF EQUIPMENT IS MDI 
          LMN    2RND&2RNP   LESS DELTA FOR NPU 
          ZJN    REQ.3       EXIT IF EQUIPMENT IS NPU 
  
 .MSS     IFEQ   .MSS,1 
  
          LMN    2RNP&2RNQ   LESS DELTA FOR EQUIPMENT TYPE FOR TEST NPU 
          ZJN    REQ.3       EXIT IF EQUIPMENT IS TEST NPU
  
 .MSS     ENDIF 
  
 REQ.2    AOD    T15         INCREMENT CURRENT EST ORDINAL
          LMD    T16         LESS ENDING EST ORDINAL
          NJN    REQ.1       EXIT IF NOT END OF EST 
          UJK    REQX        RETURN 
  
 REQ.3    LDD    T0+2        LOAD DRIVER ORDINAL BYTE 
          SHN    -9          POSITION DRIVER ORDINAL TO LOW-ORDER 
          LPN    7           EXTRACT DRIVER ORDINAL 
          LMM    DROR        LESS THIS DRIVER ORDINAL 
          NJN    REQ.2       EXIT IF EQUIPMENT NOT FOR THIS DRIVER
          LDD    CP          LOAD CONTROL AREA ADDRESS
          ADN    TFSW        DELTA FOR EXECUTING JOB TABLE WORD 
          CRD    T0          READ EXECUTING JOB TABLE WORD
          LDD    T0+0        LOAD EXECUTING JOB TABLE ORDINAL 
          LMD    T10+4       LESS JOB TABLE ORDINAL OF EQUIPMENT
          NJN    REQ.2       EXIT IF EQUIPMENT NOT ASSIGNED 
          LDD    T15         LOAD EST ORDINAL OF EQUIPMENT
          STD    T10+1       STORE EST ORDINAL OF EQUIPMENT 
          LDN    DEQM        MONITOR FUNCTION TO RELEASE EQUIPMENT
          RJM    MTR         EXIT TO RELEASE EQUIPMENT
          UJK    REQ.2       EXIT TO CHECK NEXT EST ENTRY 
 RDCH     SPACE  2,22 
**               SUBROUTINE RDCH. 
* 
*                SUBROUTINE RDCH RELEASES ANY 
*                CHANNELS REQUESTED BY THE DRIVER.
* 
*                  ENTRY -
* 
*                    (FCT-FCT+MAXFE) = FRONT END CHANNEL TABLE. 
* 
*                  CALLS -
* 
*                    MTR - RELEASE CHANNEL. 
* 
*                  USES - 
* 
**                   T17 = FRONT END CHANNEL TABLE INDEX. 
  
  
 RDCH     SUBR               ENTRY/EXIT 
          LDN    0           CONSTANT OF ZERO 
          STD    T17         INITIALIZE FRONT END CHANNEL TABLE INDEX 
  
 RDCH.1   LDM    FCT,T17     LOAD NEXT FRONT END CHANNEL TABLE ENTRY
          ZJN    RDCH.2      EXIT IF TABLE ENTRY EMPTY
          LPN    77B         EXTRACT FRONT END CHANNEL NUMBER 
          STD    T10+1       STORE FRONT END CHANNEL
          LDN    DCHM        MONITOR FUNCTION TO RELEASE CHANNEL
          RJM    MTR         EXIT TO RELEASE FRONT END CHANNEL
          LDN    0           CONSTANT OF ZERO 
          STM    FCT,T17     RESET FRONT END CHANNEL TABLE ENTRY
  
 RDCH.2   AOD    T17         INCREMENT FRONT END CHANNEL TABLE INDEX
          LMN    MAXFE       LESS ENDING VALUE
          NJN    RDCH.1      EXIT IF MORE TABLE ENTRIES 
          UJK    RDCHX       RETURN 
 SDC      SPACE  2,22 
**               SUBROUTINE SDC.
* 
*                SUBROUTINE SDC SETS THE DRIVER COMPLETED 
*                FLAG IN THE DRIVER INTERFACE TABLE.
* 
*                  ENTRY -
* 
*                    (DIT-DIT+1) = ADDRESS OF DRIVER INTERFACE TABLE. 
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                    T10-T10+4 = DRIVER COMPLETED WORD, 
**                   T15-T15+1 = ADDRESS OF DRIVER COMPLETED WORD.
  
  
 SDC      SUBR               ENTRY/EXIT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUW LOW-ORDER OF INTERFACE TABLE ADDRESS
          RJM    TFL         EXIT TO FROM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER COMPLETED WORD FROM TABLE
          STD    T15+1       STORE LOW-ORDER OF DRIVER WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF DRIVER WORD ADDRESS
          LDN    /NAM/B.DITDC LOAD DRIVER COMPLETED FLAG
          RAD    T10+/NAM/C.DITDF STORE DRIVER FLAG BYTE
          LDD    T15         LOAD HIGH-ORDER OF DRIVER WORD ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF DRIVER WORD ADDRESS
          CWD    T10         REWRITE DRIVER COMPLETED WORD TO TABLE 
          UJK    SDCX        RETURN 
 PFSR     SPACE  2,28 
**               SUBROUTINE PFSR. 
* 
*         SUBROUTINE PFSR ISSUES A MONITOR FUNCTION OF ZERO, SO THAT
*         PPR SUBROUTINE FTN WILL CHECK WHETHER STORAGE MOVE IS 
*         REQUESTED FOR THIS CONTROL POINT.  IF STORAGE MOVE IS 
*         REQUESTED, FTN WILL PAUSE TO ALLOW THE MOVE TO COMPLETE.
* 
*                  ENTRY -
* 
*                    (CP) = CONTROL POINT AREA ADDRESS. 
* 
*                  EXIT - 
* 
*                    (RA) = UPDATED IF STORAGE MOVE DONE, 
*                    (FL) = UPDATED IF STORAGE MOVE DONE. 
* 
*                  CALLS -
* 
*                    MTR - ISSUE MONITOR FUNCTION.
* 
*                  USES - 
* 
**                   T0-T0+4 = STORAGE MOVE REQUEST WORD. 
  
  
 PFSR     SUBR               ENTRY/EXIT 
          LDN    PRLM*0      PAUSE FOR STORAGE MOVE (IF NECESSARY)
          RJM    MTR         EXIT TO ISSUE MONITOR FUNCTION 
          UJK    PFSRX       RETURN 
 RALL     SPACE  2,16 
**               SUBROUTINE RALL
* 
*                SUBROUTINE RALL RETURNS ALL FREE BUFFERS IN THE DRIVER 
*                CHAIN BY CLEARING PIP WORDS OF PRU BUFFER TABLE. 
* 
*                  CALLS -
* 
*                      TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                    PAUSE - PAUSE FOR STORAGE RELOCATION.
* 
*                  USES - 
* 
*                             T1 = PIP WORD OFFSET, 
*                    T10 - T10+4 = PIP WORD IMAGE,
**                   T15 - T15+1 = PIP WORD BLOCK ADDRESS.
  
  
 RALL     SUBR               ENTRY/EXIT 
 RALL.1   LDN    L.FRNIP     COUNT OF NIP WORDS IN FREE BUFFER TABLE
          STD    T7          STORE WORD COUNT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/L.DITE DELTA FOR LIMIT OF FREE BUFF AREA
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    L.FREE      SET ADDRESS TO START OF FREE BUFFER AREA 
          CRM    LIMBOP1,T7  READ NIP WORDS OF FREE BUFFER INFORMATION
          STD    T15+1       LOW-ORDER ABSOLUTE PIP WORD BLOCK ADDRESS
          SHN    -12         POSITION HIGH-ORDER ADDRESS
          STD    T15         HIGH-ORDER ABSOLUTE PIP WORD BLOCK ADDRESS 
          LDC    LIMBOP3     ADDRESS FOR THREE PRU FREE BUFFER TABLE
          STD    BTI         INITIALIZE FREE BUFFER TABLE INDEX 
          LDN    PRU3        PRU SIZE ORDINAL FOR THREE PRU BUFFERS 
          STD    PRU         INITIALIZE PRU SIZE ORDINAL
  
 RALL.2   LDM    NCA,BTI     LOAD ASSIGNED BUFFER COUNT 
          SBM    NRA,BTI     MINUS REQUESTED BUFFER COUNT 
          ZJN    RALL.3      EXIT IF NO REQUEST OUTSTANDING 
          RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          UJN    RALL.1      EXIT TO RESTART
  
 RALL.3   LCN    LIMBOP3-LIMBOP2 LENGTH OF FREE BUFFER TABLE INCREMENT
          RAD    BTI         DECREMENT FREE BUFFER TABLE INDEX
          SOD    PRU         DECREMENT PRU SIZE ORDINAL 
          PJN    RALL.2      EXIT TO PROCESS NEXT FREE BUFFER TABLE 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         ZERO PIP WORD
          LDN    0           CONSTANT OF ZERO 
          STD    T1          PIP WORD OFFSET
 RALL.4   LMN    L.FRPIP     LESS PIP WORD COUNT
          NJN    RALL.5      EXIT IF MORE PIP WORD
          UJK    RALLX       RETURN IF END OF PIP WORD BLOCK
  
 RALL.5   LDD    T15         HIGH-ORDER ABSOLUTE PIP WORD BLOCK ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       LOW-ORDER ABSOLUTE PIP WORD BLOCK ADDRESS
          ADD    T1          PLUS PIP WORD OFFSET 
          CWD    T10         REWRITE PIP WORD 
          AOD    T1          INCREMENT PIP WORD OFFSET
          UJK    RALL.4      EXIT TO CHECK END OF PIP WORD BLOCK
 RLR      SPACE  2,28 
**               SUBROUTINE RLR.
* 
*                SUBROUTINE RLR LOADS THE PPU RESIDENT BY CALLING THE 
*                PPU RESIDENT LOADER AND ACCEPTING THE RESIDENT TEXT
*                THROUGH THE PPU MESSAGE BUFFER.
* 
*                    (CP) = CONTROL POINT ADDRESS,
*                    (IA) = PPU INPUT REGISTER ADDRESS, 
*                    (MA) = PPU MESSAGE BUFFER ADDRESS. 
* 
*                  CALLS -
* 
*                    MTR - REQUEST MONITOR FUNCTION.
*                    PFSR - CHECK FOR STORAGE MOVE REQUEST
* 
*                  USES - 
* 
*                      ZR-ZR+4 = CENTRAL WORD OF ZERO,
*                           T7 = ADDRESS OF LOADER PPU INPUT REGISTER,
*                      T0-T0+4 = STORAGE MOVE REQUEST WORD, 
*                    T10-T10+4 = LOADER PPU INPUT REGISTER, 
*                    T10-T10+4 = THIS PPU OUTPUT REGISTER,
**                          T1 = CENTRAL WORD COUNT.
  
  
 RLR      SUBR               ENTRY/EXIT 
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          SHN    -7          POSITION TO FORM CONTROL PONT NUMBER 
          RAM    CPRL+1      ADD TO PPU RESIDENT LOADER CALL
          LDD    IA          LOAD ADDRESS OF THIS PPU INPUT REGISTER
          STM    CPRL+4      STORE INTO PPU RESIDENT LOAD CALL
          LDD    MA          LOAD ADDRESS OF THIS PPU MESSAGE BUFFER
          CWM    CPRL,ON     WRITE OUT PPU RESIDENT LOADER CALL IMAGE 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    /INIT/ZR    GENERATE A CENTRAL WORD OF ZEROES
  
 RLR.1    RJM    PFSR        EXIT TO CHECK FOR STORAGE MOVE REQUEST 
          LDN    1           SET PRIORITY AND NO DROP OPTION
          STD    T10+1       SET NO DROP OPTION 
          LDK    RPPM        LOAD MONITOR FUNCTION TO REQUEST PPU 
          RJM    MTR         EXIT TO REQUEST PPU RESIDENT LOADER PPU
          LDD    T10+1       LOAD REPLY BYTE
          ZJN    RLR.1       EXIT IF PPU NOT AVAILABLE
          STD    T7          STORE ADDRESS OF LOADER PPU INPUT REGISTER 
  
 RLR.2    RJM    PFSR        EXIT TO CHECK FOR STORAGE MOVE REQUEST 
          LDN    77B         LOAD DELAY COUNT 
          SBN    1           DECREMENT DELAY COUNT
          NJN    *-1         LOOP IF DELAY NOT EXPIRED
          LDD    T7          LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          CRD    T10         READ LOADER PPU INPUT REGISTER 
          LDD    T10+1       LOAD CONTROL POINT BYTE FROM LOADER
          LMM    CPRL+1      LESS VALUE FOR LOADER PPU
          NJN    RLR.1       EXIT IF LOADER TIMED OUT 
          LDD    T10+2       LOAD LOADER STATUS BYTE
          LMC    7777B       LESS READY VALUE 
          NJN    RLR.2       EXIT IF LOADER NOT READY 
          STD    T10+2       SET REPLY TO READY STATUS
          LDD    OA          LOAD ADDRESS OF THIS PPU OUTPUT REGISTER 
          CWD    /INIT/ZR    SET READY FOR DATA 
          LDD    T7          LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          CWD    T10         REWRITE LOADER PPU INPUT REGISTER
  
 RLR.4    LDN    77B         LOAD DELAY COUNT 
          SBN    1           DECREMENT DELAY COUNT
          NJN    *-1         LOOP IF DELAY COUNT NOT EXPIRED
          LDD    OA          LOAD ADDRESS OF THIS PPU OUTPUT REGISTER 
          CRD    T10         READ THIS PPU OUTPUT REGISTER
          LDD    T10+4       LOAD WORD COUNT BYTE 
          ZJN    RLR.4       EXIT IF LOADER NOT READY 
          LPN    77B         EXTRACT WORD COUNT 
          NJN    RLR.5       EXIT IF NOT END OF LOAD
          STM    MSD         RESET MASS STORAGE DRIVER IDENTIFIER 
          UJK    RLRX        RETURN 
  
 RLR.5    STD    T1          STORE WORD COUNT 
          LDD    MA          LOAD ADDRESS OF THIS PPU MESSAGE BUFFER
  
 RLR.LDA  CRM    100B,T1     READ RESIDENT TEXT 
          LDN    5*6         LENGTH OF RESIDENT TEXT IN PPU BYTES 
          RAM    RLR.LDA+1   INCREMENT LOAD ADDRESS 
          LDD    OA          LOAD ADDRESS OF THIS PPU OUTPUT REGISTER 
          CWD    /INIT/ZR    SET DATA ACCEPTED
          UJK    RLR.4       EXIT TO WAIT FOR DATA READY
 CPRL     SPACE  2,6
*                PPU RESIDENT LOADER CALL IMAGE.
  
  
 CPRL     VFD    18/OV.1RP
          VFD    6/**        CONTROL POINT NUMBER 
          VFD    24/0 
          VFD    12/**       THIS PPU INPUT REGISTER ADDRESS
  
 HNPE     SPACE  2,26 
**               SUBROUTINE HNPE. 
* 
*                SUBROUTINE HNPE HALTS ALL ACTIVE NPUS IF THE HALT NPU
*                ON ERROR FLAG IS SET IN THE DRIVER INTERFACE TABLE.
* 
*                  EXIT - 
* 
*                    (HNTHL) = NODES OF HALTED NPUS.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                    T0-T0+4 = APPLICATION REQUEST WORD,
*                        T16 = FRONT END TABLE OFFSET,
*                        T17 = HALTED NODE TABLE INDEX, 
*                         T1 = CHANNEL INSTRUCTION LIST ADDRESS,
*                         T0 = NPU CHANNEL NUMBER,
**                        T2 = ADDRESS OF CHANNEL INSTRUCTION.
  
  
 HNPE     SUBR               ENTRY/EXIT 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/W.DITNTP DELTA FOR APPLICATION REQUEST WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ APPLICATION REQUEST WORD
          LDD    T0+/NAM/C.DITAR LOAD APPLICATION REQUEST BYTE
          SHN    17-/NAM/S.DITEH POSITION HALT ON ERROR FLAG TO SIGN
          PJN    HNPEX       RETURN IF HALT ON ERROR NOT REQUESTED
          LDK    L.FETBL*MAXFE-L.FETBL LOAD ENDING OFFSET VALUE 
          STD    T16         INITIALIZE FRONT END TABLE OFFSET
          LDN    0           CONSTANT OF ZERO 
          STD    T17         INITIALIZE HALTED NODE TABLE INDEX 
  
 HNPE.1   LDM    FETABLE+NBT,T16 LOAD HIGH-ORDER OF TABLE ADDRESS 
          ADM    FETABLE+NBT+1,T16 PLUS LOW-ORDER OF TABLE ADDRESS
          NJN    HNPE.3      EXIT IF ACTIVE EQUIPMENT 
  
 HNPE.2   LCN    L.FETBL     LOAD LENGTH OF FRONT END TABLE 
          RAD    T16         DECREMENT FRONT END TABLE OFFSET 
          PJN    HNPE.1      EXIT IF MORE TABLES TO PROCESS 
          UJK    HNPEX       RETURN 
  
 HNPE.3   LDM    FETABLE+FTY,T16 LOAD FRONT END EQUIPMENT TYPE
          NJN    HNPE.2      EXIT IF NOT NPU
          LDC    TCTABLE     LOAD ADDRESS OF CHANNEL INSTRUCTION TABLE
          STD    T1          INITIALIZE CHANNEL INSTRUCTION LIST ADDRESS
          LDM    FETABLE+CHN,T16 LOAD NPU CHANNEL NUMBER
          LPN    77B         EXTRACT NPU CHANNEL NUMBER 
          STD    T0          STORE NPU CHANNEL NUMBER 
  
 HNPE.4   LDI    T1          LOAD ADDRESS OF NEXT CHANNEL INSTRUCTION 
          ZJN    HNPE.5      EXIT IF END OF CHANNEL INSTRUCTION LIST
          STD    T2          STORE ADDRESS OF CHANNEL INSTRUCTION 
          LDI    T2          LOAD CHANNEL INSTRUCTION 
          SCN    77B&NHO     CLEAR PREVIOUS NPU CHANNEL NUMBER
          LMD    T0          PLUS NEW NPU CHANNEL NUMBER
          STI    T2          STORE UPDATE CHANNEL INSTRUCTION 
          AOD    T1          INCREMENT CHANNEL INSTRUCTION LIST ADDRESS 
          UJK    HNPE.4      EXIT TO CHECK FOR END OF INSTRUCTION LIST
  
 HNPE.5   LDC    /FUNCTION/CLN LOAD FUNCTION TO MASTER CLEAR NPU
          ADM    FETABLE+CAD,T16 PLUS COUPLER EQUIPMENT NUMBER
          AJM.   HNPE.7      EXIT IF CHANNEL ACTIVE 
          FAN.               FUNCTION TO MASTER CLEAR NPU COUPLER 
          LDK    FNCDLY      LOAD FUNCTION ACCEPT DELAY COUNT 
  
 HNPE.6   IJM.   HNPE.8      EXIT IF CHANNEL WENT INACTIVE
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    HNPE.6      EXIT IF CHANNEL DELAY NOT EXPIRED
  
 HNPE.7   DCN.               DISCONNECT NPU CHANNEL 
  
 HNPE.8   LDM    FETABLE+HND,T16 LOAD NPU HOST NODE NUMBER
          STM    HNTHL,T17   STORE HOST NODE NUMBER OF HALTED NPU 
          AOD    T17         INCREMENT HALTED NODE TABLE INDEX
          UJK    HNPE.2      EXIT TO CHECK FOR MORE NPUS
 TCTABLE  SPACE  2,14 
**               TERMINATION CHANNEL INSTRUCTION ADDRESS LIST.
* 
*                THE TERMINATION CHANNEL INSTRUCTION ADDRESS LIST 
*                CONTAINS AN ENTRY FOR EACH CHANNEL INSTRUCTION USED
*                BY THE TERMINATION OVERLAY.  THE CONTENTS OF EACH ENTRY
**               IS THE ADDRESS OF THE CHANNEL INSTRUCTION. 
  
  
          LIST   D
  
 TCTABLE  BSS    0           CHANNEL INSTRUCTION ADDRESS LIST 
  
 CIT      HERE
  
          CON    0
  
          LIST   *
 HNMS     SPACE  2,22 
**               SUBROUTINE HNMS. 
* 
*                SUBROUTINE HNMS ISSUES A NPU HALTED MESSAGE FOR
*                EACH NPU HALTED DURING TERMINATION PROCESSING. 
* 
*                  ENTRY -
* 
*                    (HNTHL) = NODES OF HALTED NPUS.
* 
*                  CALLS -
* 
*                    DFM - ISSUE DAYFILE MESSAGE. 
* 
*                  USES - 
* 
*                     T1 = TEMPORARY
**                   T17 = HALTED NODE TABLE INDEX. 
  
  
 HNMS     SUBR               ENTRY/EXIT 
          LDN    0           CONSTANT OF ZERO 
          STD    T17         INITIALIZE NPU HALTED NODE TABLE 
  
 HNMS.1   LDM    HNTHL,T17   LOAD NEXT NPU HALTED NODE TABLE ENTRY
          ZJN    HNMSX       RETURN IF END OF TABLE 
          SHN    -6          EXTRACT HIGH-ORDER DIGIT 
          ADC    2R 0        PLUS DISPLAY CODE ZERO 
          STM    HNMSG+8     STORE INTO HALTED NPU DAYFILE TEXT 
          LDM    HNTHL,T17   LOAD HOST NODE NUMBER
          LPN    77B         EXTRACT MIDDLE AND LOW ORDER DIGITS
          STD    T1          STORE MIDDLE AND LOW ORDER DIGITS
          SHN    3           POSITION MIDDLE-ORDER DIGIT OF NODE NUMBER 
          LMD    T1          PLUS LOW-ORDER DIGIT OF HOST NODE NUMBER 
          LPC    707B        EXTRACT HOST NODE NUMBER DIGITS
          ADC    2R00        PLUS DISPLAY CODED ZEROES
          STM    HNMSG+9     STORE INTO NPU HALTED MESSAGE
          LDC    HNMSG       LOAD ADDRESS OF NPU HALTED MESSAGE 
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          AOD    T17         INCREMENT NPU HALTED NODE TABLE INDEX
          UJK    HNMS.1      EXIT TO CHECK FOR END OF TABLE 
 HNTHL    SPACE  2,6
*                NPU HALTED NODE TABLE. 
  
  
 HNTHL    BSSZ   MAXFE+1
  
 ."O.N"   EQU    *
          IFGT   ."O.N",DCSAVE,1
          ERR    CAN NOT SAVE DIRECT CELLS. 
  
  
          OVERLAY F=TRANS,T1=(ERROR PROCESSORS),T2=(DRIVER ERROR PROCESS
,ORS) 
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*ERROR*  DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR   SET    0
 .NFE     SET    0
 .NPRU    SET    0
 PNCE     SPACE  2,26 
 PFCE     SPACE  2,36 
**               ERROR PROCESSOR PFCE.
* 
*                ERROR PROCESSOR PFCE PROCESSES A FRONT END CHANNEL 
*                ERROR.  IF THE FRONT END IS A MDI A CHECK IS MADE FOR
*                AN ERROR ON READ DATA.  IF THE ERROR OCCURRED ON READ
*                DATA THE READ DATA ERROR FUNCTION IS ISSUED TO THE MDI.
*                IF THE ERROR OCCURRED ON WRITE DATA THE GENERAL STATUS 
*                IS OBTAINED FROM THE MDI AND IF THE MDI DOES NOT REPORT
*                AN ERROR THE MDI IS DECLARED INOPERATIVE.  THE BLOCK 
*                HANDLER STATE RESPONSE ACTION FOR CHANNEL ERROR IS 
*                EXECUTED AND THE NEXT FRONT END IS PROCESSED.
* 
*                  ENTRY -
* 
*                        (FEI) = FRONT END TABLE ADDRESS, 
*                        (FTY) = FRONT END TYPE,
*                        (STS) = STREAM STATES, 
*                    (ERRCODE) = ERROR CODE.
* 
*                  EXIT - 
* 
*                        (DEC) = ERROR CODE,
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    CMRE - CHECK FOR MDI READ ERROR, 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     GMS - OBTAIN MDI GENERAL STATUS,
*                    FMDI - FUNCTION MDI, 
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
 PFCE     ACTION             PROCESS FRONT END CHANNEL ERROR
          LDM    FTY,FEI     LOAD FRONT END TYPE
          ZJN    PFCE.3      EXIT IF NOT MDI FRONT END
          RJM    PSTC        EXIT TO PRESET CHANNEL INSTRUCTIONS
          IJM.   PFCE.1      EXIT IF FRONT END CHANNEL INACTIVE 
          DCN.               DISCONNECT FRONT END CHANNEL 
  
 PFCE.1   RJM    CMRE        EXIT TO CHECK FOR MDI READ ERROR 
          SBN    1           CHECK FOR CHANNEL ACCRSS TYPE ERROR
          ZJN    PFCE.2      EXIT IF CHANNEL ACCESS TYPE ERROR
          LDM    /MDI/FC     LOAD LAST MDI FUNCTION CODE
          LMC    /FUNCTION/WDT LESS VALUE FOR WRITE DATA
          NJN    PFCE.2      EXIT IF NOT WRITING DATA TO MDI
          RJM    /MDI/GMS    EXIT TO OBTAIN MDI GENERAL STATUS
          NJN    PFCE.7      EXIT IF MDI NOT REPORTING ERROR
  
 PFCE.2   LDC    B.SERR      FLAG MDI SOFT ERROR
          RAM    ERRCODE     PLACE MDI SOFT ERROR FLAG
          LDN    /TABLES/.MFCE-/TABLES/.NPCE DELTA FOR MDI CHANNEL ERROR
  
 PFCE.3   ADN    /TABLES/.NPCE PLUS NPU CHANNEL ERROR RESPONSE ORDINAL
  
 PFCE.4   LINK               ENTRY
          STD    CTL         STORE BLOCK HANDLER STATE ACTION ORDINAL 
          LDM    ERRCODE     LOAD ERROR CODE
          STM    DEC,FEI     STORE DRIVER ERROR CODE
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          LDD    STS         LOAD STREAM STATES 
          ZJN    PFCE.5      EXIT IF NOT PRU STREAM 
          RJM    RCT         EXIT TO RESTORE CONNECTION TABLE VALUES
  
 PFCE.5   LINK               ENTRY
          RJM    PSTC        EXIT TO PRESET CHANNEL INSTRUCTIONS
          IJM.   PFCE.6      EXIT IF FRONT END CHANNEL INACTIVE 
          DCN.               DISCONNECT FRONT END CHANNEL 
  
 PFCE.6   RJM    EBRA        EXIT TO EXECUTE BLOCK RESPONSE ACTION
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 PFCE.7   MJN    PNMS        EXIT IF MDI STATUS NOT AVAILABLE 
          LDN    /FUNCTION/RDI LOAD FUNCTION TO REQUEST DIAGNOSTICS 
          RJM    FMDI        EXIT TO ISSUE FUNCTION TO MDI
  
 PMDI     ACTION             PROCESS INOPERATIVE MDI
          LDN    /TABLES/.MDIO DELTA FOR MDI INOPERATIVE
          UJN    PFCE.4      EXIT IF MDI NOT REPORTING ERROR
 PNMS     SPACE  2,28 
**               ERROR PROCESSOR PNMS.
* 
*                ERROR PROCESSOR PNMS PROCESSES A NO MDI STATUS 
*                CONDITION.  THE MASTER CLEAR FUNCTION IS ISSUED AND THE
*                BLOCK HANDLER STATE RESPONSE ACTION FOR NO MDI STATUS
*                IS EXECUTED AND THE NEXT FRONT END  IS PROCESSED.
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                        (DEC) = ERROR CODE,
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    FMDI - SUNCTION MDI, 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
 PNMS     ACTION             PROCESS NO MDI STATUS AVAILABLE
          LDC    /FUNCTION/MCL LOAD FUNCTION TO MASTER CLEAR MDI
          RJM    FMDI        EXIT TO ISSUE FUNCTION TO MDI
          LDN    /TABLES/.MFNS LOAD NO MDI STATUS RESPONSE ORDINAL
          EXIT   PFCE.4      EXIT TO STORE BLOCK HANDLER ACTION ORDINAL 
 PMDI     SPACE  2,26 
**               ERROR PROCESSOR PMDI.
* 
*                ERROR PROCESSOR PMDI PROCESSES AN INOPERATIVE MDI.  THE
*                BLOCK HANDLER STATE RESPONSE ACTION FOR MDI INOPERATIVE
*                IS EXECUTED AND THE NEXT FRONT END IS PROCESSED. 
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (STS) = STREAM STATES. 
* 
*                  EXIT - 
* 
*                        (DEC) = DRIVER ERROR CODE, 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
*                ENTRY POINT FOR PMDI IS IN ERROR PROCESSOR PFCE. 
 PNTO     SPACE  2,26 
**               ERROR PROCESSOR PNTO.
* 
*                ERROR PROCESSOR PNTO PROCESSES A NPU TIMEOUT.  THE 
*                BLOCK HANDLER STATE RESPONSE ACTION FOR NPU TIMEOUT
*                IS EXECUTED AND THE NEXT FRONT END IS PROCESSED. 
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                        (DEC) = ERROR CODE,
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
 PNTO     ACTION             PROCESS NPU TIMEOUT
          LDN    /TABLES/.NPTO LOAD NPU TIMEOUT RESPONSE ORDINAL
          EXIT   PFCE.4      EXIT TO STORE BLOCK HANDLER ACTION ORDINAL 
 PURI     SPACE  2,28 
**               ERROR PROCESSOR PURI.
* 
*                ERROR PROCESSOR PURI PROCESSES AN UNABLE TO RESET
*                MDI INTERFACE CONDITION.  THE BLOCK HANDLER STATE
*                RESPONSE ACTION FOR UNABLE TO RESET INTERFACE IS 
*                EXECUTED AND THE NEXT FRONT END IS PROCESSED.
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                        (DEC) = ERROR CODE,
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
 PURI     ACTION             PROCESS UNABLE TO RESET MDI INTERFACE
          LDN    /TABLES/.MFUR LOAD UNABLE TO RESET RESPONSE ORDINAL
          EXIT   PFCE.4      EXIT TO STORE BLOCK HANDLER ACTION ORDINAL 
 PMRD     SPACE  2,28 
**               ERROR PROCESSOR PMRD.
* 
*                ERROR PROCESSOR PMRD PROCESSES A MDI REQUESTING
*                DIAGNOSTICS CONDITION.  THE BLOCK HANDLER STATE
*                RESPONSE ACTION FOR MDI REQUESTING DIAGNOSTICS IS
*                EXECUTED AND THE NEXT FRONT END IS PROCESSED.
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                        (DEC) = ERROR CODE,
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS,
*                     RCT - RESET CONNECTION TABLE VALUES,
**                   EBRA - EXECUTE BLOCK STATE RESPONSE ACTION.
  
  
 PMRD     ACTION             PROCESS MDI REQUESTING DIAGNOSTICS 
          LDN    /TABLES/.MDRD LOAD DIAGNOSTIC REQUEST RESPONSE ORDINAL 
          EXIT   PFCE.4      EXIT TO STORE BLOCK HANDLER ACTION ORDINAL 
 BRPS     SPACE  2,34 
**               ERROR PROCESSOR BRPS.
* 
*                ERROR PROCESSOR BRPS PROCESSES A BREAK RECEIVED ON A 
*                PRU STREAM.  IF THE STREAM IS NOT AN APPLICATION TO
*                APPLICATION STREAM THE BLOCK PROTOCOL ERROR PROCESSOR
*                IS EXECUTED.  OTHERWISE ANY INPUT IN PROGRESS IS 
*                BYPASSED, THE STREAM STOPPED BY TRANSMISSION LEVEL 
*                RESET CODE IS STORED IN THE PCB, BREAK RECEIVED FLAG 
*                IS SET IN THE PCB AND THE STREAM STATE RESPONSE ACTION 
*                FOR LEVEL SEVEN ERROR CONDITION IS EXECUTED. 
* 
*                  ENTRY -
* 
*                    (AAC) = APPLICATION TO APPLICATION FLAG, 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 BRPS     ACTION             PROCESS BREAK RECEIVED ON PRU STREAM 
          LDD    AAC         LOAD APPLICATION TO APPLICATION FLAG 
          NJN    BRPS.1      EXIT IF APPLICATION TO APPLICATION 
          EXIT   PBPE        EXIT TO PROCESS BLOCK PROTOCOL ERROR 
  
 BRPS.1   LDN    /NAM/W.PCBPS6 PRU STREAM PARAMETER SIX WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBFTS LOAD FILE TRANSFER STATUS BYTE 
          SCN    /NAM/B.PCBBRR CLEAR BREAK RECEIVED FLAG
          LMN    /NAM/B.PCBBRR SET BREAK RECEIVED FLAG
          STD    T10+/NAM/C.PCBFTS STORE FILE TRANSFER STATUS BYTE
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDD    BSBC        LOAD BLOCK SERIAL NUMBERS AND BACK COUNTS
          SCN    /NAM/M.OBN&/NAM/L.OBC  RESET OUTPUT SERIAL & BACK COUNT
          ADN    /NAM/I.OBN  SET SERIAL NUMBER TO ONE 
          STD    BSBC        STORE BLOCK SERIAL NUMBERS AND BACK COUNTS 
          LDN    /NAM/FTRCBK LOAD TRANSMISSION LEVEL RESET REASON CODE
  
 BRPS.2   LINK               ENTRY
          STD    T7          STORE STREAM STOPPED REASON CODE 
  
 BRPS.3   LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    BRPS.4      EXIT IF END OF TRANSFER RECEIVED 
          CLIO   FEIC        ACCEPT NEXT DATA CHARACTER FROM FRONT END
          UJK    BRPS.3      EXIT TO CHECK FOR END OF TRANSFER
  
 BRPS.4   LDN    /NAM/W.PCBPS2 PRU STREAM PARAMETER TWO WORD ORDINAL
          RJM    RSPB        EXIT TO READ PRU PARAMETER WORD FROM PCB 
          LDD    T10+/NAM/C.PCBSS LOAD STREAM STOPPED REASON CODES
          SCN    77B         CLEAR OLD EXTERNALLY STOPPED REASON CODE 
          ADD    T7          PLUS NEW EXTERNALLY STOPPED REASON CODE
          STD    T10+/NAM/C.PCBSS STORE STREAM STOPPED REASON CODES 
          RJM    WCMW        EXIT TO WRITE PRU PARAMETER WORD TO PCB
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          LDN    /TABLES/.SL7E LEVEL SEVEN ERROR RESPONSE ORDINAL 
          RJM    ESRA        EXIT TO EXECUTE STREAM RESPONSE ACTION 
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
 PEL7     SPACE  2,32 
**               ERROR PROCESSOR PEL7.
* 
*                ERROR PROCESSOR PEL7 PROCESSES A LEVEL SEVEN PROTOCOL
*                ERROR ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY LEVEL SEVEN PROTOCOL
*                ERROR CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 PEL7     ACTION             PROCESS LEVEL SEVEN PROTOCOL ERROR 
          LDN    /NAM/FTRCPE LOAD LEVEL SEVEN PROTOCOL ERROR REASON CODE
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 DEL7     SPACE  2,32 
**               ERROR PROCESSOR DEL7.
* 
*                ERROR PROCESSOR DEL7 PROCESSES A LEVEL SEVEN DATA
*                ERROR ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY LEVEL SEVEN DATA
*                ERROR CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 DEL7     ACTION             PROCESS LEVEL SEVEN DATA ERROR 
          LDN    /NAM/FTRCDE LOAD LEVEL SEVEN DATA ERROR REASON CODE
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 HEL7     SPACE  2,32 
**               ERROR PROCESSOR HEL7.
* 
*                ERROR PROCESSOR HEL7 PROCESSES A LEVEL SEVEN HEADER
*                ERROR ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY LEVEL SEVEN HEADER
*                ERROR CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 HEL7     ACTION             PROCESS LEVEL SEVEN HEADER ERROR 
          LDN    /NAM/FTRCHE LOAD LEVEL SEVEN HEADER ERROR REASON CODE
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 QMER     SPACE  2,32 
**               ERROR PROCESSOR QMER.
* 
*                ERROR PROCESSOR QMER PROCESSES A Q-MESSAGE FORMAT
*                ERROR ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY Q-MESSAGE FORMAT
*                ERROR CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 QMER     ACTION             PROCESS Q-MESSAGE FORMAT ERROR 
          LDN    /NAM/FTRCQM LOAD Q-MESSAGE FORMAT ERROR REASON CODE
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 CMER     SPACE  2,32 
**               ERROR PROCESSOR CMER.
* 
*                ERROR PROCESSOR CMER PROCESSES A CHECKMARKING LOGIC
*                ERROR ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY CHECKMARKING LOGIC
*                ERROR CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 CMER     ACTION             PROCESS CHECKMARKING LOGIC ERROR 
          LDN    /NAM/FTRCCE LOAD CHECKMARKING LOGIC ERROR REASON CODE
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 TOL7     SPACE  2,32 
**               ERROR PROCESSOR TOL7.
* 
*                ERROR PROCESSOR TOL7 PROCESSES A LEVEL SEVEN TIMEOUT 
*                CONDITION ON A FILE TRANSFER.  ANY INPUT IN PROGRESS IS
*                BYPASSED, THE STREAM STROPPED BY LEVEL SEVEN TIMEOUT 
*                CONDTIION CODE IS STORED IN THE PCB AND THE STREAM STATE 
*                RESPONSE ACTION FOR LEVEL SEVEN ERROR CONDITION IS 
*                EXECUTED.
* 
*                  ENTRY -
* 
*                    (EOT) = END OF TRANSFER FLAG.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    RSPB - READ AND STORE ADDRESS OF PCB WORD, 
*                    WCMW - WRITE WORD TO PCB,
*                    ESRA - EXECUTE STREAM STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
**                   CLIO - CALL LOGICAL INPUT/OUTPUT INTERFACE.
  
  
 TOL7     ACTION             PROCESS LEVEL SEVEN TIMEOUT ERROR
          LDN    /NAM/FTRCTO LOAD LEVEL SEVEN TIMEOUT ERROR REASON CODE 
          EXIT   BRPS.2      EXIT TO STORE STREAM STOPPED REASON CODE 
 PBPE     SPACE  2,50 
**               ERROR PROCESSOR PBPE.
* 
*                ERROR PROCESSOR PBPE PROCESSES A BLOCK PROTOCOL ERROR
*                FROM THE FRONT END.  IF THE FRONT END CHANNEL IS ACTIVE
*                IT IS DISCONNECTED.  VARIOUS DRIVER VALUES ARE 
*                TRANSFERRED TO THE BLOCK PROTOCOL ERROR WORKLIST AND 
*                THE BLOCK PROTOCOL ERROR WORKLIST IS TRANSFERRED TO THE
*                INBOUND BUFFER.  IF THE FRONT END IS A MDI THE READ
*                ERROR FUNCTION IS ISSUED TO THE MDI.  IF THE HALT
*                FRONT END ON ERROR FLAG IS SET IN THE DRIVER INTERFACE 
*                TABLE THE HALT FRONT END COMMAND WITH THE DUMP OPTION
*                SELECTED IS SENT TO THE FRONT END NODE THAT CAUSED THE 
*                BLOCK PROTOCOL ERROR.  THE BLOCK HANDLER RESPONSE
*                ACTION FOR BLOCK PROTOCOL ERROR IS EXECUTED AND THE NEXT 
*                FRONT END IS PROCESSED.
* 
*                  ENTRY -
* 
*                      (ERRCODE) = ERROR CODE,
*                          (FEI) = FRONT END TABLE ADDRESS, 
*                          (FTY) = FRONT END TYPE,
*                    (DIT-DIT+1) = ADDRESS OF DRIVER INTERFACE TABLE. 
* 
*                  EXIT - 
* 
*                        (DEC) = DRIVER ERROR CODE, 
*                    (ERRCODE) = RESET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF UNABLE TO ISSUE HALT COMMAND. 
* 
*                  CALLS -
* 
*                     PSTC - PRESET FRONT END CHANNEL INSTURCTIONS, 
*                     CIBS - CHECK INBOUND BUFFER SPACE,
*                    PAUSE - PASUE FOR STORAGE RELOCATION,
*                      IWL - INITIALIZE WORKLIST, 
*                      TWL - TRANSFER WORKLIST TO INBOUND BUFFER, 
*                     CMRE - CHECK FOR MDI READ ERROR,
*                     TTBF - TRANSFER TWELVE BIT FORMATTED DATA,
*                      TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
*                     EBRA - EXECUTE BLOCK STATE RESPONSE ACTION. 
* 
*                  MACRO CALLS -
* 
*                     FEIO - LOGICAL INPUT/OUTPUT INTERFACE 
* 
*         THE FORMAT OF THE WORKLIST ENTRY IS AS FOLLOWS: 
* 
*                  5         4         3         2         1
*         987654321098765432109876543210987654321098765432109876543210
*         ************************************************************* 
*         *  55 *       16        *///////////////////////////////////* 
*         ************************************************************* 
*         *   HN  *   TN  *   CN  *ERRCODE*  RC   *REQ COD*///////////* 
*         ************************************************************* 
*         *///////////*          STS          *    CTL    *    BHS    * 
*         ************************************************************* 
*         *    OVL    *    NCC    *    LIC    *    EOT    *       *...* 
*         ************************************************************* 
*         *   FEIC    *  ERRCODE  *     HN    *     TN    *    ADO    * 
*         ************************************************************* 
*         *          RTE          *   CO/IOC  *         BSBC          * 
*         ************************************************************* 
*         *     BT    *    NSS    *    PRU    *    REOT   *     OW    * 
*         ************************************************************* 
*         *...........*        OCP/ICP        *     CN    *           * 
*         *************************************************           * 
*         *                                                           * 
*         *              FIRST 30 BYTES OF DATA IN BHB                * 
*         *                                                           * 
*         *                                                           * 
*         ************************************************************* 
* 
* 
*         THE CONTENTS OF THE NPI/PP SUPERVISORY MESSAGE IS BASICALLY 
*         THE SAME AS THE ABOVE WORKLIST ENTRY AND IS AS FOLLOWS: 
* 
*                  5         4         3         2         1
*         987654321098765432109876543210987654321098765432109876543210
*         ************************************************************* 
*         * 1E(16)* 14(16)* 59(16)*      STS      *  CTL  *  BHS  *OVL* 
*         ************************************************************* 
*         *...*  NCC  *  LIC  *  EOT  *     FEIC      *ERRCODE*   HN  * 
*         ************************************************************* 
*         *   TN  *  ADO  *      RTE      *CO/IOC *     BSBC      * BT* 
*         ************************************************************* 
*         *...*  NSS  *  PRU  *  REOT *       OW      *    OCP/ICP    * 
*         ************************************************************* 
*         *   CN  *///////////////////////////////////////////////////* 
*         ************************************************************* 
* 
*             WHERE      HN = HOST NODE NUMBER
*                        TN = TERMINAL NODE NUMBER
*                        CN = NETWORK CONNECTION NUMBER 
*                   ERRCODE = DRIVER ERROR CODE 
*                        RC = WORKLIST REASON CODE
*                   REQ COD = WORKLIST REQUEST CODE 
*                       STS = STREAM STATES 
*                       CTL = ACTION ORDINAL
*                       BHS = BLOCK HANDLER STATE 
*                       OVL = OVERLAY ORDINAL 
*                       NCC = CURRENT MESSAGE CHARACTER COUNT 
*                       LIC = LAST INPUT CHARACTER
*                       EOT = END OF TRANSFER FLAG
*                      FEIC = ADDRESS OF INPUT CHARACTER PROCESSOR
*                       ADO = ACTION DIRECTORY ORDINAL
*                       RTE = RESPONSE TABLE ENTRY
*                    CO/IOC = COMMAND ORDINAL 
*                      BSBC = BSN AND BACK COUNTS 
*                        BT = NETWORK BLOCK TYPE
*                       NSS = NEXT STREAM STATE 
*                       PRU = PRU BUFFER SIZE 
*                      REOT = REQUEST END OF TRANSFER FLAG
*                        OW = NPU ORDER WORD
*                   OCP/ICP = OUTPUT/INPUT CHARACTER PROCESSOR
* 
**
  
  
 PBPE     ACTION             PROCESS BLOCK PROTOCOL ERROR 
          LDM    ERRCODE     LOAD ERROR CODE
          STM    DRBUF+/NAM/DIB+30 SAVE ERROR CODE TEMPORARILY
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          RJM    PSTC        EXIT TO PRESET CHANNEL INSTRUCTIONS
          IJM.   PBPE.1      EXIT IF FRONT END CHANNEL NOT ACTIVE 
          DCN.               DISCONNECT FRONT END CHANNEL 
  
 PBPE.1   LDM    FTY,FEI     LOAD FRONT END TYPE
          ZJN    PBPE.1C     EXIT IF NPU
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDM    BPE,FEI     READ BLOCK PROTOCOL ERROR RETRY COUNTER
          ZJN    PBPE.1A     EXIT IF FIRST READ ERROR 
          LDD    T0+1        LOAD SYSTEM SECOND CLOCK 
          SBM    ETM,FEI     LESS ERROR PROCESSING START TIME 
          LPC    7777B       MAKE POSITIVE 12-BIT COUNTER 
          SBN    Q.BPET      LESS ERROR RETRY TIME LIMIT
          MJN    PBPE.1B     EXIT IF TIME LIMIT NOT REACHED 
          LDN    0           CONSTANT OF ZERO 
          STM    BPE,FEI     RESET ERROR RETRY COUNTER
  
 PBPE.1A  LDD    T0+1        LOAD SYSTEM SECOND TIME
          STM    ETM,FEI     STORE ERROR PROCESSING START TIME
  
 PBPE.1B  AOM    BPE,FEI     CONSECUTIVE BLOCK PROTOCOL ERROR COUNT 
          SBN    MAXBPE      LESS MAXIMUM CONSEC. BLOCK PROTOCOL ERROR
          PJN    PBPE.1D     EXIT IF ERROR LIMIT REACHED
          RJM    CMRE        EXIT TO CHECK FOR MDI READ ERROR 
          NJN    PBPE.1C     EXIT IF READ ERROR NOT REPORTED BY MDI 
          EREXIT MIO         EXIT TO ERROR - ERROR REPORTED ON INPUT
  
 PBPE.1C  PJN    PBPE.1E     EXIT IF LAST FUNCTION IS NOT READ
          EXIT   NFE         EXIT IF READ ERROR FUNCTION IS ISSUED
  
 PBPE.1D  LDN    0           CONSTANT OF ZERO 
          STM    BPE,FEI     RESET BLOCK PROTOCOL ERROR COUNTER 
  
 PBPE.1E  LDN    /NAM/WL(3)CM LENGTH OF BLOCK PROTOCOL ERROR WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    PBPE.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          LJM    PBPE.4      ABANDON ERROR MESSAGE IF NO SPACE
  
 PBPE.2   LDN    30          LOAD COUNT OF WORDS TO MOVE
          STD    T0          INITIALIZE MOVE WORD COUNT 
          LDC    BHB+29      LOAD LAST ADDRESS OF DATA TO MOVE
          STD    T1          INITIALIZE SOURCE DATA ADDRESS 
          LDC    DRBUF+/NAM/DIB+29 LOAD LAST ADDRESS OF DESTINATION AREA
          STD    T2          INITIALIZE DESTINATION ADDRESS 
  
 PBPE.3   LDI    T1          LOAD NEXT SOURCE WORD
          STI    T2          STORE NEXT DESTINATION WORD
          SOD    T1          DECREMENT SOURCE DATA ADDRESS
          SOD    T2          DECREMENT DESTINATION DATA ADDRESS 
          SOD    T0          DECREMENT MOVE WORD COUNT
          NJN    PBPE.3      EXIT IF MORE DATA TO MOVE
          LDD    CN          CONNECTION NUMBER
          STM    DRBUF+/NAM/DCN  SAVE FOR WORKLIST AND NPI/PP SUP MSG 
          LDD    STS         LOAD STREAM STATES 
          STM    DRBUF+/NAM/DSS+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          RIGHT JUSTIFY UPPER 4 BITS OF STREAM STATES
          STM    DRBUF+/NAM/DSS  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDD    CTL         LOAD ACTION ORDINAL
          STM    DRBUF+/NAM/DAC  SAVE FOR WORKLST AND NPI/PP SUP MSG
          LDD    BHS         LOAD BLOCK HANDLER STATE 
          STM    DRBUF+/NAM/DBS STORE DRIVER BLOCK HANDLER STATE
          LDM    DCSAVE+70B  LOAD LOADED OVERLAY ORDINAL
          STM    DRBUF+/NAM/DOV STORE LOADED OVERLAY ORDINAL
          LDD    NCC         LOAD CURRENT MESSAGE CHARACTER COUNT 
          STM    DRBUF+/NAM/DCC STORE DRIVER CHARACTER COUNT
          LDM    DCSAVE+T0   LOAD LAST INPUT CHARACTER
          STM    DRBUF+/NAM/DLI STORE DRIVER LAST INPUT CHARACTER 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          STM    DRBUF+/NAM/DET STORE DRIVER END OF TRANSFER FLAG 
          LDM    FEIC        LOAD RETURN ADDRESS OF INPUT CHAR PROC 
          STM    DRBUF+/NAM/DIC+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          UPPER 4 BITS OF LAST DRIVER INPUT CALL ADDR
          STM    DRBUF+/NAM/DIC  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDM    HND,FEI     HOST NODE NUMBER 
          STM    DRBUF+/NAM/DHN  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    TN          TERMINAL NODE NUMBER 
          STM    DRBUF+/NAM/DTN  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    ADO         DRIVER ACTION DIRECTORY ORDINAL
          STM    DRBUF+/NAM/DAD  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    RTE         DRIVER RESPONSE TABLE ENTRY
          STM    DRBUF+/NAM/DRT+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          UPPER 4 BITS OF DRIVER RESPONSE TABLE ENTRY
          STM    DRBUF+/NAM/DRT  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDD    CO          COMMAND ORDINAL OR INPUT ORDER CODE
          STM    DRBUF+/NAM/DCO  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    BSBC        BLOCK SERIAL NUMBERS AND BACK COUNTS 
          STM    DRBUF+/NAM/DBA+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          UPPER 4 BITS OF BSNS AND BACK COUNTS 
          STM    DRBUF+/NAM/DBA  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDD    BT          BLOCK TYPE 
          STM    DRBUF+/NAM/DBT  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    NSS         DRIVER NEXT STREAM STATE 
          STM    DRBUF+/NAM/DNS  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    PRU         CURRENT PRU BUFFER SIZE IN USE 
          STM    DRBUF+/NAM/DPR  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDD    OW          NPU OUTPUT ORDER WORD
          STM    DRBUF+/NAM/DOW+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          UPPER 4 BITS OF NPU ORDER WORD 
          STM    DRBUF+/NAM/DOW  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDD    OCP         DRIVER OUTPUT/INPUT PROCESSOR
          STM    DRBUF+/NAM/DCP+1  SAVE FOR WORKLIST AND/OR SUP MSG 
          SHN    -8          UPPER 4 BITS OF DRIVER I/O PROCESSOR 
          STM    DRBUF+/NAM/DCP  SAVE UPPER 4 BITS FOR NPI/PP SUP MSG 
          LDD    REOT        DRIVER REQUEST END OF TRANSFER FLAG
          STM    DRBUF+/NAM/DRE  SAVE FOR WORKLIST AND/OR SUP MSG 
          LDM    DRBUF+/NAM/DIB+30 LOAD SAVED ERROR CODE
          STM    DRBUF+/NAM/DER  SAVE FOR WORKLIST AND/OR SUP MSG 
          STM    ERRCODE     RESTORE ERROR CODE WORD FOR PRU WORKLIST 
          LMC    /ERROR/IUC  LESS VALUE FOR INPUT ON UNASSIGNED CN
          ZJN    PBPE.3A     EXIT IF INPUT ON UNASSIGNED CONNECTION 
          LDD    TN          LOAD TERMINAL NODE 
          ZJN    PBPE.3A     ISSUE DAYFILE WLE FOR INVALID TERMINAL NODE
          LDD    STS         LOAD STREAM STATE
          ZJN    PBPE.3A     EXIT IF NOT IN PRU STREAM STATE
          LDN    /NAM/BPWL   LOAD BLOCK PROTOCOL WORKLIST REQUEST CODE
          UJN    PBPE.3B     EXIT TO INITIALIZE UPBOUND WORKLIST
  
 PBPE.3A  LDC    /NAM/DFBPE*10000B&/NAM/DFWL  REASON AND REQUEST CODE 
  
 PBPE.3B  RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDN    0
          STM    ERRCODE     INITIALIZE ERROR CODE WORD AGAIN 
          LDN    /NAM/WL(3)CM LENGTH OF BLOCK PROTOCOL ERROR WORKLIST 
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH 
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
  
 PBPE.4   LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          ADN    /NAM/W.DITNTP DELTA FOR APPLICATION REQUEST WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ APPLICATION REQUEST WORD
          LDD    T0+/NAM/C.DITAR LOAD APPLICATION REQUEST BYTE
          SHN    17-/NAM/S.DITEH POSITION HALT ON ERROR FLAG TO SIGN
          MJN    PBPE.6      EXIT IF HALT FRONT END ON ERROR SELECTED 
  
 PBPE.5   LDN    /TABLES/.BPCE BLOCK PROTOCOL ERROR RESPONSE ORDINAL
          STD    CTL         STORE BLOCK HANDLER STATE ACTION ORDINAL 
          EXIT   PFCE.5      EXIT TO PRESET CHANNEL INSTRUCTIONS
  
 PBPE.6   LDM    BHB+/BLOCK/SN LOAD SOURCE NODE OF LAST TRANSACTION 
          STM    BHB+/BLOCK/DN STORE DESTINATION NODE FOR HALT COMMAND
          LDM    HND,FEI     LOAD HOST NODE NUMBER
          STM    BHB+/BLOCK/SN STORE SOURCE NODE OF HALT COMMAND
          LDN    0           CONSTANT OF ZERO 
          STM    BHB+/BLOCK/CN STORE CONNECTION NUMBER OF HALT COMMAND
          LDN    /BLOCK/CMD  LOAD COMMAND BLOCK TYPE VALUE
          STM    BHB+/BLOCK/BNBT STORE BLOCK TYPE OF HALT COMMAND 
          LDK    HFPFC       LOAD HALT FRONT END PRIMARY FUNCTION CODE
          STM    NCH+/BLOCK/PFC STORE COMMAND PRIMARY FUNCTION CODE 
          LDK    HFSFC       LOAD HALT FRONT END SECONDARY FUNCTION CODE
          STM    NCH+/BLOCK/SFC STORE COMMAND SECONDARY FUNCTION CODE 
          LDC    .Y          LOAD ASCII CHARACTER Y 
          STM    DRBUF+/BLOCK/DDP  SELECT DUMP IN HALT FRONT END CMD
          LDN    /BLOCK/L.BH+/NAM/HFEC+16-1 LENGTH OF COMMAND 
          SHN    -3          POSITION TO ORDER WORD FORMAT
          STD    OW          STORE OUTPUT BLOCK LENGTH
          LDN    /NORDER/OL1 LOAD OUTPUT PRIORITY LEVEL 
          SHN    /NORDER/S.NPUOL PRIORITY TO ORDER WORD FORMAT
          RAD    OW          ADD TO OUTPUT BLOCK LENGTH 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+4        LOAD SYSTEM MILLISECOND TIME 
          ADK    Q.NOWT      PLUS OUTPUT WAIT DELAY 
          STD    T15         STORE OUTPUT WAIT TIMER
  
 PBPE.7   RJM    PAUSE       EXIT TO PAUSE FOR STORAGE RELOCATION 
          FEIO   FERO        REQUEST OUTPUT TO FRONT END
          NJN    PBPE.8      EXIT IF OUTPUT REQUEST ACCEPTED
          LDK    RTCL        LOAD ADDRESS OF SYSTEM READ-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+4        LOAD SYSTEM MILLISECOND TIME 
          SBD    T15         LESS OUTPUT WAIT TIMER 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    PBPE.7      EXIT IF TIMER NOT EXPIRED
          UJN    PBPE.9      EXIT TO HALT FRONT END 
  
 PBPE.8   LDN    0           INITIALIZE REQUEST END OF TRANSFER FLAG
          STD    REOT        SET NO END OF TRANSFER 
          FEIO   FEOH        OUTPUT BLOCK PROTOCOL HEADER TO FRONT END
          LDC    NCH         LOAD ADDRESS OF COMMAND HEADER 
          STD    T1          STORE STARTING DATA ADDRESS
          LDN    /NAM/HFEC   LOAD COMMAND TEXT CHARACTER COUNT
          STD    T2          STORE DATA CHARACTER COUNT 
          AOD    REOT        SET REQUEST END OF TRANSFER REQUESTED
          RJM    TTBF        EXIT TO TRANSFER HALT COMMAND TO FRONT END 
 PBPE.8A  BSS    0
          UJK    PBPE.5      EXIT TO LOAD ERROR RESPONSE CODE 
  
 PBPE.9   LDN    /NAM/L.BH+/NAM/L.WH+L.NPHT LENGTH OF HALTED WORKLIST 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    PBPE.10     EXIT IF INBOUND BUFFER SPACE AVAILABLE 
          UJN    PBPE.8A     ABANDON ERROR MESSAGE IF NO SPACE
  
 PBPE.10  FEIO   FEHL        HALT FRONT END 
          UJN    PBPE.8A     EXIT TO LOAD ERROR RESPONSE CODE 
 PSTC     TITLE  ERROR PROCESSING SUPPORT SUBROUTINES.
 PSTC     SPACE  2,24 
**               SUBROUTINE PSTC. 
* 
*                SUBROUTINE PSTC ADDS THE FRONT END CHANNEL TO THE
*                CHANNEL INSTRUCTIONS LOCATED BY A CHANNEL CHANNEL
*                INSTRUCTION LIST.
* 
*                  ENTRY -
* 
*                    (CHAN) = FRONT END CHANNEL NUMBER. 
* 
*                  EXIT - 
* 
*                    CHANNEL INSTRUCTIONS INITIALIZED.
* 
*                  USES - 
* 
*                    T1 = CHANNEL INSTRUCTION LIST ADDRESS, 
*                    T0 = FRONT END CHANNEL,
**                   T2 = ADDRESS OF CHANNEL INSTRUCTION. 
  
  
 PSTC     SUBR               ENTRY/EXIT 
          LDC    ECTABLE     LOAD ADDRESS OF CHANNEL INITIALIZATION LIST
          STD    T1          INITIALIZE CHANNEL INSTRUCTION LIST ADDRESS
          LDM    CHAN        LOAD FRONT END CHANNEL NUMBER
          STD    T0          STORE FRONT END CHANNEL NUMBER 
  
 PSTC.1   LDI    T1          LOAD ADDRESS OF NEXT CHANNEL INSTRUCTION 
          ZJN    PSTCX       RETURN IF END OF CHANNEL INSTRUCTION LIST
          STD    T2          STORE ADDRESS OF CHANNEL INSTRUCTION 
          LDI    T2          LOAD CHANNEL INSTRUCTION 
          SCN    77B&NHO     CLEAR PREVIOUS FRONT END CHANNEL NUMBER
          LMD    T0          PLUS NEW FRONT END CHANNEL NUMBER
          STI    T2          STORE UPDATED CHANNEL INSTRUCTION
          AOD    T1          INCREMENT CHANNEL INSTRUCTION LIST ADDRESS 
          UJK    PSTC.1      EXIT TO CHECK FOR END OF INSTRUCTION LIST
 CMRE     SPACE  2,32 
**               SUBROUTINE CMRE. 
* 
*                SUBROUTINE CMRE EXITS TO THE ERROR ROUTINE IF THE
*                CONSECUTIVE ERROR COUNT FOR THE MDI HAS REACHED THE
*                DEFINED MAXIMUM.  OTHERWISE THE LAST MDI FUNCTION IS 
*                CHECKED FOR A READ DATA FUNCTION.  IF THE LAST FUNCTION
*                IS A READ DATA AND THE MDI DID NOT DETECT AN ERROR,
*                THE READ ERROR FUNCTION IS ISSUED TO THE MDI TO REPORT 
*                THAT THE READ DATA WAS NOT SUCCESSFUL. 
* 
*                  ENTRY -
* 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (ECT) = CONSECUTIVE MDI ERROR COUNT, 
*                     (FC) = LAST MDI FUNCTION CODE.
* 
*                  EXIT - 
* 
*                      (A) = NEGATIVE - READ ERROR FUNCTION IS ISSUED,
*                          = 0 - READ ERROR REPORTED BY MDI,
*                          = 1 - CHANNEL ACCESS TYPE ERROR, 
*                          = OTHER - LAST FUNCTION CODE IS NOT READ.
*                    (ECT) = UPDATED FOR CURRENT ERROR. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF ERROR COUNT EXCEEDED, 
*                    EXIT TO *ERROR* IF UNABLE TO ISSUE READ ERROR. 
* 
*                  CALLS -
* 
*                     GMS - OBTAIN MDI GENERAL STATUS,
**                   FMDI - FUNCTION MDI. 
  
  
 CMRE.0   LCN    0           NEGATIVE RETURN
  
 CMRE     SUBR               ENTRY/EXIT 
          AOM    ECT,FEI     INCREMENT CONSECUTIVE ERROR COUNT
          SBN    MAXMER      LESS MAXIMUM CONSECUTIVE ERRORS ALLOWED
          MJN    CMRE.2      EXIT IF ERROR COUNT NOT EXCEEDED 
  
 CMRE.1   EREXIT MIN         EXIT TO ERROR - MDI INOPERATIVE
  
 CMRE.2   LDM    ERRCODE     LOAD ERROR CODE
          SBN    /ERROR/AAD+1 CHECK FOR CHANNEL ACCESS TYPE ERROR 
          PJN    CMRE.2A     EXIT IF NOT CHANNEL ACCESS TYPE ERROR
          LDN    1           CONSTANT OF ONE
          UJN    CMREX       RETURN WITH ONE
  
 CMRE.2A  LDM    /MDI/FC     LOAD LAST MDI FUNCTION 
          LMC    /FUNCTION/RDT LESS VALUE FOR READ DATA 
          NJN    CMREX       RETURN IF NOT ACCEPTING INPUT DATA 
          RJM    /MDI/GMS    EXIT TO OBTAIN MDI GENERAL STATUS
          ZJN    CMREX       RETURN IF MDI REPORTING ERROR
          PJN    CMRE.3      EXIT IF MDI DID NOT DETECT ERROR 
          EXIT   PNMS        EXIT IF MDI STATUS NOT AVAILABLE 
  
 CMRE.3   LDN    /FUNCTION/RER LOAD READ ERROR FUNCTION 
          RJM    FMDI        EXIT TO ISSUE READ ERROR TO MDI
          NJN    CMRE.0      NEGATIVE RETURN IF FUNCTION ISSUED 
          UJK    CMRE.1      EXIT TO ERROR - MDI INOPERATIVE
 FMDI     SPACE  2,26 
**               SUBROUTINE FMDI. 
* 
*                SUBROUTINE FMDI FUNCTIONS THE MDI. 
* 
*                  ENTRY -
* 
*                      (A) = FUNCTION CODE, 
*                    (FEI) = FRONT END TABLE ADDRESS, 
*                    (CAD) = MDI EQUIPMENT NUMBER.
* 
*                  EXIT - 
* 
*                    (A) = NON-ZERO IF FUNCTION COMPLETED.
* 
*                  CALLS -
* 
*                    PSTC - PRESET FRONT END CHANNEL INSTRUCTIONS.
* 
*                  USES - 
* 
*                    T7 = FUNCTION ATTEMPT COUNTER, 
**                   T3 = FUNCTION CODE.
  
  
 FMDI     SUBR               ENTRY/EXIT 
          STD    T3          STORE FUNCTION CODE
          LDK    MSTRY       LOAD FUNCTION ATTEMPT COUNT
          STD    T7          INITIALIZE FUNCTION ATTEMPT COUNTER
          RJM    PSTC        EXIT TO PRESET CHANNEL INSTRUCTIONS
  
 FMDI.0   IJM.   FMDI.1      EXIT IF FRONT END CHANNEL NOT ACTIVE 
          DCN.               DISCONNECT FRONT END CHANNEL 
  
 FMDI.1   LDD    T3          LOAD FUNCITON CODE 
          ADM    CAD,FEI     PLUS EQUIPMENT NUMBER
          FAN.               FUNCTION FRONT END 
          LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 FMDI.2   SBN    1           DECREMENT DELAY COUNT
          ZJN    FMDI.3      EXIT IF DELAY EXPIRED
          IJM.   FMDIX       RETURN IF CHANNEL WENT INACTIVE
          UJK    FMDI.2      EXIT TO CHECK DELAY EXPIRED
  
 FMDI.3   SOD    T7          DECREMENT FUNCTION ATTEMPT COUNTER 
          NJN    FMDI.0      EXIT IF RETRY COUNTER NOT EXCEEDED 
          UJK    FMDIX       RETURN ZERO - FUNCTION NOT COMPLETED 
 ECTABLE  TITLE  CHANNEL INSTRUCTION INITIALIZATION ADDRESS LIST. 
 ECTABLE  SPACE  2,14 
**               ERROR TERMINATION CHANNEL INSTRUCTION ADDRESS LIST.
* 
*                THE ERROR TERMINATION CHANNEL INSTRUCTION ADDRESS LIST 
*                CONTAINS AN ENTRY FOR EACH CHANNEL INSTRUCTION USED
*                BY THE TERMINATION OVERLAY.  THE CONTENTS OF EACH ENTRY
**               IS THE ADDRESS OF THE CHANNEL INSTRUCTION. 
  
  
          LIST   D
  
 ECTABLE  BSS    0           CHANNEL INSTRUCTION ADDRESS LIST 
  
 CIT      HERE
  
          CON    0           TERMINATE ADDRESS LIST 
  
          LIST   *
          QUAL
  
 ."O.N"   EQU    *
  
          IFGT   ."O.N",DCSAVE,1
          ERR    CAN NOT SAVE DIRECT CELLS. 
  
          OVERLAY F=TRANS,T1=(ERROR PROCESSORS),T2=(DRIVER ERROR PROCESS
,ORS) 
  
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*ERROR*  DEFINE ACTION TYPE 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .DROP    SET    0
 .NFE     SET    0
 .PFE     EQU    0
 .NPRU    SET    0
 PFDE     SPACE  2,14 
**               ERROR PROCESSOR PFDE.
* 
*                ERROR PROCESSOR PFDE PROCESSES A FATAL DRIVER ERROR. 
*                PPU MEMORY IS COPIED INTO NAM FIELD LENGTH AND THE 
*                DRIVER IS TERMINATED.
* 
*                  CALLS -
* 
**                   DPP - DUMP PPU MEMORY. 
  
  
 PFDE     ACTION             PROCESS FATAL DRIVER ERROR 
          RJM    DPP         EXIT TO DUMP PPU TO NAM FIELD LENGTH 
          EXIT   DROP        EXIT TO TERMINATE DRIVER 
 DBOB     SPACE  2,34 
**               ERROR PROCESSOR DBOB.
* 
*                ERROR PROCESSOR DBOB PROCESSES A BAD OUTBOUND BLOCK. 
*                IF THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE
*                OUTBOUND BLOCK DISCARDED WORKLIST THE DATA POINTER IN
*                THE OUTBOUND PSEUDO FET IS UPDATED, THE REQUEST AND
*                REASON CODES ARE STORED, UP TO THE FIRST TEN WORDS OF
*                THE OUTBOUND MESSAGE ARE READ AND THE WORKLIST ENTRY 
*                IS TRANSFERRED TO THE INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (NBH-NBH+L.BH) = OUTBOUND MESSAGE WORD LENGTH, 
*                    (BHB-BHB+L.BH) = OUTBOUND MESSAGE HEADER,
*                       (FBA-FBA+1) = OUTBOUND BUFFER ADDRESS,
*                         (ERRCODE) = ERROR CODE, 
*                             (STS) = DRIVER STREAM STATES. 
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                    UFOP - UPDATE FET OUT DATA POINTER,
*                     IWL - INITIALIZE UPBOUND WORKLIST,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
**                    TWL - TRANSFER WORKLIST ENTRY TO INBOUND BUFFER.
  
  
 DBOB     ACTION             PROCESS BAD OUTPUT BLOCK 
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTBOUND MESSAGE LENGTH
          ADN    /NAM/L.BH+/NAM/L.NH PLUS LENGTH OF HEADER WORDS
          STD    CWC         STORE WORKLIST TEXT LENGTH 
          SBN    /NAM/WL(1)T LESS LENGTH OF WORKLIST TEXT 
          MJN    DBOB.1      EXIT IF MESSAGE LESS THAN WORKLIST LENGTH
          LDN    /NAM/WL(1)T LOAD LENGTH OF WORKLIST TEXT 
          STD    CWC         STORE WORKLIST TEXT LENGTH 
  
 DBOB.1   LDD    CWC         LOAD WORKLIST TEXT LENGTH
          ADN    /NAM/L.BH+/NAM/L.NH PLUS LENGTH OF HEADER WORDS
          ADN    /NAM/WH(1)T PLUS LENGTH OF WORKLIST HEADER 
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    DBOB.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 DBOB.2   RJM    UFOP        EXIT TO UPDATE FET OUT DATA POINTER
          LDM    BHB+/BLOCK/DN LOAD OUTBOUND MESSAGE DESTINATION CODE 
          STD    TN          STORE TERMINAL NODE
          LDC    /NAM/DFRDM*10000B&/NAM/DFWL  REASON AND REQUEST CODE 
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDD    FBA         LOAD HIGH-ORDER OF OUTBOUND BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF OUTBOUND BUFFER ADDRESS
          ADD    CWC         PLUS WORKLIST TEXT LENGTH
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    CWC         LESS WORKLIST TEXT LENGTH
          CRM    DRBUF+/NAM/L.WH(1),CWC READ OUTBOUND MESSAGE TEXT
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF HEADER WORDS
          ADN    /NAM/WH(1)T PLUS LENGTH OF WORKLIST HEADER 
          ADD    CWC         PLUS WORKLIST TEXT LENGTH
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRM    DRBUF,ON    ZERO WORKLIST HEADER 
          LDM    ERRCODE     LOAD ERROR CODE
          STM    DRBUF+/NAM/DEC STORE DRIVER ERROR CODE 
          LDD    STS         LOAD STREAM STATES 
          STM    DRBUF+/NAM/DSS STORE DRIVER STREAM STATES
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          EXIT   PFE.2       EXIT TO PROCESS NEXT OUTBOUND MESSAGE
 PWLE     SPACE  2,36 
**               ERROR PROCESSOR PWLE.
* 
*                ERROR PROCESSOR PWLE PROCESSES A BAD WORKLIST ENTRY. 
*                IF THERE IS SUFFICIENT INBOUND BUFFER SPACE FOR THE
*                ERROR LOGICAL AND WORKLIST COMPLETED WORKLIST ENTRIES
*                THE OUTBOUND WORKLIST ENTRY IS TRANSFERRED TO THE ERROR
*                LOGICAL WORKLIST ENTRY AND THE ERROR LOGICAL WORKLIST
*                ENTRY IS TRANSFERRED TO THE INBOUND BUFFER.  THE 
*                WORKLIST COMPLETED WORKLIST IS TRANSFERRED TO THE
*                INBOUND BUFFER.
* 
*                  ENTRY -
* 
*                    (NBH-NBH+L.BH) = OUTBOUND WORKLIST BLOCK HEADER, 
*                       (FBA-FBA+1) = OUTBOUND WORKLIST ADDRESS,
*                             (WLP) = WORKLIST POINTER WORD ORDINAL,
*                         (ERRCODE) = ERROR CODE, 
*                             (STS) = DRIVER STREAM STATES, 
*                             (CTL) = DRIVER ACTION ORDINAL.
* 
*                  EXIT - 
* 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
*                    CIBS - CHECK INBOUND BUFFER SPACE, 
*                     IWL - INITIALIZE UPBOUND WORKLIST,
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS,
*                     TWL - TRANSFER WORKLIST ENTRY TO INBOUND BUFFER,
**                   SWLC - SEND WORKLIST COMPLETED RESPONSE. 
  
  
 PWLE     ACTION             PROCESS WORKLIST ERROR 
          LDM    NBH+/NAM/C.BWD+1 LOAD OUTBOUND WORKLIST LENGTH 
          STD    CWC         STORE WORKLIST TEXT LENGTH 
          SBN    /NAM/WL(2)T LESS LENGTH OF WORKLIST TEXT 
          MJN    PWLE.1      EXIT IF LESS THAN MAXIMUM TEXT LENGTH
          LDN    /NAM/WL(2)T LOAD LENGTH OF WORKLIST TEXT 
          STD    CWC         STORE WORKLIST TEXT LENGTH 
  
 PWLE.1   LDD    CWC         LOAD WORKLIST TEXT LENGTH
          ADN    /NAM/L.BH+/NAM/L.NH PLUS LENGTH OF HEADER WORDS
          ADN    /NAM/WH(2)T PLUS LENGTH OF WORKLIST HEADER 
          ADN    /NAM/WLCCM  PLUS LENGTH OF WORKLIST COMPLETED WORKLIST 
          ADN    /NAM/L.SIB+1 PLUS BUFFER LENGTH FOR SMALL IVT MESSAGE
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    PWLE.2      EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 PWLE.2   LDM    ERRCODE     LOAD ERROR CODE
          ADC    -/ERROR/SAE LESS FIRST APPLICATION ERROR CODE
          ADN    /NAM/WLLE   PLUS FIRST NAM ERROR CODE
          SHN    12          POSITION REASON CODE 
          ADN    /NAM/ELWL   PLUS ERROR LOGICAL REQUEST CODE
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDD    FBA         LOAD HIGH-ORDER OF WORKLIST ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF WORKLIST ADDRESS 
          ADD    CWC         PLUS WORKLIST TEXT LENGTH
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    CWC         LESS WORKLIST TEXT LENGTH
          CRM    DRBUF+/NAM/L.WH(2),CWC READ OUTBOUND WORKLIST ENTRY
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRM    DRBUF,ON    ZERO WORKLIST HEADER 
          LDM    ERRCODE     LOAD ERROR CODE
          STM    DRBUF+/NAM/DEC STORE DRIVER ERROR CODE 
          LDD    STS         LOAD STREAM STATES 
          STM    DRBUF+/NAM/DSS STORE DRIVER STREAM STATES
          LDD    CTL         LOAD ACTION ORDINAL
          STM    DRBUF+/NAM/DAO STORE DRIVER ACTION ORDINAL 
          LDN    /NAM/L.BH+/NAM/L.NH LOAD LENGTH OF NAM HEADER WORDS
          ADN    /NAM/WH(2)T PLUS LENGTH OF WORKLIST HEADER 
          ADD    CWC         PLUS WORKLIST TEXT LENGTH
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH 
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          RJM    SWLC        EXIT TO SEND WORKLIST COMPLETED RESPONSE 
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          EXIT   NPRU        EXIT TO PROCESS NEXT PRU STREAM
 DPP      TITLE  ERROR PROCESSING SUPPORT SUBROUTINES.
          QUAL
 DPP      SPACE  2,30 
**               SUBROUTINE DPP.
* 
*                SUBROUTINE DPP DUMPS PPU MEMORY TO NAM FIELD LENGTH. 
*                IF THIS DRIVER IS INITIATING THE DUMP THE CPU IS 
*                DROPPED, ADDITIONAL STORAGE IS REQUESTED AND PPU 
*                MEMORY IS COPIED INTO THE FIELD LENGTH.  IF ANOTHER
*                DRIVER IS REQUESTING THE DUMP ONLY PPU MEMORY IS 
*                COPIED TO THE DUMP AREA FOR THIS DRIVER. 
* 
*                  CALLS -
* 
*                    GDRW - GET DRIVER INTERFACE TABLE HEADER ADDRESS,
*                     MTR - ISSUE MONITOR FUNCTION, 
*                     TFL - FORM ABSOLUTE CENTRAL ADDRESS 
* 
*                  USES - 
* 
*                    FBA, +1 = DUMP AREA ADDRESS
*                    T0-T0+4 = STORAGE MOVE REQUEST WORD, 
*                    T0-T0+4 = DRIVER DUMP REQUEST WORD,
*                    T6-T6+1 = ADDRESS OF DRIVER DUMP REQUEST WORD, 
*                    T0-T0+4 = CONTROL POINT STATUS WORD, 
*                         T7 = DRIVER ORDINAL,
**                        T7 = CENTRAL MEMORY WORD COUNT. 
  
  
 DPP      SUBR               ENTRY/EXIT 
  
 DPP.1    RJM    GDRW        EXIT TO GET DRIVER INTERFACE TABLE HDR ADDR
          ADN    2+MAXDRV*/NAM/L.DITE LENGTH OF DRIVER INTERFACE TABLE
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBN    MAXDRV*/NAM/L.DITE DELTA FIRST WORD OF FIRST DIT ENTRY 
          STD    T15+1       STORE LOW-ORDER FIRST WORD FIRST DIT ENTRY 
          SHN    -12         POSITION HIGH-ORDER ADDRESS
          STD    T15         STORE HIGH-ORDER FIRST WORD FIRST DIT ENTRY
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DIT FIRST WORD
          STD    T5+1        STORE LOW-ORDER ABSOLUTE DIT ADDRESS 
          SHN    -12         POSITION HIGH-ORDER ADDRESS
          STD    T5          STORE HIGH-ORDER ABSOLUTE DIT ADDRESS
          LDC    /NAM/B.DITIU+/NAM/B.DITDU SET DUMP AREA SETUP
          STD    T10+/NAM/C.DITIU PLACE DUMP AREA SETUP FLAG
          LDD    T5          HIGH-ORDER ABSOLUTE DIT FIRST WORD ADDRESS 
          SHN    12          POSITION HIGH-ORDER
          ADD    T5+1        LOW-ORDER ABSOLUTE DIT FIRST WORD ADDRESS
          CWD    T10         REWRITE DIT FIRST WORD 
          LDN    MAXDRV      LOAD NAXIMUM DIT ENTRY COUNT 
          STD    T7          STORE MAXIMUM DIT ENTRY COUNT
          LDN    0           CONSTANT OF ZERO 
          STD    T17         SET INITIAL OFFSET FOR FIRST DIT ENTRY 
  
 DPP.1B   LDD    T15         HIGH-ORDER ABSOLUTE FIRST DIT FIRST WORD 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       LOW-ORDER ABSOLUTE FIRST DIT FIRST WORD
          ADD    T17         PLUS OFFSET FOR NEXT DIT ENTRY 
          CRD    T0          READ DIT FIRST WORD
          LDD    T0+/NAM/C.DITDOR LOAD DRIVER ORDINAL 
          LMM    DROR        MINUS CURRENT DRIVER ORDINAL 
          ZJN    DPP.1C      EXIT IF SAME 
          LDD    T0+/NAM/C.DITIU LOAD DIT DUMP SETUP FLAG WORD
          SHN    17-/NAM/S.DITDU POSITION DUMP REQUEST FLAG 
          MJN    DPP.1D      EXIT IF DUMP REQUESTED 
  
 DPP.1C   SOD    T7          DECREMENT DRIVER INDEX FOR NEXT DIT ENTRY
          ZJN    DPP.3       EXIT IF ALL DIT ENTRIES CHECKED
          LDN    /NAM/L.DITE LENGTH OF DIT ENTRY
          RAD    T17         INCREMENT INDEX FOR NEXT DIT ENTRY 
          UJK    DPP.1B      EXIT TO CHECK NEXT DIT ENTRY 
  
 DPP.1D   LDC    /NAM/B.DITIU SET DIT USE FLAG ONLY 
          STD    T10+/NAM/C.DITIU PLACE DIT USE FLAG
          LDD    T5          HIGH-ORDER ABSOLUTE DIT ENTRY ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE DIT ENTRY ADDRESS 
          CWD    T10         REWRITE DIT FIRST WORD 
          LDD    T0+/NAM/C.DITDDA HIGH-ORDER DUMP AREA ADDRESS
          LPN    37B         EXTRACT HIGH-ORDER ADDRESS 
          STD    FBA         STORE HIGH-ORDER DUMP AREA ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.DITDDA+1 LOW-ORDER DUMP AREA ADDRESS 
          STD    FBA+1       STORE LOW-ORDER DUMP AREA ADDRSS 
          ZJN    DPP.1E      EXIT IF NO DUMP AREA SETUP 
          LJM    DPP.7       EXIT IF DUMP AREA AVAILABLE
  
 DPP.1E   LDN    PRLM*0      PAUSE FOR STORAGE MOVE (IF NECESSARY)
          RJM    MTR         EXIT TO PAUSE FOR STORAGE RELOCATION 
  
 DPP.2    UJK    DPP.1       EXIT FOR RE-CHECK
  
 DPP.3    LDN    DCPM        LOAD MONITOR FUNCTION TO DROP CPU
          RJM    MTR         EXIT TO DROP CPU 
          LDD    FL          LOAD CONTROL POINT FIELD LENGTH
          SHN    6           TIMES 100B 
          STD    FBA+1       STORE LOW-ORDER DUMP AREA ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    FBA         STORE HIGH-ORDER DUMP AREA ADDRESS 
  
 DPP.4    LDD    FL          LOAD CONTROL POINT FIELD LENGTH
          ADN    DMPFL       PLUS FIELD LENGTH FOR DUMP 
          STD    T10+1       STORE REQUIRED FIELD LENGTH
          LDN    0           CONSTANT OF ZERO 
          STD    T10+2       SET MEMORY REQUEST TO CENTRAL MEMORY 
          LDN    RSTM        MONITOR FUNCTION TO REQUEST STORAGE
          RJM    MTR         EXIT TO REQUEST STORAGE
          LDD    T10+1       LOAD REPLY BYTE
          ZJN    DPP.5       EXIT IF STORAGE ASSIGNED 
          LDC    1000        LOAD DELAY COUNT 
          SBN    1           DECREMENT DELAY COUNT
          NJN    *-1         LOOP IF DELAY NOT EXPIRED
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    STSW        DELTA FOR CONTROL POINT STATUS WORD
          CRD    T0          READ CONTROL POINT STATUS WORD 
          LDD    T0+1        LOAD CONTROL POINT ERROR FLAG
          SBN    SPET        LESS VALUE OF FIRST SPECIAL ERROR FLAG 
          MJN    DPP.4       EXIT IF NOT SPECIAL ERROR FLAG 
          LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DIT FIRST WORD
          STD    T5+1        STORE LOW-ORDER ABSOLUTE DIT ADDRESS 
          SHN    -12         POSITION HIGH-ORDER ADDRESS
          STD    T5          STORE HIGH-ORDER ABSOLUTE DIT ADDRESS
          LDC    /NAM/B.DITIU SET DIT USE FLAG ONLY 
          STD    T10+/NAM/C.DITDDA AND RESET DUMP AREA ADDRESS
          LDD    T5          HIGH-ORDER ABSOLUTE DIT ENTRY ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        LOW-ORDER ABSOLUTE DIT ENTRY ADDRESS 
          CWD    T10         REWRITE DIT FIRST WORD 
          UJK    DPPX        RETURN - UNABLE TO DUMP DRIVER 
  
 DPP.5    LDD    DIT         LOAD HIGH-ORDER OF INTERFACE TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    DIT+1       PLUS LOW-ORDER OF INTERFACE TABLE ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ DIT FIRST WORD
          STD    T6+1        STORE LOW-ORDER OF DIT FIRST WORD ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T6          STORE HIGH-ORDER OF DIT FIRST WORD ADDRESS 
          LDD    FBA         LOAD HIGH-ORDER OF DUMP AREA ADDRESS 
          RAD    T0+/NAM/C.DITDDA STORE HIGH-ORDER DUMP AREA ADDRESS
          LDD    FBA+1       LOAD LOW-ORDER OF DUMP AREA ADDRESS
          STD    T0+/NAM/C.DITDDA+1 STORE LOW-ORDER DUMP AREA ADDRESS 
          LDD    T6          LOAD HIGH-ORDER OF DIT FIRST WORD ADDRESS
          SHN    12          POSITION HIGH-ORDER
          ADD    T6+1        PLUS LOW-ORDER OF DIT FIRST WORD ADDRESS 
          CWD    T0          REWRITE DIT FIRST WORD 
          LDN    MAXDRV      LOAD MAXIMUM DRIVER COUNT
          STD    T15         STORE MAXIMUM DRIVER COUNT 
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         GENERATE CENTRAL WORD OF ZERO
          LDD    FBA         LOAD HIGH-ORDER OF DUMP AREA ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF DUMP AREA ADDRESS
          ADN    /NAM/W.PPD  DELTA FOR PPU DUMP HEADER WORD 
          STD    T16+1       STORE LOW-ORDER OF DUMP HEADER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T16         STORE HIGH-ORDER OF DUMP HEADER ADDRESS
  
 DPP.6    SHN    12          POSITION TO HIGH-ORDER 
          ADD    T16+1       PLUS LOW-ORDER OF DUMP HEADER ADDRESS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         ZERO DUMP HEADER WORD
          SOD    T15         DECREMENT DRIVER COUNT 
          ZJN    DPP.7       EXIT IF ALL DUMP HEADER WORDS PROCESSED
          LDC    L.DMPPK     LOAD LENGTH OF DRIVER DUMP PACKET
          RAD    T16+1       ADD TO LOW-ORDER OF DUMP HEADER ADDRESS
          SHN    -12         POSITION CARRY 
          RAD    T16         ADD TO HIGH-ORDER OF DUMP HEADER ADDRESS 
          UJK    DPP.6       EXIT TO ZERO NEXT DUMP HEADER WORD 
  
*                            PIPS WRITE DUMP AREA ADDRESS IN DIT HEADER 
*                            WORD FOR INTERFACE TO NIP. 
*                            THIS IS DONE BY ALL PIPS AS THIS WORD MAY
*                            BE OVERWRITTEN BY ANY PIP ANY TIME.
  
 DPP.7    LDM    DROR        LOAD DRIVER ORDINAL
          STM    DMPHDR+/NAM/C.DDO STORE DRIVER ORDINAL INTO DUMP HEADER
          STD    T7          STORE MULTIPLER
          RJM    GDRW        EXIT TO GET DRIVER DUMP REQUEST WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ DRIVER DUMP REQUEST WORD
          STD    T15+1       LOW-ORDER ABSOLUTE DIT HEADER WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER
          STD    T15         HIGH-ORDER ABSOLUTE DIT HEADER WORD ADDRESS
          LDD    FBA         HIGH-ORDER OF DUMP AREA ADDRESS
          STD    T0+/NAM/C.DPT STORE HIGH-ORDER OF DUMP AREA ADDRESS
          LDD    FBA+1       LOW-ORDER OF DUMP AREA ADDRESS 
          STD    T0+/NAM/C.DPT+1 STORE LOW-ORDER OF DUMP AREA ADDRESS 
          LDD    T15         HIGH-ORDER ABSOLUTE DIT HEADER WORD ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       LOW-ORDER ABSOLUTE DIT HEADER WORD ADDRESS 
          CWD    T0          REWRITE DIT HEADER WITH DUMP AREA ADDRESS
  
 DPP.8    SOD    T7          DECREMENT MULTIPLIER 
          ZJN    DPP.9       EXIT IF MULTIPLY COMPLETE
          LDC    L.DMPPK     LOAD LENGTH OF DRIVER DUMP PACKET
          RAD    FBA+1       ADD TO LOW-ORDER DUMP AREA ADDRESS 
          SHN    -12         POSITION CARRY 
          RAD    FBA         ADD TO HIGH-ORDER DUMP AREA ADDRESS
          UJK    DPP.8       EXIT TO DECREMENT MULTIPLIER 
  
 DPP.9    LDC    L.DMPPK-1   LOAD LENGTH OF PPU TEXT FOR DUMP 
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    FBA         LOAD HIGH-ORDER OF DUMP AREA ADDRES
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF DUMP AREA ADDRESS
          ADN    /NAM/W.PPD  DELTA FOR PPU DUMP HEADER WORD 
          ADC    L.DMPPK     PLUS LENGTH OF DUMP PACK 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          ADC    -L.DMPPK    LESS LENGTH OF DUMP PACKET 
          CWM    DMPHDR,ON   WRITE OUT DUMP PACKET HEADER 
          CWM    0,T7        WRITE OUT PPU TEXT 
          UJK    DPPX        RETURN 
 DMPHDR   SPACE  2,6
*                PPU DUMP HEADER. 
  
  
 DMPHDR   VFD    6//NAM/Q.DMPID  BUFFER ID
          VFD    18/L.DMPPK      BUFFER LENGTH
          VFD    24/0 
          VFD    12/**           DRIVER ORDINAL 
 GDRW     SPACE  2,22 
**               SUBROUTINE GDRW. 
* 
*                SUBROUTINE GDRW RETURNS THE ADDRESS
*                OF THE DRIVER INTERFACE TABLE HEADER WORD. 
* 
*                  EXIT - 
* 
*                    (A) = ADDRESS OF DRIVER INTERFACE TABLE HEADER.
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
**                   T0-T0+4 = POINTER WORDS. 
  
  
 GDRW     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.DITP LOAD ADDRESS OF DRIVER INTERFACE TABLE PTR 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ DRIVER INTERFACE TABLE POINTER WORD 
          LDD    T0+/NAM/C.DPT LOAD HIGH-ORDER OF TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.DPT+1 PLUS LOW-ORDER OF TABLE ADDRESS
          UJK    GDRWX       RETURN 
  
 ."O.N"   EQU    *
  
          IFGT   ."O.N",DCSAVE,1
          ERR    CAN NOT SAVE DIRECT CELLS. 
  
          OVERLAY F=TRANS,T1=(DIAGNOSTICS),T2=(MCI INLINE DIAGNOSTICS PR
,OCESSOR) 
 ILCK     TITLE  MCI INLINE DIAGNOSTICS PROCESSORS
 ILCK     SPACE  2,20 
**               SUBROUTINE ILCK. 
* 
*                SUBROUTINE ILCK CHECKS FOR SUCCESSFUL COMPLETION OF
*                I/O OPERATION BY CHECKING THE MDI GENERAL STATUS.
* 
* 
*                  NORMAL EXIT -
* 
*                            (ECT) = REINITIALIZED TO ZERO
* 
*                  ERROR EXITS -
* 
*                    ERROR BIT SET IN MDI GENERAL STATUS
*                    UNABLE TO OBTAIN MDI GENERAL STATUS
* 
*                  CALLS -
* 
**                   /MDI/GMS - OBTAIN MDI GENERAL STATUS.
  
  
 ILCK     SUBR               ENTRY/EXIT 
          LDN    /MDI/B.ABTNMS+/MDI/B.ABTMIO  SET ERROR EXIT CONDITIONS 
          RJM    /MDI/GMS    EXIT TO OBTAIN MDI GENERAL STATUS
          LDN    0           CONSTANT OF ZERO 
          STM    ECT,FEI     RESET CONSECUTIVE ERROR COUNT
          UJN    ILCKX       RETURN 
  
*                RESET LINKS
  
 .DCR.3   SET    0
 .ERROR   SET    0
 .NFE     SET    0
  
 TYPEACT  MICRO  1,,*ERROR*  DEFINE ACTION TYPE 
  
 ILDI     TITLE  MCI INLINE DIAGNOSTICS PROCESSORS
 ILDI     SPACE  2,26 
**               ERROR PROCESSOR ILDI.
* 
*                ERROR PROCESSOR ILDI PROCESSES MDI GENERAL STATUS WITH 
*                INPUT AVAILABLE CODE GREATER THAN NORMAL PRU DATA. 
*                IF THE CODE IS FOR DIAGNOSTICS MESSAGE, A CHECK FOR
*                DIAGNOSTICS BUFFER IS MADE.  IF IT IS NOT EXISTING,
*                REQUEST FLAG IS PLACED IN DIAGNOSTICS IN-POINTER WORD. 
*                IF IT IS EXISTING, DIAGNOSTICS MESSAGE IS READ FROM MDI
*                AND IS ECHOED BACK.
* 
*                  ENTRY -
* 
*                            (IOC) = INPUT AVAILABLE CODE FROM MDI GS 
* 
*                  EXIT - 
* 
* 
*                     CEHX - DIAGNOSTIC BUFFER HAS NO BEEN ASSIGNED OR
*                            IS BEING RELEASED
* 
*                              (A) = MINUS ZERO 
* 
*                      NFE - INLINE DIAGNOSTICS MESSAGE HAS BEEN READ 
*                            AND ECHOED BACK
* 
*                  CALLS -
* 
*                    ILDS - READ DIAGNOSTICS STATUS INFORMATION 
*                    ILEC - ECHO DIAGNOSTICS MESSAGE
*                    ILIN - INPUT DIAGNOSTICS MESSAGE 
*                    ILST - INITIALIZE CHANNEL INSTRUCTIONS 
*                    RNAC - REQUEST NIP ACTIVITY
*                    WCMW - WRITE CENTRAL WORD
* 
*                  USES - 
* 
*                        (T0 - T4) = DIAGNOSTICS FIRST POINTER WORD 
*                        (T1 - T5) = RTIME FROM LOW CORE OF CENTRAL MEM 
*                      (T10 - T14) = DIAGNOSTICS STATUS/LENGTH WORD 
**
  
 ILDI     LINK               PROCESS POSIBLE INLINE DIAGNOSTICS DATA
  
*                CHECK FOR EXISTENCE OF INLINE DIAGNOSTIC BUFFER
  
 ILDI.1   STM    ERRCODE     CLEAR ERROR CODE 
          RJM    ILST        EXIT TO INITIALIZE CHANNEL INSTURCTIONS
          RJM    ILDS        EXIT TO READ INLINE DIAGNOSTICS STATUS INFO
          LDD    T0+/NAM/C.NBTIA  INLINE DIAG BUFFER ACTIVE FLAG
          SHN    17-/NAM/S.NBTIA  POSITION INLINE DIAG BUFFER ACTIVE FLG
          MJN    ILDI.3      EXIT IF BUFFER ACTIVE
          LDD    T10+/NAM/C.NBTIC  INLINE DIAG BUFFER STATUS BYTE 
          LPC    /NAM/B.NBTIRF+/NAM/B.NBTIWF  BUF REQUESTED OR REL PEND 
          NJN    ILDI.2      EXIT IF BUFFER IS REQUESTED OR RELEASE PEND
  
*                SET REQUEST BUFFER FLAG AND TIMER
  
          LDC    /NAM/B.NBTIRF SET INLINE DIAG BUFFER REQUEST FLAG
          STD    T10+/NAM/C.NBTIC PLACE INLINE DIAG STATUS BYTE 
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T1+3        LOAD MIDDLE-ORDER OF SYSTEM MILLISEC CLOCK 
          STD    T10+/NAM/C.NBTIT SET HIGH-ORDER OF INLINE DIAG TIMER 
          LDD    T1+4        LOAD LOW-ORDER OF SYSTEM MILLISEC CLOCK
          STD    T10+/NAM/C.NBTIT+1 SET LOW-ORDER OF INLINE DIAG TIMER
          RJM    WCMW        WRITE INLINE DIAG BUFFER REQUEST FLAG WORD 
          RJM    RNAC        EXIT TO REQUEST NIP ACTIVITY 
  
 ILDI.2   LCN    0           LOAD NO INPUT RETURN CODE FROM CEH 
          EXIT   CEHX        RETURN VIA COUPLER EXCHANGE ROUTINE RETURN 
  
 ILDI.3   LDD    T10+/NAM/C.NBTIC LOAD INLINE DIAG BUFFER STATUS BYTE 
          SHN    17-/NAM/S.NBTIWF POSITION BUFFER RELEASE WAIT FLAG 
          MJN    ILDI.2      EXIT IF WAIT PENDING 
          SHN    /NAM/S.NBTIGF-/NAM/S.NBTIPF POSITION ECHO PEND FLAG
          MJN    ILDI.5      EXIT IF ECHO IS PENDING
  
*                READ IN INLINE DIAGNOSTIC MESSAGE AND ECHO BACK
  
 ILDI.4   RJM    ILIN        EXIT TO INPUT INLINE DIAG BLOCK
 ILDI.5   RJM    ILEC        EXIT TO ECHO INLINE DIAG BLOCK 
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
  
 ILDO     SPACE  2,18 
**               PROCESSOR ILDO.
* 
*                PROCESSOR ILDO CHECKS FOR INACTIVE DIAGNOSTIC BUFFER,
*                TIMEOUT ON DIAGNOSTIC BUFFER REQUEST, AND RESTART ECHO 
*                PROCESSING THAT WAS INTERRUPTED DUE TO CHANNEL ERROR.
* 
*                  ENTRY -
* 
*                            (FTY) = FRONT END TYPE 
* 
*                  EXIT - 
* 
*                    NFE.1 - EXIT TO PROCESS NEXT FRONT END 
* 
*                  ERROR EXIT - 
* 
*                    FRONT END TYPE IS NPU
*                  CALLS -
* 
*                    ILEC - ECHO DIAGNOSTICS MESSAGE
*                    ILST - INITIALIZE CHANNEL INSTRUCTIONS 
*                    ILDS - GET DIAGNOSTICS STATUS INFORMATION
*                    /MDI/FNC - SEND TRANSPARENT FUNCTION TO MDI
*                    WCMW - WRITE CENTRAL WORD
* 
*                  USES - 
* 
*                        (T0 - T4) = DIAGNOSTICS FIRST POINTER WORD 
*                        (T1 - T5) = RTIME FROM LOW CORE OF CENTRAL MEM 
*                      (T10 - T14) = DIAGNOSTICS STATUS/LENGTH WORD 
**
  
 ILDO.1   EREXIT ILE         EXIT TO ERROR - INLINE DIAG HANDLING ERROR 
  
 ILDO     LINK               ENTRY
  
*                CHECK FRONT END TYPE 
  
          LDM    FTY,FEI     LOAD FRONT END TYPE
          SCN    L.REG       CLEAR REGULATION LEVEL 
          SBN    1           MINUS CODE FOR MDI 
          MJN    ILDO.1      EXIT IF FRONT END IS NPU 
          NJN    ILDO.2      EXIT IF INTERLOCKED MDI
  
*                CHECK STATE OF DIAGNOSTIC BUFFER 
  
          RJM    ILST        EXIT TO INITIALIZE CHANNEL INSTURCTIONS
          RJM    ILDS        EXIT TO GET INLINE DIAG STATUS INFORMATION 
          LDD    T10+/NAM/C.NBTIC  INLINE DIAGNOSTIC STATUS BYTE
          SHN    17-/NAM/S.NBTIPF  CHECK FOR ECHO PENDING 
          PJN    ILDO.3      EXIT IF ECHO NOT PENDING 
  
*                ECHO INLINE DIAGNOSTIC MESSAGE IN BUFFER 
  
          RJM    ILEC        EXIT TO ECHO INLINE DIAG MSG 
 ILDO.2   EXIT   NFE.1       EXIT TO PROCESS NEXT FRONT END 
  
*                CHECK FOR INACTIVITY TIMEOUT OR TIMEOUT WAITING FOR
*                DIAGNOSTIC BUFFER TO BE ALLOCATED
  
 ILDO.3   LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    T10+/NAM/C.NBTIT LOAD LAST ACTIVITY CLOCK READING
          ADC    Q.ILNOAC/4  PLUS NO ACTIVITY TIME OUT SETTING
          LPC    7777B       TRUNCATE TO 12 BITS
          SBD    T1+3        MINUS CURRENT 4-SECOND CLOCK READING 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          PJN    ILDO.2      EXIT IF NOT YET TIME OUT 
          LDD    T0+/NAM/C.NBTIA LOAD BUFFER ACTIVITY FLAG BYTE 
          SHN    17-/NAM/S.NBTIA CHECK FOR BUFFER ACTIVITY
          MJN    ILDO.4      EXIT IF BUFFER ASSIGNED
          LDN    /FUNCTION/ILRE  INLINE DIAGNOSTICS READ ERROR
          RJM    /MDI/FNC    EXIT TO ISSUE FUNCTION TO MDI
 ILDO.4   LDC    /NAM/B.NBTIWF LOAD BUFFER RELEASE WAIT FLAG
          STD    T10+/NAM/C.NBTIC STORE INLINE DIAG STATUS BYTE 
          RJM    WCMW        REWRITE INLINE DIAG STATUS WORD
          UJN    ILDO.2      EXIT TO PROCESS NEXT FRONT END 
  
 ILDS     TITLE  MCI INLINE DIAGNOSTICS SUPPORT ROUTINES
          QUAL
 ILDS     SPACE  2,16 
**               SUBROUTINE ILDS. 
* 
*                SUBROUTINE ILDS READS DIAGNOSTICS FIRST POINTER WORD 
*                AND STATUS/LENGTH WORD.
* 
*                  EXIT - 
* 
*                        (T0 - T4) = DIAGNOSTICS FIRST POINTER WORD 
*                      (T10 - T14) = DIAGNOSTICS IN POINTER WORD
*                      (T15 - T16) = IN POINTER WORD ABSOLUTE ADDRESS 
* 
*                  CALLS -
* 
*                    GNBT - GET NETWORD BUFFER TABLE ADDRESS
**
  
 ILDS     SUBR               ENTRY/EXIT 
          LDN    /NAM/W.NBTIL DELTA FOR INLINE DIAG LIMIT POINTER WORD
          RJM    GNBT        EXIT TO GET NETWORK BUFFER TABLE ADDRESS 
          SBN    /NAM/W.NBTIL-/NAM/W.NBTIF FIRST PTR WORD ABSOLUTE ADDR 
          CRD    T0          READ INLINE DIAG FIRST POINTER WORD
          ADN    /NAM/W.NBTILE-/NAM/W.NBTIF IN PTR WORD ABSOLUTE ADDRESS
          CRD    T10         READ INLINE DIAG IN POINTER WORD 
          STD    T15+1       STORE LOW-ORDER OF IN POINTER WORD ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF IN POINTER WORD ADDRESS
          UJN    ILDSX       RETURN 
  
 ILEC     SPACE  2,32 
**               SUBROUTINE ILEC. 
* 
*                SUBROUTINE ILEC ECHOES BACK AN INLINE DIAGNOSTICS
*                MESSAGE.  THE CHECK IS MADE TO DETERMINE IF THE
*                DIAGNOSTIC MESSAGE SHOULD BE DICARDED.  IF NOT, A
*                CHECK IS MADE TO SEE IF THE MDI IS READY TO RECEIVE
*                DATA.  IF READY, A CHECK IS MADE TO SEE IF THE MDI 
*                WANTS THE OUTPUT IN BLOCK MODE OR SINGLE CHANNEL 
*                FRAME.  IF SINGLE CHANNEL FRAME MODE, A DELAY
*                BETWEEN CHANNEL FRAMES MAY HAVE BEEN SPECIFIED.
*                THE DIAGNOSTIC MESSAGE IS SENT BACK TO THE MDI.
*                AFTER THE MESSAGE IS SENT, A CHECK IS MADE FOR 
*                ERRORS.  IF NO ERRORS, THE DIAGNOSTIC BUFFER 
*                STATUS IS REINITIALIZED. 
* 
*                  EXIT - 
* 
*                            (STS) = STREAM STATE RESET TO ZERO 
* 
*                  ERROR EXIT - 
* 
*                    UNABLE TO GET MDI GENERAL STATUS 
*                    ERROR BIT SET IN MDI GENERAL STATUS
*                    CHANNEL HUNG FULL AFTER OUTPUT 
* 
* 
*                  CALLS -
* 
*                        ILCK - CHECK MDI STATUS AFTER I/O COMPLETED
*                        ILDS - READ DIAGNOSTICS STATUS INFORMATION 
*                        ILMD - GET TEST FLAGS FROM DIAGNOSTIC MSG
*                        ILPB - OUTPUT ONE DATA BLOCK 
*                        ILPF - OUTPUT ONE DATA FRAME 
*                    /MDI/ACN - ACTIVATE MDI CHANNEL
*                    /MDI/FNC - ISSUE FUNCTION CODE TO MDI
*                    /MDI/GMS - OBTAIN MDI GENERAL STATUS 
*                         TFL - FORM ABSOLUTE CENTRAL ADDRESS 
*                        WCMW - WRITE CENTRAL WORD
* 
*                  USES - 
* 
*                    (CBA, CBA+1) = DIAGNOSTICS BUFFER ADDRESS
*                           (CWC) = MESSAGE CM WORD COUNT 
*                           (FBA) = DIAGNOSTICS TEST FLAGS
*                         (FBA+1) = MESSAGE FRAME COUNT 
*                    (LBA, LBA+1) = ECHO TIMEOUT TIMER
*                       (T0 - T4) = DIAGNOSTICS FIRST POINTER OWRD
*                       (T1 - T5) = RTIME WORD FROM LOW CORE CENTRAL MEM
*                     (T10 - T14) = DIAGNOSTICS IN POINTER WORD 
**
  
 ILDELAY  EQU    50          DELAY LOOP COUNT 
  
 ILEC     SUBR               ENTRY/EXIT 
          RJM    ILDS        EXIT TO READ INLINE DIAG STATUS INFORMATION
          LDD    T10+/NAM/C.NBTIT LOAD HIGH-ORDER OF TIMER
          STD    LBA         STORE HIGH-ORDER OF TIMER
          LDD    T10+/NAM/C.NBTIT+1 LOAD LOW-ORDER OF TIMER 
          STD    LBA+1       STORE LOW-ORDER OF TIMER 
          LDN    0           CONSTANT OF ZERO 
          STD    STS         RESET STREAM STATES
          LDD    T10+/NAM/C.NBTILC  SIZE OF INLINE DIAG MSG IN CM WORDS 
          STD    CWC         SAVE SIZE OF INLINE DIAG MSG IN CM WORDS 
          LDD    T10+/NAM/C.NBTILP  SIZE OF INLINE DIAG MSG IN PP WORDS 
          STD    FBA+1       SAVE SIZE OF INLINE DIAG MSG IN CH FRAMES
          LDD    T0+/NAM/C.NBTFP  LOAD HIGH-ORDER OF FIRST POINTER
          STD    CBA         STORE HIGH-ORDER FIRST BUFFER ADDR 
          LDD    T0+/NAM/C.NBTFP+1  LOW ORDER BITS OF FIRST POINTER 
          STD    CBA+1       STORE LOW-ORDER FIRST BUFFER ADDR
          RJM    ILMD        EXIT TO GET TEST FLAGS 
          SHN    17-/BLOCK/S.ILFDC  POSITION DISCARD FLG
          PJN    ILEC.2      EXIT IF NOT TO DISCARD MESSAGE 
          LJM    ILEC.18     EXIT WITHOUT ECHOING MESSAGE 
  
 ILEC.2   LDN    /MDI/B.ABTNMS+/MDI/B.ABTMES  SET ERROR EXIT CONDITIONS 
          RJM    /MDI/GMS    GET MDI GENERAL STATUS 
          LDM    MGS,FEI     LOAD MDI GENERAL STATUS
          SHN    17-/MSTATUS/SDT POSITION SEND DATA STATUS TO SIGN
          MJN    ILEC.7      EXIT IF OUTPUT ALLOWED 
  
*                CHECK FOR TIMEOUT WAITING FOR SEND DATA BIT TO BE SET
*                IN MDI GENERAL STATUS
  
          LDK    RTCL        LOAD ADDRESS OF SYSTEM REAL-TIME CLOCK 
          CRD    T1          READ SYSTEM REAL-TIME CLOCK
          LDD    LBA         HIGH-ORDER OF ECHO TIMEOUT 
          SBD    T1+3        MIDDLE-ORDER OF CURRENT MILLISEC CLOCK 
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          MJN    ILEC.6      EXIT IF ECHO TIMEOUT 
          NJN    ILEC.2      EXIT IF ECHO NOT TIMEOUT 
          LDD    LBA+1       LOW-ORDER OF ECHO TIMEOUT
          SBD    T1+4        LOW-ORDER OF CURRENT MILLISEC CLOCK
          SHN    5+1         POSITION HIGH-ORDER VALUE BIT TO SIGN
          PJN    ILEC.2      EXIT IF NO ECHO TIMEOUT YET
  
*                ISSUE ECHO TIMEOUT TRANSPARENT FUNCTION
  
 ILEC.6   LINK
          LDN    /FUNCTION/ILET LOAD ECHO TIMEOUT FUNCTION CODE 
          RJM    /MDI/FNC    EXIT TO ISSUE FUNCTION TO MDI
          LJM    ILEC.18     EXIT TO REINITIALIZE STATUS BYTE 
  
*                ECHO INLINE DIAGNOSTIC MESSAGE 
  
 ILEC.7   LDN    1           CONSTANT OF ONE
          STD    T3          SET DELAY LOOP COUNT TO NO DELAY 
          LDD    CBA         STORE LOW-ORDER FIRST BUFFER ADDR
          SHN    12          POSITION HIGH-ORDER OF ADDRESS 
          ADD    CBA+1       STORE HIGH-ORDER FIRST BUFFER ADDR 
          RJM    TFL         GET ABSOLUTE ADDRESS 
          STD    CBA+1       STORE LOW-ORDER ABSOLUTE FIRST BUFFER ADDR 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER ABSOLUE FIRST BUFFER ADDR 
          LDD    FBA         DIAGNOSTICS TEST FLAGS 
          SHN    17-/BLOCK/S.ILFDB  POSITION DELAY MODE 
          PJN    ILEC.8      EXIT IF NO DELAY 
          LDK    ILDELAY     LOAD DELAY LOOP COUNT
          STD    T3          STORE DELAY LOOP COUNT 
  
 ILEC.8   LDC    /FUNCTION/WDT LOAD FUNCTION TO OUTPUT DATA 
          RJM    /MDI/FNC    EXIT TO FUNCTION TO OUTPUT DATA
          RJM    /MDI/ACN    EXIT TO ACTIVATE MDI CHANNEL 
  
 ILEC.9   LDD    FBA+1       NO OF CHANNEL FRAMES TO OUTPUT 
          ADC    -L.DBCM*5   NO OF CHANNEL FRAMES IN FULL BUFFER
          MJN    ILEC.10     EXIT IF LESS THAN FULL DRIVER BUFFER LEFT
          STD    FBA+1       UPDATE NO OF CHANNEL FRAMES LEFT TO OUTPUT 
          LDC    -L.DBCM     NO OF CM WORDS IN FULL BUFFER
          RAD    CWC         NO OF CM WORDS LEFT TO READ FROM CM
          LDC    L.DBCM*5    NUMBER OF FRAMES IN DRIVER BUFFER
          STD    T2          STORE FRAME COUNT FOR OUTPUT 
          LDC    L.DBCM      LOAD DRIVER BUFFER LENGTH IN WORDS 
          UJN    ILEC.11     EXIT TO READ TEXT FROM CENTRAL BUFFER
  
 ILEC.10  LDD    FBA+1       NO OF CHANNEL FRAMES TO OUTPUT THIS TIME 
          STD    T2          NO OF CHANNEL FRAMES TO OUTPUT 
          LDN    0           NO OF FRAMES LEFT TO OUTPUT AFTER THIS ONE 
          STD    FBA+1       NO OF CHANNEL FRAMES LEFT TO OUTPUT
          LDD    CWC         LOAD RESIDUAL DATA WORD COUNT
  
 ILEC.11  STD    T1          STORE CENTRAL WORD COUNT 
          LDD    CBA         LOAD HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF ABSOLUTE BUFFER ADDRESS
          CRM    DRBUF,T1    READ DATA FROM CENTRAL BUFFER
          STD    CBA+1       STORE LOW-ORDER OF ABSOLUTE BUFFER ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    CBA         STORE HIGH-ORDER OF ABSOLUTE BUFFER ADDRESS
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE SOURCE DATA BUFFER ADDRESS 
          LDD    FBA         LOAD DIAGNOSTICS TEST FLAGS
          SHN    17-/BLOCK/S.ILFBB  BLOCK MODE BACK FLAG
          PJN    ILEC.12     EXIT IF SINGLE CHANNEL FRAME WRITE MODE
  
*                WRITE INLINE DIAG MSG ONE BLOCK AT A TIME
  
          RJM    ILPB        EXIT TO ECHO IN BLOCK MODE OUTPUT
          UJN    ILEC.14     EXIT TO CHECK FOR END OF MESSAGE 
  
*                WRITE INLINE DIAG MSG ONE CHANNEL FRAME AT A TIME
  
 ILEC.12  LDI    T1          LAOD NEXT OUTPUT DATA FRAME
          RJM    /MDI/DCO    OUTPUT DATA FRAME
          LDD    T3          LOAD DELAY LOOP COUNT
  
 ILEC.13  SBN    1           DECREMENT DELAY COUNT
          NJN    ILEC.13     EXIT IF DELAY NOT EXPIRED
          AOD    T1          INCREMENT SOURCE DATA ADDRESS
          SOD    T2          DECREMENT OUTPUT DATA FRAME COUNT
          NJN    ILEC.12     EXIT TO PROCESS NEXT OUTPUT FRAME
  
 ILEC.14  LDD    FBA+1       NO OF CHANNEL FRAMES LEFT TO OUTPUT
          ZJN    ILEC.15     EXIT IF END OF TRANSFER
          LJM    ILEC.9      EXIT TO PROCESS MORE OUTPUT
  
 ILEC.15  LDK    MDIDLY      CHANNEL DELAY COUNT
  
 ILEC.16  EJM.   ILEC.17     EXIT IF CHANNEL WENT EMPTY 
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    ILEC.16     EXIT IF CHANNEL DELAY NOT EXPIRED
          EREXIT HFO         EXIT TO ERROR - HUNG FULL ON OUTPUT
  
 ILEC.17  DCN.               DISCONNECT CHANNEL 
          RJM    ILCK        EXIT TO CHECK MDI GENERAL STATUS 
  
*                REINITIALIZE STATUS BYTE IN NBT PSUEDO FET 
  
 ILEC.18  RJM    ILDS        EXIT TO READ INLINE DIAG STATUS INFORMATION
          LDC    /NAM/B.NBTIRF INITIALIZE INLINE DIAG STATUS
          STD    T10+/NAM/C.NBTIC UPDATE INLINE DIAG STATUS 
          RJM    WCMW        REWRITE INLINE DIAG STATUS WORD
          UJK    ILECX       RETURN 
  
 ILGB     SPACE  2,20 
**               SUBROUTINE ILGB
* 
*                SUBROUTINE ILGB GETS A BLOCK FROM MCI. 
* 
*                  ENTRY -
* 
*                   (NCC) = NUMBER OF CHANNEL FRAMES TO READ
*                    (T1) = STARTING PP BUFFER ADDRESS
*                    (T2) = LIMIT OF PP BUFFER. 
* 
*                  EXIT - 
* 
*                    (NCC) = NO OF CHANNEL FRAMES LEFT TO READ
*                     (T1) = NEXT PP BUFFER ADDRESS 
*                     (T2) = NUMBER OF BYTES READ 
* 
* 
*                  ERROR EXIT - 
* 
*                    CORRECT NUMBER OF CHANNEL FRAMES IS NOT INPUTED
*                    CHANNEL GOES INACTIVE DURING INPUT 
* 
* 
**
  
  
 ILGB     SUBR               ENTRY/EXIT 
          LDD    T1          FWA OF PP BUFFER TO WRITE INPUT DATA TO
          STM    ILGB.7      UPDATE ADDRESS IN IAM INSTRUCTION
          LDK    MDIDLY      LOAD MDI DELAY COUNT 
  
 ILGB.1   FJM.   ILGB.4      EXIT IF DATA ON CHANNEL
          AJM.   ILGB.2      EXIT IF CHANNEL STILL ACTIVE 
          EREXIT IDI         EXIT TO ERROR - CH INACTIVE DURING INPUT 
  
 ILGB.2   SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    ILGB.1      EXIT IF CHANNEL DELAY NOT EXPIRED
 ILGB.3   EREXIT HEI         EXIT TO ERROR - HUNG EMPTY ON INPUT
  
 ILGB.4   LDD    T2          LOAD LIMIT OF BUFFER 
          SBD    T1          MINUS START OF BUFFER
          SBD    NCC         MINUS NUMBER OF CHANNEL FRAMES TO INPUT
          PJN    ILGB.5      EXIT IF BUFFER LARGER THAN NO OF FRAMES
          ADD    NCC         RESTORE TO NUMBER OF WORDS IN BUFFER 
          UJN    ILGB.6      EXIT TO INPUT CHANNEL FRAMES 
  
 ILGB.5   LDD    NCC         NO OF CHANNEL FRAMES TO INPUT
 ILGB.6   STD    T2          STORE NUMBER OF BYTES TO READ
          IAM.   DRBUF       INPUT A BLOCK FROM MCI TO PP BUFFER
 ILGB.7   EQU    *-1         WORD CONTAINING FWA TO INPUT DATA TO 
          NJN    ILGB.3      EXIT IF BUFFER FILLED
  
          LDD    T2          LOAD NUMBER OF BYTES READ
          RAD    T1          UPDATE NEXT PP BUFFER ADDRESS
          LDD    NCC         NO OF CHANNEL FRAMES TO INPUT
          SBD    T2          NO OF CHANNEL FRAMES READ
          STD    NCC         NO OF CHANNEL FRAMES LEFT TO READ
          UJK    ILGBX       RETURN 
  
 ILGF     SPACE  2,20 
  
 ILGH     SPACE  2,20 
**               SUBROUTINE ILGH
* 
*                SUBROUTINE ILGH GETS MDI HEADER FROM MCI.
* 
*                  EXIT - 
* 
*                            (MFC) = LENGTH OF INLINE DIAGNOSTICS MSG 
*                            (NCC) = NO OF CHANNEL FRAMES TO READ 
*                             (T1) = ADDR OF NEXT AVAIL LOC IN PIP BUF
* 
*                  ERROR EXITS -
* 
*                    LENGTH IN MDI HEADER IS TOO LARGE
* 
*                  USES - 
* 
*                             (T2) = COUNTER FOR NO OF CHANNEL FRAMES 
*                             (T3) = COUNTER FOR NO OF 8 BIT BYTES
* 
*                  CALLS -
* 
*                        ILGF - GET ONE MCI CHANNEL FRAME 
**
  
 ILGH     SUBR               ENTRY/EXIT 
          LDK    DRBUF       FWA OF PIP BUFFER
          STD    T1          STORE FWA OF PIP BUFFER
          LDK    /BLOCK/L.ILHDR  NO OF CHANNEL FRAMES IN DIAG MSG HDR 
          STD    T2          NO OF CHANNEL FRAMES TO READ IN
  
*                INPUT MDI INLINE DIAGNOSTICS HEADER
  
 ILGH.1   RJM    /MDI/DCI    EXIT TO INPUT NEXT FRAME 
          STI    T1          STORE CHANNEL FRAME
          AOD    T1          INCRE BUF PTR TO NEXT FREE PP WORD 
          SOD    T2          DECREMENT NO OF CHANNEL FRAMES READ
          NJN    ILGH.1      EXIT IF MDI HEADER NOT COMPLETELY READ 
          LDN    0           INITIAL VALUE FOR CHANNEL FRAME COUNTER
          STD    NCC         CHANNEL FRAME COUNTER
          LDM    DRBUF+/BLOCK/L.ILLEN+1  LOW ORDER BITS OF BLOCK LENGTH 
          LPK    /BLOCK/M.ILLENL  EXTRACT LOW ORDER BITS OF BLOCK LENGTH
          SHN    6+/BLOCK/N.ILLENL  SHIFT BITS TO LOW ORDER POSITION
          STD    T3          SAVE LOW ORDER BITS OF BLOCK LENGTH
  
          LDM    DRBUF+/BLOCK/L.ILLEN  HIGH ORDER BITS OF BLOCK LENGTH
          LPK    /BLOCK/M.ILLENU  MASK OUT HIGH ORDER BITS OF BLK LENGTH
          SHN    /BLOCK/N.ILLENL  SHIFT BITS TO CORRECT POSITIONS 
          RAD    T3          COMPLETE BLOCK LENGTH IN 8 BIT BYTES 
          ADC    -2043D-1    MAXIMUM NO OF BYTES ALLOWED IN MESSAGE 
          MJN    ILGH.2      EXIT IF SIZE IS NOT TOO LARGE
          EREXIT MHE         EXIT TO ERROR - MDI HEADER FORMAT ERROR
  
*                NO OF CHANNEL FRAMES LEFT TO READ IS COMPUTED BY 
*                SUBTRACTING THE NUMBER OF BYTES ALREADY READ FROM
*                THE LENGTH, MULTIPLYING THAT RESULT TIMES TWO, ADDING
*                ONE TO THAT RESULT AND THEN FINALLY DIVIDING BY THREE. 
  
 ILGH.2   LDD    T3          NO OF BYTES FROM LENGTH FIELD IN HEADER
          SBN    /BLOCK/L.ILHDR8  NO OF BYTES ALREADY READ IN 
          PJN    ILGH.3      EXIT IF LENGTH FIELD AT LEAST MINIMUM VALUE
          EREXIT MHE         EXIT TO ERROR - MDI HEADER FORMAT ERROR
  
 ILGH.3   SHN    1           TIMES 2 FOR CONVERSION TO CHANNEL FRAMES 
          ADN    1           CORRECTION FOR MIDDLE OF CHANNEL FRAME BYTE
          STD    T3          NUMBER TO DIVIDE BY THREE
 ILGH.4   LDD    T3          NUMBER TO DIVIDE BY THREE
          SBN    3           SUBTRACT BY 3 TO DIVIDE
          STD    T3          NUMBER LEFT TO SUBTRACT 3 FROM 
          MJN    ILGH.5      EXIT IF NO MORE CHANNEL FRAMES 
          AOD    NCC         INCREMENT NO OF CHANNEL FRAMES 
          UJN    ILGH.4      EXIT TO CONTINUE COUNTING
  
 ILGH.5   LDD    NCC         NO OF CHANNEL FRAMES LEFT TO READ
          ADK    /BLOCK/L.ILHDR  LENGTH OF MDI INLINE DIAG HEADER WORD
          STM    MFC         LENGTH OF INLINE DIAGNOSTIC MESSAGE
          LJM    ILGHX       RETURN 
  
 ILIN     SPACE  2,26 
**               SUBROUTINE ILIN. 
* 
*                SUBROUTINE ILIN GETS INLINE DIAGNOSTICS MESSAGE AND
*                STORES IT IN DIAGNOSTICS BUFFER. 
* 
*                  ENTRY -
* 
*                        (T0 - T4) = DIAGNOSTIC FET FIRST POINTER WD
*                      (T10 - T14) = DIAGNOSTIC FET STATUS/LENGTH WD
*                      (T15 - T16) = ADDR OF DIAG FET STATUS/LENGTH WD
* 
*                  EXIT - 
* 
*                            (MFC) = LENGTH OF DIAGNOSTIC MSG 
*                            (STS) = STREAM STATE RESET TO ZERO 
* 
*                  ERROR EXIT - 
* 
*                    CHANNEL HUNG FULL AFTER INPUT
* 
*                  CALLS -
* 
*                         GTE - GET CONTROL TABLE WORD
*                        ILCK - CHECK FOR ERRORS AFTER I/O COMPLETED
*                        ILDS - READ DIAGNOSTICS STATUS INFORMATION 
*                        ILGB - GET ONE BLOCK OF DATA FROM MDI
*                        ILGF - GET ONE MCI CHANNEL FRAME 
*                        ILGH - READ MDI HEADER 
*                        ILMD - GET MDI TEST FLAGS
*                    /MDI/ACN - ACTIVATE MDI CHANNEL
*                    /MDI/FNC - FUNCTION TO INPUT DATA
*                        WCMW - WRITE CENTRAL WORD
*                        WDIB - WRITE DATA TO A CENTRAL BUFFER
* 
*                  USES - 
* 
*                     (CBA, CBA+1) = CURRENT BUFFER ADDRESS,
*                            (FBA) = DIAGNOSTICS TEST FLAGS,
*                     (LBA, LBA+1) = LIMIT BUFFER ADDRESS,
*                            (NCC) = NUMBER OF CHANNEL FRAMES TO READ 
*                             (T7) = CM INPUT WORD COUNT, 
**
  
 ILIN     SUBR               ENTRY/EXIT 
          LDD    T10+/NAM/C.NBTIC LOAD INLINE DIAG BUFFER STATUS BYTE 
          ADC    /NAM/B.NBTIGF ADD FLAG FOR GET DATA
          STD    T10+/NAM/C.NBTIC STORE INLINE DIAG BUFFER STATUS BYTE
          RJM    WCMW        REWRITE INLINE DIAG BUFFER STATUS
          LDD    T0+/NAM/C.NBTFP LOAD HIGH-ORDER OF FIRST POINTER 
          STD    CBA         STORE HIGH-ORDER OF CURRENT BUFFER ADDRESS 
          LDD    T0+/NAM/C.NBTFP+1 LOAD LOW-ORDER OF FIRST POINTER
          STD    CBA+1       STORE LOW-ORDER OF CURRENT BUFFER ADDRESS
          LDD    T15         HIGH-ORDER IN POINTER WORD ABSOLUTE ADDRESS
          SHN    12          POSITION TO HIGH ORDER 
          ADD    T15+1       LOW-ORDER IN POINTER WORD ABSOLUTE ADDRESS 
          ADN    /NAM/W.NBTIL-/NAM/W.NBTILE  DELTA FOR FET LIMIT POINTER
          CRD    T0          READ INLINE DIAG BUFFER LIMIT POINTER WORD 
          LDD    T0+/NAM/C.NBTLP  HIGH-ORDER BITS OF LIMIT POINTER
          STD    LBA         STORE HIGH-ORDER OF LAST BUFFER ADDRESS
          LDD    T0+/NAM/C.NBTLP+1 LOAD LOW-ORDER OF LIMIT POINTER
          STD    LBA+1       STORE LOW-ORDER OF LAST BUFFER ADDRESS 
          RJM    ILMD        GET TEST FLAGS 
          LDN    0           CONSTANT OF ZERO 
          STD    STS         RESET STREAM STATES
          LDC    /FUNCTION/RDT LOAD FUNCTION TO INPUT DATA
          RJM    /MDI/FNC    EXIT TO FUNCTION TO INPUT DATA 
          RJM    /MDI/ACN    EXIT TO ACTIVATE MDI CHANNEL 
          RJM    ILGH        EXIT TO READ MDI HEADER
          UJN    ILIN.2 
  
*                READ IN 1 BUFFER OR LESS OF INLINE DIAG MSG
  
 ILIN.1   LDC    DRBUF       STARTING ADDRESS OF DRIVER BUFFER
          STD    T1          STORE STARTING ADDRESS OF DRIVER BUFFER
 ILIN.2   LDD    NCC         NO OF CHANNEL FRAMES LEFT TO READ
          ZJN    ILIN.3      EXIT IF END OF INPUT DATA
          LDC    E.DRBUF+1   LOAD LIMITING ADDRESS OF DRIVER BUFFER 
          STD    T2          STORE LIMIT OF DRIVER INPUT BUFFER 
          LDD    FBA         LOAD TEST FLAG SETTING 
          SHN    17-/BLOCK/S.ILFBR  POSITION READ MODE
          PJN    ILIN.4      EXIT IF NOT BLOCK MODE READ
          RJM    ILGB        EXIT TO READ IN BLOCK MODE 
          LDD    NCC         NO OF CHANNEL FRAMES LEFT TO READ
          NJN    ILIN.5      EXIT IF MORE CHANNEL FRAMES TO READ
 ILIN.3   LDD    T1          LOAD CURRENT BUFFER ADDRESS
          ADC    -DRBUF      MINUS FIRST BUFFER ADDRESS 
          SHN    2           TIMES FOUR TO GET CONTROL TABLE CM WORD
          RJM    GTE         EXIT TO READ CONTROL TABLE WORD TO T0 - T4 
          LDD    T0+/NAM/C.QUOT LOAD DIVISION BY FIVE INFORMATION 
          SHN    18-/NAM/S.QUOT POSITION QUOTIENT (ROUNDED-UP)
          STD    T7          STORE CM INPUT WORD COUNT
          UJN    ILIN.6      EXIT TO WRITE BUFFER 
  
*                READ INLINE DIAG MSG ONE CHANNEL FRAME AT A TIME 
  
 ILIN.4   RJM    /MDI/DCI    EXIT TO GET AN MCI CHANNEL FRAME 
          STI    T1          STORE A CHANNEL FRAME IN DRIVER BUFFER 
          AOD    T1          INCREMENT CURRENT BUFFER ADDRESS 
          SOD    NCC         DECREMENT CNT OF NO OF FRAMES LEFT TO READ 
          ZJN    ILIN.3      EXIT IF END OF INPUT DATA
          LDD    T1          NEXT PP WORD TO WRITE DATA TO
          LMD    T2          LESS ENDING DATA BUFFER ADDRESS
          NJN    ILIN.4      EXIT IF DATA BUFFER NOT EXHAUSTED
  
 ILIN.5   LDC    L.DBCM      LOAD CENTRAL WORD LENGTH OF DRIVER BUFFER
          STD    T7          STORE DATA WORD COUNT
  
*                WRITE INLINE DIAG MSG TO CENTRAL MEMORY
  
 ILIN.6   LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          RJM    WDIB        EXIT TO WRITE DATA TO INBOUND BUFFER 
          LDD    NCC         NO OF CHANNEL FRAMES LEFT TO READ
          ZJN    ILIN.7      EXIT IF END OF INPUT DATA
          UJK    ILIN.1      EXIT TO ACCEPT NEXT INPUT BLOCK
  
*                COMPLETED WRITING INLINE DIAG MSG TO CENTRAL MEMORY
  
 ILIN.7   EJM.   ILIN.8      EXIT IF CHANNEL NOW EMPTY
          EREXIT HFI         EXIT TO ERROR - CH HUNG FULL AFTER INPUT 
  
*                UPDATE STATUS BYTE AND SIZE FIELDS IN NBT PSEUDO FET 
  
 ILIN.8   RJM    ILCK        EXIT TO CHECK IF READ COMPLETED OKAY 
          RJM    ILDS        EXIT TO READ INLINE DIAG STATUS INFORMATION
          LDD    T10+/NAM/C.NBTIC  LOAD INLINE DIAG STATUS BYTE 
          LMC    -/NAM/B.NBTIGF  CLEAR GET DATA IN PROGRESS STATUS
          ADC    /NAM/B.NBTIPF  SET ECHO PENDING STATUS 
          STD    T10+/NAM/C.NBTIC  STORE INLINE DIAG STATUS BYTE
          LDD    CBA         HIGH ORDER BITS OF LWA+1 OF DIAG MSG 
          SBD    T0+/NAM/C.NBTFP  HIGH ORDER BITS OF FWA OF DIAG MSG
          ADD    CBA+1       LOW ORDER BITS OF LWA+1 OF DIAG MSG
          SBD    T0+/NAM/C.NBTFP+1  LOW ORDER BITS OF FWA OF DIAG MSG 
          STD    T10+/NAM/C.NBTILC  STORE SIZE OF DIAG MSG (IN CM WORDS)
          LDM    MFC         SIZE OF INLINE DIAG MSG IN PP WORDS
          STD    T10+/NAM/C.NBTILP  STORE SIZE OF DIAG MSG (IN PP WORDS)
          LDK    RTCL        LOAD ADDRESS SYSTEM REAL-TIME CLOCK
          CRD    T0          READ SYSTEM REAL-TIME CLOCK
          LDD    T0+4        LOAD MILLISECOND TIME
          ADK    Q.ILECHO    PLUS INLINE DIAG ECHO TIMEOUT QUANTUM
          STD    T10+/NAM/C.NBTIT+1  STORE LOW-ORDER OF ECHO TIMEOUT TIME 
          SHN    -12         POSITION OVERFLOW
          ADD    T0+3        LOAD NEXT HIGHER BYTE OF MILLISECOND CLOCK 
          STD    T10+/NAM/C.NBTIT  STORE HIGH-ORDER OF ECHO TIMEOUT TIME
          RJM    WCMW        REWRITE INLINE DIAG STATUS INFORMATION 
          UJK    ILINX       RETURN 
  
 ILMD     SPACE  2,16 
**               SUBROUTINE ILMD. 
* 
*                SUBROUTINE ILMD READS INLINE DIAGNOSTICS TEST FLAGS
*                FROM CM BUFFER AND SAVES THE SETTINGS FOR INPUT/OUTPUT 
*                DIAGNOSTICS MESSAGE. 
* 
*                  ENTRY -
* 
*                    (CBA - CBA+1) = BUFFER FIRST WORD ADDRESS. 
* 
*                  EXIT - 
* 
*                              (A) = SETTINGS OF TEST FLAGS.
*                            (FBA) = SETTINGS OF TEST FLAGS.
* 
*                  USES - 
* 
*                        (T0 - T4) = CM WORD CONTAINING TEST FLAGS
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS. 
**
  
 ILMD     SUBR               ENTRY/EXIT 
          LDD    CBA         LOAD HIGH-ORDER OF FIRST BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF FIRST BUFFER ADDRESS 
          ADN    /BLOCK/L.ILFLAG  DELTA FOR CM WORD FOR TEST FLAGS
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ CENTRAL WORD
          LDD    T0+/BLOCK/L.ILFLG-/BLOCK/L.ILFLAG*5+1  TEST FLAGS
          STD    FBA         STORE TEST FLAGS 
          UJK    ILMDX       RETURN 
  
 ILPB     SPACE  2,20 
**               SUBROUTINE ILPB. 
* 
*                SUBROUTINE ILPB OUTPUTS A BLOCK TO MCI IN BLOCK MODE 
*                OUTPUT (OAM).
* 
*                  ENTRY -
* 
*                             (T2) =  NUMBER OF PP WORDS TO OUTPUT
* 
*                  ERROR EXITS -
* 
*                    CHANNEL HUNG FULL ON OUTPUT
*                    CHANNEL WENT INACTIVE
**
  
 ILPB     SUBR               ENTRY/EXIT 
          AJM.   ILPB.2      EXIT IF CHANNEL STILL ACTIVE 
 ILPB.1   EREXIT IDO         EXIT TO ERROR- CHANNEL WENT INACTIVE 
  
 ILPB.2   LDK    MDIDLY      LOAD CHANNEL DELAY COUNT 
  
 ILPB.3   EJM.   ILPB.4      EXIT IF CHANNEL WENT EMPTY 
          SBN    1           DECREMENT CHANNEL DELAY COUNT
          NJN    ILPB.3      EXIT IF CHANNEL DELAY NOT EXPIRED
          EREXIT HFO         EXIT TO ERROR - HUNG FULL ON OUTPUT
  
 ILPB.4   LDD    T2          LOAD NUMBER OF BYTES TO OUTPUT 
          OAM.   DRBUF       SEND A BLOCK TO MCI
          NJN    ILPB.1      EXIT TO ERROR - CHANNEL WENT INACTIVE
          UJN    ILPBX       RETURN 
  
 ILST     SPACE  2,22 
**               SUBROUTINE ILST
* 
*                SUBROUTINE ILST ADDS THE FRONT END CHANNEL TO THE
*                CHANNEL INSTRUCTIONS LOCATED BY A CHANNEL INSTURCTION
*                LIST.
* 
*                  ENTRY -
* 
*                    (CHAN) = FRONT END CHANNEL NUMBER. 
* 
*                  EXIT - 
* 
*                    CHANNEL INSTRUCTIONS INITIALIZED.
* 
*                  USES - 
* 
*                    T1 = CHANNEL INSTRUCTION LIST ADDRESS, 
*                    T0 = FRONT END CHANNEL,
*                    T2 = ADDRESS OF CHANNEL INSTRUCTION. 
**
  
 ILST     SUBR               ENTRY/EXIT 
          LDC    ILTABLE     LOAD ADDRESS OF CHANNEL INITIALIZATION LIST
          STD    T1          INITIALIZE CHANNEL INSTRUCTION LIST ADDRESS
          LDM    CHAN        LOAD FRONT END CHANNEL NUMBER
          STD    T0          STORE FRONT END CHANNEL NUMBER 
  
 ILST.1   LDI    T1          LOAD ADDRESS OF NEXT CHANNEL INSTRUCTION 
          ZJN    ILSTX       RETURN IF END OF CHANNLE INSTRUCTION LIST
          STD    T2          STORE ADDRESS OF CHANNEL INSTURCTION 
          LDI    T2          LOAD CHANNEL INSTRUCTION 
          SCN    77B&NHO     CLEAR PREVIOUS FRONT END CHANNEL NUMBER
          LMD    T0          PLUS NEW FRONT END CHANNEL NUMBER
          STI    T2          STORE UPDATED CHANNEL INSTRUCTION
          AOD    T1          INCREMENT CHANNLE INSTRUCTION LIST ADDRESS 
          UJK    ILST.1      EXIT TO CHECK FOR END OF INSTRUCTION LIST
  
 ILTABLE  SPACE  2,8
**               INLINE DIAGNOSTICS CHANNEL INSTRUCTION ADDRESS LIST. 
* 
*                THE INLINE DIAGNOSTICS CHANNEL INSTURCTION ADDRESS LIST
*                CONTAINS AN ENTRY FOR EACH CHANNEL INSTRUCTION USED
*                BY THE DIAGNOSTICS OVERLAY.  THE CONTENTS OF EACH ENTRY
**               IS THE ADDRESS OF THE CHANNEL INSTRUCTION. 
  
  
          LIST   D
  
 ILTABLE  BSS    0           CHANNEL INSTRUCTION ADDRESS LIST 
  
 CIT      HERE
  
          CON    0           TERMINATE ADDRESS LIST 
  
          LIST   *
  
 MFC      BSS    1           NO OF BYTES IN INLINE DIAGNOSTICS MSG
  
 ."O.N"   EQU    *
  
          OVERLAY F=TRANS,T1=(ERROR STATUS),T2=(MCI ERROR STATUS PROCESS
,OR)
          QUAL   ACTIONS
 TYPEACT  MICRO  1,,*ERROR*  DEFINE ACTION TYPE 
  
*                RESET LINKS
  
 .NFE     SET    0
  
 PMER     TITLE  MCI ERROR STATUS PROCESOR
 PMER     SPACE  2,20 
**               ERROR PROCESSOR PMER.
* 
*                ERROR PROCESSOR PMER PROCESSES A MDI 
*                ERROR STATUS REPORTED BY THE FRONT END.
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE,
*                        (FEI) = FRONT END TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                        (DEC) = DRIVER ERROR CODE, 
*                    (ERRCODE) = RESET. 
* 
*                  CALLS -
* 
**                   GDS - GET AND DISPLAY DETAIL MDI STATUS. 
  
  
 PMER     ACTION             PROCESS MDI ERROR REPORTED 
          RJM    GDS         EXIT TO GET AND DISPLAY DETAIL STATUS
          LDM    ERRCODE     LOAD ERROR CODE
          STM    DEC,FEI     STORE DRIVER ERROR CODE
          LDN    0           CONSTANT OF ZERO 
          STM    ERRCODE     RESET ERROR CODE 
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 PNSS     SPACE  2,20 
**               ERROR PROCESOR PNSS
* 
*                ERROR PROCESSOR PNSS PROCESSES THE ERROR CONDITION 
*                IN WHICH PIP CANNOT COMMUNICATE WITH THE MDI BECAUSE 
*                THE TWO PROGRAMS CANNOT FIND A COMMON CHANNEL PROTOCOL 
*                VERSION THAT IS SUPPORTED BY BOTH.  A ERROR WORKLIST 
*                IS SENT TO NIP AND THE NEXT FRONT END IS PROCESSED.
*                THE MCI CHANNEL VERSION TIMER IS SET.
* 
*                  ENTRY -
* 
*                    (ERRCODE) = ERROR CODE.
*                        (FEI) = FRONT END TABLE ADDRESS. 
*                      (CHVER) = IF MAX MDI CHANNEL PROTOCOL VERSION WAS
*                                LESS THAN PIP MINIMUM, THEN THIS IS THE
*                                MAX MDI CHANNEL PROTOCOL VERSION.
*                                OTHERWISE, IT IS THE CH PROTOCOL 
*                                VERSION THAT PIP SENT WITH THE SET 
*                                PROTOCOL VERSION FUNCTION. 
* 
*                  EXIT - 
* 
*                        (DEC) =  ERROR CODE. 
*                    (ERRCODE) = RESET TO ZERO. 
* 
*                  USES - 
* 
*                          CBA = LWA OF WORKLIST IN CM BUFFER 
*                        DRBUF = BUFFER TO CONTAIN WORKLIST 
*                          FBA = FWA OF WORKLIST IN CM BUFFER 
*                          LBA = LIMIT ADDR OF UPLINE BUFFER
*                        T0-T4 = UPLINE BUFFER FET LIMIT WORD 
*                              = REAL TIME CLOCK FROM LOW CORE
*                           T1 = ADDR OF DRIVER BUFFER TO CONTAIN WRKLST
*                           T6 = INDEX FOR FET WORD IN NBT ENTRY
*                           T7 = NO OF WORDS TO WRITE TO CM 
*                      T10-T14 = PIT ENTRY HEADER WORD
*                      T15-T16 = PIT ENTRY ADDRESS
*                          WHB = WORKLIST HEADER BUFFER 
* 
**
  
 PNSS     ACTION             PROCESS NONSUPPORTED MDI CH PROTOCOL 
  
*                            MOVE DAYFILE ALERT MESSAGE TO DRIVER BUFFER
  
          LDC    DRBUF       ADDR OF DRIVER BUFFER TO RECEIVE DAY MSG 
          STD    T1 
  
*                            GENERATE DAYFILE MESSAGE WORKLIST FOR NIP
  
          LDC    /NAM/DFNCV*10000B&/NAM/DFWL REASON AND REQUEST CODE
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDM    DRBUF+/MSTATUS/VERNO  CDCNET CHANNEL PROTOCOL VERSION
          STM    DRBUF+/NAM/MDICV  SAVE FOR CH PROTOCOL MISMATCH WRKLST 
          LDN    /MSTATUS/MINV MIN CHANNEL PROTOCOL VERS SUPPORTED BY PP
          STM    DRBUF+/NAM/MINPV  SAVE FOR CH PROTOCOL MISMATCH WORKLST
          LDN    /MSTATUS/MAXV MAX CHANNEL PROTOCOL VERS SUPPORTED BY PP
          STM    DRBUF+/NAM/MAXPV  SAVE FOR CH PROTOCOL MISMATCH WORKLST
          LDM    CHVER,FEI   MAX CHANNEL PROTOCOL VERS SUPPORTED BY MDI 
          STM    DRBUF+/NAM/MDIPV  SAVE FOR CH PROTOCOL MISMATCH WORKLST
          LDN    /NAM/WL(6)CM LENGTH OF ALERT DAYFILE MSG WORKLIST
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH IN HEADER 
          RJM    TWL         EXIT TO TRANSFER WORKLIST TO INBOUND BUFFER
          LDM    ERRCODE     ERROR CODE 
          STM    DEC,FEI     SAVE DRIVER ERROR CODE 
          LDN    0           CONSTANT ZERO
          STM    ERRCODE     INITIALIZE ERROR CODE
          LDK    RTCL        ADDRESS OF SYSTEM REAL TIME CLOCK
          CRD    T0          READ SYSTEM REAL TIME CLOCK
          LDD    T0+1        SYSTEM SECOND TIME 
          ADK    Q.WCHPRT    DELAY QUANTUM FOR WRONG CHANNEL PROTOCOL 
          STM    CTM,FEI     SET CHANNEL PROTOCOL CHECK DELAY TIME
  
          LDN    /TABLES/.MCPM CHANNEL PROTOCOL MISMATCH ORDINAL
  
          STD    CTL         STORE BLOCK HANDLER STATE RESPONSE ACTION
          RJM    EBRA        EXIT TO EXECUTE BLOCK RESPONSE ACTION
          EXIT   NFE         EXIT TO PROCESS NEXT FRONT END 
  
 GDS      SPACE  2,26 
**               SUBROUTINE GDS.
* 
*                SUBROUTINE GDS OBTAINS THE DETAIL STATUS FROM
*                THE MDI, STORES IT INTO THE MDI DETAIL STATUS WORKLIST 
*                AND TRANSFERS THE WORKLIST TO THE INBOUND BUFFER.
* 
*                  ERROR EXITS -
* 
*                EXIT TO *ERROR* IF DETAIL STATUS LENGTH ERROR. 
* 
*                  CALLS -
* 
*                     PESC - PRESET FRONT END CHANNEL INSTRUCTIONS, 
*                     CIBS - CHECK INBOUND BUFFER SPACE,
*                    PAUSE - PAUSE FOR STORAGE RELOCATION,
*                      FNC - FUNCTION MDI,
*                      ACN - ACTIVE MDI CHANNEL,
*                      FEIP - INPUT PACKED DATA 
*                      IWL - INITIALIZE WORKLIST, 
*                      TWL - TRANSFER WORKLIST TO INBOUND BUFFER. 
* 
*         THE FORMAT OF THE WORKLIST ENTRY IS AS FOLLOWS: 
* 
*                  5         4         3         2         1
*         987654321098765432109876543210987654321098765432109876543210
*         ************************************************************* 
*         *  55 *       11        *///////////////////////////////////* 
*         ************************************************************* 
*         *   HN  *   TN  *   CN  *   25  *   2   *   5   *///////////* 
*         ************************************************************* 
*         *   CV  *   SN  *       SV      *             SID           * 
*         ************************************************************* 
*         *...................*  LIO  *  LTF  *      LPF      *  PLPF * 
*         ************************************************************* 
*         *.......*      SGS      *  SR1  *  SR3  *      SSF      *///* 
*         ************************************************************* 
*         *///////////////////////////////////*    STS    *    CTL    * 
*         ************************************************************* 
*         *    BHS    *    NCC    *    MGS    *    FEIC   *     HN    * 
*         ************************************************************* 
*         *     TN    *    ADO    *    RTE    *  CO/IOC   *    BSBC   * 
*         ************************************************************* 
*         *     BT    *    NSS    *    PRU    *  OCP/ICP  *     CN    * 
*         ************************************************************* 
* 
*             WHERE      HN = HOST NODE NUMBER
*                        TN = TERMINAL NODE NUMBER
*                        CN = NETWORK CONNECTION NUMBER 
*                        CV = MCI CHANNEL PROTOCOL VERSION
*                        SN = SLOT NUMBER 
*                        SV = MCI SYSTEM VERSION
*                       SID = MDI/MTI SYSTEM ID 
*                        LI = LAST I/O FUNCTION 
*                       LTF = LAST TRANSPARENT FUNCTION 
*                      PLPF = PREVIOUS TO LAST TRANSPARENT FUNCTION 
*                       SGS = SUMMARY FLAGS PLUS MCI GENERAL STATUS 
*                       SR1 = ICB STATUS REGISTER 1 
*                       SR3 = ICB STATUS REGISTER 3 
*                       SSF = SOFTWARE STATUS FIELD 
*                       STS = STREAM STATES 
*                       CTL = ACTION ORDINAL
*                       BHS = BLOCK HANDLER STATE 
*                       NCC = CURRENT MESSAGE CHARACTER COUNT 
*                       MGS = MDI GENERAL STATUS
*                      FEIC = ADDRESS OF INPUT CHARACTER PROCESSOR
*                       ADO = ACTION DIRECTORY ORDINAL
*                       RTE = RESPONSE TABLE ENTRY
*                    CO/IOC = COMMAND ORDINAL 
*                      BSBC = BSN AND BACK COUNTS 
*                        BT = NETWORK BLOCK TYPE
*                       NSS = NEXT STREAM STATE 
*                       PRU = PRU BUFFER SIZE 
*                      REOT = REQUEST END OF TRANSFER FLAG
*                        OW = NPU ORDER WORD
*                   OCP/ICP = OUTPUT/INPUT CHARACTER PROCESSOR
* 
**
  
 GDS      SUBR               ENTRY/EXIT 
          RJM    PESC        EXIT TO PRESET CHANNEL INSTRUCTIONS
          IJM.   GDS.1       EXIT FRONT END CHANNEL NOT ACTIVE
          DCN.               DISCONNECT FRONT END CHANNEL 
  
 GDS.1    LDN    /NAM/WL(5)CM LENGTH OF MDI DETAIL STATUS WORKLIST
          RJM    CIBS        EXIT TO CHECK FOR INBOUND BUFFER SPACE 
          PJN    GDS.2       EXIT IF SUFFICIENT INBOUND BUFFER SPACE
          UJK    GDSX        ABANDON DETAIL STATUS DISPLAY
  
 GDS.2    LDN    /FUNCTION/RDS LOAD FUNCTION TO REQUEST DETAIL STATUS 
          RJM    /MDI/FNC    EXIT TO FUNCTION TO REQUEST DETAIL STATUS
          RJM    /MDI/ACN    EXIT TO ACTIVATE CHANNEL 
          LDN    /MSTATUS/L.DS8 LOAD LENGTH OF DETAIL STATUS
          STM    /MDI/MC     STORE MESSAGE CHARACTER COUNT
          LDN    0           CONSTANT OF ZERO 
          STD    NCC         INITIALIZE MDI MESSAGE CHARACTER COUNT 
          STM    /MDI/CP     RESET CURRENT CHARACTER POSITION 
          LDC    DRBUF       LOAD ADDRESS OF DRIVER BUFFER
          STD    T1          STORE STARTING INPUT BUFFER ADDRESS
          ADN    /MSTATUS/L.DSP-1 PLUS LENGTH OF BUFF. FOR DETAIL STATUS
          CLIO   FEIP        EXIT TO INPUT & STORE PACKED DATA
          LDD    T3          LOAD INPUT CHARACTER COUNT 
          LMN    /MSTATUS/L.DS8 LESS LENGTH OF DETAIL STATUS
          ZJN    GDS.3       EXIT IF DETAIL STATUS LENGTH CORRECT 
          LDD    EOT         LOAD END OF TRANSFER FLAG
          NJN    GDS.3       EXIT IF END OF TRANSFER RECEIVED 
          UJK    /MDI/WEI.5  EXIT TO ERROR - UNABLE TO OBTAIN MDI STATUS
  
 GDS.3    LDD    STS         STREAM STATES
          STM    DRBUF+/NAM/DSSS  SAVE FOR DETAILED STATUS WORKLIST 
          LDD    CTL         ACTION ORDINAL 
          STM    DRBUF+/NAM/DSAO  SAVE FOR DETAILED STATUS WORKLIST 
          LDD    BHS         BLOCK HANDLER STATE
          STM    DRBUF+/NAM/DSBS  SAVE FOR DETAILED STATUS WORKLIST 
          LDD    NCC         CURRENT MESSAGE CHARACTER COUNT
          STM    DRBUF+/NAM/DSCC  SAVE FOR DETAILED STATUS WORKLIST 
          LDM    MGS,FEI     MDI GENERAL STATUS 
          STM    DRBUF+/NAM/DSGS  SAVE FOR DETAILED STATUS WORKLIST 
          LDM    FEIC        RETURN ADDRESS OF INPUT CHAR PROC
          STM    DRBUF+/NAM/DSIC  SAVE FOR DETAILED STATUS WORKLIST 
          LDM    HND,FEI     HOST NODE NUMBER 
          STM    DRBUF+/NAM/DSHN  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    TN          TERMINAL NODE NUMBER 
          STM    DRBUF+/NAM/DSTN  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    ADO         DRIVER ACTION DIRECTORY ORDINAL
          STM    DRBUF+/NAM/DSAD  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    RTE         DRIVER RESPONSE TABLE ENTRY
          STM    DRBUF+/NAM/DSRT  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    CO          COMMAND ORDINAL OR INPUT ORDER CODE
          STM    DRBUF+/NAM/DSCO  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    BSBC        BLOCK SERIAL NUMBERS AND BACK COUNTS 
          STM    DRBUF+/NAM/DSSB  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    BT          BLOCK TYPE 
          STM    DRBUF+/NAM/DSBT  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    NSS         DRIVER NEXT STREAM STATE 
          STM    DRBUF+/NAM/DSNS  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    PRU         CURRENT PRU BUFFER SIZE IN USE 
          STM    DRBUF+/NAM/DSPR  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    OCP         DRIVER OUTPUT/INPUT PROCESSOR
          STM    DRBUF+/NAM/DSCP  SAVE FOR WORKLIST AND/OR SUP MSG
          LDD    CN          CONNECTION NUMBER
          STM    DRBUF+/NAM/DSCN  SAVE FOR WORKLIST AND/OR SUP MSG
          LDC    /NAM/DFME*10000B&/NAM/DFWL REASON AND REQUEST CODES
          RJM    IWL         EXIT TO INITIALIZE UPBOUND WORKLIST
          LDN    /NAM/WL(5)CM LENGTH OF MDI DETAIL STATUS WORKLIST
          STM    NBH+/NAM/C.BWD+1 STORE UPBOUND WORKLIST LENGTH 
          RJM    TWL         EXIT TRANSFER WORKLIST TO INBOUND BUFFFER
          UJK    GDSX        RETURN 
  
 PESC     TITLE  ERROR STATUS PROCESSING SUPPORT SUBROUTINES. 
 PESC     SPACE  2,24 
**               SUBROUTINE PESC. 
* 
*                SUBROUTINE PESC ADDS THE FRONT END CHANNEL TO THE
*                CHANNEL INSTRUCTIONS LOCATED BY A CHANNEL CHANNEL
*                INSTRUCTION LIST.
* 
*                  ENTRY -
* 
*                    (CHAN) = FRONT END CHANNEL NUMBER. 
* 
*                  EXIT - 
* 
*                    CHANNEL INSTRUCTIONS INITIALIZED.
* 
*                  USES - 
* 
*                    T1 = CHANNEL INSTRUCTION LIST ADDRESS, 
*                    T0 = FRONT END CHANNEL,
**                   T2 = ADDRESS OF CHANNEL INSTRUCTION. 
  
  
 PESC     SUBR               ENTRY/EXIT 
          LDC    ESTABLE     LOAD ADDRESS OF CHANNEL INITIALIZATION LIST
          STD    T1          INITIALIZE CHANNEL INSTRUCTION LIST ADDRESS
          LDM    CHAN        LOAD FRONT END CHANNEL NUMBER
          STD    T0          STORE FRONT END CHANNEL NUMBER 
  
 PESC.1   LDI    T1          LOAD ADDRESS OF NEXT CHANNEL INSTRUCTION 
          ZJN    PESCX       RETURN IF END OF CHANNEL INSTRUCTION LIST
          STD    T2          STORE ADDRESS OF CHANNEL INSTRUCTION 
          LDI    T2          LOAD CHANNEL INSTRUCTION 
          SCN    77B&NHO     CLEAR PREVIOUS FRONT END CHANNEL NUMBER
          LMD    T0          PLUS NEW FRONT END CHANNEL NUMBER
          STI    T2          STORE UPDATED CHANNEL INSTRUCTION
          AOD    T1          INCREMENT CHANNEL INSTRUCTION LIST ADDRESS 
          UJK    PESC.1      EXIT TO CHECK FOR END OF INSTRUCTION LIST
  
          LIST   D
  
 ESTABLE  BSS    0           CHANNEL INSTRUCTION ADDRESS LIST 
  
 CIT      HERE
  
          CON    0           TERMINATE ADDRESS LIST 
  
          LIST   *
          QUAL
 OF.TBL   SPACE  2,6
*                TABLE OVERLAY DEFINITIONS
  
  
 OF.TBL   EQU    0           TABLE OVERLAY ACCESS ADDRESS 
 OL.TBL   EQU    0           TABLE OVERLAY LOAD ADDRESS 
 ."O.N"   EQU    *
  
          IFGT   ."O.N",DCSAVE,1
          ERR    CAN NOT SAVE DIRECT CELLS. 
  
  
  
          OVERLAY F=TBL,T1=(CONTROL TABLES),T2=(CENTRAL MEMORY RESIDENT 
,CONTROL TABLES)
  
          QUAL   TABLES 
  
  
 ACTLIST  BSS    0           ACTION DIRECTORY TABLE 
  
          LIST   D
          QUAL   ACTORD 
  
 OUTINT   BSS    0           OUTPUT INITIATOR RESPONSE ACTION DIRECTORY 
  
          LOC    0
  
 OUTINT   HERE
  
 .LAST    SET    *
          LOC    OUTINT+.LAST 
  
 BLKIN    BSS    0           BLOCK INPUT RESPONSE ACTION DIRECTORY
  
          LOC    0
  
 BLKIN    HERE
  
 .LAST    SET    *
          LOC    BLKIN+.LAST
  
 BLOCK    BSS    0           BLOCK HANDLER RESPONSE ACTION DIRECTORY
  
          LOC    0
  
 BLOCK    HERE
  
 .LAST    SET    *
          LOC    BLOCK+.LAST
  
 CMDIN    BSS    0           INPUT COMMAND RESPONSE ACTION DIRECTORY
  
          LOC    0
  
 CMDIN    HERE
  
 .LAST    SET    *
          LOC    CMDIN+.LAST
  
 CMDOUT   BSS    0           OUTPUT COMMAND RESPONSE ACTION DIRECTORY 
  
          LOC    0
  
 CMDOUT   HERE
  
 .LAST    SET    *
          LOC    CMDOUT+.LAST 
  
 STREAM   BSS    0           STREAM RESPONSE ACTION DIRECTORY 
  
          LOC    0
  
 STREAM   HERE
  
 .LAST    SET    *
          LOC    STREAM+.LAST 
  
 WORK     BSS    0           WORKLIST RESPONSE ACTION DIRECTORY 
  
          LOC    0
  
 WORK     HERE
  
 .LAST    SET    *
          LOC    WORK+.LAST 
  
  
 ERROR    BSS    0           ERROR RESPONSE ACTION DIRECTORY
  
          LOC    0
  
 ERROR    HERE
  
 .LAST    SET    *
          LOC    ERROR+.LAST
  
          LIST   *
          QUAL   *
 BHSTATES SPACE  2,10 
****             BLOCK HANDLER STATE TABLES.
* 
*                THE BLOCK HANDLER STATE TABLE CONTAINS AN ENTRY FOR
*                EACH BLOCK HANDLER STATE.  THE ENTRY IS THE ADDRESS
**               OF THE BLOCK HANDLER STATE PROCESSOR.
  
  
 BHSTATES BSS    0           BLOCK HANDLER STATE TABLE
  
          LOC    0
  
 BHS0     STATE. BIAS        STATE 0 - SERVICE CHANNEL
 BHS1     STATE. BIAS        STATE 1 - IVT STREAM 
 BHS2     STATE. BPAS        STATE 2 - PRU INPUT STREAM 
 BHS3     STATE. BPAS        STATE 3 - PRU OUTPUT STREAM
  
 NPUS     BSS    0           FRONT END STATES 
  
 BHS4     STATE. BWFC        STATE 4 - INITIAL FRONT END STATE
 BHS5     STATE. BNRI        STATE 5 - NPU INITIALIZATION REQUESTED 
 BHS6     STATE. BNLD        STATE 6 - LOAD NPU PROGRAM TEXT
 BHS7     STATE. BNIC        STATE 7 - FRONT END OPERATIONAL
 BHS8     STATE. BFIN        STATE 8 - FRONT END INOPERATIVE
 BHS9     STATE. BNLB        STATE 9 - LOAD NPU BOOSTRAP PROGRAM
 BHS10    STATE. BCEM        STATE 10 - ISSUE CE ERROR MESSAGE
 BHS11    STATE. BSRZ        STATE 11 - ISSUE REGULATION LEVEL ZERO 
 BHS12    STATE. BWRR        STATE 12 - WAIT REGULATION ZERO RESPONSE 
 BHS13    STATE. BSRZ        STATE 13 - ISSUE REGULATION LEVEL ZERO 
 BHS14    STATE. BWRR        STATE 14 - WAIT REGULATION ZERO RESPONSE 
 BHS15    STATE. BSFO        STATE 15 - ISSUE FRONT END TURNED OFF
 BHS16    STATE. BLTO        STATE 16 - BOOTSTRAP LOAD TIMEOUT
 BHS17    STATE. BSRZ        STATE 17 - ISSUE REGULATION LEVEL ZERO 
 BHS18    STATE. BWRR        STATE 18 - WAIT REGULATION ZERO RESPONSE 
 BHS19    STATE. BSRZ        STATE 19 - ISSUE REGULATION LEVEL ZERO 
 BHS20    STATE. BWRR        STATE 20 - WAIT REGULATION ZERO RESPONSE 
 BHS21    STATE. BSRZ        STATE 21 - ISSUE REGULATION LEVEL ZERO 
 BHS22    STATE. BWRR        STATE 22 - WAIT REGULATION ZERO RESPONSE 
 BHS23    STATE. BRMI        STATE 23 - REQUEST MDI INTIALIZATION 
 BHS24    STATE. BWIM        STATE 24 - CHECK MDI AVAILABLE 
 BHS25    STATE. BRFE        STATE 25 - RETURN MDI EQUIPMENT
  
 TEBS     BSS    0           TRANSITORY FRONT END ERROR STATES
  
 BHS26    STATE. BCEM        STATE 26 - ISSUE CE ERROR MESSAGE
 BHS27    STATE. BCEM        STATE 27 - ISSUE CE ERROR MESSAGE
  
 .LAST    SET    *
          LOC    BHSTATES+.LAST 
  
****
 BHS0RT   SPACE  2,12 
****             BLOCK HANDLER STATE RESPONSE TABLES. 
* 
*                THE BLOCK HANDLER STATE RESPONSE TABLES CONTAIN AN 
*                ENTRY FOR EACH BLOCK HANDLER STATE RESPONSE ACTION.
*                THE CONTENTS OF THE ENTRY IS THE ACTION ORDINAL OF 
*                THE ACTION THAT WILL BE EXECUTED FOR THE RESPONSE
**               AND THE NEXT BLOCK HANDLER STATE FOR THE STREAM. 
  
  
 BHS0RT   BSS    0           STATE 0 - SERVICE CHANNEL
  
 .STATE   SET    BHS0 
          LOC    0
  
 .IDAT    RESP   BRIL        INPUT DATA - BLOCK PROTOCOL ERROR
 .IBCK    RESP   BRIL        INPUT BACK - BLOCK PROTOCOL ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRND        INPUT TEXT - CHECK FOR NO EOT
 .INTX    RESP   BRIL        INPUT NULL TEXT - BLOCK PROTOCOL ERROR 
 .IICM    RESP   BRIL        INPUT ICMD - BLOCK PROTOCOL ERROR
 .IICR    RESP   BRIL        INPUT ICMD RESPONSE - BLOCK PROTOCOL ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRAE        OUTPUT DATA - APPLICATION ERROR
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BROT        OUTPUT TEXT - TRANSFER TEXT TO FRONT END 
 .OICM    RESP   BRAE        OUTPUT ICMD - APPLICATION ERROR
 .OICR    RESP   BRAE        OUTPUT ICMD RESPONSE - APPLICATION ERROR 
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRPT        PASS THROUGH COMMAND - TRANSFER COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRCO        CHANGE REGULATION - PROCESS COMMAND
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS17  NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS19  NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS11  NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS4   MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA,BHS10  NO MDI STATUS - CHANGE STATE 
 .MFUR    RESP   BRNA,BHS10  UNABLE TO RESET INTERFACE - CHANGE STATE 
 .MDIO    RESP   BRNA,BHS10  MDI INOPERATIVE - CHANGE STATE 
 .NPCE    RESP   BRNA,BHS10  NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS26  MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRNA,BHS11  BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS0RT+.LAST 
 BHS1RT   SPACE  2,10 
 BHS1RT   BSS    0           STATE 1 - IVT STREAM 
  
 .STATE   SET    BHS1 
          LOC    0
  
 .IDAT    RESP   BRDI        INPUT DATA - ACCEPT DATA HEADER FROM NPU 
 .IBCK    RESP   BRBK        INPUT BACK - GENERATE EXTRA CM WORD
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRND        INPUT TEXT - CHECK FOR NO EOT
 .INTX    RESP   BRNI        INPUT NULL TEXT - CHECK FOR EOT
 .IICM    RESP   BRND        INPUT ICMD - CHECK FOR NO EOT
 .IICR    RESP   BRNI        INPUT ICMD RESPONSE - CHECK FOR EOT
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BROH        OUTPUT DATA - TRANSFER DATA HEADER TO NPU
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BROT        OUTPUT TEXT - EXECUTE STREAM STATE 
 .OICM    RESP   BROT        OUTPUT ICMD - EXECUTE STREAM STATE 
 .OICR    RESP   BROT        OUTPUT ICMD RESPONSE - EXECUTE STREAM STATE
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRLE        PASS THROUGH COMMAND - DRIVER ERROR
 .LDNP    RESP   BRLE        LOAD NPU - DRIVER ERROR
 .STNP    RESP   BRLE        START NPU - DRIVER ERROR 
 .CGRL    RESP   BRLE        CHANGE REGULATION - DRIVER ERROR 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS17  NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS19  NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS11  NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS21  MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA,BHS10  NO MDI STATUS - CHANGE STATE 
 .MFUR    RESP   BRNA,BHS10  UNABLE TO RESET INTERFACE - CHANGE STATE 
 .MDIO    RESP   BRNA,BHS10  MDI INOPERATIVE - CHANGE STATE 
 .NPCE    RESP   BRNA,BHS10  NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS26  MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRPE        BLOCK PROTOCOL ERROR - PROCESS ERROR 
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS1RT+.LAST 
 BHS2RT   SPACE  2,10 
 BHS2RT   BSS    0           STATE 2 - PRU INPUT STREAM 
  
 .STATE   SET    BHS2 
          LOC    0
  
 .IDAT    RESP   BRIH        INPUT DATA - ACCEPT DATA HEADER FROM NPU 
 .IBCK    RESP   BRIB        INPUT BACK - CHECK EOT 
 .ICMD    RESP   BRIC        INPUT COMMAND - ACCEPT PFC AND SFC FROM NPU
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRIL        INPUT ICMD - BLOCK PROTOCOL ERROR
 .IICR    RESP   BRIL        INPUT ICMD RESPONSE - BLOCK PROTOCOL ERROR 
 .IL7Q    RESP   BRIQ        INPUT Q-MESSAGE - INPUT COMMAND NUMBER 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRNA        OUTPUT BACK - NO ACTION
 .OCMD    RESP   BRTC        OUTPUT COMMAND - TRANSFER COMMAND TEXT 
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BROR        OUTPUT RESET - TRANSFER RESET
 .OL7Q    RESP   BROQ        OUTPUT Q-MESSAGE - OUTPUT LEVEL 7 COMMAND
 .CMPT    RESP   BRLE        PASS THROUGH COMMAND - DRIVER ERROR
 .LDNP    RESP   BRLE        LOAD NPU - DRIVER ERROR
 .STNP    RESP   BRLE        START NPU - DRIVER ERROR 
 .CGRL    RESP   BRLE        CHANGE REGULATION - DRIVER ERROR 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS17  NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS19  NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS11  NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS21  MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA,BHS10  NO MDI STATUS - CHANGE STATE 
 .MFUR    RESP   BRNA,BHS10  UNABLE TO RESET INTERFACE - CHANGE STATE 
 .MDIO    RESP   BRNA,BHS10  MDI INOPERATIVE - CHANGE STATE 
 .NPCE    RESP   BRNA,BHS10  NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS26  MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRPE        BLOCK PROTOCOL ERROR - PROCESS ERROR 
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS2RT+.LAST 
 BHS3RT   SPACE  2,10 
 BHS3RT   BSS    0           STATE 3 - PRU OUTPUT STREAM
  
 .STATE   SET    BHS3 
          LOC    0
  
 .IDAT    RESP   BRIL        INPUT DATA - BLOCK PROTOCOL ERROR
 .IBCK    RESP   BRIB        INPUT BACK - CHECK EOT 
 .ICMD    RESP   BRIC        INPUT COMMAND - ACCEPT PFC AND SFC FROM NPU
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRIL        INPUT ICMD - BLOCK PROTOCOL ERROR
 .IICR    RESP   BRIR        INPUT ICMD RESPONSE - CHECK EOT
 .IL7Q    RESP   BRIQ        INPUT Q-MESSAGE - INPUT COMMAND NUMBER 
 .ODAT    RESP   BROH        OUTPUT DATA - TRANSFER DATA HEADER TO NPU
 .OBCK    RESP   BRNA        OUTPUT BACK - NO ACTION
 .OCMD    RESP   BRTC        OUTPUT COMMAND - TRANSFER COMMAND TEXT 
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRTI        OUTPUT ICMD - TRANSFER CONTROL CODE
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BROR        OUTPUT RESET - TRANSFER RESET
 .OL7Q    RESP   BROQ        OUTPUT Q-MESSAGE - OUTPUT LEVEL 7 COMMAND
 .CMPT    RESP   BRLE        PASS THROUGH COMMAND - DRIVER ERROR
 .LDNP    RESP   BRLE        LOAD NPU - DRIVER ERROR
 .STNP    RESP   BRLE        START NPU - DRIVER ERROR 
 .CGRL    RESP   BRLE        CHANGE REGULATION - DRIVER ERROR 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS17  NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS19  NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS11  NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS21  MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA,BHS10  NO MDI STATUS - CHANGE STATE 
 .MFUR    RESP   BRNA,BHS10  UNABLE TO RESET INTERFACE - CHANGE STATE 
 .MDIO    RESP   BRNA,BHS10  MDI INOPERATIVE - CHANGE STATE 
 .NPCE    RESP   BRNA,BHS10  NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS26  MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRPE        BLOCK PROTOCOL ERROR - PROCESS ERROR 
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS3RT+.LAST 
 BHS4RT   SPACE  2,10 
 BHS4RT   BSS    0           STATE 4 - INITIAL FRONT END STATE
  
 .STATE   SET    BHS4 
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS5   NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS7   NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS8   NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS23  MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRNA,BHS7   MDI OPERATIONAL - CHANGE STATE 
 .MPAC    RESP   BRNA,BHS25  PACER EQUIPMENT - CHANGE STATE 
 .MCPM    RESP   BRNA,BHS25  MDI PROTOCOL MISMATCH - CHANGE STATE 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA,BHS27  NO MDI STATUS - CHANGE STATE 
 .MFUR    RESP   BRNA,BHS27  UNABLE TO RESET INTERFACE - CHANGE STATE 
 .MDIO    RESP   BRNA,BHS27  MDI INOPERATIVE - CHANGE STATE 
 .NPCE    RESP   BRNA,BHS8   NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS27  MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRNA,BHS8   BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS15  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS4RT+.LAST 
 BHS5RT   SPACE  2,10 
 BHS5RT   BSS    0           STATE 5 - NPU INITIALIZATION REQUESTED 
  
 .STATE   SET    BHS5 
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS6   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA        NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRIL        NPU INITIALIZED - PROTOCOL ERROR 
 .NPTO    RESP   BRNA,BHS8   NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA,BHS8   NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA,BHS8   BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS5RT+.LAST 
 BHS6RT   SPACE  2,10 
 BHS6RT   BSS    0           STATE 6 - LOAD NPU PROGRAM TEXT
  
 .STATE   SET    BHS6 
          LOC    0
  
 .IDAT    RESP   BRIL        INPUT DATA - BLOCK PROTOCOL ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRND        INPUT TEXT - CHECK FOR NO EOT
 .INTX    RESP   BRIL        INPUT NULL TEXT - BLOCK PROTOCOL ERROR 
 .IICM    RESP   BRIL        INPUT ICMD - BLOCK PROTOCOL ERROR
 .IICR    RESP   BRIL        INPUT ICMD RESPONSE - BLOCK PROTOCOL ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BROT        OUTPUT TEXT - TRANSFER TEXT TO FRONT END 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRPT        PASS THROUGH COMMAND - TRANSFER COMMAND
 .LDNP    RESP   BRPT        LOAD NPU - PASS COMMAND THROUGH
 .STNP    RESP   BRPT        START NPU - PASS COMMAND THROUGH 
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS5   NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS7   NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA,BHS8   NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA,BHS8   NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA,BHS8   BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS6RT+.LAST 
 BHS7RT   SPACE  2,10 
 BHS7RT   BSS    0           STATE 7 - FRONT END OPERATIONAL
  
 .STATE   SET    BHS7 
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRPT        PASS THROUGH COMMAND - TRANSFER COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS0   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIL        NPU INITIALIZATION REQUEST - PROTOCOL ERROR
 .NPIC    RESP   BRIL        NPU INITIALIZED - PROTOCOL ERROR 
 .NPTO    RESP   BRNA,BHS8   NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA,BHS8   NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRNA,BHS8   MDI CHANNEL ERROR - CHANGE STATE 
 .BPCE    RESP   BRNA,BHS8   BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS7RT+.LAST 
 BHS8RT   SPACE  2,10 
 BHS8RT   BSS    0           STATE 8 - FRONT END INOPERATIVE
  
 .STATE   SET    BHS8 
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRBO        OUTPUT TEXT - BYPASS OUTPUT
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS9   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIA,BHS5   NPU INITIALIZATION REQUEST - ACKNOWLEDGE IT
 .NPIC    RESP   BRNA,BHS7   NPU INITIALIZED - CHANGE STATE 
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA,BHS23  MDI IN DIAGNOSTIC STATE - CHANGE STATE 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRNA,BHS4   MDI OPERATIONAL - CHANGE STATE 
 .MPAC    RESP   BRNA,BHS4   PACER EQUIPMENT - CHANGE STATE 
 .MCPM    RESP   BRNA,BHS4   MDI PROTOCOL MISMATCH - CHANGE STATE 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA,BHS15  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS8RT+.LAST 
 BHS9RT   SPACE  2,10 
 BHS9RT   BSS    0           STATE 9 - LOAD NPU BOOTSTRAP PROGRAM 
  
 .STATE   SET    BHS9 
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRBO        OUTPUT TEXT - BYPASS OUTPUT
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCO        LOAD NPU - PROCESS COMMAND 
 .STNP    RESP   BRCO,BHS4   START NPU - PROCESS COMMAND
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIL        NPU INITIALIZATION REQUEST - PROTOCOL ERROR
 .NPIC    RESP   BRIL        NPU INITIALIZED - PROTOCOL ERROR 
 .NPTO    RESP   BRNA,BHS8   NPU TIMEOUT - CHANGE STATE 
 .BLTO    RESP   BRNA,BHS16  BOOTSTRAP LOAD TIMEOUT - CHANGE STATE
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA,BHS8   NPU CHANNEL ERROR - CHANGE STATE 
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA,BHS8   BLOCK PROTOCOL ERROR - CHANGE STATE
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS9RT+.LAST 
 BHS10RT  SPACE  2,10 
 BHS10RT  BSS    0           STATE 10 - ISSUE CE ERROR MESSAGE
  
 .STATE   SET    BHS10
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS11  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS10RT+.LAST
 BHS11RT  SPACE  2,10 
 BHS11RT  BSS    0           STATE 11 - ISSUE REGULATION LEVEL ZERO 
  
 .STATE   SET    BHS11
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS12  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS11RT+.LAST
 BHS12RT  SPACE  2,10 
 BHS12RT  BSS    0           STATE 12 - WAIT REGULATION ZERO RESPONSE 
  
 .STATE   SET    BHS12
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRBO,BHS8   LEVEL ZERO RESPONSE - CHANGE STATE 
  
 .LAST    SET    *
          LOC    BHS12RT+.LAST
 BHS13RT  SPACE  2,10 
 BHS13RT  BSS    0           STATE 13 - ISSUE REGULATION LEVEL ZERO 
  
 .STATE   SET    BHS13
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS14  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS13RT+.LAST
 BHS14RT  SPACE  2,10 
 BHS14RT  BSS    0           STATE 14 - WAIT REGULATION ZERO RESPONSE 
  
 .STATE   SET    BHS14
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRBO,BHS15  LEVEL ZERO RESPONSE - CHANGE STATE 
  
 .LAST    SET    *
          LOC    BHS14RT+.LAST
 BHS15RT  SPACE  2,10 
 BHS15RT  BSS    0           STATE 15 - ISSUE FRONT END TURNED OFF
  
 .STATE   SET    BHS15
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO        PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS15RT+.LAST
 BHS16RT  SPACE  2,10 
 BHS16RT  BSS    0           STATE 16 - BOOTSTRAP LOAD TIMEOUT
  
 .STATE   SET    BHS16
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS8   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRIL        NPU INITIALIZATION REQUEST - PROTOCOL ERROR
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS16RT+.LAST
 BHS17RT  SPACE  2,10 
 BHS17RT  BSS    0           STATE 17 - ISSUE REGULATION LEVEL ZERO 
  
 .STATE   SET    BHS17
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS18  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS17RT+.LAST
 BHS18RT  SPACE  2,10 
 BHS18RT  BSS    0           STATE 18 - WAIT REGULATION ZERO RESPONSE 
  
 .STATE   SET    BHS18
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRBO,BHS5   LEVEL ZERO RESPONSE - CHANGE STATE 
  
 .LAST    SET    *
          LOC    BHS18RT+.LAST
 BHS19RT  SPACE  2,10 
 BHS19RT  BSS    0           STATE 19 - ISSUE REGULATION LEVEL ZERO 
  
 .STATE   SET    BHS19
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS20  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS19RT+.LAST
 BHS20RT  SPACE  2,10 
 BHS20RT  BSS    0           STATE 20 - WAIT REGULATION ZERO RESPONSE 
  
 .STATE   SET    BHS20
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRNA        NPU INITIALIZATION REQUEST - NO ACTION 
 .NPIC    RESP   BRNA        NPU INITIALIZED - NO ACTION
 .NPTO    RESP   BRNA        NPU TIMEOUT - NO ACTION
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRNA        NPU CHANNEL ERROR - NO ACTION
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRBO,BHS7   LEVEL ZERO RESPONSE - CHANGE STATE 
  
 .LAST    SET    *
          LOC    BHS20RT+.LAST
 BHS21RT  SPACE  2,10 
 BHS21RT  BSS    0           STATE 21 - ISSUE REGULATION LEVEL ZERO 
  
 .STATE   SET    BHS21
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS22  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS21RT+.LAST
 BHS22RT  SPACE  2,10 
 BHS22RT  BSS    0           STATE 22 - WAIT REGULATION ZERO RESPONSE 
  
 .STATE   SET    BHS22
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRBO,BHS23  LEVEL ZERO RESPONSE - CHANGE STATE 
  
 .LAST    SET    *
          LOC    BHS22RT+.LAST
 BHS23RT  SPACE  2,10 
 BHS23RT  BSS    0           STATE 23 - REQUEST MDI INITIALIZATION
  
 .STATE   SET    BHS23
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS24  PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS23RT+.LAST
 BHS24RT  SPACE  2,10 
 BHS24RT  BSS    0           STATE 24 - CHECK MDI AVAILABLE 
  
 .STATE   SET    BHS24
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRLE        MDI IN DIAGNOSTIC STATE - DRIVER ERROR 
 .MDAV    RESP   BRNA,BHS4   MDI AVAILABLE - CHANGE STATE 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRLE        NO MDI STATUS - DRIVER ERROR 
 .MFUR    RESP   BRLE        UNABLE TO RESET INTERFACE - DRIVER ERROR 
 .MDIO    RESP   BRLE        MDI INOPERATIVE - DRIVER ERROR 
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRLE        MDI CHANNEL ERROR - DRIVER ERROR 
 .BPCE    RESP   BRLE        BLOCK PROTOCOL ERROR - DRIVER ERROR
 .ESTO    RESP   BRNA,BHS13  EST TURNED OFF - CHANGE STATE
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS24RT+.LAST
 BHS25RT  SPACE  2,10 
 BHS25RT  BSS    0           STATE 25 - RELEASE MDI 
  
 .STATE   SET    BHS25
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRLE        PROCESS COMMAND - DRIVER ERROR 
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION ERROR
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRNA,BHS24  MDI RELEASED - CHANGE STATE
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS25RT+.LAST
  
 BHS26RT  SPACE  2,10 
 BHS26RT  BSS    0           STATE 26 - ISSUE CE ERROR MESSAGE
  
 .STATE   SET    BHS26
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS0   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION ERROR
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS26RT+.LAST
 BHS27RT  SPACE  2,10 
 BHS27RT  BSS    0           STATE 27 - ISSUE CE ERROR MESSAGE
  
 .STATE   SET    BHS27
          LOC    0
  
 .IDAT    RESP   BRLE        INPUT DATA - DRIVER ERROR
 .IBCK    RESP   BRLE        INPUT BACK - DRIVER ERROR
 .ICMD    RESP   BRLE        INPUT COMMAND - DRIVER ERROR 
 .ITXT    RESP   BRLE        INPUT TEXT - DRIVER ERROR
 .INTX    RESP   BRLE        INPUT NULL TEXT - DRIVER ERROR 
 .IICM    RESP   BRLE        INPUT ICMD - DRIVER ERROR
 .IICR    RESP   BRLE        INPUT ICMD RESPONSE - DRIVER ERROR 
 .IL7Q    RESP   BRLE        INPUT Q-MESSAGE - DRIVER ERROR 
 .ODAT    RESP   BRLE        OUTPUT DATA - DRIVER ERROR 
 .OBCK    RESP   BRLE        OUTPUT BACK - DRIVER ERROR 
 .OCMD    RESP   BRLE        OUTPUT COMMAND - DRIVER ERROR
 .OTXT    RESP   BRLE        OUTPUT TEXT - DRIVER ERROR 
 .OICM    RESP   BRLE        OUTPUT ICMD - DRIVER ERROR 
 .OICR    RESP   BRLE        OUTPUT ICMD RESPONSE - DRIVER ERROR
 .ORST    RESP   BRLE        OUTPUT RESET - DRIVER ERROR
 .OL7Q    RESP   BRLE        OUTPUT Q-MESSAGE - DRIVER ERROR
 .CMPT    RESP   BRBO        PASS THROUGH COMMAND - BYPASS COMMAND
 .LDNP    RESP   BRCE        LOAD NPU - GENERATE ERROR RESPONSE 
 .STNP    RESP   BRCE        START NPU - GENERATE ERROR RESPONSE
 .CGRL    RESP   BRBO        CHANGE REGULATION - BYPASS COMMAND 
 .PRCM    RESP   BRCO,BHS4   PROCESS COMMAND - PROCESS COMMAND
 .NPOP    RESP   BRLE        NPU OPERATIONAL - DRIVER ERROR 
 .NPRI    RESP   BRLE        NPU INITIALIZATION REQUEST - DRIVER ERROR
 .NPIC    RESP   BRLE        NPU INITIALIZED - DRIVER ERROR 
 .NPTO    RESP   BRLE        NPU TIMEOUT - DRIVER ERROR 
 .BLTO    RESP   BRLE        BOOTSTRAP LOAD TIMEOUT - DRIVER ERROR
 .MDRD    RESP   BRNA        MDI IN DIAGNOSTIC STATE - NO ACTION
 .MDAV    RESP   BRLE        MDI AVAILABLE - DRIVER ERROR 
 .MFOP    RESP   BRLE        MDI OPERATIONAL - DRIVER ERROR 
 .MPAC    RESP   BRLE        PACER EQUIPMENT - DRIVER ERROR 
 .MCPM    RESP   BRLE        MDI PROTOCOL MISMATCH - DRIVER ERROR 
 .MDRL    RESP   BRLE        MDI RELEASED - DRIVER ERROR
 .MFNS    RESP   BRNA        NO MDI STATUS - NO ACTION
 .MFUR    RESP   BRNA        UNABLE TO RESET INTERFACE - NO ACTION
 .MDIO    RESP   BRNA        MDI INOPERATIVE - NO ACTION
 .NPCE    RESP   BRLE        NPU CHANNEL ERROR - DRIVER ERROR 
 .MFCE    RESP   BRNA        MDI CHANNEL ERROR - NO ACTION
 .BPCE    RESP   BRNA        BLOCK PROTOCOL ERROR - NO ACTION 
 .ESTO    RESP   BRNA        EST TURNED OFF - NO ACTION 
 .RGZR    RESP   BRAE        LEVEL ZERO RESPONSE - APPLICATION ERROR
  
 .LAST    SET    *
          LOC    BHS27RT+.LAST
  
****
 STSTATES SPACE  2,10 
****             STREAM STATE TABLES. 
* 
*                THE STREAM STATE TABLE CONTAINS AN ENTRY FOR EACH
*                STREAM STATE.  THE ENTRY IS THE ADDRESS OF THE STREAM
**               STATE PROCESSOR. 
  
  
 STSTATES BSS    0           STREAM STATE TABLE 
  
          LOC    0
  
 STS0     STATE. SILL        STATE 0 - IVT CONNECTION 
 STS1     STATE. SPIN        STATE 1 - INITIAL PRU STREAM STATE 
  
 PRIN     BSS    0           INITIAL PRU INPUT STREAM STATE 
  
 STS2     STATE. SIQP        STATE 2 - PRU INPUT STREAM IDLE
 STS3     STATE. SOPC        STATE 3 - ISSUE START PRU INPUT STREAM 
 STS4     STATE. SIQP        STATE 4 - WAIT JOB CARD RECORD 
 STS5     STATE. SRJV        STATE 5 - REQUEST JOB VALIDATION 
 STS6     STATE. SCWL        STATE 6 - WAIT JOB VALIDATION
 STS7     STATE. SRMS        STATE 7 - REQUEST MASS STORAGE OUTPUT
 STS8     STATE. SWMS        STATE 8 - WAIT MASS STORAGE COMPLETE 
 STS9     STATE. SIQP        STATE 9 - PRU INPUT ACTIVE 
 STS10    STATE. SIQP        STATE 10 - EOI WRITTEN TO MASS STORAGE 
 STS11    STATE. SPIQ        STATE 11 - STREAM STOPPED EXTERNALLY 
 STS12    STATE. SOPC        STATE 12 - ISSUE RESTART PRU INPUT STREAM
 STS13    STATE. SOPC        STATE 13 - ISSUE ABORT PRU INPUT STREAM
 STS14    STATE. SIQP        STATE 14 - WAIT INPUT STREAM ABORTED 
 STS15    STATE. SRSI        STATE 15 - REPORT INTERNAL STREAM STOPPED
 STS16    STATE. SIQP        STATE 16 - WAIT END OF INFORMATION 
 STS17    STATE. SOPC        STATE 17 - ISSUE START PRU INPUT STREAM
 STS18    STATE. SOPC        STATE 18 - ISSUE FILE TRANSFER ON
 STS19    STATE. STSR        STATE 19 - TRANSFER START DATA REPLY 
 STS20    STATE. SFIE        STATE 20 - END OF INBOUND FILE TRANSFER
 STS21    STATE. SIQP        STATE 21 - WAIT END OF STREAM
 STS22    STATE. STCR        STATE 22 - TRANSFER CHECKMARK REPLY
  
 PROT     BSS    0           INITIAL PRU OUTPUT STREAM STATE
  
 STS23    STATE. SPOQ        STATE 23 - PRU OUTPUT STREAM IDLE
 STS24    STATE. SOPC        STATE 24 - ISSUE COMMAND TO FRONT END
 STS25    STATE. SWNA        STATE 25 - WAIT COMMAND ACKNOWLEDGMENT 
 STS26    STATE. SWDO        STATE 26 - ISSUE DIRECT OUTPUT TO FRONT END
 STS27    STATE. SPOQ        STATE 27 - DIRECT OUTPUT ACTIVE
 STS28    STATE. SWNA        STATE 28 - WAIT NO OUTPUT ACTIVITY 
 STS29    STATE. SPOQ        STATE 29 - PRU OUTPUT ACTIVE 
 STS30    STATE. SRNO        STATE 30 - REQUEST MASS STORAGE INPUT
 STS31    STATE. SWMS        STATE 31 - WAIT MASS STORAGE COMPLETE
 STS32    STATE. STPO        STATE 32 - ISSUE PRU OUTPUT TO FRONT END 
 STS33    STATE. STPO        STATE 33 - ISSUE LAST PRU OUTPUT TO FE 
 STS34    STATE. SWNO        STATE 34 - WAIT EOI DELIVERED
 STS35    STATE. SWEJ        STATE 35 - ISSUE EOJ DIRECT OUTPUT TO FE 
 STS36    STATE. SWNO        STATE 36 - WAIT EOI DELIVERED
 STS37    STATE. SWMS        STATE 37 - WAIT MASS STORAGE COMPLETE
 STS38    STATE. STPO        STATE 38 - ISSUE PRU OUTPUT TO FRONT END 
 STS39    STATE. SPDQ        STATE 39 - STREAM STOPPED EXTERNALLY 
 STS40    STATE. STPO        STATE 40 - ISSUE LAST PRU OUTPUT TO FE 
 STS41    STATE. SWNO        STATE 41 - WAIT NO OUTPUT ACTIVITY 
 STS42    STATE. SRSA        STATE 42 - REPORT OUTPUT STREAM STOPPED
 STS43    STATE. SPDQ        STATE 43 - STREAM STOPPED BY APPLICATION 
 STS44    STATE. SRSO        STATE 44 - REPORT INTERNAL STREAM STOPPED
 STS45    STATE. SPDQ        STATE 45 - STREAM STOPPED INTERNALLY 
 STS46    STATE. SRSO        STATE 46 - REPORT INTERNAL STREAM STOPPED
 STS47    STATE. SOPC        STATE 47 - ISSUE COMMAND TO FRONT END
 STS48    STATE. SOIC        STATE 48 - ISSUE RESTART ICMD TO FRONT END 
 STS49    STATE. SWNO        STATE 49 - WAIT ICMD RESPONSE
 STS50    STATE. SOIC        STATE 50 - ISSUE ABORT ICMD TO FRONT END 
 STS51    STATE. SWNO        STATE 51 - WAIT ICMD RESPONSE
 STS52    STATE. SPDQ        STATE 52 - WAIT ABORT STREAM DELIMITER 
 STS53    STATE. SOPC        STATE 53 - ISSUE ABORT STREAM DELIMITER
 STS54    STATE. SWNO        STATE 54 - WAIT OUTPUT STREAM ABORTED
 STS55    STATE. STPO        STATE 55 - ISSUE LAST PRU OUTPUT TO FE 
 STS56    STATE. SWNO        STATE 56 - WAIT NO OUTPUT ACTIVITY 
 STS57    STATE. SFOE        STATE 57 - END OF OUTBOUND FILE TRANSFER 
 STS58    STATE. SILL        STATE 58 - NOT USED
 STS59    STATE. SEL7        STATE 59 - REPORT FILE TRANSFER ERROR
 STS60    STATE. SFTE        STATE 60 - REPORT MASS STORAGE ERROR 
 STS61    STATE. SIWL        STATE 61 - CHECK IMMEDIATE WORKLIST QUEUE
 STS62    STATE. STPS        STATE 62 - TERMINATE PRU STREAM
 STS63    STATE. SSNA        STATE 63 - PRU STREAM TERMINATED 
  
 .LAST    SET    *
          LOC    STSTATES+.LAST 
  
****
 STS0RT   SPACE  2,12 
 STS0RT   SPACE  2,12 
***              STREAM STATE RESPONSE TABLES.
* 
*                THE STREAM STATE RESPONSE TABLES CONTAIN AN ENTRY FOR
*                EACH STREAM STATE RESPONSE ACTION.  THE CONTENTS OF
*                THE ENTRY IS THE ACTION ORDINAL OF THE ACTION THAT 
*                WILL BE EXECUTED FOR THE RESPONSE AND THE NEXT STREAM
**               STATE FOR THE STREAM.
  
  
 STSRT    BSS    0           STRAAM STATE RESPONSE TABLES 
          LOC    0
  
 .STATE   SET    STS0 
          RAIC   0
  
          RESP   SRNA        5  - NO ACTION 
          RESP   SRUO        4  - UPDATE FET OUT POINTER
          RESP   SROT        3  - OUTPUT TEXT TO FRONT END
          RESP   SRII        2  - BYPASS INPUT
          RESP   SRIT        1  - INPUT TEXT FROM FRONT END 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS0RT   BSS    0           STATE 0 - IVT CONNECTION 
  
  RAIX .SRID,01  SRIT        INPUT DATA - INPUT TEXT FROM FRONT END 
  RAIX .SRIB,00  SRLE        INPUT BACK - DRIVER ERROR
  RAIX .SRII,02  SRII        INVALID IVT INPUT - BYPASS INPUT 
  RAIX .SROD,03  SROT        OUTPUT DATA - OUTPUT TEXT TO FRONT END 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRLE        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRUO        FRONT END INOPERATIVE - UPDATE FET OUT POINTER 
  RAIX .SBPE,05  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS1RT   SPACE  2,10 
 .STATE   SET    STS1 
          RAIC   0
  
          RESP   SRNA,STS61  3  - CHANGE STATE
          RESP   SRWC,STS62  2  - WORKLIST COMPLETED
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS1RT   BSS    0           STATE 1 - INITIAL PRU STREAM STATE 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,01  SRIL        COMMAND QUEUED - BLOCK PROTOCOL ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,02  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,03  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,03  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS2RT   SPACE  2,10 
 .STATE   SET    STS2 
          RAIC   1
  
          RESP   SRTW,STS61  14 - TRANSFER WORKLIST 
          RESP   SRNA,STS59  13 - CHANGE STATE
          RESP   SRNA,STS61  12 - CHANGE STATE
          RESP   SRWC,STS62  11 - WORKLIST COMPLETED
          RESP   S7IL        10 - LEVEL SEVEN ERROR 
          RESP   SRAQ,STS11  9  - ADVANCE QUEUE 
          RESP   SRQW        8  - QUEUE WORKLIST COMMAND
          RESP   SRWC        7  - SET WORKLIST COMPLETED
          RESP   SRAE        6  - APPLICATION ERROR 
          RESP   SRNA,STS18  5  - CHANGE STATE
          RESP   SRNA,STS17  4  - CHANGE STATE
          RESP   SRNA,STS3   3  - CHANGE STATE
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS2RT   BSS    0           STATE 2 - PRU INPUT STREAM IDLE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRNA,STS3   START PRU JOB STREAM - CHANGE STATE
  RAIX .SSDS,04  SRNA,STS17  START PRU DATA STREAM - CHANGE STATE 
  RAIX .SFTI,05  SRNA,STS18  START INBOUND FILE TRANSFER - CHANGE STATE 
  RAIX .SFTO,06  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,06  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,06  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,06  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,07  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,07  SRWC        BYPASS PRU STREAM - SET WORKLIST COMPLETED 
  RAIX .SABT,07  SRWC        ABORT PRU STREAM - SET WORKLIST COMPLETED
  RAIX .SASD,06  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,06  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,06  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,06  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,06  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,06  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,08  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,01  SRIL        QUEUED INPUT DATA - BLOCK PROTOCOL ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,01  SRIL        STREAM STOPPED - BLOCK PROTOCOL ERROR
  RAIX .SSBI,09  SRAQ,STS11  BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,14  SRTW,STS61  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,10  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,10  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,10  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,10  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,10  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,11  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,12  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,12  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,13  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS3RT   SPACE  2,10 
 .STATE   SET    STS3 
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   SRWC,STS4   4  - WORKLIST COMPLETED
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS3RT   BSS    0           STATE 3 - ISSUE START PRU INPUT STREAM 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,01  SRIL        QUEUED INPUT DATA - BLOCK PROTOCOL ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,04  SRWC,STS4   FRONT END COMMAND ISSUED - SET WORKLIST COMPLETED
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS4RT   SPACE  2,10 
 .STATE   SET    STS4 
          RAIC   1
  
          RESP   SRNA,STS61  13 - CHANGE STATE
          RESP   SRWC,STS62  12 - WORKLIST COMPLETED
          RESP   SRAQ,STS2   11 - ADVANCE QUEUE 
          RESP   SRIL        10 - BLOCK PROTOCOL ERROR
          RESP   SRAQ,STS11  9  - ADVANCE QUEUE 
          RESP   SRNA,STS5   8  - CHANGE STATE
          RESP   SRQW        7  - QUEUE WORKLIST COMMAND
          RESP   SRNA,STS13  6  - CHANGE STATE
          RESP   SRNA,STS16  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT PRU DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS4RT   BSS    0           STATE 4 - WAIT JOB CARD RECORD 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT PRU DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPKCATION ERROR 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,05  SRNA,STS16  BYPASS PRU STREAM - CHANGE STATE 
  RAIX .SABT,06  SRNA,STS13  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,07  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,08  SRNA,STS5   QUEUED INPUT DATA - CHANGE STATE 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,09  SRAQ,STS11  STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,09  SRAQ,STS11  BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,10  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,11  SRAQ,STS2   END OF STREAM - ADVANCE QUEUE
  RAIX .SSAB,10  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,10  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,10  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,10  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,10  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,10  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,10  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,12  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,13  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,13  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STSR5T   SPACE  2,10 
 .STATE   SET    STS5 
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRTW,STS6   5  - TRANSFER WORKLIST 
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT PRU DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS5RT   BSS    0           STATE 5 - REQUEST JOB VALIDATION 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT PRU DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,05  SRTW,STS6   APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS6RT   SPACE  2,10 
 .STATE   SET    STS6 
          RAIC   1
  
          RESP   SRNA,STS61  12 - CHANGE STATE
          RESP   SRWC,STS62  11 - WORKLIST COMPLETED
          RESP   SRIL        10 - BLOCK PROTOCOL ERROR
          RESP   SRQW        9  - QUEUE WORKLIST COMMAND
          RESP   SRRB,STS13  8  - RETURN BUFFER 
          RESP   SRRB,STS16  7  - RETURN,BUFFER 
          RESP   SRWC        6  - SET WORKLIST COMPLETED
          RESP   SRWC,STS16  5  - SET WORKLIST COMPLETED
          RESP   SRWC,STS7   4  - SET WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT PRU DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS6RT   BSS    0           STATE 6 - WAIT JOB VALIDATION
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT PRU DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPKCATION ERROR 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,04  SRWC,STS7   VALID JOB - SET WORKLIST COMPLETED 
  RAIX .SJBE,05  SRWC,STS16  INVALID JOB - SET WORKLIST COMPLETED 
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,06  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,07  SRRB,STS16  BYPASS PRU STREAM - RETURN BUFFER
  RAIX .SABT,08  SRRB,STS13  ABORT PRU STREAM - RETURN BUFFER 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,09  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,10  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,11  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,12  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,12  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS7RT   SPACE  2,10 
 .STATE   SET    STS7 
          RAIC   0
  
          RESP   SRNA,STS59  6  - CHANGE STATE
          RESP   SRNA,STS8   5  - CHANGE STATE
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT PRU DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS7RT   BSS    0           STATE 7 REQUEST MASS STORAGE OUTPUT
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT PRU DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,05  SRNA,STS8   MASS STORAGE REQUESTED - CHANGE STATE
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,06  SRNA,STS59  LEVEL SEVEN ERROR - CHANGER STATE
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS8RT   SPACE  2,10 
 .STATE   SET    STS8 
          RAIC   1
  
          RESP   SRNA,STS59  10 - CHANGE STATE
          RESP   SRRB,STS60  9  - RETURN BUFFER 
          RESP   SRRB,STS20  8  - RETURN BUFFER 
          RESP   SRRB,STS15  7  - RETURN BUFFER 
          RESP   SRRB,STS10  6  - RETURN BUFFER 
          RESP   SRRB,STS9   5  - RETURN BUFFER 
          RESP   SRIL        4  - BLOCK PROROCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS8RT   BSS    0           STATE 8 - WAIT MASS STORAGE COMPLETE 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,05  SRRB,STS9   MASS STORAGE COMPLETED - RETURN BUFFER 
  RAIX .SMSE,06  SRRB,STS10  MASS STORAGE EOI - RETURN BUFFER 
  RAIX .SMER,07  SRRB,STS15  MASS STORAGE ERROR - RETURN BUFFER 
  RAIX .SFTE,08  SRRB,STS20  END OF FILE TRANSFER - RETURN BUFFER 
  RAIX .SFTR,09  SRRB,STS60  TRANSFER MASS STORAGE ERROR - RETURN BUFFER
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,10  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS9RT   SPACE  2,10 
 .STATE   SET    STS9 
          RAIC   1
  
          RESP   SRTW,STS61  16 - TRANSFER WORKLIST 
          RESP   SRNA,STS59  15 - CHANGE STATE
          RESP   SRNA,STS61  14 - CHANGE STATE
          RESP   SRWC,STS62  13 - WORKLIST COMPLETED
          RESP   S7IL        12 - LEVEL SEVEN ERROR 
          RESP   SRQA,STS22  11 - ADVANCE QUEUE 
          RESP   SRIL        10 - BLOCK PROTOCOL ERROR
          RESP   SRAQ,STS11  9  - ADVANCE QUEUE 
          RESP   SRNA,STS7   8  - CHANGE STATE
          RESP   SRQW        7  - QUEUE WORKLIST COMMAND
          RESP   SRNA,STS13  6  - CHANGE STATE
          RESP   SRNA,STS16  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS9RT   BSS    0           STATE 9 - PRU INPUT ACTIVE 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPKCATION ERROR 
  RAIX .SFTI,03  SRAE        START INBOUND FILE -  APPLICATION ERROR
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,05  SRNA,STS16  BYPASS PRU STREAM - CHANGE STATE 
  RAIX .SABT,06  SRNA,STS13  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,07  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,08  SRNA,STS7   QUEUED INPUT DATA - CHANGE STATE 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,09  SRAQ,STS11  STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,09  SRAQ,STS11  BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,10  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,10  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,10  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,10  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,16  SRTW,STS61  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,11  SRQA,STS22  CHECKMARK - ADVANCE QUEUE
  RAIX .S7ES,12  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,12  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,12  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,12  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,13  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,14  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,14  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,15  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS10RT  SPACE  2,10 
 .STATE   SET    STS10
          RAIC   1
  
          RESP   SRNA,STS61  12 - CHANGE STATE
          RESP   SRWC,STS62  11 - WORKLIST COMPLETED
          RESP   SRIL        10 - BLOCK PROTOCOL ERROR
          RESP   SRAQ,STS4   9  - ADVANCE QUEUE 
          RESP   SRAQ,STS11  8  - ADVANCE QUEUE 
          RESP   SRNA,STS7   7  - CHANGE STATE
          RESP   SRQW        6  - QUEUE WORKLIST COMMAND
          RESP   SRNA,STS13  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS10RT  BSS    0           STATE 10 - EOI WRITTEN TO MASS STORAGE 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPKCATION ERROR 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,04  SRWC        BYPASS PRU STREAM - SET WORKLIST COMPLETED 
  RAIX .SABT,05  SRNA,STS13  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,06  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,07  SRNA,STS7   QUEUED INPUT DATA - CHANGE STATE 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,08  SRAQ,STS11  STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,08  SRAQ,STS11  BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,09  SRAQ,STS4   END OF INFORMATION - ADVANCE QUEUE 
  RAIX .SEND,10  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,10  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,10  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,10  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,10  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,10  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,10  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,10  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,11  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,12  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,12  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS11RT  SPACE  2,10 
 .STATE   SET    STS11
          RAIC   1
  
          RESP   SRNA,STS61  13 - CHANGE STATE
          RESP   SRWC,STS62  12 - WORKLIST COMPLETED
          RESP   SRIL        11 - BLOCK PROTOCOL ERROR
          RESP   SRAQ        10 - ADVANCE QUEUE 
          RESP   SRQW        9  - QUEUE WORKLIST COMMAND
          RESP   SRNA,STS13  8  - CHANGE STATE
          RESP   SRSB        7  - SET OLD STREAM STATE
          RESP   SRNA,STS12  6  - CHANGE STATE
          RESP   SRAE        5  - APPLICATION ERROR 
          RESP   SRWC        4  - SET WORKLIST COMPLETED
          RESP   SRRS,**     3  - RETURN TO OLD STATE 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS11RT  BSS    0           STATE 11 - STREAM STOPPED EXTERNALLY 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRRS,**     START PRU JOB STREAM - RETURN TO OLD STATE 
  RAIX .SSDS,03  SRRS,**     START PRU DATA STREAM - RETURN TO OLD STATE
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,04  SRWC        VALID JOB - SET WORKLIST COMPLETED 
  RAIX .SJBE,04  SRWC        INVALID JOB - SET WORKLIST COMPLETED 
  RAIX .SSPS,05  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,06  SRNA,STS12  RESTART PRU STREAM - CHANGE STATE
  RAIX .SBYP,07  SRSB        BYPASS PRU STREAM - SET OLD STREAM STATE 
  RAIX .SABT,08  SRNA,STS13  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,05  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,05  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,05  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,05  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,05  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,05  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,09  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,03  SRRS,**     QUEUED INPUT DATA - RETURN TO OLD STATE
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,10  SRAQ        STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,10  SRAQ        BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,03  SRRS,**     END OF INFORMATION - RETURN TO OLD STATE 
  RAIX .SEND,03  SRRS,**     END OF STREAM - RETURN TO OLD STATE
  RAIX .SSAB,11  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,11  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,11  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,11  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,11  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,11  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,11  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,12  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,13  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,13  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS12RT  SPACE  2,10 
 .STATE   SET    STS12
          RAIC   0
  
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   SROS,**     5  - RETURN TO OLD STATE 
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS12RT  BSS    0           STATE 12 - ISSUE RESTART PRU INPUT STREAM
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,05  SROS,**     FRONT END COMMAND ISSUED - RETURN TO OLD STATE 
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS13RT  SPACE  2,10 
 .STATE   SET    STS13
          RAIC   0
  
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   SRWC,STS14  5  - WORKLIST COMPLETED
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS13RT  BSS    0           STATE 13 - ISSUE ABORT PRU INPUT STREAM
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,05  SRWC,STS14  FRONT END COMMAND ISSUED - SET WORKLIST COMPLETED
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS14RT  SPACE  2,10 
 .STATE   SET    STS14
          RAIC   1
  
          RESP   SRNA,STS61  11 - CHANGE STATE
          RESP   SRWC,STS62  10 - WORKLIST COMPLETED
          RESP   SRIL        9  - BLOCK PROTOCOL ERROR
          RESP   SRAQ,STS2   8  - ADVANCE QUEUE 
          RESP   SRAQ        7  - ADVANCE QUEUE 
          RESP   SRRB        6  - RETURN BUFFER 
          RESP   SRQW        5  - QUEUE WORKLIST COMMAND
          RESP   SRWC        4  - SET WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS14RT  BSS    0           STATE 14 - WAIT INPUT STREAM ABORTED 
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPKCATION ERROR 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,04  SRWC        VALID JOB - SET WORKLIST COMPLETED 
  RAIX .SJBE,04  SRWC        INVALID JOB - SET WORKLIST COMPLETED 
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,05  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,06  SRRB        QUEUED INPUT DATA - RETURN BUFFER
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,07  SRAQ        STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,07  SRAQ        BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,07  SRAQ        END OF INFORMATION ADVANCE QUEUE 
  RAIX .SEND,08  SRAQ,STS2   END OF STREAM - ADVANCE QUEUE
  RAIX .SSAB,08  SRAQ,STS2   STREAM ABORTED - ADVANCE QUEUE 
  RAIX .SICR,09  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,09  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,09  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,09  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,09  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,09  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,10  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,11  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,11  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS15RT  SPACE  2,10 
 .STATE   SET    STS15
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRTW,STS16  5  - TRANSFER WORKLIST 
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS15RT  BSS    0           STATE 15 - REPORT INTERNAL STREAM STOPPED
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,05  SRTW,STS16  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS16RT  SPACE  2,10 
 .STATE   SET    STS16
          RAIC   1
  
          RESP   SRNA,STS61  13 - CHANGE STATE
          RESP   SRWC,STS62  12 - WORKLIST COMPLETED
          RESP   SRIL        11 - BLOCK PROTOCOL ERROR
          RESP   SRAQ,STS2   10 - ADVANCE QUEUE 
          RESP   SRAQ,STS4   9  - ADVANCE QUEUE 
          RESP   SRAQ,STS11  8  - ADVANCE QUEUE 
          RESP   SRRB        7  - RETURN BUFFER 
          RESP   SRQW        6  - QUEUE WORKLIST COMMAND
          RESP   SRNA,STS13  5  - CHANGE STATE
          RESP   SRWC        4  - SET WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS16RT  BSS    0           STATE 16 - WAIT END OF INFORMATION 
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,04  SRWC        VALID JOB - SET WORKLIST COMPLETED 
  RAIX .SJBE,04  SRWC        INVALID JOB - SET WORKLIST COMPLETED 
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,04  SRWC        BYPASS PRU STREAM - SET WORKLIST COMPLETED 
  RAIX .SABT,05  SRNA,STS13  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,06  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,07  SRRB        QUEUED INPUT DATA - RETURN BUFFER
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,08  SRAQ,STS11  STREAM STOPPED - ADVANCE QUEUE 
  RAIX .SSBI,08  SRAQ,STS11  BATCH INTERRUPT - ADVANCE QUEUE
  RAIX .SEOI,09  SRAQ,STS4   END OF INFORMATION ADVANCE QUEUE 
  RAIX .SEND,10  SRAQ,STS2   END OF STREAM - ADVANCE QUEUE
  RAIX .SSAB,11  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,11  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,11  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,11  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,11  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,11  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,11  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,12  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,13  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,13  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS17RT  SPACE  2,10 
 .STATE   SET    STS17
          RAIC   0
  
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRWC,STS62  3  - WORKLIST COMPLETED
          RESP   SRWC,STS9   2  - WORKLIST COMPLETED
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS17RT  BSS    0           STATE 17 - ISSUE START PRU INPUT STREAM
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,02  SRWC,STS9   FRONT END COMMAND ISSUED - SET WORKLIST COMPLETED
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,03  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS18RT  SPACE  2,10 
 .STATE   SET    STS18
          RAIC   0
  
          RESP   SRNA,STS59  5  - CHANGE STATE
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRWC,STS62  3  - WORKLIST COMPLETED
          RESP   SRFO,STS19  2  - SET PRU MODE ON 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
  
  
 STS18RT  BSS    0           STATE 18 - ISSUE FILE TRANSFER ON
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,02  SRFO,STS19  FRONT END COMMAND ISSUED - SET PRU MODE ON 
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,03  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,05  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS19RT  SPACE  2,10 
 .STATE   SET    STS19
          RAIC   0
  
          RESP   SRNA,STS59  6  - CHANGE STATE
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRWC,STS62  4  - WORKLIST COMPLETED
          RESP   SRNA,STS9   3  - CHANGE STATE
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS19RT  BSS    0           STATE 19 - TRANSFER START DATA REPLY 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,03  SRNA,STS9   LEVEL SEVEN COMMAND ISSUED - CHANGE STATE
  RAIX .STPS,04  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,06  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS20RT  SPACE  2,10 
 .STATE   SET    STS20
          RAIC   0
  
          RESP   SRNA,STS59  6  - CHANGE STATE
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRTW,STS21  4  - TRANSFER WORKLIST 
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
  
  
 STS20RT  BSS    0           STATE 20 - END OF INBOUND FILE TRANSFER
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,04  SRTW,STS21  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,06  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS21RT  SPACE  2,10 
 .STATE   SET    STS21
          RAIC   1
  
          RESP   SRNA,STS59  9  - CHANGE STATE
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRAQ,STS61  6  - ADVANCE QUEUE 
          RESP   S7IL        5  - LEVEL SEVEN ERROR 
          RESP   SRQW        4  - QUEUE WORKLIST COMMAND
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS21RT  BSS    0           STATE 21 - WAIT FOR END OF STREAM
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        INBOUND FILE TRANSFER - APPLICATION ERROR
  RAIX .SFTO,03  SRAE        OUTBOUND FILE TRANSFER - APPLICATION ERROR 
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,04  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,01  SRIL        QUEUED INPUT DATA - BLOCK PROTOCOL ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,01  SRIL        STREAM STOPPED - BLOCK PROTOCOL ERROR
  RAIX .SSBI,01  SRIL        BATCH INTERRUPT - BLOCK PROTOCOL ERROR 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,05  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,06  SRAQ,STS61  END OF STREAM - ADVANCE QUEUE
  RAIX .S7RR,05  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,05  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,05  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,09  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS22RT  SPACE  2,10 
 .STATE   SET    STS22
          RAIC   1
  
          RESP   SRNA,STS59  8  - CHANGE STATE
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLTED 
          RESP   SPMR,STS9   5  - UPDATE CHECKMARK CONTROL
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIP        1  - INPUT DATA TO QUEUE 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS22RT  BSS    0           STATE 22 - TRANSFER CHECKMARK REPLY
  
  RAIX .SRID,01  SRIP        INPUT DATA - INPUT DATA TO QUEUE 
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,05  SPMR,STS9   LEVEL SEVEN - UPDATE CHECKMARK CONTROL 
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,08  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS23RT  SPACE  2,10 
 .STATE   SET    STS23
          RAIC   1
  
          RESP   SRNA,STS59  14 - CHANGE STATE
          RESP   SRNA,STS61  13 - CHANGE STATE
          RESP   SRWC,STS62  12 - WORKLIST COMPLETED
          RESP   S7IL        11 - LEVEL SEVEN ERROR 
          RESP   SRSO,STS39  10 - SET OLD STREAM STATE
          RESP   SRNA        9  - NO ACTION 
          RESP   SRNA,STS24  8  - CHANGE STATE
          RESP   SRNA,STS35  7  - CHANGE STATE
          RESP   SRNA,STS26  6  - CHANGE STATE
          RESP   SRNA,STS50  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRWC,STS29  3  - WORKLIST COMPLETED
          RESP   SRAE        2  - APPLICATION ERROR 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS23RT  BSS    0           STATE 23 - PRU OUTPUT STREAM IDLE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,02  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRWC,STS29  START PRU DATA STREAM - WORKLIST COMPLETED 
  RAIX .SFTI,02  SRAE        INBOUND FILE TRANSFER - APPLICATION ERROR
  RAIX .SFTO,03  SRWC,STS29  OUTBOUND FILE TRANSFER - WORKLIST COMPLETED
  RAIX .SJBV,02  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,02  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC        STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,02  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,05  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,02  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,02  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,06  SRNA,STS26  DIRECT OUTPUT REQUEST - CHANGE STATE 
  RAIX .SEOR,07  SRNA,STS35  EOJ OUTPUT REQUEST - CHANGE STATE
  RAIX .SSFC,08  SRNA,STS24  SET FILE CHARACTERISTICS - CHANGE STATE
  RAIX .SSDC,08  SRNA,STS24  SET DEVICE CHARACTERISTICS - CHANGE STATE
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,09  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,10  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,10  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,11  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,11  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,11  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,11  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,11  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,12  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,13  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,13  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,14  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS24RT  SPACE  2,10 
 .STATE   SET    STS24
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   S7IL        4  - LEVEL SEVEN ERROR 
          RESP   SRWC,STS25  3  - WORKLIST COMPLETED
          RESP   SRTW,STS39  2  - TRANSFER WORKLIST 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS24RT  BSS    0           STATE 24 - ISSUE COMMAND TO FRONT END
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,02  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,02  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED  BLOCK PROTOCOL ERROR 
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,03  SRWC,STS25  FRONT END COMMAND ISSUED - WORKLIST COMPLETED
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,04  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,04  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,04  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,04  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,04  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS25RT  SPACE  2,10 
 .STATE   SET    STS25
          RAIC   1
  
          RESP   SRNA        10 - NO ACTION 
          RESP   SRNA,STS61  9  - CHANGE STATE
          RESP   SRWC,STS62  8  - WORKLIST COMPLETED
          RESP   S7IL        7  - LEVEL SEVEN ERROR 
          RESP   SRSO,STS39  6  - SET OLD STREAM STATE
          RESP   SRNA,STS23  5  - CHANGE STATE
          RESP   SRNA,STS50  4  - CHANGE STATE
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA,STS23  2  - CHANGE STATE
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS25RT  BSS    0           STATE 25 - WAIT COMMAND ACKNOWLEDGMENT 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA,STS23  INPUT BACK - CHANGE STATE
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,10  SRNA        RESTART PRU STREAM - NO ACTION 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,04  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,05  SRNA,STS23  NO OUTPUT ACTIVITY - CHANGE STATE
  RAIX .SSTP,06  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,06  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,07  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,07  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,07  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,07  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,07  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,08  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,09  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,09  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS26RT  SPACE  2,10 
 .STATE   SET    STS26
          RAIC   0
  
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   S7IL        5  - LEVEL SEVEN ERROR 
          RESP   SRTW,STS39  4  - TRANSFER WORKLIST 
          RESP   SRDO,STS27  3  - TRASNFER DIRECT OUTPUT
          RESP   SROA        2  - TRANSFER ACKNOWLEDGE WORKLIST 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS26RT  BSS    0           STATE 26 - ISSUE DIRECT OUTPUT TO FRONT END
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SROA        INPUT BACK - TRANSFER ACKNOWLEDGE WORKLIST 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,03  SRDO,STS27  OUTPUT DATA - TRANSFER DIRECT OUTPUT 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,04  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,04  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,05  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,05  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,05  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,05  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,05  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS27RT  SPACE  2,10 
 .STATE   SET    STS27
          RAIC   1
  
          RESP   SRNA,STS61  11 - CHANGE STATE
          RESP   SRWC,STS62  10 - WORKLIST COMPLETED
          RESP   S7IL        9  - LEVEL SEVEN ERROR 
          RESP   SRSO,STS39  8  - SET OLD STREAM STATE
          RESP   SRNA,STS26  7  - CHANGE STATE
          RESP   SRNA,STS50  6  - CHANGE STATE
          RESP   SRNA        5  - NO ACTION 
          RESP   SRNA,STS28  4  - CHANGE STATE
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SROA        2  - RANSFER ACKNOWLEDGE WORKLIST
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS27RT  BSS    0           STATE 27 - DIRECT OUTPUT ACTIVE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SROA        INPUT BACK - TRANSFER ACKNOWLEDGE WORKLIST 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,04  SRNA,STS28  START PRU DATA STREAM - CHANGE STATE 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRNA,STS28  STOP PRU STREAM - CHANGE STATE 
  RAIX .SRST,05  SRNA        RESTART PRU STREAM - NO ACTION 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,06  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,07  SRNA,STS26  DIRECT OUTPUT REQUEST - CHANGE STATE 
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,04  SRNA,STS28  SET FILE CHARACTERISTICS - CHANGE STATE
  RAIX .SSDC,04  SRNA,STS28  SET DEVICE CHARACTERISTICS - CHANGE SATET
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,05  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,08  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,08  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,09  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,09  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,09  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,09  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,09  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,10  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,11  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,11  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS28RT  SPACE  2,10 
 .STATE   SET    STS28
          RAIC   1
  
          RESP   SRNA,STS61  10 - CHANGE STATE
          RESP   SRWC,STS62  9  - WORKLIST COMPLETED
          RESP   S7IL        8  - LEVEL SEVEN ERROR 
          RESP   SRSO,STS39  7  - SET OLD STREAM STATE
          RESP   SRNA,STS23  6  - CHANGE STATE
          RESP   SRNA,STS50  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SROA        2  - TRANSFER ACKNOWLEDGE WORKLIST 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS28RT  BSS    0           STATE 28 - WAIT NO OUTPUT ACTIVITY 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SROA        INPUT BACK - TRANSFER ACKNOWLEDGE WORKLIST 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,04  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,05  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,06  SRNA,STS23  NO OUTPUT ACTIVITY - CHANGE STATE
  RAIX .SSTP,07  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,07  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,08  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,08  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,08  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,08  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,08  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,09  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,10  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,10  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS29RT  SPACE  2,10 
 .STATE   SET    STS29
          RAIC   1
  
          RESP   SRNA,STS59  15 - CHANGE STATE
          RESP   SRNA,STS61  14 - CHANGE STATE
          RESP   SRWC,STS62  13 - WORKLIST COMPLETED
          RESP   SPMS        12 - UPDATE CHECKMARK CONTROL
          RESP   SRTW,STS39  11 - TRANSFER WORKLIST 
          RESP   S7IL        10 - LEVEL SEVEN ERROR 
          RESP   SRSO,STS39  9  - SET OLD STREAM STATE
          RESP   SRNA,STS30  8  - CHANGE STATE
          RESP   SRNA,STS47  7  - CHANGE STATE
          RESP   SRNA,STS50  6  - CHANGE STATE
          RESP   SRWC        5  - WORKLIST COMPLETED
          RESP   SRWC,STS41  4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS29RT  BSS    0           STATE 29 - PRU OUTPUT ACTIVE 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC,STS41  STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,05  SRWC        RESTART PRU STREAM - WORKLIST COMPLETED
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,06  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,07  SRNA,STS47  SET FILE CHARACTE9ISTICS - CHANGE STATE
  RAIX .SSDC,07  SRNA,STS47  SET DEVICE CHARACTERISTICS - CHANGE STATE
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,08  SRNA,STS30  OUTPUT ALLOWED - CHANGE STATE
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,09  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,09  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,10  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,10  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,11  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,02  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,10  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,12  SPMS        LEVEL SEVEN - UPDATE CHECKMARK CONTROL 
  RAIX .STPS,13  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,14  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,14  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,15  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS30RT  SPACE  2,10 
 .STATE   SET    STS30
          RAIC   0
  
          RESP   SRNA,STS59  7  - CHANGE STATE
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   S7IL        5  - LEVEL SEVEN ERROR 
          RESP   SRNA,STS31  4  - CHANGE STATE
          RESP   SRTW,STS39  3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS30RT  BSS    0           STATE 30 - REQUEST MASS STORAGE INPUT
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,04  SRNA,STS31  MASS STORAGE REQUESTED - CHANGE STATE
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,05  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,05  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,03  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,02  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,05  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,07  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS31RT  SPACE  2,10 
 .STATE   SET    STS31
          RAIC   1
  
          RESP   SRNA,STS59  12 - CHANGE STATE
          RESP   SRNA,STS61  11 - CHANGE STATE
          RESP   SRTW,STS39  10 - TRANSFER WORKLIST 
          RESP   S7IL        9  - LEVEL SEVEN ERROR 
          RESP   SRRB,STS60  8  - RETURN BUFFER 
          RESP   SRNA,STS55  7  - CHANGE STATE
          RESP   SRRB,STS44  6  - RETURN BUFFER 
          RESP   SRNA,STS33  5  - CHANGE STATE
          RESP   SRNA,STS32  4  - CHANGE STATE
          RESP   SRTW,STS37  3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS31RT  BSS    0           STATE 31 - WAIT MASS STORAGE COMPLETE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW,STS37  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW,STS37  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,04  SRNA,STS32  MASS STORAGE COMPLETED - CHANGE STATE
  RAIX .SMSE,05  SRNA,STS33  MASS STORAGE EOI - CHANGE STATE
  RAIX .SMER,06  SRRB,STS44  MASS STORAGE ERROR - RETURN BUFFER 
  RAIX .SFTE,07  SRNA,STS55  END OF FILE TRANSFER - CHANGE STATE
  RAIX .SFTR,08  SRRB,STS60  TRANSFER MASS STORAGE ERROR - RETURN BUFFER
  RAIX .S7MS,09  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,09  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,10  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,02  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,09  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,11  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,11  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,12  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS32RT  SPACE  2,10 
 .STATE   SET    STS32
          RAIC   1
  
          RESP   SRNA,STS59  8  - CHANGE STATE
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRTW,STS39  6  - TRANSFER WORKLIST 
          RESP   S7IL        5  - LEEL SEVEN ERROR
          RESP   SRTW,STS38  4  - TRANSFER WORKLIST 
          RESP   SRPO,STS29  3  - TRANSFER PRU OUTPUT 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS32RT  BSS    0           STATE 32 - ISSUE PRU OUTPUT TO FRONT END 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,03  SRPO,STS29  OUTPUT DATA - TRANSFER PRU OUTPUT
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,04  SRTW,STS38  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,04  SRTW,STS38  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,05  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,05  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,06  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,02  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,05  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,08  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS33RT  SPACE  2,10 
 .STATE   SET    STS33
          RAIC   0
  
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRWE,STS38  4  - SET OLD STREAM STATE
          RESP   SRPO,STS34  3  - TRANSFER PRU OUTPUT 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
 STS33RT  BSS    0           STATE 33 - ISSUE LAST PRU OUTPUT TO FE 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,03  SRPO,STS34  OUTPUT DATA - TRANSFER PRU OUTPUT
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,04  SRWE,STS38  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,04  SRWE,STS38  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS34RT  SPACE  2,10 
 .STATE   SET    STS34
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW,STS23  6  - TRANSFER WORKLIST 
          RESP   SRSO,STS39  5  - SET OLD STREAM STATE
          RESP   SRNA,STS50  4  - CHANGE STATE
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS34RT  BSS    0           STATE 34 - WAIT EOI DELIVERED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,02  SRNA        RESTART PRU STREAM - NO ACTION 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,04  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,05  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,05  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,06  SRTW,STS23  END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS35RT  SPACE  2,10 
 .STATE   SET    STS35
          RAIC   0
  
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRTW,STS39  3  - TRANSFER WORKLIST 
          RESP   SRDO,STS36  2  - TRANSFER DIRECT OUTPUT
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS35RT  BSS    0           STATE 35 - ISSUE EOJ DIRECT OUTPUT TO FE 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,02  SRDO,STS36  OUTPUT DATA - TRANSFER DIRECT OUTPUT 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS36RT  SPACE  2,10 
 .STATE   SET    STS36
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW,STS23  6  - TRANSFER WORKLIST 
          RESP   SRSO,STS39  5  - SET OLD STREAM STATE
          RESP   SRNA,STS50  4  - CHANGE STATE
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS36RT  BSS    0           STATE 36 - WAIT EOI DELIVERED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,04  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,05  SRSO,STS39  STREAM STOPPED - SET OLD STREAM STATE
  RAIX .SSBI,05  SRSO,STS39  BATCH INTERRUPT - SET OLD STREAM STATE 
  RAIX .SEOI,06  SRTW,STS23  END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS37RT  SPACE  2,10 
 .STATE   SET    STS37
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRRB,STS46  5  - RETURN BUFFER 
          RESP   SRWE,STS38  4  - CHANGE STATE
          RESP   SRNA,STS38  3  - CHANGE STATE
          RESP   SRTW        2  - TRANSFER WORKLIST 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS37RT  BSS    0           STATE 37 - WAIT MASS STORAGE COMPLETE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,02  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,02  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,03  SRNA,STS38  MASS STORAGE COMPLETED - CHANGE STATE
  RAIX .SMSE,04  SRWE,STS38  MASS STORAGE EOI - CHANGE STATE
  RAIX .SMER,05  SRRB,STS46  MASS STORAGE ERROR - RETURN BUFFER 
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS38RT  SPACE  2,10 
 .STATE   SET    STS38
          RAIC   0
  
          RESP   SRNA        5 - NO ACTION
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRTW        3  - TRANSFER WORKLIST 
          RESP   SRPO,STS39  2  - TRANSFER PRU OUTPUT 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS38RT  BSS    0           STATE 38 - ISSUE PRU OUTPUT TO FRONT END 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,05  SRNA        INPUT BACK  - NO ACTION
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,02  SRPO,STS39  OUTPUT DATA - TRANSFER PRU OUTPUT
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,01  SRIL        STREAM STOPPED - BLOCK PROTOCOL ERROR
  RAIX .SSBI,03  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS39RT  SPACE  2,10 
 .STATE   SET    STS39
          RAIC   1
  
          RESP   SRNA,STS61  10 - CHANGE STATE
          RESP   SRWC,STS62  9  - WORKLIST COMPLETED
          RESP   SRTW,STS23  8  - TRANSFER WORKLIST 
          RESP   SRTW        7  - TRANSFER WORKLIST 
          RESP   SRNA,STS50  6  - CHANGE STATE
          RESP   SRNA,STS48  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS39RT  BSS    0           STATE 39 - STREAM STOPPED EXTERNALLY 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,02  SRNA        START PRU DATA STREAM - NO ACTION
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC        STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,05  SRNA,STS48  RESTART PRU STREAM - CHANGE STATE
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,06  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,04  SRWC        RESUME OUTPUT STREAM - WORKLIST COMPLETED
  RAIX .SDOR,02  SRNA        DIRECT OUTPUT REQUEST - NO ACTION
  RAIX .SEOR,02  SRNA        EOJ OUTPUT REQUEST - NO ACTION 
  RAIX .SSFC,02  SRNA        SET FILE CHARACTERISTICS - NO ACTION 
  RAIX .SSDC,02  SRNA        SET DEVICE CHARACTERISTICS - NO ACTION 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,02  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,07  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,07  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,08  SRTW,STS23  END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,09  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,10  SRNA,STS61  MPU INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,10  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS40RT  SPACE  2,10 
 .STATE   SET    STS40
          RAIC   0
  
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRTW        3  - TRANSFER WORKLIST 
          RESP   SRPO,STS39  2  - TRANSFER PRU OUTPUT 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS40RT  BSS    0           STATE 40 - ISSUE LAST PRU OUTPUT TO FE 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,02  SRPO,STS39  OUTPUT DATA - TRANSFER PRU OUTPUT
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS41RT  SPACE  2,10 
 .STATE   SET    STS41
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW,STS39  6  - TRANSFER WORKLIST 
          RESP   SRNA,STS42  5  - CHANGE STATE
          RESP   SRNA,STS50  4  - CHANGE STATE
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS41RT  BSS    0           STATE 41 - WAIT NO OUTPUT ACTIVITY 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,04  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,05  SRNA,STS42  NO OUTPUT ACTIVITY - CHANGE STATE
  RAIX .SSTP,06  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,06  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS42RT  SPACE  2,10 
 .STATE   SET    STS42
          RAIC   0
  
          RESP   SRNA,STS61  4  - CHANGE STATE
          RESP   SRTW,STS43  3  - TRANSFER WORKLIST 
          RESP   SRTW,STS39  2  - TRANSFER WORKLIST 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS42RT  BSS    0           STATE 42 - REPORT OUTPUT STREAM STOPPED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,02  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,02  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,03  SRTW,STS43  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,04  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,04  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS43RT  SPACE  2,10 
 .STATE   SET    STS43
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW,STS39  6  - TRANSFER WORKLIST 
          RESP   SRNA        5  - NO ACTION 
          RESP   SROS,**     4  - RETURN TO OLD STATE 
          RESP   SRNA,STS50  3  - CHANGE STATE
          RESP   SRAE        2  - APPLICATION ERROR 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS43RT  BSS    0           STATE 43 - STREAM STOPPED BY APPLICATION 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,02  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,02  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,02  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,02  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,02  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,02  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,02  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,02  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,02  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,02  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,04  SROS,**     RESUME OUTPUT STREAM - RETURN TO OLD STATE 
  RAIX .SDOR,02  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,02  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,05  SRNA        SET FILE CHARACTERISTICS - NO ACTION 
  RAIX .SSDC,05  SRNA        SET DEVICE CHARACTERISTICS - NO ACTION 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,05  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,06  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,06  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS44RT  SPACE  2,10 
 .STATE   SET    STS44
          RAIC   0
  
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRTW,STS45  4  - TRANSFER WORKLIST 
          RESP   SRTW,STS46  3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS44RT  BSS    0           STATE 44 - REPORT INTERNAL STREAM STOPPED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW,STS46  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW,STS46  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,04  SRTW,STS45  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS45RT  SPACE  2,10 
 .STATE   SET    STS45
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW,STS39  6  - TRANSFER WORKLIST 
          RESP   SRNA,STS50  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - BLOCK PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS45RT  BSS    0           STATE 45 - STREAM STOPPED INTERNALLY 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC        STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,05  SRNA,STS50  ABORT PRU STREAM - CHANGE STATE
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,02  SRNA        SET FILE CHARACTERISTICS - NO ACTION 
  RAIX .SSDC,02  SRNA        SET DEVICE CHARACTERISTICS - NO ACTION 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,02  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,06  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,06  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS46RT  SPACE  2,10 
 .STATE   SET    STS46
          RAIC   0
  
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRTW,STS39  4  - TRANSFER WORKLIST 
          RESP   SRTW        3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS46RT  BSS    0           STATE 46 - REPORT INTERNAL STREAM STOPPED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,04  SRTW,STS39  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS47RT  SPACE  2,10 
 .STATE   SET    STS47
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   SROS,**     4  - RETURN TO OLD STATE 
          RESP   SRTW,STS39  3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS47RT  BSS    0           STATE 47 - ISSUE COMMAND TO FRONT END
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW,STS39  STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW,STS39  BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,04  SROS,**     FRONT END COMMAND ISSUED - RETURN TO OLD STATE 
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS48RT  SPACE  2,10 
 .STATE   SET    STS48
          RAIC   0
  
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRWC,STS62  4  - WORKLIST COMPLETED
          RESP   SRWC,STS49  3  - SET WORKLIST COMPLETED
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS48RT  BSS    0           STATE 48 - ISSUE RESTART ICMD TO FRONT END 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,01  SRIL        INPUT BACK - BLOCK PROTOCOL ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,01  SRIL        STREAM STOPPED - BLOCK PROTOCOL ERROR
  RAIX .SSBI,02  SRNA        BATCH INTERRUPT - NO ACTION
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,03  SRWC,STS49  ICMD ISSUED - SET WORKLIST COMPLETED 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,04  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS49RT  SPACE  2,10 
 .STATE   SET    STS49
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   SRRS,**     4  - RETURN TO OLD STATE 
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS49RT  BSS    0           STATE 49 - WAIT ICMD RESPONSE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,02  SRNA        START PRU DATA STREAM - NO ACTION
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,02  SRNA        ABORT PRU STREAM - NO ACTION 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,01  SRIL        STREAM STOPPED - BLOCK PROTOCOL ERROR
  RAIX .SSBI,02  SRNA        BATCH INTERRUPT - NO ACTION
  RAIX .SEOI,01  SRIL        END OF INFORMATION - BLOCK PROTOCOL ERROR
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,04  SRRS,**     ICMD RESPONSE - RETURN TO OLD STATE
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS50RT  SPACE  2,10 
 .STATE   SET    STS50
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   SRWC,STS51  4  - WORKLIST COMPLETED
          RESP   SRTW        3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS50RT  BSS    0           STATE 50 - ISSUE ABORT ICMD TO FRONT END 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,03  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,03  SRTW        END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,04  SRWC,STS51  ICMD ISSUED - SET WORKLIST COMPLETED 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS51RT  SPACE  2,10 
 .STATE   SET    STS51
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRNA,STS52  6  - CHANGE STATE
          RESP   SRTW        5  - TRANSFER WORKLIST 
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS51RT  BSS    0           STATE 51 - WAIT ICMD RESPONSE
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,04  SRWC        START PRU DATA STREAM - WORKLIST COMPLETED 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC        STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,04  SRWC        DIRECT OUTPUT REQUEST - WORKLIST COMPLETED 
  RAIX .SEOR,04  SRWC        EOJ OUTPUT REQUEST - WORKLIST COMPLETED
  RAIX .SSFC,04  SRWC        SET FILE - WORKLIST COMPLETED
  RAIX .SSDC,04  SRWC        SET DEVICE - WORKLIST COMPLETED
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,05  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,05  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,05  SRTW        END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,06  SRNA,STS52  ICMD RESPONSE - CHANGE STATE 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS52RT  SPACE  2,10 
 .STATE   SET    STS52
          RAIC   1
  
          RESP   SRNA,STS61  8  - CHANGE STATE
          RESP   SRWC,STS62  7  - WORKLIST COMPLETED
          RESP   SRTW        6  - TRANSFER WORKLIST 
          RESP   SRNA,STS53  5  - CHANGE STATE
          RESP   SRWC        4  - WORKLIST COMPLETED
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS52RT  BSS    0           STATE 52 - WAIT ABORT STREAM DELIMITER 
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,04  SRWC        START PRU DATA STREAM - WORKLIST COMPLETED 
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,04  SRWC        STOP PRU STREAM - WORKLIST COMPLETED 
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,05  SRNA,STS53  ABORT DATA DELIMITER - CHANGE STATE
  RAIX .SROS,04  SRWC        RESUME OUTPUT STREAM - WORKLIST COMPLETED
  RAIX .SDOR,04  SRWC        DIRECT OUTPUT REQUEST - WORKLIST COMPLETED 
  RAIX .SEOR,04  SRWC        EOJ OUTPUT REQUEST - WORKLIST COMPLETED
  RAIX .SSFC,04  SRWC        SET FILE ATTRIBUTES - WORKLIST COMPLETED 
  RAIX .SSDC,04  SRWC        SET DEVICE - WORKLIST COMPLETED
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,02  SRNA        OUTPUT ALLOWED - NO ACTION 
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,06  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,06  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,06  SRTW        END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,07  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,08  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,08  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS53RT  SPACE  2,10 
 .STATE   SET    STS53
          RAIC   0
  
          RESP   SRNA,STS61  6  - CHANGE STATE
          RESP   SRWC,STS62  5  - WORKLIST COMPLETED
          RESP   SRWC,STS54  4  - WORKLSIT COMPLETED
          RESP   SRTW        3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS53RT  BSS    0           STATE 53 - ISSUE ABORT STREAM DELIMITER
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,03  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,03  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,03  SRTW        END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,01  SRIL        STREAM ABORTED - BLOCK PROTOCOL ERROR
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,04  SRWC,STS54  FRONT END COMMAND ISSUED - WORKLIST COMPLETED
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,05  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,06  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,06  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS54RT  SPACE  2,10 
 .STATE   SET    STS54
          RAIC   0
  
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   SRTW,STS23  5  - TRANSFER WORKLIST 
          RESP   SRTW        4  - TRANSFER WORKLIST 
          RESP   SRAE        3  - APPLICATION ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRIL        1  - PROTOCOL ERROR
          RESP   SRLE        0  - DRIVER ERROR
  
 STS54RT  BSS    0           STATE 54 - WAIT OUTPUT STREAM ABORTED
  
  RAIX .SRID,01  SRIL        INPUT DATA - BLOCK PROTOCOL ERROR
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,03  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,03  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,03  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,03  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,03  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,03  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,03  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,03  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,03  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,03  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,03  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,03  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,03  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,03  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,03  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,03  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,02  SRNA        NO OUTPUT ACTIVITY - NO ACTION 
  RAIX .SSTP,04  SRTW        STREAM STOPPED - TRANSFER WORKLIST 
  RAIX .SSBI,04  SRTW        BATCH INTERRUPT - TRANSFER WORKLIST
  RAIX .SEOI,04  SRTW        END OF INFORMATION - TRANSFER WORKLIST 
  RAIX .SEND,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .SSAB,05  SRTW,STS23  STREAM ABORTED - TRANSFER WORKLIST 
  RAIX .SICR,01  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,01  SRIL        CHECKMARK - BLOCK PROTOCOL ERROR 
  RAIX .S7ES,01  SRIL        END OF STREAM - BLOCK PROTOCOL ERROR 
  RAIX .S7RR,01  SRIL        REQUEST RESTART - BLOCK PROTOCOL ERROR 
  RAIX .S7MR,01  SRIL        CHECKMARK REPLY - BLOCK PROTOCOL ERROR 
  RAIX .S7QR,01  SRIL        QUIT - BLOCK PROTOCOL ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS55RT  SPACE  2,10 
 .STATE   SET    STS55
          RAIC   0
  
          RESP   SRNA,STS59  6  - CHANGE STATE
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRTW,STS39  4  - TRNASFER WORKLIST 
          RESP   S7IL        3  - LEVEL SEVEN ERROR 
          RESP   SRPO,STS56  2  - TRANSFER PRU OUTPUT 
          RESP   SRNA        1  - NO ACTION 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS55RT  BSS    0           STATE 55 - ISSUE LAST PRU OUTPUT TO FE 
  
  RAIX .SRID,00  SRLE        INPUT DATA - DRIVER ERROR
  RAIX .SRIB,01  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,02  SRPO,STS56  OUTPUT DATA - TRANSFER PRU OUTPUT
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRLE        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,03  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,03  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,04  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,01  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,03  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,06  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS56RT  SPACE  2,10 
 .STATE   SET    STS56
          RAIC   1
  
          RESP   SRNA,STS59  8  - CHANGE STATE
          RESP   SRNA,STS61  7  - CHANGE STATE
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   SRTW,STS39  5  - TRANSFER WORKLIST 
          RESP   S7IL        4  - LEVEL SEVEN ERROR 
          RESP   SRNA,STS57  3  - CHANGE STATE
          RESP   SRAE        2  - APPLICATION ERROR 
          RESP   SRNA        1  - NO ACTION 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS56RT  BSS    0           STATE 56 - WAIT NO OUTPUT ACTIVEITY
  
  RAIX .SRID,00  SRLE        INPUT DATA - DRIVER ERROR
  RAIX .SRIB,01  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,02  SRAE        START PRU JOB STREAM - APPLICATION ERROR 
  RAIX .SSDS,02  SRAE        START PRU DATA STREAM - APPLICATION ERROR
  RAIX .SFTI,02  SRAE        START INBOUND FILE - APPLICATION ERROR 
  RAIX .SFTO,02  SRAE        START OUTBOUND FILE - APPLICATION ERROR
  RAIX .SJBV,02  SRAE        VALID JOB - APPLICATION ERROR
  RAIX .SJBE,02  SRAE        INVALID JOB - APPLICATION ERROR
  RAIX .SSPS,02  SRAE        STOP PRU STREAM - APPLICATION ERROR
  RAIX .SRST,02  SRAE        RESTART PRU STREAM - APPLICATION ERROR 
  RAIX .SBYP,02  SRAE        BYPASS PRU STREAM - APPLICATION ERROR
  RAIX .SABT,02  SRAE        ABORT PRU STREAM - APPLICATION ERROR 
  RAIX .SASD,02  SRAE        ABORT DATA DELIMITER - APPLICATION ERROR 
  RAIX .SROS,02  SRAE        RESUME OUTPUT STREAM - APPLICATION ERROR 
  RAIX .SDOR,02  SRAE        DIRECT OUTPUT REQUEST - APPLICATION ERROR
  RAIX .SEOR,02  SRAE        EOJ OUTPUT REQUEST - APPLICATION ERROR 
  RAIX .SSFC,02  SRAE        SET FILE - APPLICATION ERROR 
  RAIX .SSDC,02  SRAE        SET DEVICE - APPLICATION ERROR 
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,03  SRNA,STS57  NO OUTPUT ACTIVITY - CHANGE STATE
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRLE        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,04  S7IL        CHECKMARK - LEVEL SEVEL ERROR
  RAIX .S7ES,04  S7IL        END OF STREAM - LEVEL SEVEL ERROR
  RAIX .S7RR,05  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,01  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,04  S7IL        QUIT - LEVEL SEVEL ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,07  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,07  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,08  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS57RT  SPACE  2,10 
 .STATE   SET    STS57
          RAIC   0
  
          RESP   SRNA,STS59  6  - CHANGE STATE
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   SRNA        4  - NO ACTION 
          RESP   SRTW,STS39  3  - TRANSFER WORKLIST 
          RESP   S7IL        2  - LEVEL SEVEN ERROR 
          RESP   SRTW,STS61  1  - TRANSFER WORKLIST 
          RESP   SRLE        0  - DRIVER ERROR
  
 STS57RT  BSS    0           STATE 57 - END OF OUTBOUND FILE TRANSFER 
  
  RAIX .SRID,00  SRLE        INPUT DATA - DRIVER ERROR
  RAIX .SRIB,00  SRLE        INPUT BACK - DRIVER ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRLE        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,01  SRTW,STS61  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,02  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,02  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,03  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,04  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,02  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,06  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS58RT  SPACE  2,10 
 .STATE   SET    STS58
          RAIC   0
  
          RESP   SRLE        0  - DRIVER ERROR
  
 STS58RT  BSS    0           UNUSED STREAM STATE RESPONSE TABLE 
  
  RAIX .SRID,00  SRLE        INPUT DATA - DRIVER ERROR
  RAIX .SRIB,00  SRLE        INPUT BACK - DRIVER ERROR
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,00  SRLE        COMMAND QUEUED - DRIVER ERROR
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRIL        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,00  SRLE        CHECKMARK - DRIVER ERROR 
  RAIX .S7ES,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .S7RR,00  SRLE        REQUEST RESTART - DRIVER ERROR 
  RAIX .S7MR,00  SRLE        CHECKMARK REPLY - DRIVER ERROR 
  RAIX .S7QR,00  SRLE        QUIT - DRIVER ERROR
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,00  SRLE        FRONT END INOPERATIVE - DRIVER ERROR 
  RAIX .SBPE,00  SRLE        BLOCK PROTOCOL ERROR - DRIVER ERROR
  RAIX .SL7E,00  SRLE        LEVEL SEVEN ERROR - DRIVER ERROR 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS59RT  SPACE  2,10 
 .STATE   SET    STS59
          RAIC   0
  
          RESP   SRNA,STS61  5  - CHANGE STATE
          RESP   S7IL        4  - LEVEL SEVEN ERROR 
          RESP   SRTW,STS61  3  - TRANSFER WORKLIST 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS59RT  BSS    0           STATE 59 - REPORT FILE TRANSFER ERROR
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,02  SRNA        COMMAND QUEUED - NO ACTION 
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,00  SRLE        ICMD RESPONSE - DRIVER ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,03  SRTW,STS61  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,04  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,04  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,04  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,04  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,04  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,05  SRNA,STS61  FRONT END INOPERATIVE - CHANGE STATE 
  RAIX .SBPE,05  SRNA,STS61  BLOCK PROTOCOL ERROR - CHANGE STATE
  RAIX .SL7E,02  SRNA        LEVEL SEVEN ERROR - NO ACTION
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS60RT  SPACE 2,10
 .STATE   SET    STS60
          RAIC   0
  
          RESP   SRNA,STS59  7  - CHANGE STATE
          RESP   S7IL        6  - LEVEL SEVEN ERROR 
          RESP   SRTW,STS61  5  - TRANSFER WORKLIST 
          RESP   SRIL        4  - BLOCK PROTOCOL ERROR
          RESP   SRQW        3  - QUEUE WORKLIST COMMAND
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS60RT  BSS    0           STATE 60 - REPORT MASS STORAGE ERROR 
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,03  SRQW        COMMAND QUEUED - QUEUE WORKLIST COMMAND
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,04  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,05  SRTW,STS61  APPLICATION REQUESTED - TRANSFER WORKLIST
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,06  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,06  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,06  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,06  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,06  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,07  SRNA,STS59  LEVEL SEVEN ERROR - CHANGE STATE 
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS61RT  SPACE  2,10 
 .STATE   SET    STS61
          RAIC   0
  
          RESP   SRWC,STS62  6  - WORKLIST COMPLETED
          RESP   SRTW,STS39  5  - TRANSFER WORKLIST 
          RESP   S7IL        4  - LEVEL SEVEN ERROR 
          RESP   SRIL        3  - PROTOCOL ERROR
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS61RT  BSS    0           STATE 61 - CHECK IMMEDIATE WORKLIST QUEUE
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,02  SRNA        COMMAND QUEUED - NO ACTION 
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,00  SRLE        STREAM STOPPED - DRIVER ERROR
  RAIX .SSBI,00  SRLE        BATCH INTERRUPT - DRIVER ERROR 
  RAIX .SEOI,00  SRLE        END OF INFORMATION - DRIVER ERROR
  RAIX .SEND,00  SRLE        END OF STREAM - DRIVER ERROR 
  RAIX .SSAB,00  SRLE        STREAM ABORTED - DRIVER ERROR
  RAIX .SICR,03  SRIL        ICMD RESPONSE - BLOCK PROTOCOL ERROR 
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,04  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,04  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,05  SRTW,STS39  REQUEST RESTART - TRANSFER WORKLIST
  RAIX .S7MR,02  SRNA        CHECKMARK REPLY - NO ACTION
  RAIX .S7QR,04  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,06  SRWC,STS62  TERMINATE PRU STREAM - WORKLIST COMPLETED
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,02  SRNA        LEVEL SEVEN ERROR - NO ACTION
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS62RT  SPACE  2,10 
 .STATE   SET    STS62
          RAIC   0
  
          RESP   SRTW,STS63  7  - TRANSFER WORKLIST 
          RESP   S7IL        6  - LEVEL SEVEN ERROR 
          RESP   SRBR        5  - RESET BREAK RECEIVED
          RESP   SROF        4  - RESET PRU MODE
          RESP   SRRB        3  - RETURN BUFFER 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS62RT  BSS    0           STATE 62 - TERMINATE PRU STREAM
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,02  SRNA        COMMAND QUEUED - NO ACTION 
  RAIX .SQID,03  SRRB        QUEUED INPUT DATA - RETURN BUFFER
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,02  SRNA        STREAM STOPPED - NO ACTION 
  RAIX .SSBI,02  SRNA        BATCH INTERRUPT - NO ACTION
  RAIX .SEOI,02  SRNA        END OF INFORMATION - NO ACTION 
  RAIX .SEND,02  SRNA        END OF STREAM - NO ACTION
  RAIX .SSAB,02  SRNA        STREAM ABORTED - NO ACTION 
  RAIX .SICR,02  SRNA        ICMD RESPONSE - NO ACTION
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,04  SROF        FRONT END COMMAND ISSUED - RESET PRU MODE
  RAIX .SRSI,05  SRBR        RESET ISSUED - RESET BREAK RECEIVED
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,06  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,06  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,06  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,06  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,06  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,07  SRTW,STS63  PRU STREAM TERMINATED - TRANSFER WORKLIST
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,02  SRNA        LEVEL SEVEN ERROR - NO ACTION
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 STS63RT  SPACE  2,10 
 .STATE   SET    STS63
  
          RAIC   0
  
          RESP   S7IL        3  - LEVEL SEVEN ERROR 
          RESP   SRNA        2  - NO ACTION 
          RESP   SRBI        1  - BYPASS INPUT
          RESP   SRLE        0  - DRIVER ERROR
  
 STS63RT  BSS    0           STATE 63 - PRU STREAM TERMINATED 
  
  RAIX .SRID,01  SRBI        INPUT DATA - BYPASS INPUT
  RAIX .SRIB,02  SRNA        INPUT BACK - NO ACTION 
  RAIX .SRII,00  SRLE        INVALID IVT INPUT - DRIVER ERROR 
  RAIX .SROD,00  SRLE        OUTPUT DATA - DRIVER ERROR 
  RAIX .SSJS,00  SRLE        START PRU JOB STREAM - DRIVER ERROR
  RAIX .SSDS,00  SRLE        START PRU DATA STREAM - DRIVER ERROR 
  RAIX .SFTI,00  SRLE        START INBOUND FILE TRANSFER - DRIVER ERROR 
  RAIX .SFTO,00  SRLE        START OUTBOUND FILE TRANSFER - DRIVER ERROR
  RAIX .SJBV,00  SRLE        VALID JOB - DRIVER ERROR 
  RAIX .SJBE,00  SRLE        INVALID JOB - DRIVER ERROR 
  RAIX .SSPS,00  SRLE        STOP PRU STREAM - DRIVER ERROR 
  RAIX .SRST,00  SRLE        RESTART PRU STREAM - DRIVER ERROR
  RAIX .SBYP,00  SRLE        BYPASS PRU STREAM - DRIVER ERROR 
  RAIX .SABT,00  SRLE        ABORT PRU STREAM - DRIVER ERROR
  RAIX .SASD,00  SRLE        ABORT DATA DELIMITER - DRIVER ERROR
  RAIX .SROS,00  SRLE        RESUME OUTPUT STREAM - DRIVER ERROR
  RAIX .SDOR,00  SRLE        DIRECT OUTPUT REQUEST - DRIVER ERROR 
  RAIX .SEOR,00  SRLE        EOJ OUTPUT REQUEST - DRIVER ERROR
  RAIX .SSFC,00  SRLE        SET FILE CHARACTERISTICS - DRIVER ERROR
  RAIX .SSDC,00  SRLE        SET DEVICE CHARACTERISTICS - DRIVER ERROR
  RAIX .SCMQ,02  SRNA        COMMAND QUEUED - NO ACTION 
  RAIX .SQID,00  SRLE        QUEUED INPUT DATA - DRIVER ERROR 
  RAIX .SOPA,00  SRLE        OUTPUT ALLOWED - DRIVER ERROR
  RAIX .SNOA,00  SRLE        NO OUTPUT ACTIVITY - DRIVER ERROR
  RAIX .SSTP,02  SRNA        STREAM STOPPED - NO ACTION 
  RAIX .SSBI,02  SRNA        BATCH INTERRUPT - NO ACTION
  RAIX .SEOI,02  SRNA        END OF INFORMATION - NO ACTION 
  RAIX .SEND,02  SRNA        END OF STREAM - NO ACTION
  RAIX .SSAB,02  SRNA        STREAM ABORTED - NO ACTION 
  RAIX .SICR,02  SRNA        ICMD RESPONSE - NO ACTION
  RAIX .SICI,00  SRLE        ICMD ISSUED - DRIVER ERROR 
  RAIX .SNCI,00  SRLE        FRONT END COMMAND ISSUED - DRIVER ERROR
  RAIX .SRSI,00  SRLE        RESET ISSUED - DRIVER ERROR
  RAIX .SARQ,00  SRLE        APPLICATION REQUESTED - DRIVER ERROR 
  RAIX .SMSR,00  SRLE        MASS STORAGE REQUESTED - DRIVER ERROR
  RAIX .SMSC,00  SRLE        MASS STORAGE COMPLETED - DRIVER ERROR
  RAIX .SMSE,00  SRLE        MASS STORAGE EOI - DRIVER ERROR
  RAIX .SMER,00  SRLE        MASS STORAGE ERROR - DRIVER ERROR
  RAIX .SFTE,00  SRLE        END OF FILE TRANSFER - DRIVER ERROR
  RAIX .SFTR,00  SRLE        TRANSFER MASS STORAGE ERROR - DRIVER ERROR 
  RAIX .S7MS,03  S7IL        CHECKMARK - LEVEL SEVEN ERROR
  RAIX .S7ES,03  S7IL        END OF STREAM - LEVEL SEVEN ERROR
  RAIX .S7RR,03  S7IL        REQUEST RESTART - LEVEL SEVEN ERROR
  RAIX .S7MR,03  S7IL        CHECKMARK REPLY - LEVEL SEVEN ERROR
  RAIX .S7QR,03  S7IL        QUIT - LEVEL SEVEN ERROR 
  RAIX .S7CI,00  SRLE        LEVEL SEVEN COMMAND ISSUED - DRIVER ERROR
  RAIX .STPS,00  SRLE        TERMINATE PRU STREAM - DRIVER ERROR
  RAIX .SPST,00  SRLE        PRU STREAM TERMINATED - DRIVER ERROR 
  RAIX .SFEI,02  SRNA        FRONT END INOPERATIVE - NO ACTION
  RAIX .SBPE,02  SRNA        BLOCK PROTOCOL ERROR - NO ACTION 
  RAIX .SL7E,02  SRNA        LEVEL SEVEN ERROR - NO ACTION
  RAIX .SDLE,00  SRLE        DRIVER LOGIC ERROR - DRIVER ERROR
 .LAST    SET    *
          LOC    STSRT+.LAST
  
****
 BHSRP    SPACE  2,10 
**               BLOCK HANDLER STATE RESPONSE TABLE POINTERS. 
* 
*                THE BLOCK HANDLER STATE RESPONSE TABLE POINTERS CONTAIN
*                A POINTER TO THE RESPONSE TABLE FOR EACH BLOCK HANDLER 
**               STATE. 
  
  
 BHSRP    BSS    0           BLOCK HANDLER STATE RESPONSE TABLE POINTERS
  
          LOC    0
  
 BHS0     CON    BHS0RT      STATE 0 - SERVICE CHANNEL
 BHS1     CON    BHS1RT      STATE 1 - IVT STREAM 
 BHS2     CON    BHS2RT      STATE 2 - PRU INPUT STREAM 
 BHS3     CON    BHS3RT      STATE 3 - PRU OUTPUT STREAM
 BHS4     CON    BHS4RT      STATE 4 - INITIAL FRONT END STATE
 BHS5     CON    BHS5RT      STATE 5 - NPU INITIALIZATION REQUESTED 
 BHS6     CON    BHS6RT      STATE 6 - LOAD NPU PROGRAM TEXT
 BHS7     CON    BHS7RT      STATE 7 - FRONT END OPERATIONAL
 BHS8     CON    BHS8RT      STATE 8 - FRONT END INOPERATIVE
 BHS9     CON    BHS9RT      STATE 9 - LOAD NPU BOOTSTRAP PROGRAM 
 BHS10    CON    BHS10RT     STATE 10 - ISSUE CE ERROR MESSAGE
 BHS11    CON    BHS11RT     STATE 11 - ISSUE REGULATION LEVEL ZERO 
 BHS12    CON    BHS12RT     STATE 12 - WAIT REGULATION ZERO RESPONSE 
 BHS13    CON    BHS13RT     STATE 13 - ISSUE REGULATION LEVEL ZERO 
 BHS14    CON    BHS14RT     STATE 14 - WAIT REGULATION ZERO RESPONSE 
 BHS15    CON    BHS15RT     STATE 15 - ISSUE FRONT END TURNED OFF
 BHS16    CON    BHS16RT     STATE 16 - BOOTSRAP LOAD TIMEOUT 
 BHS17    CON    BHS17RT     STATE 17 - ISSUE REGULATION LEVEL ZERO 
 BHS18    CON    BHS18RT     STATE 18 - WAIT REGULATION ZERO RESPONSE 
 BHS19    CON    BHS19RT     STATE 19 - ISSUE REGULATION LEVEL ZERO 
 BHS20    CON    BHS20RT     STATE 20 - WAIT REGULATION ZERO RESPONSE 
 BHS21    CON    BHS21RT     STATE 21 - ISSUE REGULATION LEVEL ZERO 
 BHS22    CON    BHS22RT     STATE 22 - WAIT REGULATION ZERO RESPONSE 
 BHS23    CON    BHS23RT     STATE 23 - REQUEST MDI INITIALIZATION
 BHS24    CON    BHS24RT     STATE 24 - CHECK MDI AVAILABLE 
 BHS25    CON    BHS25RT     STATE 25 - RETURN MDI EQUIPMENT
 BHS26    CON    BHS26RT     STATE 26 - ISSUE CE ERROR MESSAGE
 BHS27    CON    BHS27RT     STATE 27 - ISSUE CE ERROR MESSAGE
  
 .LAST    SET    *
          LOC    BHSRP+.LAST
 SSRP     SPACE  2,10 
**               STREAM STATE RESPONSE TABLE POINTERS.
* 
*                THE STREAM STATE RESPONSE TABLE POINTERS CONTAIN A 
**               POINTER TO THE RESPONSE TABLE FOR EACH STREAM STATE. 
  
  
 SSRP     BSS    0           STREAM STATE RESPONSE TABLE POINTERS 
  
          LOC    0
  
 STS0     RAIL               STATE 0 - IVT CONNECTION 
 STS1     RAIL               STATE 1 - INITIAL PRU STREAM STATE 
 STS2     RAIL               STATE 2 - PRU INPUT STREAM IDLE
 STS3     RAIL               STATE 3 - ISSUE START PRU INPUT STREAM 
 STS4     RAIL               STATE 4 - WAIT JOB CARD RECORD 
 STS5     RAIL               STATE 5 - REQUEST JOB VALIDATION 
 STS6     RAIL               STATE 6 - WAIT JOB VALIDATION
 STS7     RAIL               STATE 7 - REQUEST MASS STORAGE OUTPUT
 STS8     RAIL               STATE 8 - WAIT MASS STORAGE COMPLETE 
 STS9     RAIL               STATE 9 - PRU INPUT ACTIVE 
 STS10    RAIL               STATE 10 - EOI WRITTEN TO MASS STORAGE 
 STS11    RAIL               STATE 11 - STREAM STOPPED EXTERNALLY 
 STS12    RAIL               STATE 12 - ISSUE RESTART PRU INPUT STREAM
 STS13    RAIL               STATE 13 - ISSUE ABORT PRU INPUT STREAM
 STS14    RAIL               STATE 14 - WAIT INPUT STREAM ABORTED 
 STS15    RAIL               STATE 15 - REPORT INTERNAL STREAM STOPPED
 STS16    RAIL               STATE 16 - WAIT END OF INFORMATION 
 STS17    RAIL               STATE 17 - ISSUE START PRU INPUT STREAM
 STS18    RAIL               STATE 18 - ISSUE FILE TRANSFER ON
 STS19    RAIL               STATE 19 - TRANSFER START DATA REPLY 
 STS20    RAIL               STATE 20 - END OF INBOUND FILE TRANSFER
 STS21    RAIL               STATE 21 - WAIT END OF STREAM
 STS22    RAIL               STATE 22 - TRANSFER CHECKMARK REPLY
 STS23    RAIL               STATE 23 - PRU OUTPUT STREAM IDLE
 STS24    RAIL               STATE 24 - ISSUE COMMAND TO FRONT END
 STS25    RAIL               STATE 25 - WAIT COMMAND ACKNOWLEDGMENT 
 STS26    RAIL               STATE 26 - ISSUE DIRECT OUTPUT TO FRONT END
 STS27    RAIL               STATE 27 - DIRECT OUTPUT ACTIVE
 STS28    RAIL               STATE 28 - WAIT NO OUTPUT ACTIVITY 
 STS29    RAIL               STATE 29 - PRU OUTPUT ACTIVE 
 STS30    RAIL               STATE 30 - REQUEST MASS STORAGE INPUT
 STS31    RAIL               STATE 31 - WAIT MASS STORAGE COMPLETE
 STS32    RAIL               STATE 32 - ISSUE PRU OUTPUT TO FRONT END 
 STS33    RAIL               STATE 33 - ISSUE LAST PRU OUTPUT TO FE 
 STS34    RAIL               STATE 34 - WAIT EOI DELIVERED
 STS35    RAIL               STATE 35 - ISSUE EOJ DIRECT OUTPUT TO FE 
 STS36    RAIL               STATE 36 - WAIT EOI DELIVERED
 STS37    RAIL               STATE 37 - WAIT MASS STORAGE COMPLETE
 STS38    RAIL               STATE 38 - ISSUE PRU OUTPUT TO FRONT END 
 STS39    RAIL               STATE 39 - STREAM STOPPED EXTERNALLY 
 STS40    RAIL               STATE 40 - ISSUE LAST PRU OUTPUT TO FE 
 STS41    RAIL               STATE 41 - WAIT NO OUTPUT ACTIVITY 
 STS42    RAIL               STATE 42 - REPORT OUTPUT STREAM STOPPED
 STS43    RAIL               STATE 43 - STREAM STOPPED BY APPLICATION 
 STS44    RAIL               STATE 44 - REPORT INTERNAL STREAM STOPPED
 STS45    RAIL               STATE 45 - STREAM STOPPED INTERNALLY 
 STS46    RAIL               STATE 46 - REPORT INTERNAL STREAM STOPPED
 STS47    RAIL               STATE 47 - ISSUE COMMAND TO FRONT END
 STS48    RAIL               STATE 48 - ISSUE RESTART ICMD TO FRONT END 
 STS49    RAIL               STATE 49 - WAIT ICMD RESPONSE
 STS50    RAIL               STATE 50 - ISSUE ABORT ICMD TO FRONT END 
 STS51    RAIL               STATE 51 - WAIT ICMD RESPONSE
 STS52    RAIL               STATE 52 - WAIT ABORT STREAM DELIMITER 
 STS53    RAIL               STATE 53 - ISSUE ABORT STREAM DELIMITER
 STS54    RAIL               STATE 54 - WAIT OUTPUT STREAM ABORTED
 STS55    RAIL               STATE 55 - ISSUE LAST PRU OUTPUT TO FE 
 STS56    RAIL               STATE 56 - WAIT NO OUTPUT ACTIVITY 
 STS57    RAIL               STATE 57 - END OF OUTBOUND FILE TRANSFER 
 STS58    RAIL                STATE 58 - NOT USED 
 STS59    RAIL               STATE 59 - REPORT FILE TRANSFER ERROR
 STS60    RAIL               STATE 60 - REPORT MASS STORAGE ERROR 
 STS61    RAIL               STATE 61 - CHECK IMMEDIATE WORKLIST QUEUE
 STS62    RAIL               STATE 62 - TERMINATE PRU STREAM
 STS63    RAIL               STATE 63 - PRU STREAM TERMINATED 
  
 .LAST    SET    *
          LOC    SSRP+.LAST 
 IIT      SPACE  2,12 
**               INPUT INITIATOR RESPONSE TABLE.
* 
*                THE INPUT INITIATOR RESPONSE TABLE CONTAINS AN ENTRY 
*                FOR EACH POSSIBLE INPUT ORDER CODE RECEIVED FROM THE 
*                FRONT END.  THE TABLE ENTRY CONTAINS THE ADDRESS OF THE
**               INPUT INITIATOR ACTION FOR THAT TYPE OF INPUT. 
  
  
 IIT      BSS    0           INPUT INITIATOR RESPONSE ACTION TABLE
  
          QUAL   NSTATUS
          LOC    IAS
  
 BIC      BSS    0           DEFINE BEGINNING INPUT ORDER CODE
  
 IAS      CON    /ACTIONS/IISI SMALL IVT INPUT AVAILABLE - CHECK SPACE
 IAL      CON    /ACTIONS/IILI LARGE IVT INPUT AVAILABLE - CHECK SPACE
 IAP      CON    /ACTIONS/IIPI PRU INPUT AVAILABLE - CHECK FOR BUFFER 
  
 EIC      BSS    0           DEFINE ENDING INPUT ORDER CODE 
  
          QUAL   *
 .LAST    SET    *-/NSTATUS/IAS 
          LOC    IIT+.LAST
 IOIT     SPACE  2,14 
**               IVT OUTPUT INITIATOR RESPONSE TABLE. 
* 
*                THE IVT OUTPUT INITIATOR RESPONSE TABLE CONTAINS AN
*                ENTRY FOR EACH POSSIBLE OUTPUT BLOCK SENT TO THE FRONT 
*                END.  THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF 
*                THE ACTION THAT WILL BE EXECUTED AND A CONTROL CODE. 
*                THE CONTROL CODE SPECIFIES THE BLOCK HANDLER STATE 
**               ACTION THAT WILL BE EXECUTED FOR THE OUTPUT. 
  
  
 IOIT     BSS    0           IVT OUTPUT INITIATOR RESPONSE ACTION TABLE 
  
          QUAL   BLOCK
 .STATE   SET    0
          LOC    0
  
          RESP   OINO               NULL CALL - SET NO OUTPUT REQUIRED
 BLK      RESP   OIOD,/TABLES/.ODAT BLOCK - VALIDATE TEXT LENGTH
 MSG      RESP   OIOD,/TABLES/.ODAT MESSAGE - VALIDATE TEXT LENGTH
 BACK     RESP   OIOH,/TABLES/.OTXT BACK - VALIDATE TEXT LENGTH 
 CMD      RESP   OIOC,/TABLES/.OTXT COMMAND - CHECK DESTINATION NODE
 BRK      RESP   OIOT,/TABLES/.OTXT BREAK - VALIDATE TEXT LENGTH
 QBLK     RESP   OIOD,/TABLES/.ODAT Q-BLOCK - VALIDATE TEXT LENGTH
 QMSG     RESP   OIOD,/TABLES/.ODAT Q-MESSAGE - VALIDATE TEXT LENGTH
 RST      RESP   OIOH,/TABLES/.OTXT RESET - VALIDATE TEXT LENGTH
 INITR    RESP   OIOH,/TABLES/.OTXT INIT REQUEST - VALIDATE TEXT LENGTH 
 INITN    RESP   OIOH,/TABLES/.OTXT INIT RESPONSE - VALIDATE TEXT LENGTH
 TERM     RESP   OIOH,/TABLES/.OTXT TERMINATE - VALIDATE TEXT LENGTH
 ICMD     RESP   OIOT,/TABLES/.OICM ICMD - VALIDATE TEXT LENGTH 
 ICMDR    RESP   OIOH,/TABLES/.OICR ICMD RESPONSE - VALIDATE TEXT LENGTH
  
          QUAL   *
 .LAST    SET    *
          LOC    IOIT+.LAST 
 POIT     SPACE  2,14 
**               PRU OUTPUT INITIATOR RESPONSE TABLE. 
* 
*                THE PRU OUTPUT INITIATOR RESPONSE TABLE CONTAINS AN
*                ENTRY FOR EACH POSSIBLE OUTPUT BLOCK SENT TO THE FRONT 
*                END.  THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF 
*                THE ACTION THAT WILL BE EXECUTED AND A CONTROL CODE. 
*                THE CONTROL CODE SPECIFIES THE BLOCK HANDLER STATE 
**               ACTION THAT WILL BE EXECUTED FOR THE OUTPUT. 
  
  
 POIT     BSS    0           PRU OUTPUT INITIATOR RESPONSE ACTION TABLE 
  
          QUAL   BLOCK
          LOC    0
  
          RESP   OIIL               NULL CALL - DRIVER ERROR
 BLK      RESP   OIIL               BLOCK - DRIVER ERROR
 MSG      RESP   OIOF,/TABLES/.ODAT MESSAGE - CHECK FLOW CONTROL
 BACK     RESP   OIOB,/TABLES/.OBCK BACK - CALCULATE BLOCK SERIAL NUMBER
 CMD      RESP   OIOF,/TABLES/.OCMD COMMAND - CHECK FLOW CONTROL
 BRK      RESP   OIIL               BREAK - DRIVER ERROR
 QBLK     RESP   OIIL               Q-BLOCK - DRIVER ERROR
 QMSG     RESP   OIOF,/TABLES/.OL7Q Q-MESSAGE - CHECK FLOW CONTROL
 RST      RESP   OIRS,/TABLES/.ORST RESET - CALCULATE OUTPUT ORDER WORD 
 INITR    RESP   OIIL               INIT REQUEST - DRIVER ERROR 
 INITN    RESP   OIIL               INIT RESPONSE - DRIVER ERROR
 TERM     RESP   OIIL               TERMINATE - DRIVER ERROR
 ICMD     RESP   OIIC,/TABLES/.OICM ICMD - CALCULATE OUTPUT ORDER WORD
 ICMDR    RESP   OIIL               ICMD RESPONSE - DRIVER ERROR
  
          QUAL   *
 .LAST    SET    *
          LOC    POIT+.LAST 
 VMP      SPACE  2,14 
**               OUTPUT VALIDATION ACTION PROCESSOR TABLE.
* 
*                THE OUTPUT VALIDATION ACTION PROCESSOR TABLE CONTAINS
*                AN ENTRY FOR EACH POSSIBLE APPLICATION CHARACTER TYPE. 
*                THE TABLE ENTRY CONTAINS THE ADDRESS OF THE ACTION 
*                PROCESSOR RESPONSIBLE FOR VALIDATING THE OUTPUT REQUEST
*                FOR THE APPLICATION CHARACTER TYPE.  A TABLE ENTRY OF
**               ZERO INDICATES AN INVALID APPLICATION CHARACTER TYPE.
  
  
 VMP      BSS    0           IVT OUTPUT VALIDATION PROCESSOR TABLE
  
          LOC    0
  
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
 PEB      CON    VPEB        VALIDATE PACKED EIGHT BIT DATA 
 UEB      CON    VUEB        VALIDATE UNPACKED EIGHT BIT DATA 
 DSB      CON    VDSB        VALIDATE DISPLAY CODE DATA 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
          CON    0           INVALID APPLICATION CHARACTER TYPE 
  
 PCT      BSS    0           PRU OUTPUT VALIDATION PROCESSOR TABLE
  
 D26      CON    VDSP        VALIDATE DISPLAY CODE O26
 D29      CON    VDSP        VALIDATE DISPLAY CODE O29
 ASC      CON    VASP        VALIDATE ASCII 
 T6B      CON    VSBP        VALIDATE TRANSPARENT SIX BIT 
 T8B      CON    VEBP        VALIDATE TRANSPARENT EIGHT BIT 
  
 MAXOFM   EQU    *-PCT       DEFINE MAXIMUM OUTPUT FILE MODE
  
 P8B      CON    VPEP        VALIDATE PACKED EIGHT BIT
  
 .LAST    SET    *
          LOC    VMP+.LAST
 IIBR     SPACE  2,14 
**               IVT INPUT BLOCK RESPONSE TABLE.
* 
*                THE IVT INPUT BLOCK RESPONSE TABLE CONTAINS AN ENTRY 
*                FOR EACH POSSIBLE INPUT BLOCK RECEIVED FROM THE FRONT
*                END.  THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF 
*                THE ACTION THAT WILL BE EXECUTED AND A CONTROL CODE. 
*                THE CONTROL CODE SPECIFIES THE BLOCK HANDLER STATE 
**               ACTION THAT WILL BE EXECUTED FOR THE INPUT.
  
  
  
 IIBR     BSS    0           IVT INPUT BLOCK RESPONSE TABLE 
  
          QUAL   BLOCK
 .STATE   SET    0
          LOC    0
  
          RESP   IBIL               UNDEFINED - BLOCK PROTOCOL ERROR
 BLK      RESP   IBNA,/TABLES/.IDAT BLOCK - NO ACTION 
 MSG      RESP   IBNA,/TABLES/.IDAT MESSAGE - NO ACTION 
 BACK     RESP   IBNA,/TABLES/.IBCK BACK - GENERATE EXTRA CM WORD 
 CMD      RESP   IBNA,/TABLES/.ITXT COMMAND - NO ACTION 
 BRK      RESP   IBNA,/TABLES/.ITXT BREAK - NO ACTION 
 QBLK     RESP   IBNA,/TABLES/.IDAT Q-BLOCK - NO ACTION 
 QMSG     RESP   IBNA,/TABLES/.IDAT Q-MESSAGE - NBO ACTION
 RST      RESP   IBNA,/TABLES/.INTX RESET - NO ACTION 
 INITR    RESP   IBNA,/TABLES/.INTX INIT REQUEST - NO ACTION
 INITN    RESP   IBNA,/TABLES/.INTX INIT RESPONSE - NO ACTION 
 TERM     RESP   IBNA,/TABLES/.INTX TERMINATE - NO ACTION 
 ICMD     RESP   IBNA,/TABLES/.IICM ICMD - NO ACTION
 ICMDR    RESP   IBNA,/TABLES/.IICR ICMD RESPONSE - NO ACTION 
  
          QUAL   *
 .LAST    SET    *
          LOC    IIBR+.LAST 
 PIBR     SPACE  2,14 
**               PRU INPUT BLOCK RESPONSE TABLE.
* 
*                THE PRU INPUT BLOCK RESPONSE TABLE CONTAINS AN ENTRY 
*                FOR EACH POSSIBLE INPUT BLOCK RECEIVED FROM THE FRONT
*                END.  THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF 
*                THE ACTION THAT WILL BE EXECUTED AND A CONTROL CODE. 
*                THE CONTROL CODE SPECIFIES THE BLOCK HANDLER STATE 
**               ACTION THAT WILL BE EXECUTED FOR THE INPUT.
  
  
 PIBR     BSS    0           PRU INPUT BLOCK RESPONSE TABLE 
  
          QUAL   BLOCK
          LOC    0
  
          RESP   IBIL               UNDEFINED - BLOCK PROTOCOL ERROR
 BLK      RESP   IBFF,/TABLES/.IDAT BLOCK - CHECK FILE TRANSFER OFF 
 MSG      RESP   IBIF,/TABLES/.IDAT MESSAGE - CHECK BLOCK SERIAL NUMBER 
 BACK     RESP   IBIB,/TABLES/.IBCK BACK - CHECK BACK EXPECTED
 CMD      RESP   IBIF,/TABLES/.ICMD COMMAND - CHECK BLOCK SERIAL NUMBER 
 BRK      RESP   IBPB               BREAK - CHECK BREAK FORMAT
 QBLK     RESP   IBIL               Q-BLOCK - BLOCK PROTOCOL ERROR
 QMSG     RESP   IBIF,/TABLES/.IL7Q Q-MESSAGE - CHECK BLOCK NUMBER
 RST      RESP   IBIL               RESET - BLOCK PROTOCOL ERROR
 INITR    RESP   IBIL               INIT REQUEST - BLOCK PROTOCOL ERROR 
 INITN    RESP   IBIL               INIT RESPONSE - BLOCK PROTOCOL ERROR
 TERM     RESP   IBIL               TERMINATE - BLOCK PROTOCOL ERROR
 ICMD     RESP   IBIL               ICMD - BLOCK PROTOCOL ERROR 
 ICMDR    RESP   IBNA,/TABLES/.IICR ICMD RESPONSE - NO ACTION 
  
          QUAL   *
 .LAST    SET    *
          LOC    PIBR+.LAST 
 OBR      SPACE  2,12 
**               OUTPUT BLOCK RESPONSE TABLE. 
* 
*                THE OUTPUT BLOCK RESPONSE TABLE CONTAINS AN ENTRY FOR
*                EACH POSSIBLE OUTPUT BLOCK SENT TO THE FRONT END.  THE 
*                TABLE ENTRY CONTAINS THE ADDRESS OF THE OUTPUT BLOCK 
**               RESPONSE ACTION FOR THAT TYPE OF OUTPUT. 
  
  
 OBR      BSS    0           OUTPUT BLOCK RESPONSE TABLE
  
          QUAL   BLOCK
          LOC    0
  
          CON    /ACTIONS/OBIL UNDEFINED - DRIVER ERROR 
 BLK      CON    /ACTIONS/OBTH BLOCK - TRANSFER BLOCK HEADER
 MSG      CON    /ACTIONS/OBTH MESSAGE - TRANSFER BLOCK HEADER
 BACK     CON    /ACTIONS/OBTH BACK - TRANSFER BLOCK HEADER 
 CMD      CON    /ACTIONS/OBTH COMMAND - TRANSFER BLOCK HEADER
 BRK      CON    /ACTIONS/OBTH BREAK - TRANSFER BLOCK HEADER
 QBLK     CON    /ACTIONS/OBTH Q-BLOCK - TRANSFER BLOCK HEADER
 QMSG     CON    /ACTIONS/OBTH Q-MESSAGE - TRANSFER BLOCK HEADER
 RST      CON    /ACTIONS/OBTH RESET - TRANSFER BLOCK HEADER
 INITR    CON    /ACTIONS/OBTH INIT REQUEST - TRANSFER BLOCK HEADER 
 INITN    CON    /ACTIONS/OBTH INIT RESPONSE - TRANSFER BLOCK HEADER
 TERM     CON    /ACTIONS/OBTH TERMINATE - TRANSFER BLOCK HEADER
 ICMD     CON    /ACTIONS/OBTH ICMD - TRANSFER BLOCK HEADER 
 ICMDR    CON    /ACTIONS/OBTH ICMD RESPONSE - TRANSFER BLOCK HEADER
  
          QUAL   *
 .LAST    SET    *
          LOC    OBR+.LAST
 NICR     SPACE  2,14 
**               IVT OUTPUT COMMAND RESPONSE TABLE. 
* 
*                THE IVT OUTPUT COMMAND RESPONSE TABLE CONTAINS AN ENTRY
*                FOR EACH COMMAND THAT CAN BE SENT TO A FRONT END ON
*                AN IVT STREAM THAT MUST BE PROCESSED BY THE DRIVER.
*                THE CONTENTS OF THE TABLE ENTRY IS THE BLOCK HANDLER 
*                STATE RESPONSE ACTION THAT WILL BE EXECUTED FOR THE
**               COMMAND. 
  
  
 NICR     BSS    0           IVT OUTPUT COMMAND RESPONSE TABLE
  
          LOC    0
  
 CGRL     CON    .CGRL       CHANGE FRONT END REGULATION LEVEL
          CON    .RGZR       ZERO REGULATION LEVEL RESPONSE 
 OVER(0)  CON    .CMPT       DUMP NPU - PASS COMMAND THROUGH
 OVER(1)  CON    .LDNP       LOAD FRONT END NPU 
 OVER(2)  CON    .CMPT       PASS THROUGH OVERLAY COMMAND 
 OVER(3)  CON    .CMPT       PASS THROUGH OVERLAY COMMAND 
 OVER(4)  CON    .STNP       START FRONT END NPU
  
 OVMX     BSS    0           DEFINE MAXIMUM OVERLAY COMMAND ORDINAL 
  
 .LAST    SET    *
          LOC    NICR+.LAST 
 NIOR     SPACE  2,16 
**               IVT OUTPUT COMMAND PROCESSOR TABLE.
* 
*                THE IVT OUTPUT COMMAND PROCESSOR TABLE CONTAINS AN 
*                ENTRY FOR EACH COMMAND THAT CAN BE SENT TO A FRONT END 
*                ON AN IVT STREAM THAT MUST BE PROCESSED BY THE DRIVER. 
*                THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF THE 
*                ACTION THAT WILL BE EXECUTED AND A CONTROL CODE.  IF 
*                THE CONTROL CODE IS NOT ZERO IT SPECIFIES THE OVERLAY
*                ORDINAL OF THE OVERLAY THAT CONTAINS THE ACTION
**               PROCESSOR FOR THE COMMAND. 
  
  
 NIOR     BSS    0           IVT OUTPUT COMMAND PROCESSOR TABLE 
  
          LOC    0
  
  
 CGRL     CMDACT COCN,3IP    CHANGE FRONT END REGULATION LEVEL
          CMDACT CODE,3IP    ZERO REGULATION LEVEL RESPONSE 
  
 OVER(0)  CMDACT CODE,3IP    DUMP NPU - NO DRIVER PROCESSING
 OVER(1)  CMDACT COLN,3IQ    LOAD FRONT END NPU (BOOTSTRAP) 
 OVER(2)  CMDACT CODE,3IP    UNDEFINED OVERLAY COMMAND
 OVER(3)  CMDACT CODE,3IP    UNDEFINED OVERLAY COMMAND
 OVER(4)  CMDACT COSN,3IQ    START FRONT END NPU
  
                             INTERNALLY GENERATED COMMANDS
  
 LLNP     CMDACT COLL,5IQ    GENERATE LOAD LOCAL NPU REQUEST
 LBNP     CMDACT COLB,5IQ    GENERATE LOAD LOCAL NPU BOOTSTRAP REQUEST
 RIMD     CMDACT COIM,3IL    GENERATE REQUEST MDI INITIALIZATION
 STR0     CMDACT COR0,5IQ    GENERATE REGULATION LEVEL ZERO 
 RQRL     CMDACT CORS,5IQ    REQUEST REGULATION LEVEL FROM NAM
 FETO     CMDACT CONO,3IL    GENERATE FRONT END TURNED OFF
 BLTO     CMDACT COLT,5IQ    BOOTSTRAP LOAD TIMEOUT - GENERATE COMMAND
 CEER     CMDACT COCE,5IQ    ERROR DETECTED - GENERATE CE ERROR MESSAGE 
  
 .LAST    SET    *
          LOC    NIOR+.LAST 
 NIOE     SPACE  2,16 
**               IVT OUTPUT COMMAND ERROR PROCESSOR TABLE.
* 
*                THE IVT OUTPUT COMMAND ERROR PROCESSOR TABLE CONTAINS
*                AN ENTRY FOR EACH COMMAND THAT CAN BE SENT TO A FRONT
*                END ON AN IVT STREAM THAT MUST BE PROCESSED BY THE 
*                DRIVER.  THE TABLE ENTRY CONTAINS THE ACTION ORDINAL OF
*                THE ACTION THAT WILL BE EXECUTED AND A CONTROL CODE. 
*                IF THE CONTROL CODE IS NOT ZERO IT SPECIFIES THE 
*                OVERLAY ORDINAL OF THE OVERLAY THAT CONTAINS THE ACTION
**               PROCESSOR FOR THE COMMAND. 
  
  
 NIOE     BSS    0           IVT OUTPUT COMMAND ERROR PROCESSOR TABLE 
  
          LOC    0
  
 CGRL     CMDACT CODE,3IP    CHANGE FRONT END REGULATION LEVEL
          CMDACT CODE,3IP    ZERO REGULATION LEVEL RESPONSE 
 OVER(0)  CMDACT CODE,3IP    DUMP NPU - NO DRIVER PROCESSING
 OVER(1)  CMDACT COOE,4IQ    LOAD FRONT END NPU (BOOTSTRAP) 
 OVER(2)  CMDACT COOE,4IQ    UNDEFINED OVERLAY COMMAND
 OVER(3)  CMDACT COOE,4IQ    UNDEFINED OVERLAY COMMAND
 OVER(4)  CMDACT COOE,4IQ    START FRONT END NPU
  
 .LAST    SET    *
          LOC    NIOE+.LAST 
 NIOC     SPACE  2,14 
**               IVT OUTPUT COMMAND MESSAGE TABLE.
* 
*                THE IVT OUTPUT COMMAND MESSAGE TABLE CONTAINS AN ENTRY 
*                FOR EACH COMMAND THAT CAN BE SENT TO A FRONT END ON
*                AN IVT STREAM THAT MUST BE PROCESSED BY THE DRIVER.
*                THE ENTRY IDENTIFIES THE PRIMARY AND SECONDARY FUNCTION
*                CODES OF THE COMMAND AND THE POSITION IN THE TABLE 
*                LOCATES THE COMMAND PROCESSOR TABLE ENTRY RESPONSIBLE
**               FOR PROCESSING THE COMMAND.
  
  
 NIOC     BSS    0           IVT OUTPUT COMMAND MESSAGE TABLE 
  
          LOC    0
  
 CGRL     OUTCMD 1,5         CHANGE FRONT END REGULATION LEVEL
          OUTCMD 1,5         ZERO REGULATION LEVEL RESPONSE 
 OVER     OUTCMD A,D         OVERLAY REQUEST
  
          CON    0           TERMINATE IVT OUTPUT COMMAND MESSAGE TABLE 
  
          BSSZ   LLNP-*      FILL 
  
                             INTERNALLY GENERATED COMMANDS
  
 LLNP     OUTCMD A,A         LOAD LOCAL NPU REQUEST 
 LBNP     OUTCMD A,A         LOAD LOCAL NPU BOOTSTRAP REQUEST 
 RIMD     OUTCMD 6,0         REQUEST MDI INITIALIZATION 
 STRO     OUTCMD 1,5         REGULATION LEVEL ZERO
 RQRL     OUTCMD 1,2         REQUEST REGULATION LEVEL FROM NAM
 FETO     OUTCMD 8,0         FRONT END TURNED OFF 
 BLTO     OUTCMD 9,0         BOOTSTRAP LOAD TIMEOUT 
 CEER     OUTCMD 7,5         CE ERROR MESSAGE COMMAND 
  
 .LAST    SET    *
          LOC    NIOC+.LAST 
 AWLCMD   SPACE  2,14 
**               PRU APPLICATION WORKLIST COMMAND MESSAGE TABLE.
* 
*                THE PRU APPLICATION WORKLIST COMMAND MESSAGE TABLE 
*                CONTAINS AN ENTRY FOR EACH APPLICATION WORKLIST COMMAND
*                THAT CAN BE SENT TO THE DRIVER.  THE TABLE ENTRY 
*                IDENTIFIES THE PRIMARY AND SECONDARY FUNCTION CODES OF 
*                THE COMMAND AND THE POSITION IN THE TABLE LOCATES THE
*                WORKLIST PROCESSOR TABLE ENTRY RESPONSIBLE FOR 
**               PROCESSING THE WORKLIST. 
  
  
 AWLCMD   BSS    0           APPLICATION WORKLIST COMMAND MESSAGE TABLE 
  
          LOC    0
  
 SITR     INCMD  F0,0        START TRANSPARENT INPUT
 SINT     INCMD  F0,5        START NON-TRANSPARENT INPUT
 RSIN     INCMD  F0,2        RESTART INPUT
 ABIN     INCMD  F0,3        ABORT INPUT
 JBVL     INCMD  F0,4        JOB VALIDATED
 BYIN     INCMD  F0,6        BYPASS INPUT 
  
 STOT     INCMD  F1,6        START OUTPUT 
 SPOT     INCMD  F1,5        STOP OUTPUT
 RSOT     INCMD  F1,2        RESTART OUTPUT 
 ABOT     INCMD  F1,3        ABORT OUTPUT 
 ASOM     INCMD  F1,8        ABORT OUTPUT DATA MARKER 
 DORQ     INCMD  F1,1        DIRECT OUTPUT REQUEST
 EORQ     INCMD  F1,1        END OF JOB DIRECT OUTPUT REQUEST 
 RSMO     INCMD  F1,4        RESUME OUTPUT
  
 SOFC     INCMD  F2,1        SET OUTPUT FILE CHARACTERISTICS
 SODC     INCMD  F2,2        SET OUTPUT DEVICE CHARACTERISTICS
  
 SIFT     INCMD  F4,5        START INBOUND FILE TRANSFER
 SOFT     INCMD  F5,5        START OUTBOUND FILE TRANSFER 
  
 TPRU     BSS    0           TERMINATE PRU STREAM 
  
          CON    0           TERMINATE COMMAND TABLE
 DWLCMD   SPACE  2,14 
**               DRIVER PRU WORKLIST COMMAND MESSAGE TABLE. 
* 
*                THE DRIVER PRU WORKLIST COMMAND MESSAGE TABLE CONTAINS 
*                AN ENTRY FOR EACH DRIVER WORKLIST COMMAND THAT CAN BE
*                SENT TO A PRU APPLICATION.  THE TABLE ENTRY IDENTIFIES 
*                THE PRIMARY AND SECONDARY FUNCTION CODES OF THE COMMAND
*                AND THE POSITION IN THE TABLE LOCATES THE WORKLIST 
*                PROCESSOR TABLE ENTRY RESPONSIBLE FOR PROCESSING THE 
**               WORKLIST.
  
  
 DWLCMD   BSS    0           DRIVER PRU WORKLIST COMMAND MESSAGE TABLE
  
 ISIN     OUTCMD F0,7        INPUT STREAM STOPPED BATCH INTERRUPT 
 ISSE     OUTCMD F0,7        INPUT STREAM STOPPED EXTERNALLY
 ISSI     OUTCMD F0,7        INPUT STREAM STOPPED INTERNALLY
 ISSA     OUTCMD F0,3        INPUT STREAM ABORTED 
 ISEJ     OUTCMD F0,1        INPUT STREAM END OF JOB
 ISJV     OUTCMD F0,4        INPUT STREAM REQUEST JOB VERIFICATION
 ISEN     OUTCMD F0,7        INPUT STREAM END OF STREAM 
 ISEB     OUTCMD F0,6        INPUT STREAM END OF BYPASS 
  
 OSAS     OUTCMD F1,5        OUTPUT STREAM STOPPED BY APPLICATION 
 OSSI     OUTCMD F1,7        OUTPUT STREAM STOPPED INTERNALLY 
 OSSE     OUTCMD F1,7        OUTPUT STREAM STOPPED EXTERNALLY 
 OSSA     OUTCMD F1,3        OUTPUT STREAM ABORTED
 OSEJ     OUTCMD F1,0        OUTPUT STREAM END OF JOB 
 OSDA     OUTCMD F1,1        DIRECT OUTPUT ACKNOWLEDGMENT 
  
 L7MS     OUTCMD 0,0         LEVEL SEVEN CHECKMARK - NO WORKLIST
 L7ET     OUTCMD F4,0        LEVEL SEVEN END OF TRANSFER
 L7ES     OUTCMD F7,0        LEVEL SEVEN END OF STREAM
 L7ER     OUTCMD F6,0        LEVEL SEVEN ERROR REPORTED 
 L7MR     OUTCMD 0,0         LEVEL SEVEN CHECKMARK REPLY - NO WORKLIST
  
 L7EI     OUTCMD F4,6        LEVEL SEVEN END OF INBOUND FILE
 L7EO     OUTCMD F5,6        LEVEL SEVEN END OF OUTBOUND FILE 
  
 .LAST    SET    *
          LOC    AWLCMD+.LAST 
 AWLPT    SPACE  2,16 
**               PRU APPLICATION WORKLIST COMMAND PROCESSOR TABLE.
* 
*                THE PRU APPLICATION WORKLIST COMMAND PROCESSOR TABLE 
*                CONTAINS AN ENTRY FOR EACH APPLICATION WORKLIST COMMAND
*                THAT CAN BE SENT TO THE DRIVER.  THE TABLE ENTRY 
*                CONTAINS THE ACTION ORDINAL OF THE ACTION THAT WILL BE 
*                EXECUTED AND A CONTROL CODE.  IF THE CONTROL CODE IS 
*                NOT ZERO IT SPECIFIES THE OVERLAY ORDINAL OF THE 
*                OVERLAY THAT CONTAINS THE ACTION PROCESSOR FOR THE 
**               WORKLIST.
  
  
 AWLPT    BSS    0           APPLICATION WORKLIST PROCESSOR TABLE 
  
          LOC    0
  
 SITR     CMDACT SPWL,4IQ    START TRANSPARENT INPUT
 SINT     CMDACT ACWL,4IQ    START NON-TRANSPARENT INPUT
 RSIN     CMDACT ACWL,4IQ    RESTART INPUT
 ABIN     CMDACT ACWL,4IQ    ABORT INPUT
 JBVL     CMDACT JVWL,4IQ    JOB VALIDATED
 BYIN     CMDACT ACWL,4IQ    BYPASS INPUT 
  
 STOT     CMDACT SPWL,4IQ    START OUTPUT 
 SPOT     CMDACT ACWL,4IQ    STOP OUTPUT
 RSOT     CMDACT ARWL,4IQ    RESTART OUTPUT 
 ABOT     CMDACT ACWL,4IQ    ABORT OUTPUT 
 ASOM     CMDACT ACWL,4IQ    ABORT OUTPUT DATA MARKER 
 DORQ     CMDACT DOWL,4IQ    DIRECT OUTPUT REQUEST
 EORQ     CMDACT ERWL,2IP    END OF JOB DIRECT OUTPUT REQUEST 
 RSMO     CMDACT ARWL,4IQ    RESUME OUTPUT
  
 SOFC     CMDACT ACWL,4IQ    SET OUTPUT FILE CHARACTERISTICS
 SODC     CMDACT ACWL,4IQ    SET OUTPUT DEVICE CHARACTERISTICS
  
 SIFT     CMDACT SPWL,4IQ    START INBOUND FILE TRANSFER
 SOFT     CMDACT SPWL,4IQ    START OUTBOUND FILE TRANSFER 
  
 TPRU     CMDACT ACWL,4IQ    TERMINATE PRU STREAM 
 DWLPT    SPACE  2,16 
**               DRIVER PRU WORKLIST COMMAND PROCESSOR TABLE. 
* 
*                THE DRIVER PRU WORKLIST COMMAND PROCESSOR TABLE
*                CONTAINS AN ENTRY FOR EACH DRIVER WORKLIST COMMAND 
*                THAT CAN BE SENT TO A PRU APPLICATION.  THE TABLE
*                ENTRY CONTAINS THE ACTION ORDINAL OF THE ACTION THAT 
*                WILL BE EXECUTED AND A CONTROL CODE.  IF THE CONTROL 
*                CODE IS NOT ZERO IT SPECIFIES THE OVERLAY ORDINAL OF 
*                THE OVERLAY THAT CONTAINS THE ACTION PROCESSOR FOR 
**               THE WORKLIST.
  
  
 DWLPT    BSS    0           DRIVER WORKLIST PROCESSOR TABLE
  
 ISIN     CMDACT BIWL,2IP    INPUT STREAM STOPPED BATCH INTERRUPT 
 ISSE     CMDACT ISWL,2IP    INPUT STREAM STOPPED EXTERNALLY
 ISSI     CMDACT IEWL,2IP    INPUT STREAM STOPPED INTERNALLY
 ISSA     CMDACT AJWL,2IP    INPUT STREAM ABORTED 
 ISEJ     CMDACT EJWL,2IP    INPUT STREAM END OF JOB
 ISJV     CMDACT RJVL,3IP    INPUT STREAM REQUEST JOB VERIFICATION
 ISEN     CMDACT ISWL,2IP    INPUT STREAM END OF STREAM 
 ISEB     CMDACT ERWL,2IP    INPUT STREAM END OF BYPASS 
  
 OSAS     CMDACT OSWL,2IP    OUTPUT STREAM STOPPED BY APPLICATION 
 OSSI     CMDACT OEWL,2IP    OUTPUT STREAM STOPPED INTERNALLY 
 OSSE     CMDACT ERWL,2IP    OUTPUT STREAM STOPPED EXTERNALLY 
 OSSA     CMDACT ERWL,2IP    OUTPUT STREAM ABORTED
 OSEJ     CMDACT ERWL,2IP    OUTPUT STREAM END OF JOB 
 OSDA     CMDACT OAWL,2IP    DIRECT OUTPUT ACKNOWLEDGMENT 
  
 L7MS     CMDACT WLMS,4IQ    LEVEL SEVEN CHECKMARK
 L7ET     CMDACT FTRF,2IP    LEVEL SEVEN END OF TRANSFER
 L7ES     CMDACT WLES,2IO    LEVEL SEVEN END OF STREAM
 L7ER     CMDACT WLER,2IO    LEVEL SEVEN ERROR REPORTED 
 L7MR     CMDACT ERWL,2IP    LEVEL SEVEN CHECKMARK REPLY
  
 L7EI     CMDACT EFWL,2IP    LEVEL SEVEN END OF INBOUND FILE
 L7EO     CMDACT EFWL,2IP    LEVEL SEVEN END OF OUTBOUND FILE 
  
 .LAST    SET    *
          LOC    AWLPT+.LAST
 DWLCTL   SPACE  2,14 
**               DRIVER WORKLIST COMMAND CONTROL TABLE. 
* 
*                THE DRIVER WORKLIST COMMAND CONTROL TABLE CONTAINS AN
*                ENTRY FOR EACH COMMAND THAT CAN BE RECEIVED FROM THE 
*                FRONT END ON A PRU STREAM.  THE TABLE ENTRY CONTAINS 
*                THE APPLICATION SUPERVISORY MESSAGE COMMAND ORDINAL AND
*                THE STREAM STATE ACTION ORDINAL RESPONSIBLE FOR
**               INITIATING THE APPLICATION SUPERVISORY MESSAGE.
  
  
 DWLCTL   BSS    0           DRIVER WORKLIST COMMAND CONTROL TABLE
  
          LOC    0
  
 ISBI     CTL    ISIN,.SCMQ  INPUT STOPPED - BATCH INTERRUPT
 ISSC     CTL    ISSE,.SCMQ  INPUT STOPPED - SLIPPED CARD 
 ISES     CTL    ISEN,.SCMQ  INPUT STOPPED - END OF STREAM
 ISDN     CTL    ISSE,.SCMQ  INPUT STOPPED - DEVICE NOT READY 
  
 OSBI     CTL    OSSE,.SSBI  OUTPUT STOPPED - BATCH INTERRUPT 
 OSPM     CTL    OSSE,.SSTP  OUTPUT STOPPED - PM MESSAGE
 OSFL     CTL    OSSE,.SSTP  OUTPUT STOPPED - FILE LIMIT EXCEEDED 
 OSDN     CTL    OSSE,.SSTP  OUTPUT STOPPED - DEVICE NOT READY
 OSNV     CTL    OSSE,.SSTP  OUTPUT STOPPED - NO VFU FILE 
  
 ADIN     BSS    0           ACCOUNTING DATA FOR INPUT STREAMS
  
 ADEI     CTL    ISEJ,.SCMQ  ACCOUNTING DATA - END OF INFORMATION 
 ADTM     CTL    ISSA,.SCMQ  ACCOUNTING DATA - TERMINATION
  
 ADOT     BSS    0           ACCOUNTING DATA FOR OUTPUT STREAMS 
  
          CTL    OSEJ,.SEOI  ACCOUNTING DATA - END OF INFORMATION 
          CTL    OSSA,.SSAB  ACCOUNTING DATA - TERMINATION
 DWLL7C    SPACE  2,14
**               DRIVER LEVEL SEVEN WORKLIST COMMAND CONTROL TABLE. 
* 
*                THE DRIVER LEVEL SEVEN WORKLIST COMMAND CONTROL TABLE
*                CONTAINS AN ENTRY FOR EACH LEVEL SEVEN COMMAND THAT
*                IS RECEIVED BY THE DRIVER.  THE TABLE ENTRY CONTAINS 
*                THE APPLICATION SUPERVISORY MESSAGE COMMAND ORDINAL
*                AND THE STREAM STATE ACTION ORDINAL RESPONSIBLE FOR
**               INITIATING THE APPLICATION SUPERVISORY MESSAGE.
  
  
 DWLL7C   BSS    0           LEVEL SEVEN WORKLIST COMMAND CONTROL TABLE 
  
 MSL7     CTL    L7MS,.SCMQ  CHECKMARK - MARK RESTARTABLE POSITION
 ESL7     CTL    L7ES,.SCMQ  STREAM STOPPED - SENDER REPORTING END
          CTL    L7ER,.SCMQ  STREAM STOPPED - SENDER REPORTING ERROR
 RRL7     CTL    L7ER,.S7RR  STREAM STOPPED - RECEIVER REQUESTS RESTART 
 MRL7     CTL    L7MR,.S7MR  CHECKMARK REPLY - ACKNOWLEDGE CHECKMARK
 QRL7     CTL    L7ER,.S7QR  STREAM STOPPED - RECEIVER REPORTING ERROR
  
 .LAST    SET    *
          LOC    DWLCTL+.LAST 
 DWLQRT   SPACE  2,16 
**               DRIVER WORKLIST QUEUE RESPONSE TABLE.
* 
*                THE DRIVER WORKLIST QUEUE RESPONSE TABLE CONTAINS AN 
*                ENTRY FOR EACH APPLICATION SUPERVISORY MESSAGE WORKLIST
*                THAT CAN BE QUEUED TO A PRU APPLICATION.  THE CONTENTS 
*                OF THE ENTRY IS THE STREAM STATE RESPONSE ACTION 
*                ORDINAL OF THE RESPONSE ACTION THAT WILL COMPLETE THE
**               WORKLIST PROCESSING. 
  
  
          LOC    *-DWLCMD 
  
 DWLQRT   BSS    0           DRIVER WORKLIST QUEUE RESPONSE TABLE 
  
          LOC    DWLCMD 
  
 ISIN     CON    .SSBI       INPUT STOPPED BATCH INTERRUPT
 ISSE     CON    .SSTP       INPUT STREAM STOPPED EXTERNALLY
 ISSI     CON    .SSTP       INPUT STREAM STOPPED INTERNALLY
 ISSA     CON    .SSAB       INPUT STREAM ABORTED 
 ISEJ     CON    .SEOI       INPUT STREAM END OF JOB
 ISJV     CON    .SARQ       INPUT STREAM REQUEST JOB VERIFICATION
 ISEN     CON    .SEND       INPUT STREAM END OF STREAM 
 ISEB     CON    .SEOI       INPUT STREAM END OF BYPASS 
  
 OSAS     CON    .SARQ       OUTPUT STREAM STOPPED BY APPLICATION 
 OSSI     CON    .SARQ       OUTPUT STREAM STOPPED INTERNALLY 
 OSSE     CON    .SDLE       OUTPUT STREAM STOPPED EXTERNALLY - ILLEGAL 
 OSSA     CON    .SDLE       OUTPUT STREAM ABORTED - ILLEGAL
 OSEJ     CON    .SDLE       OUTPUT STREAM ABORTED - ILLEGAL
 OSDA     CON    .SDLE       DIRECT OUTPUT ACKNOWLEDGMENT - ILLEGAL 
  
 L7MS     CON    .SDLE       LEVEL SEVEN CHECKMARK - ILLEGAL
 L7ET     CON    .SARQ       LEVEL SEVEN END OF TRANSFER
 L7ES     CON    .S7ES       LEVEL SEVEN END OF STREAM
 L7ER     CON    .SARQ       LEVEL SEVEN ERROR REPORTED 
 L7MR     CON    .SDLE       LEVEL SEVEN CHECKMARK REPLY - ILLEGAL
  
 L7EI     CON    .SARQ       LEVEL SEVEN END OF INBOUND FILE
 L7EO     CON    .SARQ       LEVEL SEVEN END OF OUTBOUND FILE 
  
 .LAST    SET    *
          LOC    DWLQRT+.LAST 
 NPIC     SPACE  2,14 
**               PRU INBOUND COMMAND MESSAGE TABLE. 
* 
*                THE PRU INBOUND COMMAND MESSAGE TABLE CONTAINS AN ENTRY
*                FOR EACH COMMAND THAT CAN BE RECEIVED FROM THE FRONT 
*                END ON A PRU STREAM.  THE ENTRY IDENTIFIES THE PRIMARY 
*                AND SECONDARY FUNCTION CODES OF THE COMMAND AND THE
*                POSITION IN THE TABLE LOCATES THE COMMAND PROCESSOR
**               TABLE ENTRY RESPONSIBLE FOR PROCESSING THE COMMAND.
  
  
 NPIC     BSS    0           PRU INBOUND COMMAND MESSAGE TABLE
  
          LOC    0
  
 ISBI     INCMD  C7,1        INPUT STOPPED - BATCH INTERRUPT
 ISSC     INCMD  C7,2        INPUT STOPPED - SLIPPED CARD 
 ISES     INCMD  C7,3        INPUT STOPPED - END OF STREAM
 ISDN     INCMD  C7,4        INPUT STOPPED - DEVICE NOT READY 
  
 OSBI     INCMD  C8,1        OUTPUT STOPPED - BATCH INTERRUPT 
 OSPM     INCMD  C8,2        OUTPUT STOPPED - PM MESSAGE
 OSFL     INCMD  C8,3        OUTPUT STOPPED - FILE LIMIT EXCEEDED 
 OSDN     INCMD  C8,4        OUTPUT STOPPED - DEVICE NOT READY
 OSNV     INCMD  C8,5        OUTPUT STOPPED - NO VFU FILE 
  
 ADEI     INCMD  C9,1        ACCOUNTING DATA - END OF INFORMATION 
 ADTM     INCMD  C9,2        ACCOUNTING DATA - TERMINATION
  
          CON    0           TERMINATE INBOUND COMMAND TABLE
          BSSZ   DWLL7C-*    FILL 
 L7CNIN   SPACE  2,14 
**               LEVEL SEVEN COMMAND INBOUND TABLE. 
* 
*                THE LEVEL SEVEN COMMAND INBOUND TABLE CONTAINS AN ENTRY
*                FOR EACH LEVEL SEVEN COMMAND RECEIVED BY THE DRIVER. 
*                THE CONTENTS OF EACH ENTRY IS THE LEVEL SEVEN COMMAND
*                NUMBER AND THE POSITION IN THE TABLE LOCATES THE LEVEL 
*                SEVEN COMMAND INBOUND ACTION TABLE ENTRY RESPONSIBLE 
**               FOR PROCESSING THE COMMAND.
  
  
 L7CNIN   BSS    0           LEVEL SEVEN COMMAND INBOUND TABLE
  
 MSL7     CON    31          CHECKMARK
 ESL7     CON    32          END OF DATA (NORMAL) 
          CON    32          END OF DATA (ERROR)
 RRL7     CON    33          REQUEST RESTART
 MRL7     CON    34          CHECKMARK REPLY
 QRL7     CON    35          QUIT 
  
 SRL7     CON    37          START DATA REPLY - SENT ONLY 
  
          CON    0           TERMINATE COMMAND NUMBER TABLE 
  
 .LAST    SET    *
          LOC    NPIC+.LAST 
 NPIB     SPACE  2,12 
**               PRU INBOUND COMMAND BYPASS MESSAGE TABLE.
* 
*                THE PRU INBOUND COMMAND BYPASS MESSAGE TABLE CONTAINS
*                AN ENTRY FOR EACH COMMAND THAT IS TO BE BYPASSED ON
*                A PRU STREAM.  THE ENTRIES IDENTIFIES THE PRIMARY AND
**               SECONDARY FUNCTION CODES OF THE COMMAND. 
  
  
 NPIB     BSS    0           PRU INBOUND COMMAND MESSAGE BYPASS TABLE 
  
          LOC    0
  
          INCMD  CC,0        TURN PRU MODE ON 
          INCMD  CC,1        TURN PRU MODE OFF
  
          CON    0           TERMINATE COMMAND BYPASS TABLE 
  
 .LAST    SET    *
          LOC    NPIB+.LAST 
 NPIR     SPACE  2,14 
**               PRU INBOUND COMMAND RESPONSE TABLE.
* 
*                THE PRU INBOUND COMMAND RESPONSE TABLE CONTAINS AN 
*                ENTRY FOR EACH COMMAND THAT CAN BE RECEIVED FROM THE 
*                FRONT END ON A PRU STREAM.  THE TABLE ENTRY CONTAINS 
*                THE ACTION ORDINAL OF THE ACTION THAT WILL BE EXECUTED 
*                AND A CONTROL CODE.  IF THE CONTROL CODE IS NOT ZERO IT
*                SPECIFIES THE OVERLAY ORDINAL OF THE OVERLAY THAT
**               CONTAINS THE ACTION PROCESSOR FOR THE COMMAND. 
  
  
 NPIR     BSS    0           PRU INPUT COMMAND RESPONSE TABLE 
  
          LOC    0
  
 ISBI     CMDACT CIBI,2IP    INPUT STOPPED - BATCH INTERRUPT
 ISSC     CMDACT CICS,2IP    INPUT STOPPED - SLIPPED CARD 
 ISES     CMDACT CIES,2IP    INPUT STOPPED - END OF STREAM
 ISDN     CMDACT CINR,2IP    INPUT STOPPED - DEVICE NOT READY 
  
 OSBI     CMDACT CIBI,2IP    OUTPUT STOPPED - BATCH INTERRUPT 
 OSPM     CMDACT CIPM,2IP    OUTPUT STOPPED - PM MESSAGE
 OSFL     CMDACT CIFL,2IP    OUTPUT STOPPED - FILE LIMIT EXCEEDED 
 OSDN     CMDACT CINR,2IP    OUTPUT STOPPED - DEVICE NOT READY
 OSNV     CMDACT CINV,2IP    OUTPUT STOPPED - NO VFU FILE 
  
 ADEI     CMDACT CIAE,2IP    ACCOUNTING DATA - END OF INFORMATION 
 ADTM     CMDACT CIAT,2IP    ACCOUNTING DATA - TERMINATION
  
          DUP    DWLL7C-*,1 
          CMDACT CODE,3IP    UNDEFINED - DRIVER ERROR 
 L7CAIN   SPACE  2,12 
**               LEVEL SEVEN COMMAND INBOUND ACTION TABLE.
* 
*                THE LEVEL SEVEN COMMAND INBOUND ACTION TABLE CONTAINS
*                AN ENTRY FOR EACH LEVEL SEVEN COMMAND RECEIVED BY
*                THE DRIVER.  THE CONTENTS OF EACH ENTRY IS THE ADDRESS 
*                OF THE COMMAND ACTION PROCESSOR RESPONSIBLE FOR
**               PROCESSING THE LEVEL SEVEN COMMAND.
  
  
 L7CAIN   BSS    0           LEVEL SEVEN COMMAND INBOUND ACTION TABLE 
  
 MSL7     CON    /ACTIONS/MSCP   CHECKMARK
 ESL7     CON    /ACTIONS/ESCP   END OF DATA (NORMAL) 
          CON    /ACTIONS/ESCP   END OF DATA (ERROR)
 RRL7     CON    /ACTIONS/RRCP   REQUEST RESTART
 MRL7     CON    /ACTIONS/MRCP   CHECKMARK REPLY
 QRL7     CON    /ACTIONS/QRCP   QUIT 
  
 SRL7     CON    /ACTIONS/BRIQ.1 START DATA REPLY - ILLEGAL INBOUND 
  
 .LAST    SET    *
          LOC    NPIR+.LAST 
 NPOC     SPACE  2,14 
**               PRU OUTPUT COMMAND MESSAGE TABLE.
* 
*                THE PRU OUTPUT COMMAND MESSAGE TABLE CONTAINS AN ENTRY 
*                FOR EACH COMMAND THAT CAN BE SENT TO THE FRONT END ON A
*                PRU STREAM.  THE ENTRY IDENTIFIES THE PRIMARY AND THE
*                SECONDARY FUNCTION CODES OF THE COMMAND AND THE
*                POSITION IN THE TABLE LOCATES THE COMMAND PROCESSOR
**               TABLE ENTRY RESPONSIBLE FOR PROCESSING THE COMMAND.
  
  
 NPOC     BSS    0           PRU OUTPUT COMMAND MESSAGE TABLE 
  
          LOC    0
  
 SBDC     OUTCMD C2,0        SET BATCH DEVICE CHARACTERISTICS 
  
 SBFC     OUTCMD C3,0        SET BATCH FILE CHARACTERISTICS 
  
 TOSM     OUTCMD C4,0        TERMINATE OUTPUT STREAM MARKER 
  
 ISNT     OUTCMD C5,1        START NON-TRANSPARENT INPUT
 ISTR     OUTCMD C5,2        START TRANSPARENT INPUT
 ISRS     OUTCMD C5,3        RESUME INPUT 
 ISAB     OUTCMD C6,0        ABORT INPUT
  
 FTON     OUTCMD CC,0        TURN PRU MODE ON 
 FTOF     OUTCMD CC,1        TURN PRU MODE OFF
 NPOIC    SPACE  2,14 
**               PRU OUTPUT INTERRUPT COMMAND MESSAGE TABLE.
* 
*                THE PRU OUTPUT INTERRUPT COMMAND MESSAGE TABLE CONTAINS
*                AN ENTRY FOR EACH INTERRUPT COMMAND THAT CAN BE SENT ON
*                A PRU STREAM.  THE ENTRY IDENTIFIES THE PARAMETER VALUE
*                FOR THE INTERRUPT COMMAND AND THE POSITION IN THE TABLE
*                LOCATES THE INTERRUPT COMMAND PROCESSOR TABLE ENTRY
**               RESPONSIBLE FOR PROCESSING THE INTERRUPT COMMAND.
  
  
 ICRO     CON    0#1         RESTART OUTPUT STREAM
 ICAO     CON    0#2         ABORT OUTPUT STREAM
  
 .LAST    SET    *
          LOC    NPOC+.LAST 
 NPOR     SPACE  2,14 
**               PRU OUTPUT COMMAND RESPONSE TABLE. 
* 
*                THE PRU OUTPUT COMMAND RESPONSE TABLE CONTAINS AN ENTRY
*                FOR EACH COMMAND THAT CAN BE SENT TO THE FRONT END ON
*                A PRU STREAM.  THE TABLE ENTRY CONTAINS THE ACTION 
*                ORDINAL OF THE ACTION THAT WILL BE EXECUTED AND A
*                CONTROL CODE.  IF THE CONTROL CODE IS NOT ZERO IT
*                SPECIFIES THE OVERLAY ORDINAL OF THE OVERLAY THAT
**               CONTAINS THE ACTION PROCESSOR FOR THE COMMAND. 
  
  
 NPOR     BSS    0           PRU OUTPUT COMMAND RESPONSE TABLE
  
          LOC    0
  
 SBDC     CMDACT COSF,4IQ    SET BATCH DEVICE CHARACTERISTICS 
  
 SBFC     CMDACT COSF,4IQ    SET BATCH FILE CHARACTERISTICS 
  
 TOSM     CMDACT COPC,4IQ    TERMINATE OUTPUT STREAM MARKER 
  
 ISNT     CMDACT COPC,4IQ    START NON-TRANSPARENT INPUT
 ISTR     CMDACT COPC,4IQ    START TRANSPARENT INPUT
 ISRS     CMDACT COPC,4IQ    RESUME INPUT 
 ISAB     CMDACT COPC,4IQ    ABORT INPUT
  
 FTON     CMDACT COPO,4IQ    TURN PRU MODE ON 
 FTOF     CMDACT COPF,4IQ    TURN PRU MODE OFF
  
          DUP    DWLL7C-*,1 
          CMDACT CODE,3IP    UNDEFINED - DRIVER ERROR 
 L7CAOT   SPACE  2,14 
**               LEVEL SEVEN COMMAND OUTBOUND ACTION TABLE. 
* 
*                THE LEVEL SEVEN COMMAND OUTBOUND ACTION TABLE CONTAINS 
*                AN ENTRY FOR EACH LEVEL SEVEN COMMAND TRANSFERRED BY 
*                THE DRIVER.  THE CONTENTS OF EACH ENTRY IS THE ACTION
*                ORDINAL OF THE ACTION THAT WILL BE EXECUTED AND A
*                CONTROL CODE.  IF THE CONTROL CODE IS NOT ZERO IT
*                SPECIFIES THE OVERLAY ORDINAL OF THE OVERLAY THAT
**               CONTAINS THE ACTION PROCESSOR FOR THE COMMAND. 
  
  
 L7CAOT   BSS    0           LEVEL SEVEN COMMAND OUTBOUND ACTION TABLE
  
 MSL7     CMDACT MSCG,2IO    LEVEL SEVEN CHECKMARK - PROCESS
 ESL7     CMDACT CODE,3IP    LEVEL SEVEN END OF STREAM - DRIVER ERROR 
          CMDACT CODE,3IP    LEVEN SEVEN ERROR - DRIVER ERROR 
 RRL7     CMDACT CODE,3IP    LEVEL SEVEN REQUEST RESTART - DRIVER ERROR 
 MRL7     CMDACT MRCG,2IO    LEVEL SEVEN CHECKMARK REPLY - PROCESS
 QRL7     CMDACT CODE,3IP    LEVEL SEVEN QUIT - DRIVER ERROR
 SRL7     CMDACT SRCG,2IO    LEVEL SEVEN START DATA REPLY - PROCESS 
  
 .LAST    SET    *
          LOC    NPOR+.LAST 
 AWLCTL   SPACE  2,14 
**               PRU APPLICATION WORKLIST COMMAND CONTROL TABLE.
* 
*                THE PRU APPLICATION WORKLIST COMMAND CONTROL TABLE 
*                CONTAINS AN ENTRY FOR EACH APPLICATION WORKLIST COMMAND
*                SENT TO THE DRIVER.  THE TABLE ENTRY CONTAINS THE FRONT
*                END COMMAND ORDINAL, IF ANY, AND THE STREAM STATE
*                ACTION ORDINAL RESPONSIBLE FOR INITIATING THE WORKLIST 
**               COMMAND. 
  
  
 AWLCTL   BSS    0           APPLICATION WORKLIST COMMAND CONTROL TABLE 
  
          LOC    0
  
 SITR     CTL    ISTR,.SSDS  START TRANSPARENT INPUT
 SINT     CTL    ISNT,.SSJS  START NON-TRANSPARENT INPUT
 RSIN     CTL    ISRS,.SRST  RESTART INPUT
 ABIN     CTL    ISAB,.SABT  ABORT INPUT
 JBVL     CTL    77B,**      JOB VALIDATED
 BYIN     CTL    77B,.SBYP   BYPASS INPUT 
  
 STOT     CTL    77B,.SSDS   START OUTPUT 
 SPOT     CTL    77B,.SSPS   STOP OUTPUT
 RSOT     CTL    ICRO,.SRST  RESTART OUTPUT 
 ABOT     CTL    ICAO,.SABT  ABORT OUTPUT 
 ASOM     CTL    TOSM,.SASD  ABORT OUTPUT DATA MARKER 
 DORQ     CTL    77B,.SDOR   DIRECT OUTPUT REQUEST
 EORQ     CTL    77B,.SEOR   END OF JOB DIRECT OUTPUT REQUEST 
 RSMO     CTL    77B,.SROS   RESUME OUTPUT
  
 SOFC     CTL    SBFC,.SSFC  SET OUTPUT FILE CHARACTERISTICS
 SODC     CTL    SBDC,.SSDC  SET OUTPUT DEVICE CHARACTERISTICS
  
 SIFT     CTL    FTON,.SFTI  START INBOUND FILE TRANSFER
 SOFT     CTL    77B,.SFTO   START OUTBOUND FILE TRANSFER 
  
 TPRU     CTL    77B,.STPS   TERMINATE PRU STREAM 
  
 .LAST    SET    *
          LOC    AWLCTL+.LAST 
 L7RCCO   SPACE  2,14 
**               LEVEL SEVEN REASON CODE TO COMMAND ORDINAL TABLE.
* 
*                THE LEVEL SEVEN REASON CODE TO COMMAND ORDINAL TABLE 
*                CONTAINS AN ENTRY FOR EACH TRANSFER STOPPED REASON 
*                CODE.  THE CONTENTS OF EACH ENTRY IS THE LEVEL SEVEN 
*                COMMAND ORDINAL ASSOCIATED WITH THE REASON CODE.  A
*                VALUE OF ZERO SIGNIFIES NO LEVEL SEVEN COMMAND 
**               ASSOCIATION. 
  
  
 L7RCCO   BSS    0           WORKLIST ORDINAL TO COMMAND ORDINAL TABLE
  
          QUAL   NAM
          LOC    0
  
 FTRCNO   CON    /TABLES/ESL7 NO ERROR
 FTRCNE   CON    0            BLOCK SEQUENCE ERROR
 FTRCPE   CON    0            LEVEL SEVEN PROTOCOL ERROR
 FTRCBK   CON    0            TRANSMISSION LEVEL RESET
 FTRCRE   CON    /TABLES/QRL7 RECEIVER ERROR
 FTRCSE   CON    /TABLES/ESL7 SENDER ERROR
 FTRCRS   CON    /TABLES/RRL7 RESTART REQUESTED 
 FTRCME   CON    0            MASS STORAGE ERROR
 FTRCDE   CON    0            DATA STRUCTURE ERROR
 FTRCTO   CON    0            TRANSFER TIMED OUT
 FTRCHE   CON    0            LEVEL SEVEN HEADER FORMAT ERROR 
 FTRCQM   CON    0            Q-MESSAGE FORMAT ERROR
 FTRCCE   CON    0            CHECKMARK OR CHECKMARK REPLY NUMBER ERROR 
  
          QUAL   *
 .LAST    SET    *
          LOC    L7RCCO+.LAST 
 ERRTABLE SPACE  2,14 
**               ERROR PROCESSOR TABLE. 
* 
*                THE ERROR PROCESSOR TABLE CONTAINS AN ENTRY FOR EACH 
*                POSSIBLE DRIVER ERROR CODE.  THE CONTENTS OF EACH ENTRY
*                IS THE ACTION ORDINAL OF THE ACTION THAT WILL BE 
*                EXECUTED AND A CONTROL CODE.  IF THE CONTROL CODE IS 
*                NOT ZERO IT SPECIFIES THE OVERLAY ORDINAL OF THE 
*                OVERLAY THAT CONTAINS THE ACTION PROCESSOR FOR THE 
**               ERROR CONDITION. 
  
  
 ERRTABLE BSS    0           ERROR PROCESSOR TABLE
  
          QUAL   ERROR
          LOC    0
 CHAN     SPACE  2,6
**               CHANNEL ERROR PROCESSORS.
  
  
          ERRACT PFDE,3IE    UNDEFINED
 ABF      ERRACT PFCE,2IE    CHANNEL ACTIVE BEFORE FUNCTION 
 AAF      ERRACT PFCE,2IE    CHANNEL ACTIVE AFTER FUNCTION
 ABA      ERRACT PFCE,2IE    CHANNEL ACTIVE BEFORE ACTIVATE 
 IAA      ERRACT PFCE,2IE    CHANNEL INACTIVE AFTER ACTIVATE
 AAD      ERRACT PFCE,2IE    CHANNEL ACTIVE AFTER DISCONNECT
 IDO      ERRACT PFCE,2IE    CHANNEL INACTIVE DURING OUTPUT 
 HFO      ERRACT PFCE,2IE    CHANNEL HUNG FULL DURING OUTPUT
 IDI      ERRACT PFCE,2IE    CHANNEL INACTIVE DURING INPUT
 HEI      ERRACT PFCE,2IE    CHANNEL HUNG EMPTY DURING INPUT
 HFI      ERRACT PFCE,2IE    CHANNEL HUNG FULL AFTER INPUT
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 NPU      SPACE  2,6
**               NPU ERROR PROCESSORS.
  
  
 NOT      ERRACT PNTO,2IE    NPU ORDER WORD TIMEOUT 
 NTO      ERRACT PNTO,2IE    NPU TIMEOUT
 NMP      ERRACT PFCE,2IE    NPU MEMORY PROTECT ERROR 
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 MDI      SPACE  2,6
**               MDI ERROR PROCESSORS.
  
  
 NMS      ERRACT PNMS,2IE    UNABLE TO OBTAIN MDI STATUS
 MES      ERRACT PMER,2PE    MDI ERROR STATUS REPORTED
 MIN      ERRACT PMDI,2IE    MDI INOPERATIVE
 URM      ERRACT PURI,2IE    UNABLE TO RESET MDI INTERFACE
 MHE      ERRACT PFCE,2IE    MDI HEADER FORMAT ERROR
 MIO      ERRACT PMER,2PE    MDI ERROR REPORTED ON INPUT/OUTPUT DATA
 MRD      ERRACT PMRD,2IE    MDI REQUESTING DIAGNOSTICS 
 NSS      ERRACT PNSS,2PE    MCI CHANNEL PROTOCOL VERSION NOT SUPPORTED 
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 NAM      SPACE  2,6
**               NAM ERROR PROCESSORS.
  
  
 NBT      ERRACT PFDE,3IE    NETWORK BUFFER TABLE FORMAT ERROR
 OFE      ERRACT PFDE,3IE    DRIVER OVERLAY FORMAT ERROR
 AOR      ERRACT PFDE,3IE    ADDRESS OUT OF RANGE 
 BLE      ERRACT PFDE,3IE    OUTPUT BUFFER LINK ERROR 
 CNU      ERRACT DBOB,3IE    OUTPUT ON UNASSIGNED CONNECTION NUMBER 
 CPE      ERRACT PFDE,3IE    CONTROL POINT ERROR
 PSE      ERRACT PFDE,3IE    PCB SIZE ERROR 
 ILO      ERRACT PFDE,3IE    ILLEGAL OUTPUT BLOCK 
 IAR      ERRACT PFDE,3IE    ILLEGAL APPLICATION REQUEST
 IOC      ERRACT PFDE,3IE    ILLEGAL OUTPUT COMMAND 
 NTP      ERRACT PFDE,3IE    NO DRIVER TABLE POINTER
 DOE      ERRACT PFDE,3IE    DRIVER ORDINAL ERROR 
 DDR      ERRACT PFDE,3IE    DRIVER DUMP REQUEST
 BHS      ERRACT PFDE,3IE    ILLEGAL BLOCK HANDLER STATE
 PBS      ERRACT PFDE,3IE    ILLEGAL PCB PRU BUFFER SIZE
 BWL      ERRACT PFDE,3IE    BAD WORKLIST FROM NAM
 PCE      ERRACT PFDE,3IE    PCB CHAIN ERROR
 PCN      ERRACT PFDE,3IE    PCB CONNECTION UNASSIGNED
 BTS      ERRACT PFDE,3IE    INBOUND BUFFER NOT LARGE ENOUGH
 CET      ERRACT PFDE,3IE    COUPLER EQUIPMENT TABLE FORMAT ERROR 
 URB      ERRACT PFDE,3IE    UNABLE TO RETURN LIMBO BUFFERS 
 ILE      ERRACT PFDE,3IE    INLINE DIAGNOSTICS HANDLING ERROR
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 DRIVER   SPACE  2,6
**               DRIVER ERROR PROCESSORS. 
  
  
 UBT      ERRACT PFDE,3IE    UNKNOWN NETWORK BUFFER TABLE ADDRESS 
 LBE      ERRACT PFDE,3IE    LIMBO BUFFER FORMAT ERROR
 BSE      ERRACT PFDE,3IE    ILLEGAL PRU BUFFER SIZE
 NCT      ERRACT PFDE,3IE    NO CONNECTION TABLE ADDRESS
 OIA      ERRACT PFDE,3IE    ILLEGAL OUTPUT INITIATOR RESPONSE ACTION 
 DFC      ERRACT PFDE,3IE    DRIVER FLOW CONTROL LOGIC ERROR
 OBI      ERRACT PFDE,3IE    ILLEGAL OUTPUT BLOCK RESPONSE ACTION 
 BRE      ERRACT PFDE,3IE    ILLOGICAL BLOCK HANDLER STATE RESPONSE 
 SRE      ERRACT PFDE,3IE    ILLOGICAL STREAM STATE RESPONSE ACTION 
 ISS      ERRACT PFDE,3IE    ILLEGAL STREAM STATE ENTERED 
 ISE      ERRACT PFDE,3IE    ILLEGAL BUFFER SIZE FOR IVT INPUT
 FIE      ERRACT PFDE,3IE    INPUT ACCEPTED WHILE BUFFER SPACE REQUESTED
 ICA      ERRACT PFDE,3IE    ILLOGICAL COMMAND ACTION 
 DQE      ERRACT PFDE,3IE    DRIVER QUEUING LOGIC ERROR 
 DWE      ERRACT PFDE,3IE    ILLOGICAL WORKLIST ACTION
 FTR      ERRACT PFDE,3IE    NO FNT ADDRESS ON ACTIVE STREAM
 OME      ERRACT PFDE,3IE    PRU OUTPUT MODE ERROR
 CTE      ERRACT PFDE,3IE    FRONT END CHANNEL TABLE ERROR
 CLE      ERRACT PFDE,3IE    CHECKMARK LOGIC ERROR
 OSV      ERRACT PFDE,3IE    OVERLAY STRUCTURE VIOLATION
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 BLOCK    SPACE  2,6
**               BLOCK PROTOCOL ERROR PROCESSORS. 
  
  
 IUC      ERRACT PBPE,2IE    INPUT ON UNASSIGNED CONNECTION NUMBER
 BHE      ERRACT PBPE,2IE    BLOCK PROTOCOL HEADER FORMAT ERROR 
 DHE      ERRACT PBPE,2IE    DATA HEADER FORMAT ERROR 
 ICM      ERRACT PBPE,2IE    FRONT END COMMAND FORMAT ERROR 
 BFE      ERRACT PBPE,2IE    BACK FORMAT ERROR
 IBS      ERRACT PBPE,2IE    ILLEGAL PRU BUFFER SIZE SPECIFIED
 IBI      ERRACT PBPE,2IE    ILLEGAL INPUT BLOCK RESPONSE ACTION
 NFC      ERRACT PBPE,2IE    FRONT END FLOW CONTROL LOGIC ERROR 
 NSE      ERRACT PBPE,2IE    FRONT END BLOCK NUMBER SEQUENCE ERROR
 IBR      ERRACT PBPE,2IE    ILLEGAL BLOCK HANDLER STATE RESPONSE ACTION
 ISR      ERRACT PBPE,2IE    ILLEGAL STREAM STATE RESPONSE ACTION 
 IMS      ERRACT PBPE,2IE    INPUT MESSAGE EXCEEDS SPECIFIED SIZE 
 MFE      ERRACT PBPE,2IE    INPUT MESSAGE FORMAT ERROR 
 PIE      ERRACT PBPE,2IE    PRU INPUT MESSAGE FORMAT ERROR 
 CFE      ERRACT PBPE,2IE    PRU COMMAND FORMAT ERROR 
 ICE      ERRACT PBPE,2IE    PRU ICMD RESPONSE FORMAT ERROR 
          ERRACT PFDE,3IE    UNDEFINED
 ILH      ERRACT PBPE,2IE    INLINE DIAGNOSTICS TEST HEADER ERROR 
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 PRUAPP   SPACE  2,6
**               PRU APPLICATIONS ERROR PROCESSORS. 
  
  
 SAE      ERRACT PWLE,3IE    ILLEGAL PRU APPLICATION STREAM ACTION
 WLE      ERRACT PWLE,3IE    ILLEGAL PRU APPLICATION STREAM ACTION
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
          ERRACT PFDE,3IE    UNDEFINED
 LEVEL7   SPACE  2,6
**               A-A LEVEL SEVEN ERROR PROCESSORS.
  
  
 L7E      ERRACT PEL7,2IE    A-A LEVEL SEVEN PROTOCOL ERROR 
 L7H      ERRACT HEL7,2IE    A-A LEVEL SEVEN HEADER FORMAT ERROR
 L7D      ERRACT DEL7,2IE    A-A LEVEL SEVEN DATA FORMAT ERROR
 QME      ERRACT QMER,2IE    Q-MESSAGE FORMAT ERROR IN PRU MODE 
 CNE      ERRACT CMER,2IE    CHECKMARK OR CHECKMARK REPLY NUMBER ERROR
 TBR      ERRACT BRPS,2IE    TRANSPORT LEVEL BREAK RECEIVED 
 TO7      ERRACT TOL7,2IE    LEVEL SEVEN TIMEOUT
          ERRACT PFDE,3IE    UNDEFINED
  
          QUAL   *
 .LAST    SET    *
          LOC    ERRTABLE+.LAST 
  
          QUAL
 .1       SET    *+4
 .1       SET    .1/5*5 
 .1       SET    .1+3 
 .0IP     EQU    .1/4        LENGTH OF TABLE OVERLAY IN CENTRAL WORDS 
 L.COA    SET    L.COA+.0IP  LENGTH OF CENTRAL OVERLAY AREA 
 N.OPW    SET    N.OPW+1     NUMBER OF OVERLAY POINTER WORDS
 N.COV    EQU    N.OPW       NUMBER OF CENTRAL MEMORY OVERLAYS
 L.0IP    EQU    .0IP        DEFINE CENTRAL LENGTH OF 0IP 
          TTL    2IN - "VERSION" DRIVER INITIALIZATION. 
 2IN      TITLE  OVERLAY INITIALIZATION CONTROL.
          IDENT  2IN,OF.INIT DRIVER INITIALIZATION
          ORG    OF.INIT
          QUAL   INIT 
  
  
          COMMENT 2IN/PIP - "VERSION" DRIVER INITIALIZATION.
  
          COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. 
 INT      SPACE  2,14 
**               ENTRY POINT INT. 
* 
*                ENTRY POINT INT TRANSFERS CONTROL
*                TO THE INITIALIZATION PROCESSOR. 
* 
*                  ENTRY -
* 
**                   (IPA) = INITIALIZATION PROCESSOR ADDRESS.
  
  
 INT      SUBR   NOX         ENTRY
          LJM    0,IPA       EXIT TO INITIALIZATION PROCESSOR 
 INFL     TITLE  INITIALIZATION RPROCESSORS.
 INFL     SPACE  2,28 
**               INITIALIZATION PROCESSOR INFL. 
* 
*                INITIALIZATION PROCESSOR INFL INITIALIZES
*                TABLES IN THE FIELD LENGTH OF NAM. 
* 
*                  ENTRY -
* 
*                    (PAD-PAD+1) = CALL PARAMETER ADDRESS.
* 
*                  EXIT - 
* 
*                    TABLES IN NAM FIELD LENGTH INITIALIZED.
* 
*                  CALLS -
* 
*                     ARA - FORM ABSOLUTE CENTRAL ADDRESS,
*                    INTA - INITIALIZE NAM TABLE AREA,
*                    ICET - INITIALIZE COUPLER EQUIPMENT TABLE, 
*                    PSDO - PRESET DRIVER OVERLAY AREA, 
*                    INPW - INITIALIZE NAM POINTER WORD,
*                    INTH - INITIALIZE NAM TABLE HEADER,
*                    MDTT - MODIFY DRIVER TRANSLATION TABLE,
**                    FTN - PROCESS MONITOR FUNCTION. 
  
  
 INFL     LINK               ENTRY
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    ZR          GENERATE CENTRAL WORD OF ZEROES
          LDD    PAD         LOAD HIGH-ORDER OF PARAMETER AREA ADDRESS
          STD    FBA         STORE HIGH-ORDER OF CURRENT TABLE HEADER 
          STD    CBA         STORE HIGH-ORDER OF NEXT AVAILABLE POSITION
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF PARAMETER AREA ADDRESS 
          STD    FBA+1       STORE LOW-ORDER OF CURRENT TABLE HEADER
          STD    CBA+1       STORE LOW-ORDER OF NEXT AVAILABLE POSITION 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ TABLE AREA HEADER WORD
          LDD    T0+/NAM/C.BWD LOAD HIGH-ORDER OF TABLE AREA SIZE 
          LPN    77B         EXTRACT HIGH-ORDER OF TABLE AREA SIZE
          STD    T0+/NAM/C.BWD STORE HIGH-ORDER OF TABLE AREA SIZE
          LDD    FBA+1       LOAD LOW-ORDER OF CURRENT TABLE HEADER 
          ADD    T0+/NAM/C.BWD+1 PLUS LOW-ORDER OF TABLE AREA SIZE
          STD    LBA+1       STORE LOW-ORDER OF LAST AVAILABLE POSITION 
          SHN    -12         POSITION POSSIBLE CARRY
          ADD    FBA         PLUS HIGH-ORDER OR CURRENT TABLE HEADER
          ADD    T0+/NAM/C.BWD PLUS HIGH-ORDER OF TABLE AREA SIZE 
          STD    LBA         STORE HIGH-ORDER OF LAST AVAILABLE POSITION
          RJM    INTA        EXIT TO INITIALIZE NAM TABLE AREA
          RJM    ICET        EXIT TO INITIALIZE COUPLER EQUIPMENT TABLE 
          RJM    PSDO        EXIT TO PRESET DRIVER OVERLAY AREA 
          LDN    /NAM/W.ATP  OFFSET FOR APPLICATION TABLE POINTER WORD
          RJM    INPW        EXIT TO INITIALIZE NAM POINTER WORD
          LDD    LBA         LOAD HIGH-ORDER OF LAST AVAILABLE POSITION 
          SBD    CBA         LESS HIGH-ORDER OF NEXT AVAILABLE POSITION 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    LBA+1       PLUS LOW-ORDER OF LAST AVAILABLE POSITION
          SBD    CBA+1       LESS LOW-ORDER OF NEXT AVAILABLE POSITION
          STM    UAHDR+/NAM/C.BWD+1 STORE UNUSED BLOCK LENGTH 
          LDC    UAHDR       LOAD ADDRESS OF NAM TABLE HEADER 
          STD    T10         STORE ADDRESS OF NAM TABLE HEADER
          LDN    /NAM/L.BH   LOAD LENGTH OF NAM TABLE HEADER
          STD    T11         STORE LENGTH OF NAM TABLE HEADER 
          LDN    0           LOAD NAM TABLE ID
          RJM    INTH        EXIT TO INITIALIZE NAM TABLE HEADER
          LDN    IPRL        LOAD ADDRESS OF INSTALLATION PARAMETER WORD
          CRD    T0          READ INSTALLATION PARAMETER WORD 
          LDD    T0+2        LOAD CHARACTER SET BYTE
          LPN    1           EXTRACT CHARACTER SET FLAG 
          NJN    INFL.1      EXIT IF TSBLE CHARACTER SET SELECTED 
          LDN    .BLANK      LOAD NEW ASCII CHARACTER 
          STD    T15         STORE NEW ASCII CHARACTER
          LDN    00B         LOAD TABLE OFFSET FOR NEW ASCII CHARACTER
          RJM    MDTT        EXIT TO MODIFY DRIVER TRANSLATION TABLE
          LDN    .COLON      LOAD NEW ASCII CHARACTER 
          STD    T15         STORE NEW ASCII CHARACTER
          LDN    63B         LOAD TABLE OFFSET FOR NEW ASCII CHARACTER
          RJM    MDTT        EXIT TO MODIFY DRIVER TRANSLATION TABLE
  
 INFL.1   LDD    PAD         LOAD HIGH-ORDER OF PARAMETER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF PARAMETER ADDRESS
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ PARAMETER WORD
          STD    T15+1       STORE LOW-ORDER OF CENTRAL ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T15         STORE HIGH-ORDER OF CENTRAL ADDRESS
          LDN    1           CONSTANT OF ONE
          STD    T10+/NAM/C.NBTDC STORE DRIVER COMPLETED FLAG 
          LDD    T15         LOAD HIGH-ORDER OF CENTRAL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T15+1       PLUS LOW-ORDER OF CENTRAL ADDRESS
          CWD    T10         WRITE OUT PARAMETER WORD 
  
 INFL.2   LINK               ENTRY
          LDN    DPPM        MONITOR FUNCTION TO DROP PPU 
  
 INFL.3   LINK               ENTRY
          RJM    FTN         EXIT TO ISSUE MONITOR FUNCTION 
          EXIT   PPR         EXIT TO PPU RESIDENT 
 UAHDR    SPACE  2,6
*                UNUSED AREA HEADER.
  
  
 UAHDR    CON    **          BLOCK ID 
          CON    **          BLOCK SIZE 
          CON    0,0,0
 SEST     SPACE  2,32 
**               INIIALIZATION PROCESSOR SEST.
* 
*                INITIALIZATION PROCESSOR SEST SCANS THE COUPLER
*                EQUIPMENT TABLE IN THE FIELD LENGTH OF NAM.  FOR EACH
*                OFF EQUIPMENT THE SYSTEM EST IS CHECKED AND IF THE 
*                SYSTEM EST ENTRY IS ON THE NAM TABLE IS UPDATED. 
* 
*                  ENTRY -
* 
*                    (PAD-PAD+1) = COUPLER EQUIPMENT TABLE ADDRESS. 
* 
*                  EXIT - 
* 
*                    COUPLER EQUIPMENT TABLE UPDATED. 
* 
*                  ERROR EXITS -
* 
*                    ISSUE MESSAGE AND ABORT IF COUPLER TABLE ERROR.
* 
*                  CALLS -
* 
*                    ARA - FORM ABSOLUTE CENTRAL ADDRESS, 
*                    FTN - PROCESS MONITOR FUNCTION.
* 
*                  SYSTEM MACRO CALLS - 
* 
**                   SFA - CALCULATE MANAGED TABLE ADDRESS. 
  
  
 SEST     LINK               ENTRY
          LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ COUPLER TABLE CONTROL WORD
          SBN    /NAM/W.CETHW DELTA FOR COUPLER TABLE HEADER WORD 
          CRD    T0          READ COUPLER TABLE HEADER WORD 
          LDD    T10+/NAM/C.CETCB LOAD COUPLER TABLE CONTROL BYTE 
          LPN    /NAM/B.CETDB&/NAM/B.CETDC EXTRACT TABLE BUSY FLAGS 
          NJN    INFL.2      TERMINATE IF COUPLER TABLE BUSY
          LDD    T0+/NAM/C.BID LOAD COUPLER TABLE BLOCK ID BYTE 
          SHN    -/NAM/S.BID POSITION BLOCK ID TO LOW-ORDER 
          LMN    /NAM/Q.CETID LESS COUPLER TABLE BLOCK ID 
          NJN    SEST.1      EXIT IF INVALID BLOCK ID 
          LDD    T0+/NAM/C.BWD LOAD HIGH-ORDER OF TABLE BLOCK SIZE
          LPN    77B         EXTRACT HIGH-ORDER OF TABLE BLOCK SIZE 
          NJN    SEST.1      EXIT IF TABLE BLOCK SIZE RANGE ERROR 
          LDD    T0+/NAM/C.BWD+1 LOAD LOW-ORDER OF TABLE BLOCK SIZE 
          SBN    /NAM/W.CETE+1 LESS MINIMUM TABLE BLOCK SIZE
          PJN    SEST.2      EXIT IF TABLE BLOCK SIZE IN RANGE
  
 SEST.1   LDC    SEE         LOAD ADDRESS OF EST SCAN ERROR MESSAGE 
          EXIT   ARA.4       EXIT TO ISSUE ERROR MESSAGE
  
 SEST.2   STD    T17         INITIALIZE TABLE ORDINAL 
          RAM    SEST.9A     CHANGE INSTRUCTION TO ADD NO OF CET ENTRIES
  
          LDN    0           CONSTANT OF ZERO 
          STD    T7          INITIALIZE TABLE CHANGED FLAG
          LDN    /NAM/B.CETDB LOAD DRIVER SCANNING FLAG 
          STD    T10+/NAM/C.CETCB STORE COUPLER TABLE CONTROL BYTE
          LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE COUPLER TABLE CONTROL WORD 
          LDN    ESTP        LOAD ADDRESS OF EST POINTER WORD 
          CRD    T0          READ EST POINTER WORD
          LDD    T0+2        LOAD LOAD ENDING ORDINAL OF EST
          STD    T16         STORE ENDING ORDINAL OF EST
  
 SEST.3   LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETE DELTA FOR FIRST COUPLER TABLE ENTRY
          ADD    T17         PLUS TABLE ORDINAL 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NEXT COUPLER TABLE ENTRY
          LDD    T10+/NAM/C.CETET LOAD EQUIPMENT BYTE FROM COUPLER TABLE
          SHN    17-/NAM/S.CETOF POSITION EQUIPMENT OFF FLAG TO SIGN
          MJN    SEST.5      EXIT IF COUPLER TABLE ENTRY OFF
  
 SEST.4   SOD    T17         DECREMENT CURENT TABLE ORDINAL 
          PJN    SEST.3      EXIT IF MORE TABLE ENTRIES TO PROCESS
          LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ COUPLER TABLE CONTROL WORD
          LDD    T7          LOAD TABLE CHANGED FLAG
          ADN    /NAM/B.CETDC PLUS DRIVER COMPLETED FLAG
          STD    T10+/NAM/C.CETCB STORE COUPLER TABLE CONTROL BYTE
          LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETHW DELTA FOR COUPLER TABLE CONTROL WORD
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE COUPLER TABLE CONTROL WORD 
          EXIT   INFL.2      EXIT TO TERMINATE PPU
  
 SEST.5   LDD    T10+/NAM/C.CETEST LOAD EST ORDINAL FROM COUPLER TABLE
          LPC    /NAM/L.CETEST EXTRACT EST ORDINAL
          STD    T10+1       EST ORDINAL FOR POSSIBLE MONITOR FUNCTION
          STM    SEST.9R+1   CHANGE INSTRUCTION TO LDC EST ORDINAL
          STM    SEST.9U+1   CHANGE INSTRUCTION TO LDC EST ORDINAL
          SBD    T16         LESS ENDING ORDINAL OF EST 
          MJN    SEST.6      EXIT IF EST ORDINAL IN RANGE 
          UJK    SEST.1      EXIT TO ISSUE EST SCAN ERROR MESSAGE 
  
 SEST.6   LDN    ESTE        SIZE OF EST ENTRY
          STD    T1          SAVE NO OF CM WORDS TO READ UP 
          SFA    EST,T10+1   GET EST ENTRY ADDRESS
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRM    MEST,T1     READ EST ENTRY 
          LDM    MEST        EQUIPMENT STATUS BYTE
          LPN    3           EXTRACT EQUIPMENT STATUS 
          SBN    2           SUBTRACT STATUS VALUE FOR EQUIPMENT OFF
          NJN    SEST.8      EXIT IF EQUIPMENT TURNED ON
  
 SEST.7   UJK    SEST.4      EXIT TO CHECK FOR END OF COUPLER TABLE 
  
 SEST.8   LDM    MEST+7      BYTE CONTAINING DRIVER ORDINAL 
          SHN    -9          POSITION DRIVER ORDINAL TO LOW-ORDER 
          ZJN    SEST.7      EXIT IF NO DRIVER ORDINAL SPECIFIED
          STD    T15         STORE DRIVER ORDINAL 
          SBN    MAXDRV+1    LESS MAXIMUM VALUE FOR DRIVER ORDINAL
          PJN    SEST.7      EXIT IF NOT VALID DRIVER ORDINAL 
          LDM    MEST+3      LOAD EQUIPMENT TYPE FROM EST 
          LMC    2RND        LESS VALUE FOR MDI 
          ZJN    SEST.9      EXIT IF EQUIPMENT IS MDI 
          LMN    2RND&2RNP   LESS DELTA FOR NPU 
          ZJN    SEST.9      EXIT IF EQUIPMENT IS NPU 
  
 .MSS     IFEQ   .MSS,1 
  
          LMN    2RNP&2RNQ   LESS DELTA FOR MSS EQUIPMENT TYPE
          ZJN    SEST.9      EXIT IF MSS EQUIPMENT
  
 .MSS     ENDIF 
  
          UJK    SEST.7      EXIT TO CHECK FOR END OF COUPLER TABLE 
  
 SEST.9   LDN    0           CONSTANT OF ZERO 
          STD    T10+2       STORE NORMAL REQUEST SUBFUNCTION 
          LDN    REQM        LOAD MONITOR FUNCTION TO REQUEST EQUIPMENT 
          RJM    FTN         EXIT TO REQUEST EQUIPMENT FROM SYSTEM
          LDD    T10+1       LOAD SYSTEM REPLY BYTE 
          NJN    SEST.9H     EXIT IF EQUIPMENT AVAILABLE
          UJK    SEST.4      EXIT TO CHECK FOR END OF COUPLER TABLE 
  
 SEST.9H  BSS    0
* 
*                CHECK IF NEWLY TURNED ON EST ENTRY HAS SAME CHANNEL
*                AND EQUIPMENT NUMBER AS ANOTHER NEWLY TURNED ON ENTRY
* 
 SEST.9A  LDN    0           NO OF CET ENTRIES (INSTRUCTION CHANGED)
          STD    T3          INITIALIZE CET TABLE ENTRY OFFSET
          LDM    MEST+1      BYTE CONTAINING CHANNEL NUMBER 
          LPK    37B         EXTRACT CHANNEL NUMBER 
          STM    MEST+1      CLEARED OTHER BITS IN CHANNEL NUMBER BYTE
 SEST.9C  LDD    PAD         HIGH ORDER PART OF CET TABLE ADDRESS 
          SHN    12D         SHIFT TO HIGH ORDER PART OF A REGISTER 
          ADD    PAD+1       ADD LOW ORDER PART OF CET TABLE ADDRESS
          ADN    /NAM/W.CETE DELTA FOR COUPLER TABLE CONTROL WORD 
          ADD    T3          DELTA FOR CURRENT CET ENTRY TO COMPARE 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ CURRENT CET ENTRY 
          LDD    T10+/NAM/C.CETET  BYTE CONTAINING ON/OFF FLAG
          SHN    17-/NAM/S.CETOF  POSITION EQUIPMENT OFF FLAG TO SIGN 
          PJN    SEST.9D     EXIT IF THIS CET ENTRY IS ON 
          LDD    T10+/NAM/C.CETTN  BYTE CONTAINING ENTRY CHANGED FLAG 
          LPN    /NAM/B.CETEC  ENTRY CHANGED BIT
          ZJN    SEST.9F     EXIT IF ENTRY HAS NOT BEEN TURNED ON 
 SEST.9D  LDD    T17         INDEX OF CURRENT ENTRY IN CET TABLE
          SBN    T3          DELTA FOR CURRENT ENTRY BEING COMPARED 
          ZJN    SEST.9F     EXIT IF ENTRY IS ONE JUST FOUND
          LDD    T10+/NAM/C.CETCH  BYTE CONTAINING CHANNEL NO 
          SHN    -/NAM/S.CETCH  RIGHT JUSTIFY CHANNEL NO FIELD
          SBM    MEST+1      CHANNEL NO OF NEWLY TURNED ON EST ENTRY
          NJN    SEST.9F     EXIT IF CHANNEL NUMBERS DO NOT MATCH 
          LDD    T10+/NAM/C.CETDOR  BYTE CONTAINING DRIVER ORDINAL
          LPN    17B         EXTRACT DRIVER ORDINAL FROM CET ENTRY
          SBD    T15         DRIVER ORDINAL OF NEW ON ENTRY 
          NJN    SEST.9L     EXIT IF DIFFERENT DRIVER FOR SAME CH NO
  
          LDD    T10+/NAM/C.CETEN  BYTE CONTAINING EQUIPMENT NO 
          LMM    MEST+4      EQUIPMENT NO OF NEWLY TURNED ON EST ENTRY
          LPC    7000B       EXTRACT ONLY EQUIPMENT NUMBER FIELD IN BYTE
          ZJN    SEST.9O     EXIT IF EQUIPMENT NUMBER MATCH 
  
 SEST.9F  SOD    T3          DECREMENT REMAINING NO OF ENTRIES TO CHECK 
          PJN    SEST.9G     EXIT IF NOT ALL CET ENTRIES CHECKED
          LJM    SEST.9U     EXIT TO COMPLETE PROCESSING NEW ENTRY
  
 SEST.9G  LJM    SEST.9C     EXIT TO CHECK NEXT CET ENTRY 
  
  
 SEST.9I  LDN    0           FLAG TO INDICATE DUPLICATE CHANNEL DAY MSG 
          UJN    SEST.9O     EXIT TO SAVE DAYFILE MSG FLAG
  
 SEST.9L  LDN    SMSGCH-SMSGDUP FLAG TO INDICATE DUPLICATE ENTRY DAY MSG
 SEST.9O  STD    T3          SAVE DAYFILE MESSAGE FLAG
 SEST.9R  LDC    0           EST ORD TO TURN OFF (INSTRUCTION CHANGED)
          STD    T11         SAVE FOR SEQM MONITOR FUNCTION 
          SHN    -6          RIGHT JUSTIFY MOST SIGNIFICANT DIGIT 
          LPN    7B          EXTRACT MOST SIGNIFICANT DIGIT 
          ADC    5533B       CONSTANT FOR CONVERTING TO DISPLAY CODE
          STM    SMSGDUP+EST0,T3 SAVE PART OF EST ORDINAL IN DAYFILE MSG
          LDD    T11         EST ORDINAL OF BAD EST ENTRY 
          LPN    70B         MIDDLE DIGIT OF EST ORDINAL
          SHN    3           POSITION OF DISPLAY CODE CHARACTER 
          STD    T2          SAVE MIDDLE DIGIT OF EST ORDINAL 
          LDD    T11         EST ORDINAL OF BAD EST ENTRY 
          LPN    7           EXTRACT RIGHTMOST DIGIT IN EST ORDINAL 
          ADD    T2          ADD MIDDLE DIGIT OF EST ORDINAL
          ADC    3333B       CONSTANT FOR CONVERTING TO DISPLAY CODE
          STM    SMSGDUP+EST1,T3 SAVE REST OF EST ORDINAL IN DAYFILE MSG
          LDN    /NOS/OFES   SUBFUNCTION CODE FOR SEQM FUNCTION 
          STD    T10+2       INITIALIZE SEBFUNCTION BYTE OF SEQM FUNCTION 
          LDN    SEQM        FUNCTION TO SET EQUIPMENT PARAMETERS 
          RJM    FTN         EXIT TO TURN EST ENTRY OFF 
          LDN    DEQM        RELEASE EST ENTRY
          RJM    FTN         EXIT TO RELEASE EST ENTRY
          LDC    SMSGDUP     ADDRESS OF FIRST DAYFILE MSG 
          ADD    T3          OFFSET FOR SECOND DAYFILE MSG IF NEEDED
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          LJM    SEST.4      EXIT TO RESTART EST SCAN FROM BEGINNING
  
 SEST.9U  LDC    0           EST ORD TO CLEAR INTRLK (INSTR CHANGED)
          STD    T10+1       SAVE FOR SEQM MONITOR FUNCTION 
          LDM    MEST+3      LOAD EQUIPMENT TYPE FROM EST 
          LMC    2RND        LESS VALUE FOR MDI EQUIPMENT 
          NJN    SEST.10     EXIT IF NOT MDI EQUIPMENT
          LDN    4           LOAD SUBFUNCTION CODE TO CHANGE BYTE ZERO
          STD    T10+2       STORE SUBFUNCTION CODE 
          LDC    7777B&1S9   LOAD MASK TO CLEAR INTERLOCKED FLAG
          STD    T10+3       STORE MASK FOR EQUIPMENT STATUS TABLE BYTE 
          LDN    0           CONSTANT OF ZERO 
          STD    T10+4       STORE NO FLAGS TO SET
          LDN    SEQM        LOAD FUNCTION TO SET EUIPMENT PARAMETERS 
          RJM    FTN         EXIT TO RESET EQUIPMENT INTERLOCKED FLAG 
  
 SEST.10  LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETE DELTA FOR FIRST COUPLER TABLE ENTRY
          ADD    T17         PLUS TABLE ORDINAL 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ CURRENT COUPLER TABLE ENTRY 
          LDD    T15         LOAD DRIVER ORDINAL
          STD    T10+/NAM/C.CETDOR  STORE DRIVER ORD IN CET ENTRY 
          LDM    MEST+1      BYTE CONTAINING CHANNEL NO FROM EST ENTRY
          SHN    /NAM/S.CETCH  POSITION CHANNEL NO TO CET ENTRY POSITION
          RAD    T10+/NAM/C.CETCH  STORE CHANNEL NO IN CET ENTRY
          LDM    MEST+4      BYTE CONTAINING HOST NODE NO FROM EST ENTRY
          LPC    /NAM/L.CETHN  EXTRACT HOST NODE NUMBER 
          STD    T10+/NAM/C.CETHN  STORE HOST NODE NO IN CET ENTRY
          LDM    MEST+4      LOAD EQUIPMENT NUMBER FROM EST 
          LPC    7000B       EXTRACT EQUIPMENT NUMBER 
          RAD    T10+/NAM/C.CETEN ADD TO DRIVER ORDINAL 
          LDM    MEST+3      LOAD EQUIPMENT TYPE FROM EST 
          LMC    2RND        LESS VALUE FOR MDI EQUIPMENT 
          ZJN    SEST.11     EXIT IF MDI EQUIPMENT
          LDM    MEST+0      LOAD EQUIPMENT FLAGS FROM EST
          SHN    -9          AUTO-START MODULE FLAG TO LOW-ORDER
          LPN    1           EXTRACT SYSTEM AUTO-START MODULE FLAG
          SHN    /NAM/S.CETSAM POSITION TO COUPLER TABLE FORMAT 
          STD    T10+/NAM/C.CETTN   STORE SAM FLAG IN CET ENTRY 
          UJN    SEST.12     EXIT TO CONTINUE UPDATING CET ENTRY
  
 SEST.11  LDM    MEST+7      BYTE CONTAINING CDCNET TERMINAL NODE NO
          LPC    377B        EXTRACT TERMINAL NODE NUMBER 
          SHN    /NAM/S.CETTN  POSITION TERMINAL NODE TO CET ENTRY POS
          STD    T10+/NAM/C.CETTN  STORE TERMINAL NODE IN CET ENTRY 
  
 SEST.12  LDM    MEST+3      EQUIPMENT TYPE FROM EST
          ADC    4000B       PLUS EQUIPMENT OFF FLAG
          STD    T10+/NAM/C.CETET STORE EQUIPMENT TYPE
          LDN    /NAM/B.CETEC LOAD ENTRY CHANGED FLAG 
          RAD    T10+/NAM/C.CETTN  SET ENTRY CHANGED FLAG 
          LDD    PAD         LOAD HIGH-ORDER OF COUPLER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF COUPLER TABLE ADDRESS
          ADN    /NAM/W.CETE DELTA FOR FIRST COUPLER TABLE ENTRY
          ADD    T17         PLUS TABLE ORDINAL 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         REWRITE COUPLER TABLE ENTRY
          LDN    /NAM/B.CETTC LOAD TABLE CHANGED FLAG 
          STD    T7          STORE TABLE CHANGED FLAG 
          UJK    SEST.7      EXIT TO CHECK FOR END OF COUPLER TABLE 
 SEST     SPACE  2,6
*                STORAGE AREA.
  
  
 MEST     BSS    ESTE*5      EST ENTRY
 SMSGDUP  DATA   L$PIP -  EST XXX CH/EQ NUMBER ALREADY IN USE.$ 
          DATA   0           ZERO BYTE TERMINATOR FOR DAYFILE MESSAGE 
 SEST0    EQU    5           POSITION OF FIRST EST DIGIT IN DAYFILE MSG 
 SEST1    EQU    6           POSITION OF 2ND EST DIGIT IN DAYFILE MSG 
 SMSGCH   DATA   L$PIP -  EST XXX CHANNEL IN USE BY ANOTHER PIP.$ 
          DATA   0           ZERO BYTE TERMINATOR FOR DAYFILE MESSAGE 
 ARA      TITLE  INITIALIZATION SUBROUTINES.
 ARA      SPACE  2,30 
**               SUBROUTINE ARA.
* 
*                SUBROUTINE ARA TESTS THE RELATIVE ADDRESS CALLING
*                VALUE AGAINST THE FIELD LENGTH OF THE CONTROL POINT. 
*                IF THE CALLING ADDRESS IS IN RANGE, THE REFERENCE
*                ADDRESS IS ADDED TO FORM THE ABSOLUTE ADDRESS. 
* 
*                  ENTRY -
* 
*                     (A) = RELATIVE ADDRESS, 
*                    (FL) = FIELD LENGTH OF CONTROL POINT,
*                    (RA) = REFERENCE ADDRESS OF CONTROL POINT. 
* 
*                  EXIT - 
* 
*                    (A) = ABSOLUTE ADDRESS IF IN RANGE.
* 
*                  ERROR EXITS -
* 
*                    ISSUE MESSAGE AND ABORT IF ADDRESS OUT OF RANGE. 
* 
*                  USES - 
* 
*                    T0-T0+4 = CONTROL POINT STATUS WORD, 
**                   T5-T5+1 = CALLING VALUE. 
  
  
 ARA      SUBR               ENTRY/EXIT 
          MJN    ARA.3       EXIT IF CALLING VALUE TOO LARGE
  
 ARA.1    SHN    18-6        CALLING VALUE DIVIDED BY 100B
          SBD    FL          LESS FIELD LENGTH DIVIDED BY 100B
          SHN    18-18+6     POSITION BORROW INDICATOR TO SIGN
          PJN    ARA.2       EXIT IF CALLING VALUE OUT OF RANGE 
          SHN    18-6        REPOSITION TO RESULT DIVIDED BY 100B 
          ADD    FL          ADD BACK FIELD LENGTH DIVIDED BY 100B
          ADD    RA          PLUS REFERENCE ADDRESS DIVIDED BY 100B 
          SHN    18-18+6     MULTIPLY BY 100B 
          UJK    ARAX        RETURN 
  
 ARA.2    SHN    18-6        REPOSITION TO RESULT DIVIDED BY 100B 
          ADD    FL          ADD BACK FIELD LENGTH DIVIDED BY 100B
          SHN    18-18+6     MULTIPLY BY 100B 
          STD    T5+1        STORE LOW-ORDER OF CALLING VALUE 
          SHN    -12         POSITION HIGH-ORDER OF CALLING VALUE 
          STD    T5          STORE HIGH-ORDER OF CALLING VALUE
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    FLSW        DELTA FOR CONTROL POINT FIELD LENGTH WORD
          CRD    T0          READ CONTROL POINT FIELD LENGTH WORD 
          LDD    T0+4        LOAD CONTROL POINT FIELD LENGTH
          LMD    FL          LESS PREVIOUS FIELD LENGTH VALUE 
          ZJN    ARA.3       EXIT IF NO CHANGE IN FIELD LENGTH
          LDD    T0+4        LOAD NEW FIELD LENGTH VALUE
          STD    FL          STORE NEW FIELD LENGTH VALUE 
          LDD    T5          LOAD HIGH-ORDER OF CALLING VALUE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T5+1        PLUS LOW-ORDER OF CALLING VALUE
          UJK    ARA.1       EXIT TO TEST CALLING VALUE AGAIN 
  
 ARA.3    LDC    AOR         LOAD ADDRESS OF ADDRESS ERROR MESSAGE
  
 ARA.4    LINK               ENTRY
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          LDN    ABTM        MONITOR FUNCTION TO ABORT CONTROL POINT
          EXIT   INFL.3      EXIT TO ABORT CONTROL POINT
 ERRORMSG SPACE  2,6
*                ERROR MESSAGES.
  
  
 AOR      DATA   L$PIP - ADDRESS OUT OF RANGE.$ 
          DATA   0
 CPE      DATA   L$PIP - CONTROL POINT ERROR.$
          DATA   0
 SEE      DATA   L$PIP - ERROR IN EST SCAN.$
          DATA   0
 ESE      DATA   L$PIP - NO EQUIPMENT IN EST.$
          DATA   0
 BTS      DATA   L$PIP - NAM TABLE AREA TOO SMALL.$ 
          DATA   0
 PSR      SPACE  2,34 
**               SUBROUTINE PSR.
* 
*                SUBROUTINE PSR CHECKS FOR A CONTROL POINT ERROR.  IF 
*                THE CONTROL POINT ERROR IS SET AN ERROR MESSAGE IS 
*         ISSUED AND THE DRIVER DROPS.  OTHERWISE A MONITOR FUNCTION
*         OF ZERO IS ISSUED, SO THAT PPR SUBROUTINE FTN WILL CHECK
*         WHETHER STORAGE MOVE IS REQUESTED FOR THIS CONTROL POINT. 
*         IF STORAGE MOVE IS REQUESTED, FTN WILL PAUSE TO ALLOW THE 
*         MOVE TO COMPLETE. 
* 
*                  ENTRY -
* 
*                    (CP) = CONTROL POINT ADDRESS.
* 
*                  EXIT - 
* 
*                    (RA) = UPDATED IF STORAGE MOVE DONE, 
*                    (FL) = UPDATED IF STORAGE MOVE DONE. 
* 
*                  CALLS -
* 
*                    DFM - ISSUE DAYFILE MESSAGE, 
*                    FTN - PROCESS MONITOR FUNCTION.
* 
*                  USES - 
* 
*                    T0-T0+4 = CONTROL POINT STATUS WORD, 
**                   T0-T0+4 = STORAGE MOVE REQUEST WORD. 
  
  
 PSR      SUBR               ENTRY/EXIT 
          LDD    CP          LOAD CONTROL POINT AREA ADDRESS
          ADN    STSW        DELTA FOR CONTROL POINT STATUS WORD
          CRD    T0          READ CONTROL POINT STATUS WORD 
          LDD    T0+1        LOAD CONTROL POINT ERROR FLAG
          ZJN    PSR.1       EXIT IF NO CONTROL POINT ERROR 
          LDC    CPE         LOAD ADDRESS OF ERROR MESSAGE
          RJM    DFM         EXIT TO ISSUE DAYFILE MESSAGE
          LDN    DPPM        FUNCTION TO DROP PPU 
          RJM    FTN         EXIT TO ISSUE MONITOR FUNCTION 
          EXIT   PPR         RETURN TO PPU RESIDENT 
  
 PSR.1    LDN    PRLM*0      PAUSE FOR STORAGE MOVE (IF NECESSARY)
          RJM    FTN         EXIT TO ISSUE MONITOR FUNCTION 
          UJK    PSRX        RETURN 
 INTA     SPACE  2,44 
**               SUBROUTINE INTA. 
* 
*                SUBROUTINE INTA INITIALIZES THE NETWORK BUFFER TABLES. 
*                THE NAM TABLE HEADER IS INITIALIZED FOR THE TABLES.
* 
*                  ENTRY -
* 
*                      (IR-IR+4) = PPU INPUT REGISTER IMAGE,
*                    (CBA-CBA+1) = CURRENT NAM TABLE ENTRY ADDRESS. 
* 
*                  EXIT - 
* 
*                    (CBA-CBA+1) = NEXT NAM TABLE ENTRY ADDRESS.
* 
*                  CALLS -
* 
*                    INPW - INITIALIZE NAM POINTER WORD,
*                    INTH - INITIALIZE NAM TABLE HEADER.
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    SFA - CALCULTE MANGAGE TABLE ADDRESS.
* 
*                  USES - 
* 
*                           T7 = EQUIPMENT SCAN TABLE ADDRESS,
*                      T1-T1+4 = EST POINTER WORD IMAGE,
*                         T1+0 = CURRENT EST ENTRY ORDINAL
*                         T1+2 = ENDING EST ORDINAL,
*                    T10-T10+4 = EST ENTRY IMAGE, 
*                           T6 = CURRENT EQUIPMENT SCAN TABLE ADDRESS,
*                           T5 = REQUESTED EQUIPMENT MNEMONIC,
*                         T1+3 = DRIVER ORDINAL,
*                           T1 = NETWORK BUFFER TABLE ENTRY COUNT,
*                         T1+3 = DRIVER DEFINED FLAG INDEX, 
**                          T1 = DRIVER INTERFACE TABLE ENTRY COUNT.
  
  
 INTA     SUBR               ENTRY/EXIT 
          LDD    IR+/NAM/C.PAD LOAD HIGH-ORDER OF PARAMETER ADDRESS 
          SHN    -6          POSITION MSS TYPE EQUIPMENT FLAG 
          ZJN    INTA.1      EXIT IF NORMAL EQUIPMENT SCAN
          LDN    MSSEST-NOREST DELTA FOR MSS EQUIPMENT SCAN 
  
 INTA.1   ADC    NOREST      PLUS NORMAL SCAN TABLE ADDRESS 
          STD    T7          STORE EQUIPMENT SCAN TABLE ADDRESS 
          LDN    ESTP        LOAD ADDRESS OF EST POINTER WORD 
          CRD    T1          READ EST POINTER WORD
          LDN    NOPE        LOAD NUMBER OF PSEUDO EST ENTRIES
          STD    T1+0        INITIALIZE CURRENT EST ORDINAL 
  
 INTA.2   SFA    EST,T1+0    CALCULATE ADDRESS OF NEXT EST ENTRY
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T10         READ NEXT EQUIPMENT DESCRIPTION WORD 
          LDD    T7          LOAD EQUIPMENT TABLE SCAN ADDRESS
          STD    T6          INITIALIZE EQUIPMENT TABLE SCAN ADDRESS
  
 INTA.3   LDI    T6          LOAD NEXT EQUIPMENT TYPE TO CHECK
          ZJN    INTA.5      EXIT IF END OF EQUIPMENT TYPE SCAN TABLE 
          STD    T5          STORE EQUIPMENT TYPE TO CHECK
          LDD    T10+3       LOAD EQUIPMENT TYPE BYTE FROM EST
          LPC    3777B       EXTRACT EQUIPMENT TYPE 
          LMD    T5          LESS REQUESTED EQUIPMENT TYPE MNEMONIC 
          ZJN    INTA.4      EXIT IF REQUESTED EQUIPMENT
          AOD    T6          INCREMENT EQUIPMENT TABLE SCAN ADDRESS 
          UJK    INTA.3      EXIT TO CHECK NEXT EQUIPMENT MNEMONIC
  
 INTA.4   SFA    EST,T1+0    ADDRESS OF EST ENTRY 
          ADK    EQAE        OFFSET FOR SECOND WORD OF EST ENTRY
          CRD    T10         READ SECOND WORD OF EST ENTRY
          LDD    T10+2       BYTE CONTAINING DRIVER ORDINAL 
          SHN    -9          POSITION DRIVER ORDINAL TO LOW-ORDER 
          LPN    7           EXTRACT DRIVER ORDINAL 
          ZJN    INTA.5      EXIT IF NO DRIVER ORDINAL SPECIFIED
          SBN    MAXDRV+1    LESS MAXIMUM VALUE FOR DRIVER ORDINAL
          PJN    INTA.5      EXIT IF NOT VALID DRIVER ORDINAL 
          AOM    EQPCNT      INCREMENT EQUIPMENT FOUND COUNT
  
 INTA.5   AOD    T1+0        INCREMENT CURRENT EST ORDINAL
          LMD    T1+2        LESS ENDING EST ORDINAL
          NJN    INTA.2      EXIT IF NOT END OF EST 
          LDM    EQPCNT      LOAD COUNT OF EQUIPEMENT FOUND 
          SBN    MAXEQP+1    LESS MAXIMUM EQUIPMENT COUNT 
          MJN    INTA.6      EXIT IF FOUND COUNT LESS EQUAL MAXIMUM 
          LCN    1           CONSTANT OF MINUS ONE
  
 INTA.6   ADN    MAXEQP+1    PLUS MAXIMUM EQUIPMENT COUNT 
          STM    NBTHDR+/NAM/C.NBTEC SET FREE TABLE ENTRY COUNT 
          STD    T1          STORE COUNT OF NETWORK BUFFER TABLE ENTRIES
  
 INTA.7   ZJN    INTA.8      EXIT IF ALL NETWORK TABLE ENTRIES COUNTED
          LDN    /NAM/L.NBTE LOAD LENGTH OF NETWORK BUFFER TABLE ENTRY
          RAM    NBTHDR+/NAM/C.BWD+1 INCREMENT BLOCK SIZE LENGTH
          SOD    T1          DECREMENT COUNT OF NETWORK TABLE ENTRIES 
          UJK    INTA.7      EXIT TO CHECK FOR ALL ENTRIES PROCESSED
  
 INTA.8   LDN    /NAM/W.NBTP OFFSET FOR NETWORK BUFFER TABLE POINTER
          RJM    INPW        EXIT TO INITIALIZE NAM POINTER WORD
          LDM    NBTHDR+/NAM/C.BWD+1 LENGTH OF NETWORK BUFFER TABLES
          RAD    CBA+1       INCREMENT LOW-ORDER CURRENT BUFFER ADDRESS 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    CBA         ADD TO HIGH-ORDER CURRENT BUFFER ADDRESS 
          LDC    NBTHDR      LOAD ADDRESS OF NAM TABLE HEADER 
          STD    T10         STORE ADDRESS OF NAM TABLE HEADER
          LDN    /NAM/L.BH   LOAD LENGTH OF NAM TABLE HEADER
          STD    T11         STORE LENGTH OF NAM TABLE HEADER 
          LDN    /NAM/Q.NBTID LOAD NAM TABLE ID 
          RJM    INTH        EXIT TO INITIALIZE NAM TABLE HEADER
          UJK    INTAX       RETURN 
 NBTHDR   SPACE  2,6
*                NETWORK BUFFER TABLE HEADER. 
  
  
 NBTHDR   CON    **          BLOCK ID 
          CON    /NAM/L.BH+** BLOCK SIZE
          CON    **          NUMBER OF FREE ENTRIES 
          CON    0,0
 STORAGE  SPACE  2,6
*                STORAGE AREA.
  
  
 EQPCNT   BSSZ   1           EQUIPMENT FOUND COUNT
 NOREST   SPACE  2,6
*                NORMAL EQUIPMENT TYPE SCAN TABLE.
  
  
 NOREST   BSS    0           NORMAL EQUIPMENT TYPE SCAN TABLE 
  
          CON    2RND        FRONT END TYPE MDI 
          CON    2RNP        FRONT END TYPE NPU 
          CON    0           TEMINATE EQUIPMENT TYPE SCAN TABLE 
 MSSEST   SPACE  2,6
*                MSS EQUIPMENT TYPE SCAN TABLE. 
  
  
 MSSEST   BSS    0           MSS EQUIPMENT TYPE SCAN TABLE
  
          CON    2RNQ        FRONT END TYPE MSS 
          CON    0           TERMINATE EQUIPMENT TYPE SCAN TABLE
 ICET     SPACE  2,46 
**               SUBROUTINE ICET. 
* 
*                SUBROUTINE ICET INITIALIZES THE NAM COUPLER EQUIPMENT
*                TABLE.  THE SYSTEM EQUIPMENT STATUS TABLE IS SCANNED 
*                AND AN ENTRY IS GENERATED IN THE COUPLER EQUIPMENT 
*                TABLE FOR EACH SPECIFIED FRONT END ENTRY IN THE
*                EQUIPMENT STATUS TABLE.  AFTER ALL EQUIPMENT ENTRIES 
*                ARE BUILT THE NAM POINTER WORD AND TABLE HEADER ARE
*                INITIALIZED. 
* 
*                  ENTRY -
* 
*                      (IR-IR+4) = PPU INPUT REGISTER IMAGE,
*                    (CBA-CBA+1) = CURRENT NAM TABLE ENTRY ADDRESS. 
* 
*                  ERROR EXITS -
* 
*                    ISSUE MESSAGE AND ABORT IF NO FRONT END EQUIPMENT. 
* 
*                  CALLS -
* 
*                    INPW - INITIALIZE NAM POINTER WORD,
*                    INTH - INITIALIZE NAM TABLE HEADER,
*                     ARA - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  SYSTEM MACRO CALLS - 
* 
*                    SFA - CALCULATE MANAGED TABLE ADDRESS. 
* 
*                  USES - 
* 
*                          T17 = EQUIPMENT SCAN TABLE ADDRESS,
*                      T0-T0+4 = EST POINTER WORD IMAGE,
*                           T5 = REQUESTED EQUIPMENT MNEMONIC,
*                          T15 = CURRENT EST ENTRY ORDINAL, 
*                          T16 = ENDING EST ORDINAL,
*                           T7 = EQUIPMENT FOUND COUNT, 
*                      T0-T0+4 = EST ENTRY IMAGE, 
*                           T6 = DRIVER ORDINAL,
**                   T10-T1O+4 = COUPLER EQUIPMENT TABLE ENTRY IMAGE. 
  
  
 ICET     SUBR               ENTRY/EXIT 
          LDD    IR+/NAM/C.PAD LOAD HIGH-ORDER OF PARAMETER ADDRESS 
          SHN    -6          POSITION MSS TYPE EQUIPMENT FLAG 
          ZJN    ICET.1      EXIT IF NORMAL EQUIPMENT SCAN
          LDN    MSSEST-NOREST DELTA FOR MSS EQUIPMENT SCAN 
  
 ICET.1   ADC    NOREST      PLUS NORMAL SCAN TABLE ADDRESS 
          STD    T17         STORE EQUIPMENT SCAN TABLE ADDRESS 
          LDN    /NAM/W.CETE LOAD LENGTH OF NAM TABLE HEADER
          RAD    CBA+1       ADD TO LOW-ORDER OF CURRENT BUFFER ADDRESS 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    CBA         ADD TO HIGH-ORDER OF CURRENT BUFFER ADDRESS
          LDN    ESTP        LOAD ADDRESS OF EST POINTER WORD 
          CRD    T0          READ EST POINTER WORD
          LDN    NOPE        LOAD NUMBER OF PSEUDO EST ENTRIES
          STD    T15         INITIALIZE CURRENT EST ORDINAL 
          LDD    T0+2        LOAD ENDING EST ORDINAL
          STD    T16         STORE ENDING EST ORDINAL 
          LDN    0           CONSTANT OF ZERO 
          STD    T7          INITIALIZE EQUIPMENT FOUNT COUNT 
  
 ICET.2   SFA    EST,T15     CALCULATE ADDRESS OF NEXT EST ENTRY
          ADK    EQDE        PLUS OFFSET FOR EQUIPMENT DESCRIPTION WORD 
          CRD    T0          READ NEXT EQUIPMENT DECRIPTION WORD
          ADK    EQAE        SECOND WORD OF EST ENTRY 
          CRD    T10         READ SECOND WORD OF EST ENTRY
          LDD    T10+2       BYTE CONTAINING DRIVER ORDINAL 
          SHN    -9          RIGHT JUSTIFY DRIVER ORDINAL 
          STD    T6          SAVE DRIVER ORDINAL
          LDD    T10+2       BYTE CONTAINING CDCNET TERMINAL NODE NO
          LPC    377B        EXTRACT CDCNET TERMINAL NODE NUMBER
          STM    ICET.10+1   CHANGE INSTRUCTION TO LDC TERMINAL NODE NO 
          LDD    T17         LOAD EQUIPMENT TABLE SCAN ADDRESS
          STD    T10         INITIALIZE EQUIPMENT TABLE SCAN ADDRESS
  
 ICET.3   LDI    T10         LOAD NEXT EQUIPMENT TYPE TO CHECK
          ZJN    ICET.4      EXIT IF END OF EQUIPMENT TYPE SCAN TABLE 
          STD    T5          STORE EQUIPMENT TYPE TO CHECK
          LDD    T0+3        LOAD EQUIPMENT TYPE BYTE FROM EST
          LPC    3777B       EXTRACT EQUIPMENT TYPE 
          LMD    T5          LESS REQUESTED EQUIPMENT TYPE MNEMONIC 
          ZJN    ICET.6      EXIT IF REQUESTED EQUIPMENT
          AOD    T10         INCREMENT EQUIPMENT TABLE SCAN ADDRESS 
          UJK    ICET.3      EXIT TO CHECK NEXT EQUIPMENT MNEMONIC
  
 ICET.4   AOD    T15         INCREMENT CURRENT EST ORDINAL
          LMD    T16         LESS ENDING EST ORDINAL
          NJN    ICET.2      EXIT IF NOT END OF EST 
          LDD    T7          LOAD EQUIPMENT FOUNT COUNT 
          NJN    ICET.5      EXIT IF EQUIPMENT FOUND
          LDC    ESE         LOAD ADDRESS OF EST ERROR MESSAGE
          EXIT   ARA.4       EXIT TO ISSUE ERROR MESSAGE
  
 ICET.5   STM    CETHDR+/NAM/C.CETEC STORE EQUIPMENT OFF ENTRY COUNT
          ADN    /NAM/W.CETE PLUS LENGTH OF NAM TABLE HEADER
          STM    CETHDR+/NAM/C.BWD+1 STORE NAM TABLE LENGTH 
          LDN    /NAM/W.CETP OFFSET FOR COUPLER EQUIPMENT TABLE POINTER 
          RJM    INPW        EXIT TO INITIALIZE NAM POINTER WORD
          LDC    CETHDR      LOAD ADDRESS OF NAM TABLE HEADER 
          STD    T10         STORE ADDRESS OF NAM TABLE HEADER
          LDN    /NAM/W.CETE LOAD LENGTH OF NAM TABLE HEADER
          STD    T11         STORE LENGTH OF NAM TABLE HEADER 
          LDN    /NAM/Q.CETID LOAD NAM TABLE ID 
          RJM    INTH        EXIT TO INITIALIZE NAM TABLE HEADER
          UJK    ICETX       RETURN 
  
 ICET.6   LDD    T6          DRIVER ORDINAL 
          NJN    ICET.8      EXIT IF DRIVER SPECIFIED 
  
 ICET.7   UJK    ICET.4      EXIT TO CHECK FOR END OF EST 
  
 ICET.8   SBN    MAXDRV+1    MAXIMUM VALUE FOR DRIVER ORDINAL 
          PJN    ICET.7      EXIT IF NOT VALID DRIVER ORDINAL 
          LDD    T6          LOAD DRIVER ORDINAL
          STD    T10+/NAM/C.CETDOR  STORE DRIVER ORD IN CET ENTRY 
          LDD    T0+1        BYTE CONTAINING CHANNEL NO FROM EST ENTRY
          LPC    37B         EXTRACT CHANNEL NUMBER 
          SHN    /NAM/S.CETCH  POSITION CHANNEL NO TO CET ENTRY POSITION
          RAD    T10+/NAM/C.CETCH  STORE CHANNEL NO IN CET ENTRY
          LDD    T0+4        BYTE CONTAINING HOST NODE NO FROM EST ENTRY
          LPC    /NAM/L.CETHN  EXTRACT HOST NODE NUMBER 
          STD    T10+/NAM/C.CETHN  STORE HOST NODE NO IN CET ENTRY
          LDD    T0+4        LOAD EQUIPMENT NUMBER FROM EST 
          LPC    7000B       EXTRACT EQUIPMENT NUMBER 
          RAD    T10+/NAM/C.CETEN ADD TO DRIVER ORDINAL 
          LDD    T15         LOAD CURRENT EST ORDINAL 
          STD    T10+/NAM/C.CETEST STORE EST ORDINAL
          LDD    T0          EQUIPMENT STATUS BYTE
          LPN    3           EXTRACT EQUIPMENT STATUS 
          SBN    2           SUBTRACT STATUS VALUE FOR EQUIPMENT OFF
          ZJN    ICET.9      EXIT IF EQUIPMENT TURNED OFF 
          LDN    1           VALUE FOR INITIALLY ON FLAG
          SHN    /NAM/S.CETIO  POSITION INITIALLY ON FLAG FOR CET 
          RAD    T10+/NAM/C.CETEST ADD INITIALLY ON FLAG TO EST ORDINAL 
 ICET.9   BSS    0
          LDD    T0+3        LOAD EQUIPMENT TYPE FROM EST 
          LPC    3777B       EXTRACT EQUIPMENT TYPE 
          ADC    4000B       PLUS EQUIPMENT OFF FLAG
          STD    T10+/NAM/C.CETET STORE EQUIPMENT TYPE
          LMC    2RND+1S11   VALUE FOR OFF CDCNET EQUIPMENT 
          ZJN    ICET.10     EXIT IF CDCNET FRONT END 
          LDD    T0+0        BYTE CONTAINING SYSTEM AUTO-START MODULE 
                             (SAM) FLAG 
          SHN    -9          RIGHT JUSTIFY SAM FLAG 
          LPN    1           EXTRACT SAM FLAG 
          SHN    /NAM/S.CETSAM  POSITION FOR CET ENTRY
          STD    T10+/NAM/C.CETTN  STORE SAM FLAG IN CET ENTRY
          UJN    ICET.11     EXIT TO SKIP STORING TERMINAL NODE NO
  
 ICET.10  LDC    0           LDC TERMINAL NODE NO (INSTRUCTION CHANGED) 
          SHN    /NAM/S.CETTN  POSITION TERMINAL NODE TO CET ENTRY POS
          STD    T10+/NAM/C.CETTN  STORE TERMINAL NODE IN CET ENTRY 
 ICET.11  LDD    CBA         HIGH ORDER OF CURRENT BUFFER ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF CURRENT BUFFER ADDRESS 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         WRITE OUT COUPLER EQUIPMENT TABLE ENTRY
          AOD    CBA+1       INCREMENT LOW-ORDER OF CURRENT BUFFER ADDRESS
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    CBA         ADD TO HIGH-ORDER CURRENT BUFFER ADDRESS 
          AOD    T7          INCREMENT EQUIPMENT FOUND COUNT
          UJK    ICET.4      EXIT TO CHECK FOR END OF EST 
 CETHDR   SPACE  2,6
*                COUPLER EQUIPMENT TABLE HEADER.
  
  
 CETHDR   CON    **          BLOCK ID 
          CON    **          BLOCK SIZE 
          CON    **          NUMBER OF OFF ENTRIES
          CON    0,0
          CON    0,0,0,0
          CON    1           DRIVER COMPLETED FLAG
 PSDO     SPACE  2,36 
**               SUBROUTINE PSDO. 
* 
*                SUBROUTINE PSDO PRESETS THE DRIVER OVERLAY AREA IN 
*                THE FIELD LENGTH OF NAM BY COPYING THE TRANSIENT 
*                DRIVER OVERLAYS TO THE DRIVER OVERLAY AREA.  THE 
*                OVERLAY POINTER WORDS USED TO LOCATE THE OVERLAYS
*                ARE INITIALIZED AND ARE STORED AT THE BEGINNING OF 
*                THE DRIVER OVERLAY AREA.  THE POINTER WORD TO THE
*                OVERLAY POINTER WORDS IS INITIALIZED.
* 
*                  ENTRY -
* 
*                    (CBA-CBA+1) = CURRENT NAM TABLE ENTRY ADDRESS, 
*                    (LBA-LBA+1) = LAST AVAILABLE TABLE POSITION, 
*                           (CP) = CONTROL POINT AREA ADDRESS,
*                           (IA) = PPU INPUT REGISTER ADDRESS.
* 
*                  ERROR EXITS -
* 
*                    ISSUE MESSAGE AND ABORT IF TABLE SPACE TOO SMALL.
* 
*                CALLS -
* 
*                     ARA - FORM ABSOLUTE CENTRAL ADDRESS,
*                    LCDO - LOAD CENTRAL DRIVER OVERLAY,
*                    INTH - INITIALIZE NAM TABLE HEADER.
* 
*                  USES - 
* 
*                    T10-T10+4 = OVERLAY AREA POINTER WORD, 
**                         OTI = DRIVER OVERLAY NAME TABLE INDEX. 
  
  
 PSDO     SUBR               ENTRY/EXIT 
          LDD    CBA         LOAD HIGH-ORDER OF CURRENT BUFFER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF CURRENT BUFFER ADDRESS 
          ADN    /NAM/L.BH   PLUS LENGTH OF NAM BLOCK HEADER
          ADN    N.COV       PLUS NUMBER OF OVERLAY POINTER WORDS 
          ADC    L.COA+1     PLUS LENGTH OF OVERLAY TABLE AREA
          SBD    LBA+1       LESS LOW-ORDER OF LAST AVAILABLE ADDRESS 
          SHN    -12         POSITION HIGH-ORDER OF RESULT
          SBD    LBA         LESS HIGH-ORDER OF LAST AVAILABLE ADDRESS
          MJN    PSDO.1      EXIT IF SPACE FOR DRIVER OVERLAYS
          LDC    BTS         LOAD ADDRESS OF BUFFER ERROR MESSAGE 
          EXIT   ARA.4       EXIT TO ISSUE ERROR MESSAGE
  
 PSDO.1   LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         ZERO OVERLAY POINTER WORD IMAGE
          LDN    /NAM/L.BH   LOAD LENGTH OF NAM BLOCK HEADER
          RAD    CBA+1       ADD TO LOW-ORDER OF CURRENT BUFFER ADDRESS 
          STD    T10+/NAM/C.DPT+1 STORE LOW-ORDER OF FIRST POINTER
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    CBA         ADD TO HIGH-ORDER OF CURRENT BUFFER ADDRESS
          STD    T10+/NAM/C.DPT STORE HIGH-ORDER OF FIRST POINTER 
          LDN    /NAM/W.DOVA LOAD ADDRESS OF OVERLAY POINTER WORD 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         WRITE OUT OVERLAY AREA POINTER WORD
          LDN    N.COV       LOAD NUMBER OF DRIVER CENTRAL OVERLAYS 
          RAD    CBA+1       ADD TO LOW-ORDER OF CURRENT BUFFER ADDRESS 
          SHN    -12         POSITION POSSIBLE CARRY
          RAD    CBA         ADD TO HIGH-ORDER OF CURRENT BUFFER ADDRESS
          LDD    CP          LOAD CONTROL POINT ADDRESS 
          SHN    -7          POSITION TO FORM CONTROL POINT NUMBER
          RAM    OLDR+1      ADD TO OVERLAY CALL IMAGE
          LDD    IA          LOAD THIS PPU INPUT REGISTER ADDRESS 
          STM    OLDR+2      STORE INTO OVERLAY CALL IMAGE
          LDN    0           CONSTANT OF ZERO 
          STD    T15         INITIALIZE TABLE TEXT INDEX
          STD    OTI         INITIALIZE OVERLAY NAME TABLE INDEX
          LDC    OVBUF+1*5   DELTA TO BYPASS HEADER FOR TABLE OVERLAY 
          STD    T17         INITIALIZE SOURCE TEXT ADDRESS 
          LDC    TBLBUF      LOAD ADDRESS OF TEXT TEXT BUFFER 
          STM    WOT.LDA+1   STORE TEXT BUFFER ADDRESS
          LDC    LTOV        LOAD ADDRESS OF TABLE TEXT PROCESSOR 
  
 PSDO.2   STM    LCDO.OTP+1  STORE ADDRESS OF OVERLAY TEXT PROCESSOR
          LDM    ONT,OTI     LOAD HIGH-ORDER OF NEXT DRIVER OVERLAY NAME
          ZJN    PSDO.3      EXIT IF ALL OVERLAYS PROCESSED 
          LDD    CBA         LOAD HIGH-ORDER OF OVERLAY ADDRESS 
          STM    ONT+/NAM/C.DOAOA,OTI STORE HIGH-ORDER OF ADDRESS 
          LDD    CBA+1       LOAD LOW-ORDER OF OVERLAY ADDRESS
          STM    ONT+/NAM/C.DOAOA+1,OTI STORE LOW-ORDER OF ADDRESS
          LDM    ONT+1,OTI   LOAD LOW-ORDER OF OVERLAY NAME 
          SHN    6           POSITION LOW-ORDER OF OVERLAY NAME 
          ADM    ONT,OTI     PLUS HIGH-ORDER OF OVERLAY NAME
          SHN    6           POSITION OVERLAY NAME
          RJM    LCDO        EXIT TO LOAD DRIVER CENTRAL OVERLAY
          LDN    5           CONSTANT OF FIVE 
          RAD    OTI         INCREMENT DRIVER OVERLAY NAME TABLE INDEX
          LDM    DDOC        LOAD COUNT OF DEVICE DEPENDENT OVERLAYS
          NJN    PSDO.4      EXIT IF LOADING DEVICE DEPENDENT OVERLAY 
          LDC    OVBUF       LOAD ADDRESS OF OVERLAY TEXT BUFFER
          STM    WOT.LDA+1   STORE TEXT BUFFER ADDRESS
          LDC    LDOV        LOAD ADDRESS OF OVERLAY TEXT PROCESSOR 
          UJK    PSDO.2      EXIT TO STORE ADDRESS OF TEXT PROCESSOR
  
 PSDO.3   LDC    DOAHDR      LOAD ADDRESS OF NAM TABLE HEADER 
          STD    T10         STORE ADDRESS OF NAM TABLE HEADER
          LDN    L.DOAHDR    LOAD LENGTH OF NAM TABLE HEADER
          STD    T11         STORE LENGTH OF NAM TABLE HEADER 
          LDN    /NAM/Q.DOAID LOAD NAM TABLE ID 
          RJM    INTH        EXIT TO INITIALIZE NAM TABLE HEADER
          UJK    PSDOX       RETURN 
  
 PSDO.4   SOM    DDOC        DECREMENT COUNT OF DEVICE OVERLAYS TO LOAD 
          LDC    OVBUF+1*5   DELTA TO BYPASS HEADER FOR DEVICE OVERLAY
          STM    WOT.LDA+1   STORE TEXT BUFFER ADDRESS
          LDC    LDDO        ADDRESS OF DEVICE OVERLAY TEXT PROCESSOR 
          UJK    PSDO.2      EXIT TO STORE ADDRESS OF TEXT PROCESSOR
 DDOC     SPACE  2,6
*                DEVICE DEPENDENT OVERLAY COUNT.
  
  
 DDOC     CON    1+#1IP-#1IL COUNT OF DEVICE DEPENDENT OVERLAYS 
 DOAHDR   SPACE  2,12 
**               DRIVER OVERLAY AREA HEADER.
* 
*                THE DRIVER OVERLAY AREA HEADER CONTAINS THE NAM TABLE
*                HEADER IMAGE PLUS THE DRIVER OVERLAY NAME TABLE. 
*                THE DRIVER OVERLAY NAME TABLE IS USED TO IDENTIFY THE
*                DRIVER OVERLAYS THAT ARE LOADED INTO THE OVERLAY AREA
**               AND TO BUILD THE POINTER WORDS TO THE DRIVER OVERLAYS. 
  
  
 DOAHDR   CON    **          BLOCK ID 
  
 .1       SET    /NAM/L.BH
 .1       SET    .1+N.OPW+L.COA-1-#1IP+#1IL 
  
          CON    .1          BLOCK SIZE 
          CON    0,0,0
  
 ONT      BSS    0           OVERLAY NAME AND POINTER TABLE 
  
          "ONT" 
  
 .1       SET    *-DOAHDR 
 L.DOAHDR EQU    .1/5        CENTRAL LENGTH OF OVERLAY AREA HEADER
  
          CON    0           TERMINATE OVERLAY NAME TABLE 
 LCDO     SPACE  2,38 
**               SUBROUTINE LCDO. 
* 
*                SUBROUTINE LCDO LOADS DRIVER OVERLAYS BY CALLING THE 
*                PPU OVERLAY LOADER AND ACCEPTING THE OVERLAY TEXT
*                THROUGH THE PPU MESSAGE BUFFER.  THE DRIVER OVERLAY
*                TEXT PROCESSOR IS CALLED AFTER EACH TRANSFER TO DISPOSE
*                OF THE OVERLAY TEXT. 
* 
*                  ENTRY -
* 
*                             (A) = OVERLAY NAME, 
*                            (IA) = PPU INPUT REGISTER ADDRESS, 
*                            (MA) = PPU MESSAGE BUFFER ADDRESS, 
*                       (ZR-ZR+4) = CENTRAL WORD OF ZERO, 
*                    (LCDO.OTP+1) = ADDRESS OF OVERLAY TEXT PROCESSOR.
* 
*                  CALLS -
* 
*                    FTN - REQUEST PPU PROGRAM, 
*                    PSR - PAUSE FOR STORAGE RELOCATION.
* 
*                  PROCESSOR CALLS -
* 
*                    DRIVER OVERLAY TEXT PROCESSOR. 
* 
*                  USES - 
* 
*                          LIR = ADDRESS OF LOADER PPU INPUT REGISTER,
*                    T10-T10+4 = LOADER PPU INPUT REGISTER, 
*                    T10-T10+4 = LOADER PPU OUTPUT REGISTER,
*                    T10-T10+4 = THIS PPU OUTPUT REGISTER,
**                          T1 = CENTRAL WORD COUNT.
  
  
 LCDO     SUBR               ENTRY/EXIT 
          STM    OLDR+3+1    STORE LOW-ORDER OF OVERLAY NAME
          SHN    -12         POSITTION HIGH-ORDER OF OVERLAY NAME 
          STM    OLDR+3      STORE HIGH-ORDER OF OVERLAY NAME 
          LDD    MA          LOAD ADDRESS OF THIS PPU MESSAGE BUFFER
          CWM    OLDR,ON     WRITE OUT LOADER CALL IMAGE
  
 LCDO.1   RJM    PSR         EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    1           SET PRIORITY AND NO DROP OPTION
          STD    T10+1       SET NO DROP OPTION 
          LDK    RPPM        LOAD MONITOR FUNCTION TO REQUEST PPU 
          RJM    FTN         EXIT TO REQUEST LOADER PPU 
          LDD    T10+1       LOAD REPLY BYTE
          ZJN    LCDO.1      EXIT IF PPU NOT AVAILABLE
          STD    LIR         STORE ADDRESS OF LOADER PPU INPUT REGISTER 
  
 LCDO.2   RJM    PSR         EXIT TO PAUSE FOR STORAGE RELOCATION 
          LDN    77B         LOAD DELAY COUNT 
          SBN    1           DECREMENT DELAY COUNT
          NJN    *-1         LOOP IF DELAY NOT EXPIRED
          LDD    LIR         LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          CRD    T10         READ LOADER PPU INPUT REGISTER 
          LDD    T10+1       LOAD CONTROL POINT BYTE FROM LOADER
          LMM    OLDR+1      LESS VALUE FOR LOADER PPU
          NJN    LCDO.1      EXIT IF LOADER TIMED OUT 
          LDD    T10+2       LOAD LOADER STATUS BYTE
          LMC    7777B       LESS READY VALUE 
          NJN    LCDO.2      EXIT IF LOADER NOT READY 
  
 LCDO.2A  STD    T10+2       SET REPLY TO READY STATUS
          LDD    OA          LOAD ADDRESS OF THIS PPU OUTPUT REGISTER 
          CWD    ZR          SET READY FOR DATA 
          LDD    LIR         LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          CWD    T10         REWRITE LOADER PPU INPUT REGISTER
  
 LCDO.3   LDD    LIR         LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          ADN    1           PLUS ONE FOR LOADER OUTPUT REGISTER
          CRD    T10         READ LOAD OUTPUT REGISTER
          LDD    T10         LOAD LOADER PPU REQUEST BYTE 
          LMN    DSWM        LESS VALUE FOR DRIVER SEEK WAIT
          ZJN    LCDO.2      EXIT IF LOADER PAUSING 
          LMN    DSWM&PRLM   CHECK FOR LOADER PPU PAUSING 
          ZJN    LCDO.2      EXIT IF LOADER PAUSING 
          LDD    LIR         LOAD ADDRESS OF LOADER PPU INPUT REGISTER
          CRD    T10         READ LOAD PPU INPUT REGISTER 
          LDD    T10+2       LOAD LOADER STATUS BYTE
          LMC    7777B       CHECK FOR TRANSFER RESYNCHRONISATION 
          ZJN    LCDO.2A     EXIT IF TRANSFER RESYNCHRONISED
  
 LCDO.4   LDN    77B         LOAD DELAY COUNT 
          SBN    1           DECREMENT DELAY COUNT
          NJN    *-1         LOOP IF DELAY NOT EXPIRED
  
 LCDO.5   LDD    OA          LOAD ADDRESS OF THIS OUTPUT REGISTER 
          CRD    T10         READ THIS PPU OUTPUT REGISTER
          LDD    T10+4       LOAD CENTRAL WORD COUNT BYTE 
          ZJN    LCDO.3      EXIT IF LOADER NOT READY 
          LPN    77B         EXTRACT CENTRAL WORD COUNT 
          STD    T1          STORE CENTEAL WORD COUNT 
          ZJN    LCDO.6      EXIT IF END OF OVERLAY 
          LDD    MA          LOAD ADDRESS OF THIS PPU MESSAGE BUFFER
          CRM    OVBUF,T1    READ OVERLAY TEXT
          LDD    OA          LOAD ADDRESS OF THIS PPU OUTPUT REGISTER 
          CWD    ZR          SET DATA ACCEPTED
  
 LCDO.6   LDD    T1          LOAD CENTRAL WORD COUNT
  
 LCDO.OTP RJM    **          EXIT TO OVERLAY TEXT PROCESSOR 
          NJN    LCDO.5      EXIT IF NOT END OF LOAD
          UJK    LCDOX       RETURN 
 OLDR     SPACE  2,6
*                OVERLAY LOADER CALL IMAGE. 
  
  
 OLDR     VFD    18/OV.1DL
          VFD    6/**        CONTROL POINT NUMBER 
          VFD    12/**       THIS PPU INPUT REGISTER
          VFD    6/0
          VFD    18/**       OVERLAY NAME TO BE LOADED
 WOT      SPACE  2,22 
**               SUBROUTINE WOT.
* 
*                SUBROUTINE WOT WRITES OVERLAY TEXT TO CENTRAL MEMORY.
* 
*                  ENTRY -
* 
*                            (A) = CENTRAL WORD COUNT,
*                    (CBA-CBA+1) = CURRENT CENTRAL ADDRESS, 
*                    (WOT.LDA+1) = OVERLAY TEXT BUFFER ADDRESS. 
* 
*                  EXIT - 
* 
*                    (CBA-CBA+1) = UPDATED FOR NEXT CENTRAL ADDRESS.
* 
*                  CALLS -
* 
**                   ARA - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 WOT      SUBR               ENTRY/EXIT 
          STD    T7          STORE CENTRAL WORD COUNT 
          LDD    CBA         LOAD HIGH-ORDER OF CENTRAL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    CBA+1       PLUS LOW-ORDER OF CENTRAL ADDRESS
          ADD    T7          PLUS CENTRAL WORD COUNT
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T7          LESS CENTRAL WORD COUNT
  
 WOT.LDA  CWM    **,T7       WRITE OUT OVERLAY TEXT TO CENTRAL MEMORY 
          LDD    T7          LOAD CENTRAL WORD COUNT
          RAD    CBA+1       ADD TO LOW-ORDER OF CENTRAL ADDRESS
          SHN    -12         POSITION CARRY 
          RAD    CBA         ADD TO HIGH-ORDER OF CENTRAL ADDRESS 
          UJK    WOTX        RETURN 
 LTOV     TITLE  OVERLAY TEXT PROCESSORS. 
 LTOV     SPACE  2,32 
**               OVERLAY TEXT PROCESSOR LTOV. 
* 
*                OVERLAY TEXT PROCESSOR LTOV WRITES THE DRIVER CONTROL
*                TABLE TEXT TO CENTRAL MEMORY.  THE DRIVER CONTROL TABLE
*                TEXT IS WRITTEN FOUR BYTES PER CENTRAL MEMORY WORD.
* 
*                  ENTRY -
* 
*                               (A) = CENTRAL WORD COUNT OF TEXT, 
*                             (T17) = SOURCE TEXT ADDRESS,
*                             (T15) = TABLE TEXT INDEX, 
*                    (TBLBUF+(T15)) = RESIDUAL TABLE TEXT.
* 
*                  EXIT - 
* 
*                               (A) = ZERO IF END OF OVERLAY, 
*                             (T17) = RESET FOR SOURCE TEXT ADDRESS,
*                             (T15) = TABLE TEXT INDEX, 
*                    (TBLBUF+(T15)) = RESIDUAL TABLE TEXT.
* 
*                  CALLS -
* 
*                    WOT - WRITE OVERLAY TABLE TO CENTRAL MEMORY. 
* 
*                  USES - 
* 
**                   T16 = ENDING SOURCE TEXT ADDRESS.
  
  
 LTOV     SUBR               ENTRY/EXIT 
          NJN    LTOV.0      EXIT IF NOT END OF OVERLAY TEXT
          LDD    T15         LOAD OVERLAY TEXT INDEX
          ZJN    LTOVX       RETURN IF NO RESIDUAL TABLE DATA 
          LJM    LTOV.4      EXIT TO PROCESS RESIDUAL TABLE DATA
  
 LTOV.0   STD    T16         STORE CENTRAL WORD COUNT OF TEXT 
          SHN    2           CENTRAL WORD COUNT TIMES FOUR
          ADD    T16         CENTRAL WORD COUNT TIMES FIVE
          ADC    OVBUF       PLUS FWA OF OVERLAY TEXT BUFFER
          STD    T16         STORE ENDING OVERLAY TEXT ADDRESS
  
 LTOV.1   LDI    T17         LOAD NEXT OVERLAY TEXT BYTE
          STM    TBLBUF,T15  STORE NEXT OVERLAY TABLE BYTE
          AOD    T15         INCREMENT OVERLAY TABLE INDEX
          LMN    3+1         LESS ENDING VALUE
          NJN    LTOV.2      EXIT IF OVERLAY TABLE WORD NOT COMPLETED 
          STD    T15         RESET OVERLAY TABLE INDEX
          LDN    1           CONSTANT OF ONE
          RJM    WOT         EXIT TO WRITE OVERLAY TABLE TO CENTRAL 
          LDM    TBLBUF+/NAM/C.QUOT LOAD PREVIOUS QUOT AND DEFICIT
          LPN    /NAM/M.DEFC EXTRACT DEFICIT COUNT
          NJN    LTOV.1B     EXIT IF DEFICIT COUNT IS NON-ZERO
          LDN    15B         CONSTANT FOR QUOT AND DEFICIT
          RAM    TBLBUF+/NAM/C.QUOT BUMP QUOT AND INITIALIZE DEFICIT
  
 LTOV.1B  SOM    TBLBUF+/NAM/C.QUOT DECREMENT DEFICIT COUNT 
  
 LTOV.2   AOD    T17         INCREMENT OVERLAY TEXT ADDRESS 
          LMD    T16         LESS ENDING OVERLAY TEXT ADDRESS 
          NJN    LTOV.1      EXIT IF NOT END OF OVERLAY TEXT
          LDC    OVBUF       LOAD ADDRESS OF OVERLAY BUFFER 
          STD    T17         RESET OVERLAY TEXT ADDRESS 
          UJK    LTOVX       RETURN 
  
 LTOV.4   LDN    0           CONSTANT OF ZERO 
          STM    TBLBUF,T15  ZERO NEXT TABLE BYTE 
          AOD    T15         INCREMENT OVERLAY TABLE INDEX
          LMN    3+1         LESS ENDING VALUE
          NJN    LTOV.4      EXIT IF OVERLAY TABLE WORD NOT COMPLETED 
          LDN    1           CONSTANT OF ONE
          RJM    WOT         EXIT TO WRITE OVERLAY TABLE TO CENTRAL 
          LDN    0           CONSTANT OF ZERO 
          UJK    LTOVX       RETURN 
 LDDO     SPACE  2,22 
**               OVERLAY TEXT PROCESSOR LDDO. 
* 
*                OVERLAY TEXT PROCESSOR LDDO WRITES THE FIRST PORTION 
*                OF THE DEVICE DEPENDENT OVERLAY TO CENTRAL MEMORY
*                BYPASSING THE HEADER WORD.  AFTER THE FIRST PORTION OF 
*                THE DEVICE DEPENDENT OVERLAY IS WRITTEN THE TRANSIENT
*                OVERLAY TEXT PROCESSOR IS USED TO WRITE THE REMAINDER
*                OF THE DEVICE DEPENDENT OVERLAY TO CENTRAL MEMORY. 
* 
*                  ENTRY -
* 
*                    (A) = CENTRAL WORD COUNT OF TEXT.
* 
*                  CALLS -
* 
**                   WOT - WRITE OVERLAY TEXT TO CENTRAL MEMORY.
  
  
 LDDO     SUBR               ENTRY/EXIT 
          SBN    1           LESS ONE FOR HEADER WORD 
          RJM    WOT         EXIT TO WRITE OVERLAY TEXT TO CENTRAL
          LDC    OVBUF       LOAD ADDRESS OF OVERLAY TEXT BUFFER
          STM    WOT.LDA+1   STORE TEXT BUFFER ADDRESS
          LDC    LDOV        LOAD ADDRESS OF OVERLAY TEXT PROCESSOR 
          STM    LCDO.OTP+1  STORE ADDRESS OF OVERLAY TEXT PROCESSOR
          UJK    LDDOX       RETURN 
 LDOV     SPACE  2,22 
**               OVERLAY TEXT PROCESSOR LDOV. 
* 
*                OVERLAY TEXT PROCESSOR LDOV WRITES THE DRIVER
*                TRANSIENT OVERLAY TEXT TO CENTRAL MEMORY.
* 
*                  ENTRY -
* 
*                    (A) = CENTRAL WORD COUNT OF TEXT.
* 
*                  EXIT - 
* 
*                    (A) = ZERO IF END OF OVERLAY.
* 
*                  CALLS -
* 
**                   WOT - WRITE OVERLAY TEXT TO CENTRAL MEMORY.
  
  
 LDOV     SUBR               ENTRY/EXIT 
          ZJN    LDOVX       RETURN IF END OF OVERLAY 
          RJM    WOT         EXIT TO WRITE OVERLAY TEXT TO CENTRAL
          LDN    1           CONSTANT OF ONE
          UJK    LDOVX       RETURN 
 INPW     TITLE  INITIALIZATION SUBROUTINES.
 INPW     SPACE  2,24 
**               SUBROUTINE INPW. 
* 
*                SUBROUTINE INPW WRITES THE SPECIFIED NAM 
*                POINTER WORD TO THE NAM POINTER WORD TABLE.
* 
*                  ENTRY -
* 
*                            (A) = POINTER WORD OFFSET, 
*                    (FBA-FBA+1) = TABLE HEADER ADDRESS.
* 
*                  CALLS -
* 
*                    ARA - FORM ABSOLUTE CENTRAL ADDRESS. 
* 
*                  USES - 
* 
*                          T15 = POINTER WORD OFFSET, 
*                    T10-T10+4 = POINTER WORD IMAGE,
**                     T0-T0+4 = NAM POINTER TABLE ADDRESS WORD.
  
  
 INPW     SUBR               ENTRY/EXIT 
          STD    T15         STORE POINTER WORD OFFSET
          LDN    ZERL        LOAD ADDRESS OF ZERO WORD
          CRD    T10         ZERO POINTER WORD IMAGE
          LDD    FBA         LOAD HIGH-ORDER OF TABLE HEADER ADDRESS
          STD    T10+/NAM/C.DPT STORE HIGH-ORDER OF TABLE POINTER 
          LDD    FBA+1       LOAD LOW-ORDER OF TABLE HEADER ADDRESS 
          STD    T10+/NAM/C.DPT+1 STORE LOW-ORDER OF TABLE POINTER
          LDN    /NAM/W.NPTA LOAD ADDRESS OF NAM POINTER TABLE ADDRESS
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T0          READ NAM POINTER TABLE ADDRESS WORD
          LDD    T0+/NAM/C.DPT LOAD HIGH-ORDER OF POINTER TABLE ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T0+/NAM/C.DPT+1 PLUS LOW-ORDER OF POINTER TABLE ADDRESS
          ADD    T15         PLUS POINTER WORD OFFSET 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CWD    T10         WRITE OUT NAM POINTER WORD 
          UJK    INPWX       RETURN 
 INTH     SPACE  2,32 
**               SUBROUTINE INTH. 
* 
*                SUBROUTINE INTH INITIALIZES THE NAM TABLE HEADER FOR 
*                THE NAM TABLE CURRENTLY BEING BUILT AND UPDATES THE
*                CURRENT BUFFER ADDRESS FOR THE NEXT TABLE. 
* 
*                  ENTRY -
* 
*                            (A) = NAM TABLE ID,
*                          (T10) = ADDRESS OF NAM TABLE HEADER IMAGE, 
*                          (T11) = LENGTH OF NAM TABLE HEADER IMAGE,
*                    (FBA-FBA+1) = ADDRESS OF CURRENT TABLE HEADER, 
*                    (CBA-CBA+1) = ADDRESS OF NEXT AVAILABLE POSITION,
*                    (LBA-LBA+1) = LAST AAVAILABLE TABLE POSITION.
* 
*                  EXIT - 
* 
*                    (FBA-FBA+1) = ADDRESS FOR NEXT TABLE HEADER. 
* 
*                  ERROR EXITS -
* 
*                    ISSUE MESSAGE AND ABORT IF TABLE SPACE EXHAUSTED.
* 
*                  CALLS -
* 
**                   ARA - FORM ABSOLUTE CENTRAL ADDRESS. 
  
  
 INTH     SUBR               ENTRY/EXIT 
          SHN    /NAM/S.BID  POSITION NAM BLOCK HEADER ID 
          RAI    T10         ADD TO NAM TABLE HEADER WORD 
          LDD    T10         LOAD NAM TABLE HEADER ADDRESS
          STM    INTH.CW+1   STORE INTO WRITE INSTRUCTION 
          LDD    FBA         LOAD HIGH-ORDER OF TABLE HEADER ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    FBA+1       PLUS LOW-ORDER OF TABLE HEADER ADDRESS 
          ADD    T11         PLUS TABLE HEADER LENGTH 
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          SBD    T11         LESS TABLE HEADER LENGTH 
  
 INTH.CW  CWM    **,T11      WRITE OUT NAM TABLE HEADER 
          LDD    CBA         LOAD HIGH-ORDER CURRENT BUFFER ADDRESS 
          STD    FBA         STORE HIGH-ORDER OF NEXT TABLE HEADER
          LDD    CBA+1       LOAD LOW-ORDER OF CURRENT BUFFER ADDRESS 
          STD    FBA+1       STORE LOW-ORDER OF NEXT BUFFER ADDRESS 
          LDD    LBA         LOAD HIGH-ORDER OF LAST AVAILABLE ADDRESS
          SBD    FBA         LESS HIGH-ORDER OF NEXT TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    LBA+1       PLUS LOW-ORDER OF LAST AVAILABLE ADDRESS 
          SBD    FBA+1       LESS LOW-ORDER OF NEXT TABLE ADDRESS 
          PJN    INTHX       RETURN IF BUFFER NOT EXHAUSTED 
          LDC    BTS         LOAD ADDRESS OF BUFFER ERROR MESSAGE 
          EXIT   ARA.4       EXIT TO ISSUE ERROR MESSAGE
 MDTT     SPACE  2,26 
**               SUBROUTINE MDTT. 
* 
*                SUBROUTINE MDTT MODIFIES THE DRIVER ASCII TRANSLATION
*                TABLE IN THE TRANSIENT DRIVER OVERLAY THAT CONTAINS
*                THE TABLE. 
* 
*                  ENTRY -
* 
*                              (A) = TABLE OFFSET OF NEW CHARACTER, 
*                    (TTOA-TTOA+1) = CENTRAL ADDRESS OF OVERLAY,
*                            (T15) = NEW ASCII CHARACTER VALUE. 
* 
*                  CALLS -
* 
*                    DVBF - DIVIDE BY FIVE, 
*                     ARA - FORM ABSOLUTE CENTRAL ADDRESS.
* 
*                  USES - 
* 
*                    T10-T10+4 = TRANSLATION TABLE WORD,
**                     T6-T6+1 = CENTRAL ADDRESS OF TABLE WORD. 
  
  
 MDTT     SUBR               ENTRY/EXIT 
          ADC    ASCII-OL.TRANS PLUS OFFSET FOR TRANSLATION TABLE ENTRY 
          RJM    DVBF        EXIT TO DIVIDE BY FIVE 
          LDM    ONT+TTOA    LOAD HIGH-ORDER OF OVERLAY CENTRAL ADDRESS 
          SHN    12          POSITION TO HIGH-ORDER 
          ADM    ONT+TTOA+1  PLUS LOW-ORDER OF OVERLAY CENTRAL ADDRESS
          ADD    T16         PLUS CENTRAL MEMORY WORD OFFSET
          RJM    ARA         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ CENTRAL MEMORY WORD OF TABLE
          STD    T6+1        STORE LOW-ORDER OF CENTRAL MEMORY ADDRESS
          SHN    -12         POSITION HIGH-ORDER OF ADDRESS 
          STD    T6          STORE HIGH-ORDER OF CENTRAL MEMORY ADDRESS 
          LDM    T10,T17     LOAD TRANSLATION TABLE BYTE
          LPC    7777B&0#FF  RESET ASCII CHARACTER
          ADD    T15         PLUS NEW ASCII CHRACTER VALUE
          STM    T10,T17     STORE TRANSLATION TABLE BYTE 
          LDD    T6          LOAD HIGH-ORDER OF CENTRAL MEMORY ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T6+1        PLUS LOW-ORDER OF CENTRAL MEMORY ADDRESS 
          CWD    T10         REWRITE CENTRAL WORD TO TRANSLATION TABLE
          UJK    MDTTX       RETURN 
 DVBF     SPACE  2,18 
**               SUBROUTINE DVBF. 
* 
*                SUBROUTINE DVBF DIVIDES THE CALLING VALUE BY FIVE
*                AND RETURNS BOTH THE QUOTIENT AND THE REMAINDER. 
* 
*                  ENTRY -
* 
*                    (A) = DIVIDEND.
* 
*                  EXIT - 
* 
*                    (T16) = QUOTIENT,
**                   (T17) = REMAINDER. 
  
  
 DVBF     SUBR               ENTRY/EXIT 
          STD    T17         STORE DIVIDEND 
          LDN    0           CONSTANT OF ZERO 
          STD    T16         INITIALIZE QUOTIENT
  
 DVBF.1   LCN    5           CONSTANT OF MINUS FIVE 
          RAD    T17         DECREMENT DIVIDEND 
          MJN    DVBF.2      EXIT IF DIVIDE COMPLETED 
          AOD    T16         INCREMENT QUOTIENT 
          UJK    DVBF.1      EXIT TO DECREMENT DIVIDEND 
  
 DVBF.2   ADN    5           RESTORE REMAINDER
          STD    T17         STORE REMAINDER
          UJK    DVBFX       RETURN 
 TBLBUF   TITLE  OVERLAY TEXT BUFFERS.
 TBLBUF   SPACE  2,6
*                OVERLAY TEXT BUFFERS.
  
  
 TBLBUF   BSSZ   1*5         TABLE TEXT BUFFER
 OVBUF    BSS    6*5         OVERLAY TEXT BUFFER
  
          QUAL
 .2IN     EQU    *           DEFINE LAST WORD ADDRESS OF 2IN
          ERRNG  7772B-*     TEST FOR PPU MEMORY OVERFLOW 
          TTL    3IN - "VERSION" DRIVER INITIALIZATION. 
 3IN      TITLE  INITIALIZATION PROCESSORS. 
          IDENT  3IN,OF.MINT PRESET MAIN DRIVER 
          ORG    OF.MINT
          QUAL   INIT 
  
  
          COMMENT 3IN/PIP - "VERSION" PRESET MAIN DRIVER. 
  
          COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. 
 LINKS    SPACE  2,6
*                RESET LINKS. 
  
  
 .ERROR    SET   0
 PRSM     SPACE  2,10 
**               INITIALIZATION PROCESSOR PRSM. 
* 
*                INITIALIZATION PROCESSOR PRSM RETURNS TO 
**               CONTINUE THE MAIN DRIVER INITIALIZATION. 
  
  
 PRSM     SUBR               ENTRY/EXIT 
          UJK    PRSMX       RETURN 
 PRS      SPACE  2,28 
**               INITIALIZATION PROCESSOR PRS.
* 
*                INITIALIZATION PROCESSOR PRS PRESETS MAIN DRIVER 
*                MEMORY.  DIRECT CELLS, MEMORY LOCATIONS AND CONSTANT 
*                CENTRAL MEMORY OFFSETS USED BY THE DRIVER ARE
*                INITIALIZED.  THE OPERATING SYSTEM INTERFACE SUBROUTINE
*                IS INITIALIZED SO THAT THE PPU RESIDENT CAN BE 
*                OVERWRITEN BY THE DRIVER CONTROL TABLES. 
* 
*                  EXIT - 
* 
*                    MAIN DRIVER MEMORY PRESET. 
* 
*                  ERROR EXITS -
* 
*                    EXIT TO *ERROR* IF DRIVER TABLE POINTER ERROR, 
*                    EXIT TO *ERROR* IF DRIVER ORDINAL ERROR. 
* 
*                  CALLS -
* 
*                    TFL - FORM ABSOLUTE CENTRAL ADDRESS, 
**                   SCO - STORE CENTRAL MEMORY OFFSET. 
  
  
 PRS      SUBR               ENTRY/EXIT 
          LDN    /NAM/W.DOVA LOAD ADDRESS OF OVERLAY AREA POINTER WORD
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ OVERLAY AREA POINTER WORD 
          LDD    T10+/NAM/C.DPT LOAD HIGH-ORDER OF CENTRAL OFFSET 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 PLUS LOW-ORDER OF CENTRAL OFFSET
          NJN    PRS.2       EXIT IF CENTRAL OFFSET PRESENT 
  
 PRS.1    EREXIT NTP         EXIT TO ERROR - NO DRIVER TABLE POINTER
  
 PRS.2    STD    T1+1        STORE LOW-ORDER OF CENTRAL MEMORY OFFSET 
          SHN    -12         POSITION HIGH-ORDER OF CENTRAL OFFSET
          STD    T1          STORE HIGH-ORDER OF CENTRAL MEMORY OFFSET
          LDC    W.OVLP      LOAD ADDRESS OF INSTRUCTION LIST 
          RJM    SCO         EXIT TO STORE CENTRAL MEMORY OFFSET
          LCMA   W.OVLP      LOAD ADDRESS OF FIRST OVERLAY POINTER WORD 
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ TABLE OVERLAY POINTER WORD
          LDD    T10+/NAM/C.DOAOA LOAD HIGH-ORDER OF OVERLAY ADDRESS
          STD    T1          STORE HIGH-ORDER OF CENTRAL OFFSET 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DOAOA+1 PLUS LOW-ORDER OF OVERLAY ADDRESS 
          ZJN    PRS.1       EXIT TO ERROR IF NO OVERLAY POINTER
          STD    T1+1        STORE LOW-ORDER OF CENTRAL OFFSET
          LDC    W.CTLT      LOAD ADDRESS OF INSTRUCTION LIST 
          RJM    SCO         EXIT TO STORE CENTRAL MEMORY OFFSET
          LDN    /NAM/W.NPTA LOAD ADDRESS OF NAM POINTER TABLE POINTER
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ NAM POINTER TABLE POINTER WORD
          LDD    T10+/NAM/C.DPT LOAD HIGH-ORDER OF POINTER TABLE ADDRESS
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 PLUS LOW-ORDER OF POINTER TABLE ADDRESS 
          NJN    PRS.3       EXIT IF NAM POINTER TABLE POINTER
          UJK    PRS.1       EXIT TO ERROR - NO POINTER TABLE ADDRESS 
  
 PRS.3    ADN    /NAM/W.TNTP DELTA FOR TERMINAL NODE TABLE POINTER
          STD    T1+1        STORE LOW-ORDER OF CENTRAL MEMORY OFFSET 
          SHN    -12         POSITION HIGH-ORDER OF CENTRAL OFFSET
          STD    T1          STORE HIGH-ORDER OF CENTRAL MEMORY OFFSET
          LDC    W.TNTP      LOAD ADDRESS OF INSTRUCTION LIST 
          RJM    SCO         EXIT TO STORE CENTRAL MEMORY OFFSET
          LDD    PAD         LOAD HIGH-ORDER OF PARAMETER ADDRESS 
          STD    DIT         STORE HIGH-ORDER OF DRIVER INTERFACE TABLE 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    PAD+1       PLUS LOW-ORDER OF PARAMETER ADDRESS
          STD    DIT+1       STORE LOW-ORDER OF DRIVER INTERFACE TABLE
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ DRIVER INTERFACE TABLE HEADER WORD
          LDD    T10+/NAM/C.DITDOR LOAD DRIVER ORDINAL BYTE 
          NJN    PRS.5       EXIT IF POSSIBLE VALID DRIVER ORDINAL
  
 PRS.4    EREXIT DOE         EXIT TO ERROR - DRIVER ORDINAL ERROR 
  
 PRS.5    STM    DROR        STORE DRIVER ORDINAL 
          SBN    MAXDRV+1    LESS MAXIMUM VALID VALUE 
          PJN    PRS.4       EXIT IF INVALID DRIVER ORDINAL 
          LDN    /NAM/W.DITP LOAD ADDRESS OF INTERFACE TABLE POINTER
          RJM    TFL         EXIT TO FORM ABSOLUTE CENTRAL ADDRESS
          CRD    T10         READ INTERFACE TABLE POINTER WORD
          LDD    T10+/NAM/C.DPT LOAD HIGH-ORDER OF CENTRAL OFFSET 
          SHN    12          POSITION TO HIGH-ORDER 
          ADD    T10+/NAM/C.DPT+1 PLUS LOW-ORDER OF CENTRAL OFFSET
          NJN    PRS.6       EXIT IF CENTRAL OFFSET PRESENT 
          UJK    PRS.1       EXIT TO ERROR - NO INTERFACE TABLE POINTER 
  
 PRS.6    STD    T1+1        STORE LOW-ORDER OF CENTRAL MEMORY OFFSET 
          SHN    -12         POSITION HIGH-ORDER OF CENTRAL OFFSET
          STD    T1          STORE HIGH-ORDER OF CENTRAL MEMORY OFFSET
          LDC    W.PITP      LOAD ADDRESS OF INSTRUCTION LIST 
          RJM    SCO         EXIT TO STORE CENTRAL MEMORY OFFSET
          LDC    FETABLE     LOAD ADDRESS OF FRONT END TABLE
          STD    FEI         INITIALIZE FRONT END TABLE ADDRESS 
          LDN    0           CONSTANT OF ZERO 
          STD    PWO         INITIALIZE TABLE POINTER WORD OFFSET 
          LCN    1           CONSTANT OF MINUS ONE
          STM    FETP        SET NO DEVICE DEPENDENT OVERLAY LOADED 
          LDD    CP          LOAD CONTROL POINT NUMBER
          SHN    -7          POSITION TO FORM CONTROL POINT NUMBER
          RAM    CCIO+1      ADD TO CIO CALL IMAGE
          UJK    PRSX        RETURN 
 SCO      TITLE  INITIALIZATION SUBROUTINES.
 SCO      SPACE  2,20 
**               SUBROUTINE SCO.
* 
*                SUBROUTINE SCO STORES A CENTRAL MEMORY OFFSET INTO 
*                THE PPU INSTRUCTIONS SPECIFIED BY THE INSTRUCTION
*                ADDRESS LIST.
* 
*                  ENTRY -
* 
*                          (A) = ADDRESS OF INSTRUCTION ADDRESS LIST, 
*                    (T1-T1+1) = CENTRAL MEMORY OFFSET. 
* 
*                  USES - 
* 
*                    T0 = ADDRESS OF INSTRUCTION ADDRESS LIST,
**                   T3 = INSTRUCTION ADDRESS.
  
  
 SCO      SUBR               ENTRY/EXIT 
          STD    T0          STORE ADDRESS OF INSTRUCTION ADDRESS LIST
  
 SCO.1    LDI    T0          LOAD ADDRESS OF NEXT INSTRUCTION 
          ZJN    SCOX        RETURN IF END OF INSTRUCTION ADDRESS LIST
          STD    T3          STORE ADDRESS OF INSTRUCTION 
          LDD    T1          LOAD HIGH-ORDER OF CENTRAL MEMORY OFFSET 
          RAI    T3          ADD TO PPU INSTRUCTION 
          LDD    T1+1        LOAD LOW-ORDER OF CENTRAL MEMORY OFFSET
          STM    1,T3        STORE INTO PPU INSTRUCTION 
          AOD    T0          INCREMENT ADDRESS OF INSTRUCTION LIST
          UJK    SCO.1       EXIT TO TEST FOR END OF LIST 
 W.OVLP   TITLE  INITIALIZATION ADDRESS LISTS.
          LIST   D
 W.OVLP   SPACE  2,12 
**               OVERLAY POINTER TABLE ADDRESS LIST.
* 
*                THE OVERLAY POINTER TABLE ADDRESS LIST CONTAINS AN 
*                ENTRY FOR EACH DRIVER REFERENCE TO THE ADDRESS OF THE
*                OVERLAY POINTER TABLE.  THE CONTENTS OF EACH ENTRY IS
*                THE ADDRESS OF THE INSTRUCTION REFERENCING THE OVERLAY 
**               POINTER TABLE. 
  
  
 W.OVLP   BSS    0           OVERLAY POINTER TABLE ADDRESS LIST 
  
 W.OVLP   HERE
  
          CON    0           TERMINATE ADDRESS LIST 
 W.CTLT   SPACE  2,12 
**               DRIVER CONTROL TABLE ADDRESS LIST. 
* 
*                THE DRIVER CONTROL TABLE ADDRESS LIST CONTAINS AN
*                ENTRY FOR EACH DRIVER REFERENCE TO THE ADDRESS OF THE
*                DRIVER CONTROL TABLE.  THE CONTENTS OF EACH ENTRY IS 
*                THE ADDRESS OF THE INSTRUCTION REFERENCING THE DRIVER
**               CONTROL TABLE. 
  
  
 W.CTLT   BSS    0           DRIVER CONTROL TABLE ADDRESS LIST
  
 W.CTLT   HERE
  
          CON    0           TERMINATE ADDRESS LIST 
 W.PITP   SPACE  2,10 
**               PIP INTERFACE TABLE ADDRESS LIST.
* 
*                THE PIP INTERFACE TABLE ADDRESS LIST CONTAINS AN 
*                ENTRY FOR EACH DRIVER REFERENCE TO THE ADDRESS OF THE
*                PIP INTERFACE TABLE HEADER WORD.  THE CONTENTS OF EACH 
*                ENTRY IS THE ADDRESS OF THE INSTRUCTION REFERENCING
**               THE PIP INTERFACE TABLE HEADER WORD. 
  
 W.PITP   BSS    0           PIP INTERFACE TABLE ADDRESS LIST.
  
 W.PITP   HERE
  
          CON    0           TERMINATE ADDRESS LIST 
 W.TNTP   SPACE  2,12 
**               TERMINAL NODE TABLE POINTER ADDRESS LIST.
* 
*                THE TERMINAL NODE TABLE POINTER ADDRESS LIST CONTAINS
*                AN ENTRY FOR EACH DRIVER REFERENCE TO THE TERMINAL NODE
*                TABLE POINTER.  THE CONTENTS OF EACH ENTRY IS THE
*                ADDRESS OF THE INSTRUCTION REFERENCING THE TERMINAL
**               NODE TABLE POINTER.
  
  
 W.TNTP   BSS    0           TERMINAL NODE TABLE POINTER ADDRESS LIST 
  
 W.TNTP   HERE
  
          CON    0           TERMINATE ADDRESS LIST 
  
          LIST   *
 .LAST    SET    *
  
          QUAL
 .3IN     EQU    *           DEFINE LAST WORD ADDRESS OF 3IN
          ERRNG  7772B-*     TEST FOR PPU MEMORY OVERFLOW 
 END      SPACE  5,6
          TTL    PIP - "VERSION" DRIVER FOR NPU.
          END 
