COMDGJD 
COMMON
          CTEXT  COMDGJD - GENERATE *J* DISPLAY.
          SPACE  4,10 
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   COMDGJD
 QUAL$    ENDIF 
          BASE   MIXED
*         COMMENT  COPYRIGHT CONTROL DATA SYSTEMS INC.  1992. 
          LIST   F
          SPACE  4,10 
***       COMDGJD - GENERATE *J* DISPLAY. 
*         J. M. MAREK.       84/02/28.
          SPACE  4,30 
***       *COMDGJD* DISPLAYS THE CONTROL POINT STATUS AND THE PENDING 
*         COMMANDS.  INFORMATION ABOUT THE DATA TO BE DISPLAYED IS
*         DEFINED IN THE TABLE *TJDI*, WHICH IS BUILT BY THE MACRO
*         *JDI*.  *JDI* AND *TJDI* ARE DOCUMENTED PRECEEDING THE
*         DEFINITION OF *TJDI*. 
*         *GJD* IS THE MAIN ROUTINE IN THE COMMON DECK.  IT IS DRIVEN 
*         BY ENTRIES IN *TJDI*. 
* 
*         ENTRY  *RLO$* DEFINED = *COMDGJD* IS TO RESIDE IN AN OVERLAY. 
*                *GJD$* DEFINED = USER EM SHIFT COUNT IN (GJD$),
*                                 ELSE READ SHIFT FROM *MEFL*.
* 
*         EXAMPLE - 
* 
*         NOTE - THE *CN* AND *LV* INFORMATION WILL ONLY BE 
*         DISPLAYED WHEN APPLICABLE.
* 
*              1         2         3         4         5         6
*     1234567890123456789012345678901234567890123456789012345678901234
* 
*     JSN = AAAA             EJTO =     25              P =   1772
*                            SRUA =     15             RA =   5770
*      UI =   4537           SRUL = 777777             FL =     25
*      FM = SYS606             CS =     OL            RAE =    360
*      PN = R4IAE             (CN =   1234  )         FLE =      0
*                             (LV = TPSECRET)         CPA =   4000
*     CPU =     W 
* 
*     EST =    1     7    55   205   763   XXX   XXX   XXX   XXX   XXX
* 
*     MS1 = ASSEMBLING LIBEDIT
*     MS2 =     EQ123, TRACK LIMIT. 
* 
*     REWIND,LGO. 
*     LIBEDIT.
*     REWIND,NEW,TAPE.
*     COPYEI,NEW,TAPE,V.
 JDI      SPACE  4,25 
**        JDI - *J* DISPLAY INFORMATION.
* 
*         THE *JDI* MACRO IS USED TO CREATE TABLE ENTRIES IN THE
*         *TJDI* TABLE.  THE LAYOUT OF *TJDI* IS DOCUMENTED WHERE IT
*         IS BUILT NEAR THE END OF *COMPGJD*. 
* 
*TAG      JDI    COL,NL,(TITLE),COND,DLOC,WORD,PROC,FBYT,MASK,SCNT
* 
*         ENTRY  *TAG* = ADDRESS OF ENTRY (OPTIONAL). 
*                *COL* = COLUMN IN WHICH THE DATUM WILL BE DISPLAYED. 
*                        (ACTUAL VALUES MAY BE 1, 2, OR 3.) 
*                *NL* = NUMBER OF LINES TO SKIP BEFORE DISPLAY. 
*                       (ACTUAL VALUES MAY BE 0, 1, OR 2.  THE DEFAULT
*                       VALUE IS 0 (DISPLAY ON THE SAME LINE)). 
*                *TITLE* = TITLE OF DATUM TO BE DISPLAYED.
*                *COND* = *, IF DISPLAYING IS CONDITIONAL.
*                *DLOC* = DATA LOCATION.
*                       = *PP*, DATA IS IN PP MEMORY. 
*                       = *CPA*, DATA IS IN THE JOB-S CPA.
*                *WORD* = ADDRESS, IF *DLOC* = *PP*.
*                       = OFFSET, IF *DLOC* = *CPA*.
*                *PROC* = ADDRESS OF DISPLAY PROCESSOR. 
*                *FBYT* = FIRST BYTE OF DATA IN *CM*, IF *PROC*=*ADS*.
*                *MASK* = MASK FOR FIRST BYTE, IF *PROC*=*ADS*. 
*                *SCNT* = SHIFT INDICATOR, IF *PROC*=*ADS*.  VALUE
*                         IS TO BE SHIFTED BY USER EM SHIFT COUNT.
  
  
 JDI      MACRO  COL,NL,TITLE,COND,DLOC,WORD,PROC,FBYT,MASK,SCNT
