DataMuseum.dk

Presents historical artifacts from the history of:

IBM System/3

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about IBM System/3

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦75973d7a1⟧ s3xseg

    Length: 23622 (0x5c46)
    Types: s3xseg
    Names: »S$E095«

Derivation

└─⟦827b5bd03⟧ Bits:30009184 5702-sc1.V16.ccp
    └─⟦f17e99db6⟧ 
        └─⟦this⟧ »S$E095« 

TextSegment

       MACRO                                                            00010000                
.********************************************************************** 00020000                
.* NAME: $E095        V-15, M-00.                                     * 00040000                
.********************************************************************** 00670000                
       $E095 &DMESTR-                                                   00680000                
       GBLB  &ONE,&NOB,&NOM,&N37,&MIN,&NSWL,&N32,&NAS,&NITB,&NTSP       00690000                
       GBLB  &NSW,&N1050,&N2741,&NDME,&NSCTL,&NBFR,&NDF,&N41            00710000                
       GBLB  &MOD4                                                      00715000                
       LCLA  &MIX                                                       00720000                
       TABLE &DMESTR                   . DATA MODE ESCAPE STRING        00730000                
''     TABDF CL6'//////'               . DEFAULT STRING FOR CURRENT USE 00740000                
       TEXT                                                             00750000                
* R-15,C-00 CHANGE LEVEL                                                00760000                
       AIF   (&NOM).M2000                                               00765000                
       TITLE '$E095/CMFORM---FORMULATE-OPERATION-CODE'                  00770000                
*      PRINTER BUSY FLAG               1/17/78                       *L 00775000                
       AIF   (&ONE).C0550                                               00780000                
CMFMLT EQU   *                                                        2 00790000                
.C0550 ANOP                                                             00800000                
       SPACE                                                            00820000                
       AIF   (&NSW).A5400                                               00830000                
       SPACE                                                            00850000                
       TBN   PLOPM(,XR1),OPDISC        IS THIS PUT DISCONNECT OP     SM 00860000                
       JF    CMFO10                    JUMP IF NOT PUT DISCONNECT    SM 00870000                
       SPACE                                                            00880000                
       SBF   LCBATR(,XR2),LCBNIT       SET BIT TO INDICATE INITIAL   SM 00890000                
*                                      * OP IS NEEDED ON THIS LINE   SM 00900000                
       SPACE                                                            00910000                
* IF THIS IS PUT ONLY - THEN PLUG WRITE DISCONNECT OP CODE           SM 00920000                
* IF THIS IS PUT THEN INVITE - CONTINUE THROUGH THE CODE TO FORM THE SM 00930000                
* PROPER READ INITIAL OP CODE                                        SM 00940000                
       SPACE                                                            00950000                
       TBN   PL$OPM(,XR1),OPINV        IS THIS PUT DISC/INVITE       SM 00960000                
       JT    CMFO10                    JUMP IF PUT DISC/INVITE INPUT SM 00970000                
       SPACE                                                            00980000                
* HAVE PUT DISCONNECT OP                                             SM 00990000                
       SPACE                                                            01000000                
       MVI   CMOPWK+1,$MWTDS           PLUG WITH WRITE DISCONNECT    SM 01010000                
       J     CMOPWK                    JUMP TO PLUG DTF WITH OP      SM 01020000                
.A5400 ANOP                                                             01050000                
       SPACE                                                            01060000                
CMFO10 EQU   *                         BEGIN TO FORM OP CODE          M 01070000                
       MVI   CMOPWK+1,MLREAD           MOVE READ OP TO WORK AREA      M 01080000                
       TBN   PL$OPM(,XR1),OPGET        IS THIS READ OPERATION         M 01090000                
       JT    CMTBFR                    JUMP IF READ OPERATION         M 01100000                
       MVI   CMOPWK+1,MLWRIT           MOVE WRITE OP TO WORK AREA     M 01110000                
       SPACE                                                            01120000                
CMTBFR EQU   *                         CHECK FOR BUFFERRED RECEIVE    M 01130000                
       MVC   CMPOP+1(1),CMOPWK+1       MOVE CURRENT OP TO TBN INSTR.  M 01140000                
       SPACE                                                            01150000                
       AIF   (&NBFR).R5400                                              01160000                
* ALWAYS RESET IF BUFFERRED RECEIVE TERMINAL                         RM 01170000                
* IF BUFFERRED RECEIVE - THEN MUST BE STATION CONTROL                RM 01180000                
       SPACE                                                            01190000                
       TBN   $MDTFR(,XR2),$MTBFR       IS THIS BUFFERRED RECEIVE ?   RM 01200000                
       JT    CMRSET                    JUMP IF BUFFERRED RECEIVE     RM 01210000                
.R5400 ANOP                                                             01220000                
       SPACE                                                            01230000                
       AIF   (&NSCTL).S5900                                             01240000                
* IF THIS IS 2740 WITH STATION CONTROL AND NO CHECKING - ISSUE RESET CM 01250000                
       SPACE                                                            01260000                
       TBN   $MDTFT(,XR2),MLSTAT       IS IT STATION CONTROL         CM 01270000                
       TBF   $MDTFT(,XR2),$MTLRC       IS IT NON-CHECKING            CM 01280000                
       JT    CMRSET                    JUMP IF STAT CTL AND NON-CK.  CM 01290000                
       SPACE                                                            01300000                
