***********************************************************************
*M*      P2OPL    DECODES OPLBLT CC & BUILDS  SG:OPNM,SG:OPX AND SG:FLG
***********************************************************************
*
         SYSTEM   SIG7FDP
         SYSTEM   BPM
*
R0       EQU      0
R1       EQU      1
R2       EQU      2
R3       EQU      3
R4       EQU      4
R5       EQU      5
R6       EQU      6
R7       EQU      7
SR1      EQU      8
SR2      EQU      9
SR3      EQU      10
SR4      EQU      11
D1       EQU      12
D2       EQU      13
D3       EQU      14
D4       EQU      15
*
*        REFS AMND DEFS
*
         REF      COREALLOC,MODGEN,WRITELM,CHARSCAN
         REF      P2DYNEND,DCT16TEMP,NOROOM,BTXPTR
         REF      OTXPTR,GTXPTR
         REF      LDVPTR,SBLTYPTR,TYPMNEAD,TYPMNESZ
         REF      LDVCONST,#LDV,FETCHCSL,FETCHBUF
         REF      TBSZPTR,OUTLLERR
         REF      PRINTMSG,FETCHADR,FETCHLST
         REF      CHSTSCAN,READSTRG,DCTSIZE
         REF      SVDFTP
         REF      SYMBVAL,SYMBACT
         REF      LOGIT
*
         DEF      OPLBLT
*
*
*
OPBTX    EQU      P2DYNEND+1        PTR TO OPLABEL PART OF BTX
OPOTX    EQU      P2DYNEND+2        PTR TO OPLABEL PART OF OTX
OPGTX    EQU      P2DYNEND+3        PTR TO OPLABEL PART OF GTX
OPSIZ    EQU      P2DYNEND+4        INITIAL LGTH OF OPLABEL PART
DATADD   EQU      P2DYNEND+5
TRUETYP  EQU      P2DYNEND+6        ACTUAL #ENTRIES IN TYPE
OPSTART  EQU      P2DYNEND+7        START OF OPLABE PART
OPFIN    EQU      P2DYNEND+8        FINAL OP SIZE
STACKEND EQU      P2DYNEND+9
         PAGE
*
*   DEFAULT ENTRIES FOR SH:OPNM OP LABEL CHARACTERS
*
OPLBCHAR EQU      %
         DATA,2   0,'C ','OC','LO','LL','DO'
         DATA,2   'PO','BO','LI','SI','BI','SL','SO'
         DATA,2   'CI','CO','AL','EI','EO','UC'
*
*  NOTE THE FOLLOWING ARE PSEUDO-OP ENTRIES
*     CORRESPONDING TO CR,CP,LP,PR,PP,ME
*
         DATA,2   0,0,0,0,0,0
OPLBCHND EQU      HA(%)-HA(OPLBCHAR)-1
*
*   DEFAULT BATCH ASSIGNMENTS
*
         BOUND    4
BAOPLB   EQU      %
         DATA,2   0,'C1','TY','L1','L1','L1'
         DATA,2   'P1','P1','C1','C1','C1','L1','P1'
         DATA,2   'C1','P1','P1','C1','P1','TY'
         DATA,2   'CR','CP','LP','PR','PP','NO'
*
*    DEFAULT ON-LINE ASSIGNMENTS
*
         BOUND    4
ONOPLB   EQU      %
         DATA,2   0,'ME','ME','ME','ME','ME'
         DATA,2   0,0,0,'ME',0,'ME',0
         DATA,2   0,0,0,'ME',0,'ME'
         DATA,2   'CR','CP','LP','PR','PP','ME'
*
*     DEFAULT GHOST ASSIGNMENTS
*
         BOUND    4
GHOPLB   EQU      %
         DATA,2   0,'TY','TY','L1','L1','L1'
         DATA,2   'P1','P1','TY','TY','TY','L1','P1'
         DATA,2   'TY','P1','P1','TY','P1','TY'
         DATA,2   'CR','CP','LP','PR','PP','TY'
         BOUND    4