* 
*         SET THE DISPLAY PROCESSOR WORD. 
* 
          IFC    NE,$PROC$ADS$,2
          VFD    11/PROC,1/0
          SKIP   1
          VFD    6/MASK,2/FBYT,1/SCNT,2/,1/1
* 
*         GENERATE THE TITLE CHARACTER STRING.
* 
 .A       IFC    NE,$TITLE$$
 .1       MICRO  1,,$TITLE$ 
 .1       MICCNT .1 
 .1       SET    .1+1 
 GJD      RMT 
          DATA   H$TITLE$ 
 GJD      RMT 
 .A       ELSE
* 
*         SPECIAL CASE THE COMMAND ENTRY. 
* 
 .1       SET    4
 .A       ENDIF 
* 
*         SET THE X-COORDINATE FIELD. 
*         XC = (CH05 + (COL-1)*24D*XINC - TITLELENGTH*XINC - CH01)/10.
* 
          VFD    7/COL*24D-.1-20D 
* 
*         SET THE LENGTH FIELD. 
* 
          VFD    2/.1/2 
* 
*         SET THE CONDITIONAL DISPLAY BIT.
* 
          IFC    NE,$COND$$,2 
          VFD    1/1
          SKIP   1
          VFD    1/0
* 
*         SET THE NEW LINE FIELD. 
* 
          VFD    2/NL-1 
* 
*         SET ADDRESS/OFFSET FIELD. 
* 
          VFD    11/WORD
* 
*         SET THE LOCATE PROCESSOR FIELD. 
* 
 .C       IFC    EQ,$DLOC$CPA$
          VFD    1/0
 .C       ELSE
 .D       IFC    EQ,$DLOC$PP$ 
          VFD    1/1
 .D       ELSE
          ERR                UNRECOGNIZED DATA LOCATION - DLOC
 .D       ENDIF 
 .C       ENDIF 
* 
 JDI      ENDM
  
          ERRNZ  XINC-10     MACRO DEPENDS ON VALUE 
 DOT      SPACE  4,25 
**        DOT (*.*) MICRO - REDEFINED INSTRUCTION MICRO.
* 
*         THE MICRO *.* WILL BE A PERIOD IF *COMDGJD* IS BEING
*         ASSEMBLED IN AN OVERLAY. IT WILL BE A BLANK IF *COMDGJD*
*         IS BEING ASSEMBLED IN RESIDENT CODE.  IT CAN BE USED TO 
*         SUFFIX A REDEFINED INSTRUCTION IN OVERLAYS. 
* 
*         EXAMPLE - 
* 
*         NOTE THAT ASTERISKS HAVE BEEN USED IN PLACE OF THE ACTUAL 
*         MICRO MARKS IN THE EXAMPLE TO AVOID AN ASSEMBLY ERROR.
* 
*         LDC*.* TJDI 
  
  
 .A       IF     DEF,RLO$ 
 .        MICRO  1,,$.$ 
 .A       ELSE
 .        MICRO  1,,$ $ 
 .A       ENDIF 
 GJD      SPACE  4,20 