.S5900 ANOP                                                             01310000                
*   IF CHECKING TERMINAL, DON'T RESET. (RESET ALLOWS OPERATOR INPUT.) M 01320000                
       SPACE                                                            01330000                
       TBN   $MDTFT(,XR2),MLLRC        IS IT CHECKING TERMINAL        M 01340000                
       JT    CMINIT                    JUMP IF NOT PAST SETTING RESET M 01360000                
       SPACE                                                            01370000                
* USE RESET IF HERE SO SET RESET BIT ON                               M 01380000                
       SPACE                                                            01390000                
CMRSET SBN   CMOPWK+1,MLRSET           SET RESET BIT IN OP CODE ON    M 01400000                
       SPACE                                                            01410000                
* DO WE NEED TO ISSUE INITIAL OPERATION ON LINE                       M 01420000                
       SPACE                                                            01430000                
CMINIT EQU   *                         TEST FOR INITIAL OP            M 01440000                
       TBF   LCBATR(,XR2),LCBNIT       TEST INITIAL OP BIT IN LCB     M 01450000                
       JF    CMTRST                    JUMP IF INITIAL NOT NEEDED     M 01460000                
       SPACE                                                            01470000                
********************************************************************* M 01480000                
*      NEED INITIAL OPERATION ON THIS LINE                          * M 01490000                
********************************************************************* M 01500000                
       SPACE                                                            01510000                
       AIF   (&NSW).A5500                                               01520000                
* IF IT IS A SWITCHED LINE AND IT IS A USER OP                       SM 01530000                
* THEN ISSUE MESSAGE TO SYSTEM OPERATOR INFORMING HIM OF THE STATUS  SM 01540000                
* OF THE LINE                                                        SM 01550000                
       SPACE                                                            01560000                
       TBN   $MDTFT(,XR2),$MMDNT       IS IT SWITCHED LINE           SM 01570000                
       TBF   PLOPM(,XR1),OPREQR        IS IT USER REQUEST            SM 01580000                
       JF    CMNMSO                    JUMP IF NOT USER.             SM 01590000                
       SPACE                                                            01600000                
* HAVE USER REQUEST TO SWITCHED LINE WHICH REQUIRES CONNECTION       SM 01610000                
* BRING IN TRANSIENT TO ISSUE MESSAGE                                SM 01620000                
       SPACE                                                            01630000                
       B     $CC4PI                    BR TO BRING IN TRANSINET      SM 01640000                
       DC    AL1(CC4WC)                TRANSIENT ID                  SM 01650000                
       SPACE                                                            01660000                
CMNMSO EQU   *                         END OF MSG TO SYSTEM OPERATOR SM 01670000                
       SPACE                                                            01680000                
.A5500 ANOP                                                             01690000                
       AIF   (&N2741).B5200                                             01700000                
* DETERMINE IF THIS IS PUT TO 2741                                   1M 01730000                
* IF YES - CANNOT ISSUE WRITE INITIAL TO 2741 SO MUST ISSUE READ     1M 01740000                
* INITIAL AND BIT BUCKET THE DATA FROM THE READ  BEFORE ISSUEING THE 1M 01750000                
* WRITE TO THE 2741.                                                 1M 01760000                
       SPACE                                                            01770000                
       TBN   PL$OPM(,XR1),OPPUT        IS IT PUT                     1M 01780000                
       CLI   $MDTTP(,XR2),ML2741       IS IT 2741                    1M 01790000                
       JC    CMOPFM,ANY+LO+HI+FALSE    JUMP IF NOT INITIAL PUT TO 2741M 01800000                
       SPACE                                                            01810000                
* HAVE WRITE INITIAL TO 2741 SO ISSUE READ INITIAL                   1M 01820000                
       SPACE                                                            01830000                
       SBN   LCBATR(,XR2),LCBTBK       SET ON LCB BIT BUCKET DATA    1M 01840000                
*                                      * FROM DUMMY READ.            1M 01850000                
       MVI   CMOPWK+1,MLREAD           PLUG READ INITIAL INTO OP WORK1M 01860000                
       J     CMOPWK                    JUMP TO PLUG OP INTO DTF      1M 01870000                
       AGO   .B5250                                                     01890000                
.B5200 ANOP                                                             01900000                
       J     CMOPFM                    JUMP TO PLUG INITIAL OP IN DTF.M 01910000                
.B5250 ANOP                                                             01920000                
       EJECT                                                            01930000                
CMTRST EQU   *                         TEST FOR RESET SET             M 01940000                
       TBN   CMOPWK+1,MLRSET           HAS RESET BEEN SET             M 01950000                
       JT    CMCONV                    JUMP TO ISSUE CONVERSATIONAL   M 01960000                
       SPACE                                                            01970000                
* SINCE RESET NOT USED ON THIS LINE DETERMINE WHETHER A CONTINUE      M 01990000                
* OPERATION IS APPROPRIATE                                            M 02000000                
* FOR CONTINUE TO BE USED THE FOLLOWING CONDITIONS MUST BE MET        M 02010000                
* 1/ LAST OP ON LINE WAS OF SAME TYPE                                 M 02020000                
* 2/ LAST TERMINAL SCHEDULED ON LINE WAS SAME                         M 02030000                
* 3/ FOR A READ THIS MUST BE A 2741 OR 2740 WITH CHECKING FEATURE.    M 02040000                
* 4/ READ TO STATION CONTROL TERMINAL WILL NEVER BE CONTINUE          M 02050000                
       SPACE                                                            02060000                
* WAS LAST OP ON LINE TO THIS TERMINAL ?                              M 02070000                
       SPACE                                                            02080000                