TBLADD   DATA     BAOPLB,ONOPLB,GHOPLB
BOGADD   DATA     OPBTX,OPOTX,OPGTX
*
*   DATA VALUES
*
YD7F1    DATA     X'D7F10000'
YD5D6    DATA     X'D5D60000'
TYBOGADD DATA     BTXPTR,OTXPTR,GTXPTR
KLPAREN  EQU      '('
KRPAREN  EQU      ')'
KCOMMA   EQU      ','
KCRET    EQU      X'0D'
KNL      EQU      X'15'
KEOB     EQU      X'26'
XFFFF    DATA     X'FFFF'
NOCP     DATA     0
WRKTAB   DATA     0,0
SGOPNM   TEXTC    'SG:OPNM'
SGOPX    TEXTC    'SG:OPX'
SGFLG    TEXTC    'SG:FLG'
SIZEP    DATA,1   0,2,2,2           0-3
         DATA,1   3,3               4-5
         DATA,1   4                 6
         DATA,1   5,5               7-8
         DATA,1   6,6               9-10
         DATA,1   7                 11
         DATA,1   8,8               12-13
         DATA,1   9,9               14-15
         BOUND    4
         PZE      ERRORWRITE
         PAGE
*        UPON ENTRY R3 = BASE ADDRESS OF P2CCI DYNAMIC AREA
*                   R7 = PLIST ADDRESS
*
OPLBLT   EQU      %
         LI,D4    STACKEND-P2DYNEND
         MSP,D4   *R0
         LW,R1    =X'08000001'
         CAL1,8   R1
         BCS,8    NOROOM
         LI,R1    510
         LI,R2    0
         STW,R2   *SR2,R1
         BDR,R1   %-1
         STW,SR2  OPBTX,R3
         AI,SR2   170               DIVIDE PAGE IN THIRDS
         STW,SR2  OPOTX,R3
         AI,SR2   170
         STW,SR2  OPGTX,R3
         AI,SR2   170
         STW,SR2  STACKEND,R3
         B        %+2
         PZE      ERRORWRITE
*  ALLOCATE SPACE FOR OH:NM TABLE,LOAD MODULE SG:OPNM
         LI,D1    75                REFDEF SIZE
         LI,D2    -1
         BAL,SR4  COREALLOC
*SR1 HAS ADDRESS OF DATA RECORD - START IS DW BOUNDARY
         STW,SR1  DATADD,R3         SAVE START ADDR
         BAL,10   MODGEN
         TEXTC    'OH:NM1'
         B        %+1
         LI,R1    5                 CHECK IF CP DEFINED
         LW,D1    BTXPTR,R3
         LB,D1    *D1,R1
         CW,D1    LDVCONST,R3
         BG       %+2
         MTW,1    NOCP
         LW,R1    TYPMNESZ,R3       GET # TYPMNE INCLUDES  'NO'
         LW,D1    TYPMNEAD,R3       START OF TABLE FOR MOVING
         LW,R2    TYPMNESZ,R3
         AI,R2    -1
         LH,D2    *D1,R1
         STH,D2   *SR1,R2
         BDR,R1   %-3
         LW,D1    TYPMNESZ,R3
         AI,D1    1                 CONVERT TO #WRDS
         SLS,D1   -1
         AI,D1    1
         SLS,D1   -1                CNVERT TO DW BOUNDARY
         SLS,D1   1
         AW,SR1   D1                END OF TABLE
         STW,SR1  OPSTART,R3
         SLS,D1   1                 CONVERT TO # ENTRIES
         STW,D1   TRUETYP,R3        SAVE
         BAL,10   MODGEN
         TEXTC    'TYPMNSZ0'        DEF #ENTRIES
         TEXTC    'SH:OPNM1'        START OF OPLABEL PART
         B        %+1
         LI,R1    OPLBCHND
         STW,R1   OPSIZ,R3          SAVE INITIAL SIZE
*                                   NOT COUNTING 0TH ENTRY
         LH,D1    OPLBCHAR,R1       GET DEFAULT ENTRY
         STH,D1   *SR1,R1
         BDR,R1   %-2               MOVE DEFAULT TO START OF TABLE AREA
*ROUTINE TO PUT DEFAULT VALUES FOR OB:B,O,G TABLES
         LI,R2    0                 TABLE TYPE SEARCH
BIGLOOP  EQU      %
         LW,D4    TBLADD,R2         GET CURRENT TABLE TO SEARCH
         LW,D2    BOGADD,R2
         AW,D2    R3
         LW,D2    *D2
         LW,SR4   TYBOGADD,R2
         AW,SR4   R3
         LW,SR4   *SR4
         LI,R1    1                 INDEX FOR OPLBCHAR