***       GJD - GENERATE *J* DISPLAY. 
* 
*         DISPLAY THE CONTROL POINT STATUS AND THE PENDING COMMANDS.
* 
*         ENTRY  (A) = 0, IF CME NOT PRESENT. 
*                (CP) = CONTROL POINT AREA ADDRESS. 
*                (SF) = 0, IF UNSECURED SYSTEM. 
*                (T7) = EJT ORDINAL OF JOB. 
*                (AB - AB+4) = WORD *JSNE* OF THE JOB-S EJT ENTRY.
* 
*         EXIT   *J* DISPLAY DISPLAYED. 
* 
*         USES   T1, T5, T6, T8, T9, YC, AB - AB+4, CM - CM+4.
* 
*         CALLS  ADS, DCM, DCN, DCS, DEQ, DFM, DJN, DLV, DMS, DSA, DSL, 
*                DTC, DTI, D6S. 
* 
*         MACROS JDI, SFA.
  
  
 GJD      BSS    0           ENTRY
          ZJN    GJD1        IF CME NOT PRESENT 
          LDC    ADNI+FLSW+1
          STM    DTCA        FORCE READ OF *FLSW*+1 
 GJD1     LDC"." TJDI-1      INITIALIZE *SND* 
          STD    T8 
          ADD    HN 
          ERRNZ  TTTI-TJDI+1-100  CODE DEPENDS ON VALUE 
          STI    T8 
          ERRNZ  TJDI-1-TTIP CODE DEPENDS ON POSITION 
          LDM    CTOS 
          ADK    YINC 
          STD    YC 
  
*         MAIN LOOP.
  
 GJD2     AOD    T8          SELECT DISPLAY PROCESSOR 
          LDI    T8 
          SHN    21-0 
          PJN    GJD3        IF NOT *ADS* 
          STD    AB+2 
          LDC    ADS
 GJD3     STM    GJDA        STORE ADDRESS OF DISPLAY PROCESSOR 
          LDM    TTIP        SET UP TITLE INFORMATION 
          STM    DTIA        STORE ADDRESS OF TITLE 
          AOD    T8          SELECT CHARACTER POSITION
          LDI    T8 
          SHN    0-2+22 
          SCN    7
          ADD    XC 
          STD    T5          SAVE CHARACTER POSITION FOR *DTI*
          OAN    CH+40       OUTPUT CHARACTER POSITION
          MJN    GJD5        IF NOT NEW LINE
          SHN    2-0-22 
          ZJN    GJD4        IF NOT DOUBLE SPACE
          LCN    YINC 
 GJD4     SBN    YINC 
          RAD    YC 
          OAN    CH+40       OUTPUT LINE POSITION 
 GJD5     LDI    T8 
          LPN    34 
          SHN    0-3+22 
          STD    T6          STORE TITLE LENGTH FOR *DTI* 
          RAM    TTIP        UPDATE ADDRESS OF NEXT TITLE 
          MJN    GJD6        IF CONDITIONAL DATUM 
          RJM    DTI         DISPLAY TITLE INFORMATION
 GJD6     AOD    T8          SELECT LOCATE PROCESSOR
          LDI    T8 
          SHN    0-1+22 
          PJN    GJD7        IF DATA IS IN THE CPA
          STD    T1 
          LDI    T1          GET DATUM FROM PP MEMORY 
          STD    CM+4 
          UJN    GJD8        EXIT TO PROCESSOR
  
 GJD7     ADD    CP 
          CRD    CM 
 GJD8     LJM    ADS         EXECUTE DISPLAY PROCESSOR
 GJDA     EQU    *-1         (ADDRESS OF DISPLAY PROCESSOR) 
 DSA      SPACE  4,15 