CMPOP  TBN   $MDOPC(,XR2),*-*          COMPARE LAST OP WITH CURRENT.  M 02090000                
       JF    CMCONV                    JUMP TO ISSUE CONVERSATIONAL   M 02100000                
       SPACE                                                            02110000                
       AIF   (&NSCTL).S5910                                             02120000                
       CLC   $MDTMA(2,XR2),CMSTMA      TERMINAL ADDR MATCH FOR THIS  CM 02130000                
*                                      AND LAST OP ON LINE ?         CM 02140000                
       JNE   CMCONV                    NO-GO ISSUE CONVERSATIONAL OP.CM 02150000                
       SPACE                                                            02160000                
.S5910 ANOP                                                             02170000                
* IF OPERATION IS A WRITE ISSUE A CONTINUE OP                         M 02180000                
       SPACE                                                            02190000                
       TBN   $MDOPC(,XR2),MLWRIT       WAS IT WRITE                   M 02200000                
       JT    CMCONT                    IF YES JUMP TO FORM CONTINUE OPM 02210000                
       SPACE                                                            02220000                
       AIF   (&NSCTL).S5920                                             02230000                
* IF STATION CONTROL, THEN ISSUE CONVERSATIONAL OPERATION.           CM 02240000                
       SPACE                                                            02250000                
       TBN   $MDTFT(,XR2),CMSTAT       TEST FOR STATION CONTROL      CM 02260000                
       JT    CMCONV                    ISSUE CONVERSATIONAL OP       CM 02270000                
       SPACE                                                            02280000                
.S5920 ANOP                                                             02290000                
       SPACE                                                            02291000                
*   CONTINUE OP IS VALID TO ALL CHECKING TERMINALS.                   M 02292000                
       SPACE                                                            02293000                
       TBN   $MDTFT(,XR2),MLLRC        THIS A CHECKING TERMINAL ?     M 02294000                
       JT    CMCONT                    YES-GO TO ISSUE CONTINUE.      M 02295000                
       SPACE                                                            02296000                
       AIF   (&N2741).B5300                                             02310000                
*  READ-CONTINUE NON-STATION CONTROL CAN ONLY BE TO A 2741.          1M 02340000                
       SPACE                                                            02360000                
       CLI   $MDTTP(,XR2),ML2741       IS IT 2741                    1M 02370000                
       JE    CMCONT                    JUMP IF 2741                  1M 02380000                
       SPACE                                                            02390000                
.B5300 ANOP                                                             02400000                
* CONTINUE NOT VALID - ISSUE CONVERSATIONAL OPERATION CODE            M 02410000                
       SPACE                                                            02420000                
* ISSUE CONVERSATIONAL OPERATION CODE                                 M 02430000                
       SPACE                                                            02440000                
CMCONV EQU   *                         PREPARE FOR CONVERSATIONAL.    M 02450000                
       SBN   CMOPWK+1,MLCONV           SET CONVERSATIONAL BIT ON      M 02460000                
       J     CMOPFM                    JUMP TO PLUG DTF               M 02470000                
       SPACE                                                            02480000                
* ALL CONDITIONS MET FOR CONTINUE OPERATION                           M 02490000                
       SPACE                                                            02500000                
CMCONT EQU   *                         FORM CONTINUE OPERATION        M 02510000                
       SBN   CMOPWK+1,MLCONT           SET CONTINUE BIT ON            M 02520000                
       SPACE                                                            02530000                
CMOPFM EQU   *                         OP FORMATION COMPLETE          M 02540000                
       AIF   (&NSCTL).S5930                                             02550000                
       MVC   $MDTMA(2,XR2),CMSTMA      MOVE TMA TO DTF               CM 02560000                
.S5930 ANOP                                                             02570000                
CMOPWK MVI   $MDOPC(,XR2),*-*          MOVE OP CODE TO DTF            C 02580000                
       AIF   (&N1050).C5200                                             02590000                
       B     CMMCT                     GO TO PLUG BYTE 2 OF 1050 TMA.0M 02600000                
.C5200 ANOP                                                             02610000                
CMFORX B     *-*                       RETURN                         M 02620000                
       TITLE '$E095/CMCRID---ADD-CARRIAGE-RETURN/IDLES'                 02630000                
********************************************************************* M 02640000                
*            ROUTINE TO ADD CARRIAGE RETURN AND IDLE CHARACTERS     * M 02650000                
********************************************************************* M 02660000                
       SPACE                                                            02670000                
* INPUT IS   - XR2 POINTS AT LCB                                      M 02680000                
*      XR1 POINTS AT TARGET ADDR (LEFTMOST BYTE)                      M 02690000                
*  MOVE IN A CARRIAGE RETURN CHARACTER AND IDLE CHARACTERS NEEDED     M 02710000                
*  TO ALLOW THE CARRIAGE TIME TO RESET TO TO HOME BASE                M 02720000                
       SPACE                                                            02730000                
CMCRID EQU   *                         ADD CARRIAGE RETURN AND IDLE.  M 02740000                
       ST    CMCRIZ+3,ARR              STORE RETURN ADDR IN BRANCH    M 02750000                
       MVI   0(,XR1),CMCR              MOVE CR CHAR TO LINE BUFR      M 02760000                
       AIF   (&NBFR).R5300                                              02770000                
       TBN   $MDTFR(,XR2),$MTBFR       IS IT BUFFERRED RECEIVE       RM 02780000                
       JT    CMCRIZ                    JUMP IF YES - NO IDLES NEEDED RM 02790000                