LDVLOOP  LW,R4    #LDV,R3           GET #LDEV ENTRIES
         LW,D3    LDVPTR,R3         GET START OF LDEV TABLE
         LH,SR2   *D4,R1            GET HW ENTRY FROM OP TBL
         BEZ      OPPASS1
         CH,SR2   YD5D6
         BE       OPPASS1
         CH,SR2   *D3,R4            CF LDEV ENTRY
         BE       %+3
         BDR,R4   %-2
         B        TYMLOOP
         CH,SR2   YD7F1             IS IT P1
         BNE      %+3
         MTW,0    NOCP
         BGZ      OPPASS1
         AW,R4    LDVCONST,R3       LDEV INDEX+LDEV CONSTANT
         STB,R4   *D2,R1            STORE BYTE IN INDEXED OP LABEL TABLE
         B        OPPASS1
TYMLOOP  EQU      %
         LW,R4    TYPMNESZ,R3       #TYPMNE
         LW,D3    TYPMNEAD,R3
         CH,SR2   *D3,R4
         BE       %+3
         BDR,R4   %-2
         B        OPPASS1
         AI,R4    -1                BUMP TO TRUE INDEX
         LB,SR3   *SR4,R4           BYTE FROM APPROP TBLE
         STB,SR3  *D2,R1            INDEXED OPLABEL TABLE
OPPASS1  EQU      %
         AI,R1    1                 ALL DONE CHARS FROM 1 TABLE
         CI,R1    OPLBCHND
         BLE      LDVLOOP
         AI,R2    1                 ALL DONE ALL TABLES
         CI,R2    2
         BLE      BIGLOOP           NO
         PAGE
*ROUTINE TO PROCESS COMMAND
PROCMD   EQU      %
         LCI      15
         PSM,R1   *R0
         LI,SR1   0
         LW,R7    FETCHADR,R3
         LI,R1    0
         LI,SR2   KLPAREN
         BAL,SR4  CHARSCAN
         BCR,8    %+4
         BAL,SR4  CHKEND
         BAL,R7   ERRBRT3
         B        OPOUT
OPFND    LI,SR1   0
         BAL,SR4  CHSTSCAN          GET OPLABEL ENTRY
         BCR,8    %+3
         BAL,R7   ERRBRT3
         B        OPOUT
         BAL,R4   SRCHCHAR
         LW,R2    FETCHCSL,R3       ONLY 2 CHARS FOR LABEL
         CI,R2    2
         BLE      %+3
         BAL,R7   ERRBRT4
         B        OPOUT
         LW,R1    FETCHBUF,R3       GET THEM
         LH,R2    R1
         CH,R2    YD5D6
         BE       ERRBRT5
         LW,SR2   OPSTART,R3        GET START OF OPLABEL TABLE
         LW,R1    OPSIZ,R3
         CH,R2    *SR2,R1           IS IT IN TABLE ALREADY
         BE       OPIND
         BDR,R1   %-2
         LW,R1    TYPMNESZ,R3       SEARCH TYPMNE
         LW,SR2   TYPMNEAD,R3
         CH,R2    *SR2,R1           MUST NOT BE IN TYPE TABEL
         BE ERRBRT5
         BDR,R1   %-2
         LW,R1    #LDV,R3
         LW,SR2   LDVPTR,R3         MUST NOT BE A LDEVICE
         CH,R2    *SR2,R1
         BE       ERRBRT5
         BDR,R1   %-2
         LW,R1    OPSIZ,R3
         AI,R1    1
OPIND    SLS,R2   16                MERGE OPLABEL & INDEX
         OR,R2    R1                IN TEMP TABLE
         STW,R2   WRKTAB
         LI,R2    0                 BIG LOOP
         B        ENTFIND
SRCHCHAR EQU      %
         LI,SR2   KCOMMA
         BAL,SR4  CHARSCAN
         BCR,8    0,R4
         BAL,SR4  CHKEND
         BAL,R7   ERRBRT3
         B        OPOUT
ENTFIND  LI,SR1   0
         BAL,SR4  CHSTSCAN          GET ENTRY
         BCR,8    %+3
         BAL,R7   ERRBRT3
         B        OPOUT
         CI,R2    2
         BE       %+2
         BAL,R4   SRCHCHAR
         LW,SR2   FETCHCSL,R3
         CI,SR2   2
         BNE      5CHARS
         LW,R1    FETCHBUF,R3
         LH,SR2   R1
         CH,SR2   YD5D6             IS IT NO
         BE       TBLCHK
         LW,SR4   TYBOGADD,R2
         AW,SR4   R3
         LW,SR4   *SR4
         LW,R4    #LDV,R3
         LW,D3    LDVPTR,R3
         CH,SR2   *D3,R4
         BE       %+3
         BDR,R4   %-2
         B        TYPSRCH
         AW,R4    LDVCONST,R3
         STB,R4   WRKTAB+1,R2
         B        TBLCHK