**        DSA -  DISPLAY SRU ACTUAL VALUE.
* 
*         THIS SUBROUTINE CONVERTS AN SRU VALUE IN MICRO-UNITS/10 
*         TO UNITS BY THE APPROXIMATION FORMULA 
* 
*                VAL = (I - I/8 - I/32 - I/128 - ...)*2 + J/4610B 
* 
*                  I - FIRST 2 BYTES OF SRU VALUE 
*                  J - THIRD BYTE OF SRU VALUE
* 
*         ENTRY  (CM+1 - CM+4) = SRU IN MICRO-UNITS/10. 
* 
*         USES   CM - CM+4. 
* 
*         EXITS  TO *ADS1*. 
  
  
 DSA      BSS    0           ENTRY
          LDD    CM+1        MAXIMUM VALUE 77770B 
          LPN    77 
          STD    CM+1 
          SHN    14 
          LMD    CM+2 
          SHN    -3          1/8
          STD    CM          FRACTION ACCUMULATOR 
          STD    CM+4 
 DSA1     LDD    CM+4 
          SHN    -2 
          ZJN    DSA2        IF FRACTION ZERO 
          STD    CM+4 
          RAD    CM          1/8 + 1/32 + 1/128 + ... 
          UJN    DSA1        CONTINUE FRACTION COMPUTATION
  
 DSA2     LDD    CM+2        SUBTRACT FRACTION ACCUMULATED
          SBD    CM 
          STD    CM+2 
          PJN    DSA3        IF NO UNDERFLOW
          SOD    CM+1 
 DSA3     LDD    CM+1 
          RAD    CM+1 
          LDD    CM+2 
          RAD    CM+2 
          SHN    -14
          RAD    CM+1 
          LDD    CM+3 
          ADC    -4610
          MJN    DSA4        IF NOT CLOSE TO 1 SRU
          AOD    CM+2 
 DSA4     LDD    CM+1 
          SHN    14 
          LMD    CM+2 
          UJN    ADS1        DISPLAY VALUE
 DSL      SPACE  4,10 
**        DSL - DISPLAY *SRU* LIMIT.
* 
*         ENTRY  (CM - CM+4) = (*STLW*).
* 
*         EXITS  TO *ADS1*. 
  
  
 DSL      BSS    0           ENTRY
          LDD    CM+1        DISPLAY SRU LIMIT
          SCN    77 
          SHN    6
          LMD    CM 
          SHN    6
          UJN    ADS1        DISPLAY VALUE
 ADS      SPACE  4,10 
**        ADS - ASSEMBLE AND DISPLAY A SIX-DIGIT NUMBER.
* 
*         ENTRY  (AB+2) = 1/,6/MASK,2/STARTING BYTE,1/SHIFT FLAG,2/.
*                (CM - CM+4) = WORD CONTAINING VALUE. 
* 
*         USES   T2, CM - CM+4. 
* 
*         CALLS  D6S. 
  
  
 ADS      BSS    0           ENTRY
          LDD    AB+2        ASSEMBLE AND DISPLAY A SIX-DIGIT NUMBER
          SHN    0-5+22      GET BYTE MASK
          STM    ADSA 
          SCN    77 
          SHN    2           GET BYTE NUMBER
          STD    T2 
 GJD$     IF     DEF,GJD$ 
          SHN    11-21       GENERATE *SHN* OR *PSN* INSTRUCTION
          ERRNZ  400000B/1S8-SHNI  CODE ASSUMES VALUE 
 .A       IFLE   GJD$,77B 
          ADD    GJD$        USER EM SHIFT COUNT
 .A       ELSE
          ADM"." GJD$        USER EM SHIFT COUNT
 .A       ENDIF 
 GJD$     ELSE
          SCN    77 
          PJN    ADS0        IF NOT TO BE SHIFTED 
          LDK    MEFL        LOAD USER EM SHIFT COUNT 
          CRD    CM 
          LDD    CM+2 
          SHN    -11
 ADS0     ADD    TH 
          ERRNZ  SHNI-1000
 GJD$     ENDIF 
          STM    ADSB 
          LDM    CM,T2       GET VALUE
          LPC    ** 
 ADSA     EQU    *-1         MASK FOR UPPER BYTE OF DATUM 
          SHN    14 
          LMM    CM+1,T2
 ADSB     SHN    **          SHIFT VALUE BEFORE DISPLAYING