.R5300 ANOP                                                             02800000                
       MVI   CMTYPL-1(,XR1),CMIDLE     MOVE IDLE CHAR TO LINE BUFR    M 02810000                
       MVC   CMTYPL-2(CMTYPL-2,XR1),CMTYPL-1(,XR1) PROPOGATE IDLE CHARM 02820000                
CMCRIZ B     *-*                       RETURN                         M 02830000                
       AIF   (&N1050).C5300                                             02840000                
       TITLE '$E095/CMMCT----MULTI-COMPONENT-ADDRESS-ANALYSIS'          02850000                
******************************************************************** 0M 02860000                
*            TERMINAL ADDRESS ANALYSIS FOR MULTI-COMPONENT TERMINAL* 0M 02870000                
******************************************************************** 0M 02880000                
*                                                                     * 02900000                
* FUNCTION:                                                           * 02910000                
*                                                                     * 02920000                
*      THIS ROUTINE PERFORMS A COMPONENT ADDRESS ANALYSIS FOR A 1050  * 02930000                
*      TERMINAL.  IT WILL MOVE TO THE TERMINAL ADDRESS FIELD IN THE   * 02940000                
*      MLTA DTF THE COMPONENT ADDRESS SPECIFIED IN THE PARAMETER LIST.* 02950000                
*                                                                     * 02960000                
*      . A CHECK IS MADE TO ASSURE THE TERMINAL IS A 1050             * 02970000                
*                                                                     * 02980000                
*      . THE COMPONENT INDEX IN THE PARAMETER LIST IS USED TO GET THE * 02990000                
*      COMPONENET ADDRESS FROM A TABLE OF 1050 COMPONENT ADDRESSES    * 03000000                
*                                                                     * 03010000                
*      . THE COMPONENT ADDRESS IS MOVED TO THE MLTA DTF               * 03020000                
*                                                                     * 03030000                
* ENTRY POINT: CMMCT.                                                 * 03040000                
*                                                                     * 03050000                
*                                                                     * 03090000                
* INPUT: INDEX REGISTER 1 CONTAINS THE ADDRESS OF THE COMMUNICATIONS  * 03100000                
*      PARAMETER LIST                                                 * 03110000                
*                                                                     * 03120000                
*      . INDEX REGISTER 2 CONTAINS THE ADDRESS OF THE MLTA DTF        * 03130000                
*                                                                     * 03140000                
*                                                                     * 03160000                
* OUTPUT: THE 1050 COMPONENT ADDRESS IS MOVED TO THE TERMINAL ADDRESS * 03170000                
*      FIELD IN THE MLTA DTF                                          * 03180000                
*                                                                     * 03190000                
* EXTERNAL REFERENCES:                                                * 03200000                
*                                                                     * 03210000                
*      . COMMUNICATIONS PARAMETER LIST                                * 03220000                
*                                                                     * 03230000                
*      . MLTA DTF                                                     * 03240000                
*                                                                     * 03250000                
* EXITS, NORMAL: TO CALLER NSI ADDESSS.                               * 03260000                
*                                                                     * 03290000                
* TABLES/WORKAREA:  MCTABL -> TABLE OF 1050 COMPONENT ADDRESSES.      * 03300000                
*                                                                     * 03310000                
* ATTRIBUTES: RESIDENT, REUSABLE                                      * 03340000                
*                                                                     * 03370000                
*********************************************************************** 03380000                
       EJECT                                                            03390000                
CMMCT  EQU   *                         PLUG TMA FOR 1050             0M 03430000                
       ST    CMMCTR+3,ARR              SAVE THE ARR                  0M 03440000                
       ST    CMMCT1+3,XR1              SAVE XR1                      0M 03450000                
       SPACE                                                            03460000                
*      DETERMINE IF THIS IS MCT                                      0M 03470000                
       SPACE                                                            03480000                
       CLI   PL$MCT(,XR1),NOBIT        IS IT MCT                     0M 03490000                
       JE    CMMCTR                    JUMP IF NOT MCT               0M 03500000                
       SPACE                                                            03510000                
*      HAVE MCT WITH INDICES IN PL$OPC                               0M 03520000                
*      DETERMINE WHETHER TO PLUG INPUT OR OUTPUT COMPONENT           0M 03530000                
       SPACE                                                            03540000                
       MNN   CMMCTV+3,PL$MCT(,XR1)     MOVE OUTPUT COMPONENT INDEX   0M 03550000                
       TBN   PL$OPM(,XR1),OPPUT        IS THIS WRITE OPERATION       0M 03560000                
       JT    CMMCTM                    JUMP IF WRITE                 0M 03570000                
       SPACE                                                            03580000                
*      HAVE READ OR SET SKIP BIT SO MOVE INPUT COMPONENT             0M 03590000                
       SPACE                                                            03600000                
       MNZ   CMMCTV+3,PL$MCT(,XR1)     MOVE INPUT COMPONENT INDEX    0M 03610000                
       SPACE                                                            03620000                
* GET THE COMPONENT ADDRESS FROM THE TABLE BY USING THE INDEX AS A   0M 03630000                
*      DISPLACEMNT AND PLUG THE ADDR INTO THE DTF                    0M 03640000                
       SPACE                                                            03650000                
CMMCTM LA    MCTABL-1,XR1              POINT XR1 AT MCT TABLE        0M 03660000                
CMMCTV MVC   $MDTMA(1,XR2),##(,XR1)    PLUG 2ND TMA BYTE WITH COMP.  0M 03670000                
       SPACE                                                            03680000                
CMMCT1 LA    ####,XR1                  RESTORE XR1                   0M 03690000                
CMMCTR B     ####                      RETURN                        0M 03700000                
       TITLE '$E095/MCTABL--MULTI-COMPONENT-ADDRESS-TABLE'              03710000                