TYPSRCH  EQU      %
         LW,R4    TYPMNESZ,R3
         LW,D3    TYPMNEAD,R3
         CH,SR2   *D3,R4
         BE       %+3
         BDR,R4   %-2
         B        ERR2
         AI,R4    -1                GET TRUE INDEX
         LB,SR3   *SR4,R4
         STB,SR3  WRKTAB+1,R2
TBLCHK   EQU      %
         AI,R2    1
         CI,R2    2
         BLE      ENTFIND
         INT,R1   WRKTAB
         LH,R2    WRKTAB
         LW,D2    OPSTART,R3
         STH,R2   *D2,R1
         LI,R2    0
         LW,D2    BOGADD,R2
         AW,D2    R3
         LW,D2    *D2
         LB,SR2   WRKTAB+1,R2
         STB,SR2  *D2,R1
         AI,R2    1
         CI,R2    2
         BLE      %-7
         CW,R1    OPSIZ,R3          ALREADY ACCTED FOR
         BLE      %+2
         STW,R1   OPSIZ,R3          NO
         LI,R2    0
         STW,R2   WRKTAB
         STW,R2   WRKTAB+1
RPARFND  LI,SR2   KRPAREN
         BAL,SR4  CHARSCAN
         BCR,8    COMFND
         BAL,R7   ERRBRT3
         BAL,SR4  CHKEND
         LI,SR1   0
         B        RPARFND
COMFND   LI,SR2   KCOMMA
         BAL,SR4  CHARSCAN
         BCR,8    PROCMD+2
         BAL,SR4  CHKEND
         LI,SR1   0
         B        COMFND
CHKEND   CI,SR1   KEOB
         BE       CRDDNE
         CI,SR1   KCRET
         BE       CRDDNE
         CI,SR1   KNL
         BE       CRDDNE
         B        *SR4
OPOUT    LI,SR2   0
         STW,SR2  WRKTAB
         STW,SR2  WRKTAB+1
         LI,SR2   KLPAREN
         BAL,SR4  CHARSCAN
         BCR,8    OPFND
         BAL,SR4  CHKEND
         LI,SR1   0
         B        OPOUT
5CHARS   EQU      %
         CI,SR2   5
         BE       %+3
         BAL,R7   ERRBRT3
         B        OPOUT
         PSW,SR1  *R0
         LW,SR1   FETCHBUF,R3
         LW,SR2   FETCHBUF+1,R3
         AND,SR2  =X'FF000000'
         LW,R4    SYMBVAL,R3        #ACT SYMB DEV
         LW,D2    SYMBACT,R3        MUST NOT BE SYMBIONT DEV
         CD,SR1   *D2,R4            THERE IS 0TH ENTRY
         BE       ERR6
         BDR,R4   %-2
         LW,R4    DCTSIZE,R3        GET #DCTS
         AI,R4    -1
         LW,D3    DCT16TEMP,R3
         LD,D1    *D3,R4
         SLD,D1   24
         CD,D1    SR1
         BE       %+3
         BDR,R4   %-4
         B        ERR7
         STB,R4   WRKTAB+1,R2
         PLW,SR1  *R0
         B        TBLCHK
         PZE      ERRORWRITE