*         PSN                (NO SHIFT NEEDED)
 ADS1     RJM    D6S         DISPLAY A SIX-DIGIT NUMBER 
 ADS2     LJM    GJD2        CONTINUE DISPLAYING
 DCN      SPACE  4,10 
**        DCN - DISPLAY CONNECTION NUMBER.
* 
*         ENTRY  (CM+1) = CONNECTION NUMBER.
*                (T9) = CONNECTION STATUS.
* 
*         CALLS  DTI. 
  
  
 DCN      BSS    0           ENTRY
          LDD    T9          CHECK FOR ONLINE JOB 
          SBN    OLCS 
          NJN    ADS2        IF NOT ONLINE JOB
          RJM    DTI         DISPLAY TITLE INFORMATION
          LDD    CM+1 
          UJN    ADS1        DISPLAY CONNECTION NUMBER
 DCS      SPACE  4,10 
**        DCS - DISPLAY CPU STATUS CODE.
* 
*         ENTRY  (CM - CM+4) = STSW.
* 
*         EXIT   TO *DCM* TO DISPLAY STATUS.
  
  
 DCS      BSS    0           ENTRY
          LDD    CM          GET CPU STATUS 
          SHN    -11
          ADN    TCPS-TCSM   SET OFFSET INTO TABLE
          ERRNZ  TCPS-TCSM-TCSML  TABLES MUST BE CONTIGUOUS 
*         UJN    DCM         DISPLAY CPU STATUS CODE
 DCM      SPACE  4,10 
**        DCM - DISPLAY CONNECTION MESSAGE. 
* 
*         ENTRY  (A) = (T9) = CONNECTION STATUS.
  
  
 DCM      BSS    0           ENTRY
          STD    T2 
          LDN    0           SKIP FOUR SPACES 
          OAN    CH+40
          OAN    CH+40
          LDM    TCSM,T2
          OAN    CH+40       DISPLAY CONNECTION STATUS MESSAGE
 DCM1     UJN    ADS2        CONTINUE DISPLAYING
 DEQ      SPACE  4,10 
**        DEQ - DISPLAY EQUIPMENT.
* 
*         ENTRY  (T7) = EJTO OF JOB.
* 
*         USES   AB - AB+4, CM - CM+4.
* 
*         CALLS  D4S. 
* 
*         MACRO  SFA. 
  
  
 DEQ      BSS    0           ENTRY
          LDK    ESTP        GET EST POINTER WORD 
          CRD    AB 
          LDN    DSEQ 
          STD    AB 
          LDN    12          SET EQUIPMENT DISPLAY COUNT
          STD    AB+3 
 DEQ1     SFA    EST,AB      READ EQUIPMENT ASSIGNMENT
          ADK    EQAE 
          CRD    CM 
          LDD    CM+4        LOAD EJTO
          LMD    T7 
          NJN    DEQ2        IF EJTO-S DO NOT MATCH 
          LDD    AB          CALCULATE EST ORDINAL
          RJM    D4S         DISPLAY EST ORDINAL
          SOD    AB+3        DECREASE EQUIPMENT DISPLAY NUMBER
          ZJN    DEQ3        IF EQUIPMENT DISPLAY LIMIT 
 DEQ2     AOD    AB          ADVANCE EST ORDINAL
          LMD    AB+2 
          NJN    DEQ1        IF NOT END OF EST
 DEQ3     UJN    DCM1        CONTINUE DISPLAYING
 DFM      SPACE  4,10 