******************************************************************** 0M 03720000                
*      MULTI-COMPONENT TERMINAL TABLE                              * 0M 03730000                
******************************************************************** 0M 03740000                
       SPACE                                                            03750000                
MCTABL EQU   *                         MCT TABLE                     0M 03760000                
       DC    XL1'0B'                   KEYBOARD       INDEX 1        0M 03770000                
       DC    XL1'0D'                   READER 1       INDEX 2        0M 03780000                
       DC    XL1'0E'                   READER 2       INDEX 3        0M 03790000                
       DC    XL1'15'                   ANY INPUT DEVICE  INDEX 4     0M 03800000                
       DC    XL1'02'                   PRINTER 1     INDEX 5         0M 03810000                
       DC    XL1'04'                   PRINTER 2    INDEX  6         0M 03820000                
       DC    XL1'07'                   PUNCH 1    INDEX 7            0M 03830000                
       DC    XL1'06'                   PUNCH 2   INDEX 8             0M 03840000                
       DC    XL1'13'                   ALL OUTPUT COMPONENTS INDEX 9.0M 03850000                
       SPACE 2                                                          03860000                
MCTPRT EQU   6                         INDEX OF LAST 1050 PRINTER    0M 03870000                
.C5300 ANOP                                                             03880000                
.M2000 ANOP                                                             03890000                
       TITLE '$E095----EQUATES----CONSTANTS'                            03900000                
TRL    EQU   *                         START OF TRANSLATE LIST          03910000                
MVL    EQU   *                         START OF MOVE LIST               03920000                
       DS    XL2                       FROM LENGTH                      03930000                
       DS    AL2                       TO ADDRESS                       03940000                
       DS    AL2                       FROM ADDRESS                     03950000                
       DS    XL2                       TO LENGTH                        03960000                
       DS    XL1                       RETURN CODE                      03970000                
       SPACE                                                            03980000                
       AIF   (&NDME).D5100                                              03990000                
       AIF   (&NOM).M2100                                               04000000                
* SPECIAL TRANSLATE LIST FOR DATA MODE ESCAPE COMMAND CHECK          DM 04010000                
       SPACE                                                            04020000                
* IT IS SET UP TO TRANSLATE 6 BYTES INTO A PRE-DEFINED FIELD         DM 04040000                
* ALL FIELDS ARE PRE-SET EXCEPT                                      DM 04050000                
*  1) FROM ADDR                                                      DM 04060000                
*  2) TRANSLATE TABLE ADDR                                           DM 04070000                
       SPACE                                                            04080000                
CMDMTL EQU   *                         DATA MODE ESCAPE XLATE LIST.  DM 04090000                
       DC    IL2'6'                    FROM LENGTH                   DM 04100000                
       DC    AL2(CMDMEB)               TO ADDR                       DM 04110000                
       DS    AL2                       FROM ADDR                     DM 04120000                
       DC    IL2'6'                    TO LENGTH                     DM 04130000                
       DS    XL1                       RETURN CODE                   DM 04140000                
       SPACE                                                            04150000                
******************************************************************** DM 04160000                
       SPACE                                                            04170000                
* DATA MODE ESCAPE FIELDS                                            DM 04180000                
       SPACE                                                            04190000                
.M2100 ANOP                                                             04200000                
DMELEN EQU   6                         LENGTH OF DATA MODE ESCAPE.    D 04210000                
CMDME  DC    &DMESTR                   DATA MODE ESCAPE STRING        D 04220000                
       AIF   (&NOM).M2200                                               04230000                
CMDMEB EQU   *                         DATA MODE ESCAPE CHECK AREA.  DM 04240000                
       DS    CL(DMELEN)                DATA MODE ESCAPE BUFFER AREA. DM 04250000                
*                                      TRANSLATE 1ST 6-BYTES HERE    DM 04260000                
.M2200 ANOP                                                             04270000                
.D5100 ANOP                                                             04280000                
       SPACE                                                            04290000                
       AIF   (&NOB).NB010                                               04300000                
       AIF   (&MIN).N0100                                               04310000                
.NB010 ANOP                                                             04320000                
GMLIST EQU   *                         START OF GETMAIN PARM LIST       04330000                
       DS    AL2                       GETMAIN ADDRESS                  04340000                
       DS    XL2                       SIZE OF GETMAIN AREA             04350000                
       SPACE                                                            04360000                
SAVTA1 DC    XL1'0'                    TERMINAL ATTRIBUTE SET BYTE 1    04370000                
SAVTA2 DC    XL1'0'                    TERMINAL ATTRIBUTE SET BYTE 2    04380000                
       AIF   (&NOB).C0585                                               04390000                
SAVRCL DC    XL2'00'                   TERM ATTR SET RECORD LENGTH.   B 04400000                
.N0100 ANOP                                                             04410000                
.C0585 ANOP                                                             04420000                
X$FFFC DC    XL2'FFFC'                 2-BYTE VALUE FOR MINUS 4         04430000                
CC0016 DC    IL2'16'                   2-BYTE BINARY 16                 04440000                
       AIF   (&NOB).NB020                                               04450000                
       AIF   (&MIN).NX010                                               04460000                
.NB020 ANOP                                                             04470000                
CMLLCB DC    AL2(0)                    LAST LCB TESTED FOR GM ANALYSIS  04480000                
       SPACE                                                            04490000                
.NX010 ANOP                                                             04500000                
       SPACE                                                            04510000                