CRDDNE   EQU      %
         LCI      15
         PLM,R1   *R0
         LW,D1    OPSIZ,R3          GET #ENTRIES
         AI,D1    1                 F0R OTH ENTRY
         CI,D1    1                 IS # EVEN
         BAZ      %+2               YES
         AI,D1    1                 NO ADD 1 FOR SIZE
         STW,D1   OPFIN,R3
         AI,D1    -1                FOR OV:SIZ VALUE
         BAL,10   MODGEN
         TEXTC    'OV:SIZ0'
         AI,D1    1
         SLS,D1   -1
         LW,SR1   OPSTART,R3
         AW,SR1   D1
         STW,SR1  SR2
         TEXTC    'SH:LNM1'
         LW,D1    #LDV,R3
         TEXTC    'SV:LSIZ0'
         STW,D1   R1
         AI,D1    1+1               FOR 0TH ENTRY & FOR SHIFT
         SLS,D1   -1
         AW,SR1   D1
         AI,SR1   -1
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         LB,D1    SIZEP,R1
         TEXTC    'SV:LSIZP0'
         SLS,D1   9
         TEXTC    'SV:LSIZPA0'
         LW,D1    #LDV,R3
         AW,D1    OPFIN,R3
         AW,D1    TRUETYP,R3
         TEXTC    'OV:NMSZ0'
         B        %+1
         LW,R1    #LDV,R3
         LW,D2    LDVPTR,R3
         LH,SR3   *D2,R1
         STH,SR3  *SR2,R1
         BDR,R1   %-2
         LI,D3    SGOPNM
         BAL,SR4  WRITELM
         PAGE
         LI,D1    75                REFDEF SIZE
         LI,D2    -1
         BAL,SR4  COREALLOC         FOR SG:OPX MODULE
         LW,SR2   BTXPTR,R3
         LW,R1    TYPMNESZ,R3
         BAL,10   MODGEN
         TEXTC    'OB:BTX1'
         STW,SR1  D4
         LW,D1    TRUETYP,R3
         SLS,D1   -2                KNOWN TO BE MULT. OF BYTES
         AW,SR1   D1
         TEXTC    'OB:BOPTX1'
         STW,SR1  SR4
         LW,D3    OPFIN,R3
         AI,D3    3
         SLS,D3   -2
         AW,SR1   D3
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         B        %+1
         LB,D2    *SR2,R1
         STB,D2   *D4,R1            STORE TYPE PART
         BDR,R1   %-3
         LW,R1    SVDFTP,R3         1ST TAPE TYPE
         LB,D2    *SR2,R1
         LI,R1    X'A'              DEFAULT MT ENTRY
         STB,D2   *D4,R1
         LI,R1    X'10'             SET UP ME IN BATCH TO NO
         LI,D2    0
         STB,D2   *D4,R1
         LW,R1    OPSIZ,R3
         LW,SR2   OPBTX,R3
         LB,D2    *SR2,R1
         STB,D2   *SR4,R1
         BDR,R1   %-2
         AI,SR1   1
         SLS,SR1  -1
         SLS,SR1  1
         LW,SR2   OTXPTR,R3
         LW,R1    TYPMNESZ,R3
         BAL,10   MODGEN
         TEXTC    'OB:OTX1'
         STW,SR1  D4
         AW,SR1   D1
         TEXTC    'OB:OOPTX1'
         STW,SR1  SR4
         AW,SR1   D3
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         B        %+1
         LB,D2    *SR2,R1
         STB,D2   *D4,R1            STORE TYPE PART
         BDR,R1   %-3
         LW,R1    SVDFTP,R3         IST TAPE TYPE
         LB,D2    *SR2,R1
         LI,R1    X'A'
         STB,D2   *D4,R1
         LW,R1    OPSIZ,R3
         LW,SR2   OPOTX,R3
         LB,D2    *SR2,R1
         STB,D2   *SR4,R1           STORE OP PART
         BDR,R1   %-2
         LW,R1    TYPMNESZ,R3
         AI,SR1   1
         SLS,SR1  -1
         SLS,SR1  1
         BAL,10   MODGEN
         STW,SR1  D4
         TEXTC    'OB:GTX1'
         AW,SR1   D1
         TEXTC    'OB:GOPTX1'
         STW,SR1  SR4
         AW,SR1   D3
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         B        %+1
         LW,SR2   GTXPTR,R3
         LB,D2    *SR2,R1
         STB,D2   *D4,R1            STORE TYPE PART
         BDR,R1   %-3
         LW,R1    SVDFTP,R3
         LB,D2    *SR2,R1
         LI,R1    X'A'
         STB,D2   *D4,R1
         LI,R1    1
         LB,D2    *SR2,R1           ME IN GHOST TO TY
         LI,R1    X'10'
         STB,D2   *D4,R1
         LW,R1    OPSIZ,R3
         LW,SR2   OPGTX,R3
         LB,D2    *SR2,R1
         STB,D2   *SR4,R1
         BDR,R1   %-2
         BAL,10   MODGEN
         TEXTC    'SB:LTY1'
         LW,D2    #LDV,R3
         AI,D2    1+3               FOR OTH ENTRY, 3 FOR BYTE
         SLS,D2   -2
         STW,SR1  D1
         AW,SR1   D2
         AI,SR1   -1
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         B        %+1
         LW,R1    #LDV,R3
         LW,D4    SBLTYPTR,R3
         LB,D3    *D4,R1
         STB,D3   *D1,R1
         BDR,R1   %-2
         LI,D3    SGOPX
         BAL,SR4  WRITELM
         PAGE
         LI,D1    25                REFDEF SIZE
         LI,D2    -1
         BAL,SR4  COREALLOC
         LW,D1    TRUETYP,R3
         SLS,D1   -2                KNOWN TO BE MULT OF BYTES
         BAL,10   MODGEN
         TEXTC    'TB:SZ1'
         STW,SR1  D2                SAVE START ADDRESS
         AW,SR1   D1
         TEXTC    'TB:MAX1'
         AW,SR1   D1
         TEXTC    'TB:FLGS1'
         AW,SR1   D1
         TEXTC    'TB:FLGS11'
         AW,SR1   D1
         AI,SR1   -1
         TEXTC    'E2'              INSURE ADEQUATE SPACE
         B        %+1
         LI,R2    -4                LOOP FOR STORING TB:SZ,TB:MAX,