**        DFM - DISPLAY FAMILY NAME.
* 
*         ENTRY  (CM - CM+4) = *PFCW*.
* 
*         USES   CM - CM+4. 
* 
*         MACRO  SFA. 
  
  
  
 DFM      BSS    0           ENTRY
          SFA    EST,CM+3    READ FAMILY EST ENTRY
          ADK    EQDE 
          CRD    CM 
          LDD    CM+4        GET FAMILY NAME FROM MST 
          SHN    3
          ADN    PFGL 
          CRD    CM 
 DFM1     LDD    CM+3 
          SCN    77 
          STD    CM+3 
          LDN    4
          OAM    CM,CH       DISPLAY FAMILY NAME
          UJN    DEQ3        CONTINUE DISPLAYING
 DJN      SPACE  4,10 
**        DJN - DISPLAY JSN AND SAVE CONNECTION STATUS. 
* 
*         ENTRY  (A) = (AB+4).
*                (AB - AB+4) = *JSNE* WORD OF EJT ENTRY.
* 
*         EXIT   (T9) = CONNECTION STATUS.
  
  
 DJN      BSS    0           ENTRY
          SHN    -7          SAVE CONNECTION STATUS MESSAGE ADDRESS 
          LPN    17 
          STD    T9 
          LDN    2
          OAM    AB,CH       DISPLAY JSN
 DJN1     UJN    DEQ3 
 DLV      SPACE  4,10 
**        DLV - DISPLAY JOB ACCESS LEVEL IF SYSTEM IS IN SECURED MODE.
* 
*         ENTRY  (SF) = 0, IF UNSECURED SYSTEM. 
*                (CM - CM+4) = (*JSCW*).
* 
*         CALLS  DAL, DTI.
  
  
 DLV      BSS    0           ENTRY
          LDD    SF 
          ZJN    DEQ3        IF UNSECURED SYSTEM
          RJM    DTI         DISPLAY TITLE INFORMATION
          LDD    CM+1 
          SHN    -11
          RJM    DAL         DISPLAY ACCESS LEVEL STRING
          UJN    DJN1        CONTINUE DISPLAYING
 DMS      SPACE  4,10 
**        DMS - DISPLAY MESSAGE.
* 
*         ENTRY  (A) = ABSOLUTE ADDRESS OF BUFFER CONTAINING MESSAGE. 
*                    = *MS1W* OR *MS2W*.
* 
*         CALLS  DOL. 
  
  
 DMS      BSS    0           ENTRY
          RJM    DOL         DISPLAY ONE LINE 
          UJN    DJN1        CONTINUE DISPLAYING
 DTC      SPACE  4,10 
**        DTC - DISPLAY THE PENDING COMMANDS. 
* 
*         ENTRY  (A) = ADDRESS OF *CSPW*. 
*                (CP) = CP ADDRESS. 
*                (XC) = X COORDINATE = *CH01*.
*                (YC) = Y COORDINATE. 
* 
*         USES   YC, AB - AB+4, CM - CM+4, T0 - T0+4. 
* 
*         CALLS  DWD. 
* 
*         EXITS  TO *DSJX*. 
  
  
 DTC      BSS    0           ENTRY
          CRD    AB 
          LDD    AB+3 
          LMD    AB+4 
          ZJN    DTC4        IF NO COMMANDS 
          LDD    CP          GET RA/100B
 DTCA     ADN    FLSW 