* INTERNAL CM WORK AREAS                                                04520000                
       SPACE                                                            04530000                
CMPSII DC    AL2(256*WPAAII)           POST WPAAII BIT                  04540000                
CMPSCP DC    AL2(256*WPACP)            POST MASK FOR WPACP POST BIT     04550000                
CMPSBY DC    AL2(256*WPABSY)           POST MASK FOR WPABSY POST BIT  *L04555000                
CMSWIT DC    BL1'0'                    SET OF EIGHT BINARY SWITCHES     04560000                
CMRFCK DC    XL2'0000'                 PRUF WORK AREA                   04563000                
CMSEVN DC    XL2'0007'                 CONSTANT OF SEVEN FOR PRUF       04566000                
CMNDQL EQU   BIT0                      1-STILL NEED GETMAIN FOR THIS LCB04570000                
CMRSLN EQU   BIT1                      1-INDICATES LINE CAN BE RESCHEDUL04580000                
CMTPRQ EQU   BIT2                      1-INDICATES REQUEST JUST         04590000                
*                                      SCHEDULED WAS RESULT OF TP REQUES04600000                
*                                      POST BIT BEING SET               04610000                
CMFMGO EQU   BIT3                      CM FREEMAIN OCCURRED BIT         04620000                
*                                      0-FREEMAIN OCCURRED              04630000                
*                                      1-NO FREEMAIN OCCURRED           04640000                
CMNOST EQU   BIT4                      1-ONLINE TEST START FAILED       04650000                
CMBSCK EQU   BIT5                      1-BSCA DTF SET UP FOR CHECK CALL 04660000                
CMSPSI EQU   BIT6                      1-CM HAS HANDLED STOP INVITE     04663000                
*                                         TO A STATUS POLL TERMINAL     04666000                
KNONLY EQU   BIT7                      CONSOLE IS ONLY PL IN Q (MD 4)   04668000                
       SPACE                                                            04670000                
CMIIND DS    XL2                       SIZE OF BUFFER NEEDED FOR LINE   04680000                
       AIF   (&NOB).NB040                                               04690000                
       AIF   (&MIN).N0150                                               04700000                
.NB040 ANOP                                                             04710000                
#BUFND DS    CL2                       CONTAINS STORAGE NEEDED BY OPER  04720000                
*                                      AFTER ANALYSIS BY CMSTOR ROUTINE 04730000                
.N0150 ANOP                                                             04740000                
       SPACE                                                            04750000                
* $CC4CM SAVE AREA                                                      04760000                
       SPACE                                                            04770000                
CMSDTF DS    AL2                       SAVE AREA FOR TP DTFADDR         04780000                
CMSLCB EQU   CMSDTF                    SAVE AREA FOR LCB /SAME AS DTF/  04790000                
       AIF   (&NOB).NB030                                               04800000                
SAVCAT DC    XL4'0'                    SAVE AREA FOR IOBCAR + IOBTAR    04801000                
CMSPL@ DC    XL2'0000'                 TEMP HOLD AREA FOR PL @          04803000                
USRTID DC    XL1'00'                   SAVE AREA FOR DFF OHA OWNER      04806000                
       AIF   (&MIN).N0200                                               04810000                
.NB030 ANOP                                                             04820000                
CMSPL  DS    AL2                       SAVE AREA FOR PARM LIST ADDR     04830000                
.N0200 ANOP                                                             04840000                
       AIF   (&NOM).M2250                                               04850000                
CMTCHR DS    XL1                       SAVE AREA FOR TUB CHARACTERISTICS04860000                
CMVPTR DS    AL2                       ADDRESS OF PREVIOUS POINTER IN   04870000                
*                                      LINE QUEUE                       04880000                
CMTYPZ DC    IL2'16'                   NUMBER OF TYPEWRITER CONTROL     04890000                
*                                      CHARACTERS ADDED TO MESSAGES     04900000                
*                                      THIS FIELD CHANGED IF BUFF REC   04910000                
*                                      TERMINALS IN THE SYSTEM          04920000                
       SPACE                                                            04930000                
.M2250 ANOP                                                             04940000                
       AIF   (&NSCTL).S5940                                             04950000                
MLSTCL DC    AL1(MLSTAT)               STATION CONTROL BIT              04960000                
CMSTMA DS    XL2                       SAVE AREA FOR MLTA TERMINAL ADDR 04970000                
*                                      HAS BEEN REQUESTED               04980000                
.S5940 ANOP                                                             04990000                
       EJECT                                                            05000000                
TLCREL EQU   BIT6                      BIT IN RETURN CODE TO INDICATE   05010000                
*                                      CARRIAGE RETURN AT END OF LINE   05020000                
TLERR  EQU   BIT7                      BIT IN TRANSLATE RETURN CODE TO  05030000                
*                                      INDICATE INVALID CHAR TRANSLATED 05040000                
       SPACE 2                                                          05050000                
* GETMAIN LIST EQUATES AND AREA                                         05060000                
       SPACE                                                            05070000                
GMCCP  EQU   0                         BEGINNING OF GETMAIN PARM LIST   05080000                
GMADDR EQU   GMCCP+2-1                 GETMAIN ADDRESS                  05090000                
GMSIZE EQU   GMADDR+2                  SIZE OF GETMAIN AREA             05100000                
       SPACE                                                            05110000                
* $CC4CM EQUATES                                                        05120000                
       SPACE                                                            05130000                
#4     EQU   X'1B'                     HALT LIGHT '4'.                  05140000                
#BLITZ EQU   X'19'                     HALT LIGHT 'BLITZ'.              05150000                
       AIF   (&NOM EQ '0').M2300                                        05160000                