*                                   TB:FLGS,TB:FLGS1
         LI,SR2   TBSZPTR
STOREIT  LW,SR4   *SR2,R3           GET START ADDR OF TBL TO BE MOVED
         LW,R1    TYPMNESZ,R3       #ACTUAL ENTRIES
         LW,R4    TYPMNESZ,R3
         AI,R4    -1
         LB,D3    *SR4,R1
         STB,D3   *D2,R4
         BDR,R1   %-3
         AW,D2    D1
         AI,SR2   1
         BIR,R2   STOREIT
         LI,D3    SGFLG
ERRORWRITE BAL,SR4  WRITELM
         LW,R1    =X'09000001'
         CAL1,8   R1                RELEASE EXTRA PAGE
         LI,R1    -STACKEND
         AI,R1    P2DYNEND
         MSP,R1   *R0
         B        READSTRG
         PAGE
*        ERROR ROUTINES
*
ERRBRT3  EQU      %
         BAL,SR4  OUTLLERR
         LI,D3    SYNTXMES
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
ERRBT3   LW,SR4   R7                GET RETURN ADDRESS
         LW,R7    FETCHADR,R3
         XW,SR4   FETCHLST+4,R3
         AND,SR4  =X'DFFFFFFF'
         XW,SR4   FETCHLST+4,R3
         B        *SR4
*
SYNTXMES TEXTC    '*** SYNTAX ERROR'
2MNYCHAR TEXTC    '*** 2 CHARS MAX FOR OPLABEL -',;
                  ' OPTION IGNORED'
*
ERRBRT4  BAL,SR4  OUTLLERR
         LI,D3    2MNYCHAR
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
         B        ERRBT3
*
ERRBRT5  EQU      %
         BAL,SR4  OUTLLERR
         AND,R2   =X'0000FFFF'
         OR,R2    =X'40400000'
         STW,R2   ERRBRT5M+1
         LI,D3    ERRBRT5M
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
         LI,R7    OPOUT
         B        ERRBT3
ERRBRT5M TEXTC    '***XXXX OPLABEL IS TYPEMNEMONIC/LDEVICE',;
                  ' - OPTION IGNORED'
*
ERR2     EQU      %
         BAL,SR4  OUTLLERR
         AND,SR2  =X'0000FFFF'
         OR,SR2   =X'40400000'
         STW,SR2  ERR2M+1
         LI,D3    ERR2M
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
         LI,R7    OPOUT
         B        ERRBT3
ERR2M    TEXTC    '***XXXX ASSIGNMENT UNKNOWN - ',;
                  'OPTION IGNORED'
*
ERR6     EQU      %
         BAL,SR4  OUTLLERR
         STW,SR1  ERR6M+1
         OR,SR2   =X'00404040'
         STW,SR2  ERR6M+2
         PLW,SR1  *R0               DUMMY PULL
         LI,D3    ERR6M
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
         LI,R7    OPOUT
         B        ERRBT3
ERR6M    TEXTC    '***XXXXXXXX ASSIGNMENT TO SYMBIONT ',;
                  'DEVICE - OPTION IGNORED'
*
ERR7     EQU      %
         BAL,SR4  OUTLLERR
         STW,SR1  ERR7M+1
         OR,SR2   =X'00404040'
         STW,SR2  ERR7M+2
         PLW,SR1  *R0               DUMMY PULL
         LI,D3    ERR7M
         BAL,SR4  LOGIT+1           PUT   MESG. INTO T:P2SI    & LP
         LI,R7    OPOUT
         B        ERRBT3
ERR7M    TEXTC    '***XXXXXXXX UNKNOWN DEVICE -',;
                  ' OPTION IGNORED'
         END