*         ADN    FLSW+1      (CME PRESENT)
          CRD    T0 
          LRD    T1 
 DTC1     LDN    2           OUTPUT COORDINATES 
          OAM    XC,CH
          STD    T2          CLEAR WORD COUNT 
 DTC2     LDD    T3          GET RA/100 OR NFL/100+4000 
          SHN    6
          SBD    AB+3 
          CRD    CM          READ WORD FROM COMMAND BUFFER
          AOD    T2          INCREMENT WORD COUNT 
          SBN    7
          PJN    DTC3        IF SIX CM WORDS DISPLAYED
          RJM    DWD         DISPLAY CM WORD
 DTC3     SOD    AB+3        ADVANCE CM WORD ADDRESS
          LMD    AB+4 
          ZJN    DTC4        IF END OF COMMANDS 
          LDD    CM+4 
          NJN    DTC2        IF NOT END OF A COMMAND
          LCN    YINC        ADVANCE Y-COORDINATE 
          RAD    YC 
          SBM    CBOS 
          PJN    DTC1        IF NOT BOTTOM OF SCREEN
 DTC4     LJM    DSJX        RETURN 
 DTI      SPACE  4,10 
**        DTI - DISPLAY TITLE INFORMATION.
* 
*         ENTRY  (T5) = X-COORDINATE OF TITLE.
*                (T6) = LENGTH OF TITLE.
*                (DTIA) = ADDRESS OF TITLE. 
* 
*         NOTE   *DTI* ASSUMES THAT THE TITLES ARE TWO TO FIVE
*                CHARACTERS IN LENGTH AND THAT THE *=* SIGN FOR 
*                EACH COLUMN OF DATA IS IN A CHARACTER POSITION 
*                WHOSE NUMBER IS ONE GREATER THAN A MULTIPLE OF 
*                FOUR.
  
  
 DTI      SUBR               ENTRY/EXIT 
          LDD    T6 
          OAM"." **,CH
 DTIA     EQU    *-1         (ADDRESS OF TITLE) 
          LDD    T5          CALCULATE POSITION OF *= * 
          ADK    6*XINC 
          SCN    30 
          OAN    CH+40
          LDC    2R=         OUTPUT *= *
          OAN    CH+40
          UJN    DTIX        RETURN 
  
  
 TTIP     CON    TTTI        POINTER TO TABLE OF TITLE INFORMATION
 TJDI     SPACE  4,45 