$MDCMP EQU   $BDCMP                    LABEL FOR COMPLETION CODE.       05170000                
$MCRET EQU   X'56'                     NO DTF'S COMPLETE.               05180000                
.M2300 ANOP                                                             05190000                
       AIF   (&NOM).M2400                                               05200000                
CMCR   EQU   X'5B'                     LINE CODE CARRIAGE RETURN CHAR   05210000                
CMIDLE EQU   X'5E'                     LINE CODE IDLE CHARACTER         05220000                
CMCRTM EQU   73                        MAX INPUT TO ALLOW CARRIAGE TO   05230000                
*                                      RETURN WITHOUT IDLE CHAR         05240000                
MLRSET EQU   X'01'                     RESET BIT IN OP CODE             05250000                
MLCONT EQU   X'02'                     CONTINUE OP CODE BIT             05260000                
MLCONV EQU   X'04'                     CONVERSATIONAL OPERATION CODE BIT05270000                
MLLRC  EQU   $MTLRC                    LONGITUDINAL RECORD CHECKING     05280000                
MLBFRC EQU   $MTBFR                    BUFFERRED RECEIVE BIT            05290000                
CMBFRC EQU   $MTBFR                    BUFFERRED RECEIVE BIT            05300000                
MLREAD EQU   BIT3                      MLTA READ OP BIT                 05310000                
MLWRIT EQU   BIT2                      MLTA WRITE OP BIT                05320000                
MLABRT EQU   $MCABT                    MLTA ABORT OP CODE               05330000                
MLSKPN EQU   $MCTSN                    MLTA SET SKIP BIT ON OP CODE     05340000                
MLSKPF EQU   $MCTSF                    MLTA SET SKIP BIT OFF OP CODE    05350000                
MLSTAT EQU   $MTPLT                    MLTA STATION CONTROL BIT         05360000                
CMSTAT EQU   $MTPLT                    MLTA STATION CONTROL BIT         05370000                
       SPACE                                                            05380000                
CMNLOP EQU   X'CF'                     MASK TO SET OFF MLTA OP CODE     05390000                
.M2400 ANOP                                                             05400000                
CMCMDI EQU   BIT0+BIT1                 COMMMAND INTERRUPT MODE          05410000                
CMZERO EQU   X'00'                     EQUATE OF ZERO                   05420000                
       SPACE                                                            05430000                
CMLNPL EQU   CC0016                    LENGTH OF THE TP PARAMETER LIST  05440000                
CMTYPL EQU   X'10'                     NUMBER OF TYPEWRITER CHARS ADDED 05450000                
*                                      TO MESSAGE IF REQUESTED BY USER  05460000                
CMTYBF EQU   1                         NUMBER OF TYPEWRITER CONTROL     05470000                
*                                      CHARS TO ADD FOR BUFFERRED REC   05480000                
CMASK  EQU   X'80'                     MASK FOR TYPEWRITER SWITCH       05490000                
$PARM  EQU   2                                                          05500000                
       SPACE                                                            05510000                
MLSCCS EQU   X'FD'                     BAD BITS IN RETURN CODE FROM MLTA05520000                
MLCOF1 EQU   X'01'                     MLTA PERMANENT ERROR             05530000                
MLCTNR EQU   X'04'                     ABORT OK, OR WRITE BAD RETURN COD05540000                
MLCITP EQU   X'06'                     TERMINAL INTERRUPT               05550000                
       SPACE 3                                                          05560000                
       AIF   (&NOB).C0590                                               05570000                
       EJECT                                                            05580000                
ALL    EQU   X'FF'                     MASK FOR ALL BITS IN A BYTE.   B 05590000                
BLANK  EQU   X'40'                     MASK FOR A BLANK CHARACTER.    B 05600000                
BSCA   EQU   X'80'                     Q CODE FOR BSCA.               B 05610000                
DONE   EQU   X'40'                     NORMAL COMPLETION.             B 05620000                
DSMXNT EQU   X'80'                     DSM RIB FOR SYSTEM TRANSIENT.  B 05630000                
DTF    EQU   2                         DTF REG.                       B 05640000                
FLDDME EQU   13                        END POSITION IF DME CHARS.     B 05650000                
FLDRUN EQU   11                        END POSITION IF '/RUN'.        B 05660000                
FLSCLR EQU   X'97'                     UNCONDITIONAL: CLEAR FALSE CONDB 05670000                
FLSNEQ EQU   X'96'                     CONDITION: FALSE OR NOT EQUAL. B 05680000                
FLSNLO EQU   X'95'                     CONDITION: FALSE OR NOT LOW.   B 05690000                
FLSOEQ EQU   X'91'                     CONDITION: FALSE OR EQUAL.     B 05700000                
FLSNHI EQU   X'93'                     CONDITION: FALSE OR NOT HI    *L 05705000                
FLSOHI EQU   X'94'                     CONDITION: FALSE OR HI.        B 05710000                
FLSOLO EQU   X'92'                     CONDITION: FALSE OR LOW.       B 05720000                
IBX    EQU   2                         IOB WORK REG FOR BUFFER CARVE. B 05730000                
IOB    EQU   1                         PTR TO INPUT/OUTPUT BLOCK      B 05740000                
LINE2  EQU   X'08'                     MASK FOR BSCA LINE 2 Q CODE.   B 05750000                
PARM   EQU   1                         PARAMETER LIST POINTER REG.    B 05760000                
PL     EQU   1                         PARAMETER LIST REGISTER.       B 05770000                
POL    EQU   1                         POLL LIST WORK REGISTER.       B 05780000                
POLBIT EQU   X'20'                     ON-ADDRESSING, OFF-POLLING.    B 05790000                
POLSKP EQU   X'80'                     SKIP BIT FOR POLLING LIST      B 05795000                
READY  EQU   X'84'                     IOB READY FOR TRANSMIT.        B 05800000                
SBF2   EQU   X'BB'                     SBF BASED ON XR2.              B 05810000                
SBN2   EQU   X'BA'                     SBN BASED ON XR2.              B 05820000                
TRUAEQ EQU   X'16'                     CONDITION; TRUE AND EQUAL.     B 05830000                
TRUALO EQU   X'15'                     CONDITION: TRUE AND LOW.       B 05840000                
TRUNEQ EQU   X'11'                     CONDITION: TRUE AND NOT EQUAL. B 05850000                
TRUNHI EQU   X'14'                     CONDITION: TRUE AND NOT HIGH.  B 05860000                
TUB    EQU   1                         PTR TO TERMINAL UNIT BLOCK.    B 05870000                
TXTSNT EQU   X'01'                     INITIAL SETTING TEXT INDICATORSB 05880000                
WKA    EQU   1                         WORK AREA REGISTER.            B 05890000                
WORK   EQU   1                         GENERAL WORK REG.              B 05900000                
WCC    EQU   2                         DISP. OF WCC IN PLRECA        *L 05903000                
STPRT  EQU   X'08'                     START PRINT BIT IN WCC        *L 05906000                
       EJECT                                                            05910000                
       AIF   (&MIN).N0800                                               05920000                