**        TJDI - *J* DISPLAY INFORMATION TABLE. 
* 
*         THE ENTRIES IN *TJDI* ARE ARRANGED IN LINE ORDER FROM LEFT
*         TO RIGHT.  THE ARRANGEMENT BY LINE ORDER IS ASSUMED BY *GJD*, 
*         BUT THE ARRANGEMENT FROM LEFT TO RIGHT CAN BE VARIED, IF IT 
*         IS EVER NECESSARY.  THE FIRST ENTRY OF A NEW LINE MUST
*         SPECIFY THE *NL* PARAMETER IN THE *JDI* MACRO.
* 
*         TABLE FORMAT. 
* 
*T  ENT+0 11/   DSA,1/A 
*T, ENT+0 6/ MASK,2/F,1/SC,2/,1/A 
*T, ENT+1 7/  XC,2/L,1/C,1/N,1/D
*T, ENT+2 11/   ADDR,1/M
* 
*         *A* = *ADS* BIT.
*             = 0 = DISPLAY SUBROUTINE IS SPECIFIED BY *DSA*. 
*             = 1 = DISPLAY SUBROUTINE IS *ADS*.
*         *DSA* = DISPLAY SUBROUTINE ADDRESS, WHEN *A* = 0. 
*         *MASK* = MASK TO BE ANDED WITH (CM+*SB*) BEFORE SHIFTING AND
*                  ADDING (CM+*SB*+1), WHEN *A* = 1.
*         *F* = FIRST OF TWO BYTES, RELATIVE TO *CM*, USED BY *ADS* TO
*               GET ITS SIX DIGIT NUMBER, WHEN *A* = 1. 
*         *SC* = INDICATES VALUE TO BE SHIFTED BY USER EM SHIFT COUNT 
*                JUST BEFORE DISPLAYING IT, WHEN *A* = 1. 
*         *XC* = (X-COORDINATE-*CH01*)/10 OF TITLE. 
*         *L* = LENGTH OF THE TITLE (IN BYTES). 
*         *C* = CONDITIONAL DATUM BIT.
*             = 0 = DATUM IS ALWAYS DISPLAYED.
*             = 1 = DATUM MAY BE OMITTED. THE DISPLAY PROCESSOR SUB-
*                   ROUTINE DETERMINES WHETHER TO DISPLAY IT. 
*         *N* = NEW LINE BIT. 
*             = 0 = DISPLAY DATUM ON A NEW LINE.
*             = 1 = DISPLAY DATUM ON THE SAME LINE. 
*         *D* = DOUBLE SPACE BIT, ONLY WHEN *N* = 0.
*             = 0 = SINGLE SPACE. 
*             = 1 = DOUBLE SPACE. 
*         *M* = MEMORY IN WHICH DATUM RESIDES.
*             = 0 = DATUM IS IN THE JOB-S CPA.
*             = 1 = DATUM IS IN PP MEMORY.
*         *ADDR* = WORD IN JOB-S CPA THAT CONTAINS THE DATUM, *M* = 0.
*                = BYTE IN PP MEMORY THAT CONTAINS THE DATUM, *M* = 1.
  
  
 TJDI     JDI    1,1,(JSN),,PP,AB+4,DJN 
          JDI    2,,(EJTO),,PP,T7,ADS,3,00
          JDI    3,,( P),,CPA,0,ADS,0,77
          JDI    2,1,(SRUA),,CPA,SRUW,DSA 
          JDI    3,,(RA),,CPA,FLSW,ADS,2,77 
          JDI    1,1,(UI),,CPA,UIDW,ADS,3,37
          JDI    2,,(SRUL),,CPA,STLW,DSL
          JDI    3,,(FL),,CPA,FLSW,ADS,3,00 
          JDI    1,1,(FM),,CPA,PFCW,DFM 
          JDI    2,,(CS),,PP,T9,DCM 
          JDI    3,,(RAE),,CPA,ECSW,ADS,2,77,1
          JDI    1,1,(PN),,CPA,PKNW,DFM1
          JDI    2,,(CN),*,CPA,TTNW,DCN 
          JDI    3,,(FLE),,CPA,ECSW,ADS,3,00,1
          JDI    2,1,(LV),*,CPA,JSCW,DLV
          JDI    3,,(CPA),,PP,CP,ADS,3,00 
          JDI    1,1,(CPU),,CPA,STSW,DCS
          JDI    1,2,(EST),,PP,T0,DEQ 
          JDI    1,2,(MS1),,CPA,MS1W,DMS
          JDI    1,1,(MS2),,CPA,MS2W,DMS
          JDI    1,2,(),*,CPA,CSPW,DTC
 TTTI     SPACE  4,10 
*         TTTI - TABLE OF TITLE INFORMATION.
  
 TTTI     BSS    0
 GJD      HERE
 TCSM     SPACE  4,10 
*         TCSM - CONNECTION STATUS MESSAGE TABLE. 
*         THIS TABLE AND *TCPS* MUST BE CONTIGUOUS. 
  
 TCSM     BSS    0
          DATA   2HNI 
          DATA   2HDT 
          DATA   2HOL 
 TCSML    EQU    *-TCSM 
  
*         TCPS - CPU STATUS CODES.
  
 TCPS     BSS    0
          DATA   1L          NULL STATUS
          DATA   1LA         JOB ACTIVE IN CPU 0
          DATA   1LB         JOB ACTIVE IN CPU 1
          DATA   1L          (RESERVED) 
          DATA   1LW         JOB WAITING FOR CPU
          DATA   1LX         JOB WAITING FOR RECALL 
          DATA   1LI         JOB IN AUTO RECALL 
          DATA   1L          (RESERVED) 
  
  
          BASE   *
          LIST   *
 QUAL$    IF     -DEF,QUAL$ 
          QUAL   *
 GJD      EQU    /COMDGJD/GJD 
 QUAL$    ENDIF 
 GJD      ENDX