CMSPHY DC    AL1(0)                    SAVE AREA FOR TUBPHY.          B 05930000                
.N0800 ANOP                                                             05940000                
BBUCKT DC    XL1'00'                   DUMMY AREA FOR SEARCH EOT.     B 05950000                
FNDEOT DC    AL2(BBUCKT)               @ OF BIT BUCKET AREA FOR SEARCHB 05960000                
       DC    AL2(BLANKC)               ADDR. OF BLANK CHAR.           B 05970000                
       DC    AL2(1)                    LEN OF 1 FOR MOVE/CLEAR RTN.   B 05980000                
BNKRST EQU   *-1                                                      B 05990000                
&MIX   SETA  &NITB+&NTSP+5*&NDF                                         05991000                
       AIF   (&MIX NE '5').T1300                                        05992000                
TWO    DC    AL2(2)                    ITB/TRANSP BUMP CONSTANT.    IXB 05993000                
.T1300 ANOP                                                             05994000                
       AIF   (&MIN).NX020                                               06000000                
FIVE   DC    XL2'0005'                 CONSTANT OF FIVE.              B 06010000                
.NX020 AIF   (&NSWL).S0100                                              06020000                
THREE  DC    AL2(3)                    NSI BUMP CONSTANT.            SB 06030000                
.S0100 ANOP                                                             06040000                
TWELVE DC    AL2(12)                   BUMP VALUE FOR OLT PARM LIST.  B 06050000                
       AIF   (&MIN).N0400                                               06060000                
IOBLEN DC    AL2(IOBL)                 LENGTH OF BSCA IOB.            B 06070000                
.N0400 ANOP                                                             06080000                
LINFO  EQU   IOBL                      MAX # LINE CONTROL CHARS MLMP.   06090000                
&MIX   SETA  &N32+&N37+&N41                                             06100000                
       AIF   (&MIX EQ '3').T1400                                        06110000                
*                            ------------------------>  START -->   @01 06115000                
RELSNS DC    XL2'0014'                 MAX RECL FOR STATUS POLL. 0/5/7B 06120000                
*                            ------------------------>   END --->   @01 06125000                
       AIF   (&N32).T1400                                               06130000                
MAXMSG DC    AL2(80+FORMTL)            MAX SPACE FOR SYSTEM MSG.     0B 06140000                
CMSTUS DC    AL2(SSID)                 MSG ID FOR 3270 STATUS.       0B 06150000                
.T1400 ANOP                                                             06160000                
&MIX   SETA  &NAS+&N32                                                  06170000                
       AIF   (&MIX NE '0').T1500                                        06180000                
CMSTAS DC    XL2'2552'                 ASCII '%R', STATUS MSG.      0AB 06190000                
.T1500 ANOP                                                             06200000                
       AIF   (&N37).T1600                                               06210000                
CMNULS DC    XL3'00E200'               NUL-S-NUL HEADER, 3735 STATUS.5B 06220000                
       AIF   (&NAS).T1600                                               06221000                
CMNULA DC    XL3'005300'               NUL-S-NUL (ASCII).           5AB 06222000                
.T1600 ANOP                                                             06230000                
       AIF   (&N41).C0590                                               06231000                
*                           ------------------------>  START --->   @01 06232000                
CM3741 DC    CL2'%V'                   3741 STATUS MSG (EBCDIC).     7B 06233000                
       AIF   (&NAS).T1700                                               06234000                
CM374A DC    XL2'2556'                 3741 STATUS MSG (ASCII).     7AB 06235000                
.T1700 ANOP                                                             06235500                
*                          --------------------------->  END --->   @01 06236000                
.C0590 ANOP                                                             06240000                
       DC    CL50'MAINTENCE.SPACE.BEGINS.HERE.......................'   06260000                
       DC    CL45'.............................................'        06270000                
       DC    CL50'...........................END.OF.MAINTENCE.SPACE.'   06300000                
       MEND                                                             06320000