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

⟦968c5057d⟧ s3xseg

    Length: 8636 (0x21bc)
    Types: s3xseg
    Names: »S$E094«

Derivation

└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
    └─⟦64693a1c9⟧ 
        └─⟦this⟧ »S$E094« 
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
    └─⟦95ee7795b⟧ 
        └─⟦this⟧ »S$E094« 

TextSegment

       MACRO                                                            00010000                
.*****************************************************************      00020000                
.* NAME  $E094                                                   *      00030000                
.*****************************************************************      00040000                
       $E094                                                            00050000                
       GBLB  &ONE,&NOB,&NOM,&MIN,&NDME                                  00060000                
       GBLB  &NSW,&N1050,&N2741,&NMOVE,&NSCTL,&NBFR                     00070000                
       TEXT                                                             00080000                
* R-02,C-01 CHANGE LEVEL                                                00090000                
* R-02,C-02 CHANGE LEVEL      DEL                                       00100000                
       AIF   (&NOM).M2000                                               00110000                
       AIF   (&NSCTL).S5800                                             00120000                
       TITLE '$E094/CMONSK/CMOFSK---MLTA-POLL-SKIP-BIT-ROUTINE'         00130000                
******************************************************************** CM 00140000                
*                                                                    CM 00150000                
* TITLE: CMONSK/CMOFSK - 'MLTA POLL SKIP BITS ON/OFF ROUTINE.'       CM 00160000                
*                                                                    CM 00170000                
* FUNCTION:                                                          CM 00180000                
*                                                                    CM 00190000                
*      THIS ROUTINE WILL TURN ON OR OFF AS DESIGNATED, THE POLLING   CM 00200000                
*      SKIP BIT FOR AN MLTA TERMINAL ON A CONTROL STATION LINE       CM 00210000                
*                                                                    CM 00220000                
*      . A CHECK IS MADE TO ASSURE THAT THE MLTA DTF IS OPEN AND IS  CM 00230000                
*      FOR A LINE WITH THE STATION CONTROL FEATURE                   CM 00240000                
*                                                                    CM 00250000                
*      . THE POLLING SKIP BIT FOR THE TERMINAL SPECIFIED BY THE      CM 00260000                
*      PARAMETER LIST IS THEN SET ON OR OFF AS APPROPRIATE BY        CM 00270000                
*      BRANCHING TO THE MLTA IOCS                                    CM 00280000                
*                                                                    CM 00290000                
* ENTRY POINTS:                                                      CM 00300000                
*                                                                    CM 00310000                
*      . CMONSK - TO SET ON THE POLLING SKIP BIT                     CM 00320000                
*                                                                    CM 00330000                
*      . CMOFSK - TO SET OFF THE POLLING SKIP BIT                    CM 00340000                
*                                                                    CM 00350000                
* INPUT:                                                             CM 00360000                
*                                                                    CM 00370000                
*      INDEX REGISTER 1 CONTAINS THE ADDRESS OF THE PARAMETER LIST   CM 00380000                
*      FOR THE TERMINAL FOR WHICH THE SKIP BIT IS TO BE SET          CM 00390000                
*                                                                    CM 00400000                
* OUTPUT:                                                            CM 00410000                
*                                                                    CM 00420000                
*      POLLING SKIP BIT SET ON OR OFF AS DESIGNATED                  CM 00430000                
*                                                                    CM 00440000                
* EXTERNAL REFERENCES:                                               CM 00450000                
*                                                                    CM 00460000                
*      . MLTA IOCS (MLTIO1)                                          CM 00470000                
*                                                                    CM 00480000                
*      . 1050 SERVICE ROUTINE (CMMCT)                                CM 00490000                
*                                                                    CM 00500000                
*      . MLTA START CODE ERROR  ($CC4SC)                             CM 00510000                
*                                                                    CM 00520000                
* EXITS, NORMAL:                                                     CM 00530000                
*                                                                    CM 00540000                
*      TO INSTRUCTION FOLLOWING THE INVOKING OF THIS ROUTINE (ARR)   CM 00550000                
*                                                                    CM 00560000                
* EXITS, ERROR:                                                      CM 00570000                
*                                                                    CM 00580000                
*      TO TRANSIENT $CC4SC IF THE MLTA IOCS YIELDS A NON-ZERO        CM 00590000                
*      OPERATION START CODE TO THE REQEUST TO SET THE POLLING SKIP   CM 00600000                
*      BIT.                                                          CM 00610000                
*                                                                    CM 00620000                
* ATTRIBUTES: RESIDES, SERIALLY REUSEABLE.                           CM 00630000                
*                                                                    CM 00640000                
*******************************************************************  CM 00650000                
       EJECT                                                            00660000                
*      IF ENTER HERE - SET THE POLL SKIP BIT ON                      CM 00670000                
       SPACE 1                                                          00680000                
CMONSK EQU   *                         *                             CM 00690000                
       SBN   CMSWNF+1,BIT0             SET SWITCH TO BRANCH          CM 00700000                
       J     CMSVRG                    JUMP                          CM 00710000                
       SPACE                                                            00720000                
*      IF ENTER HERE - SET POLL SKIP BIT OFF                         CM 00730000                
       SPACE                                                            00740000                
CMOFSK EQU   *                                                       CM 00750000                
       SBF   CMSWNF+1,BIT0             SET SWITCH TO NO OP           CM 00760000                
       SPACE                                                            00770000                
CMSVRG EQU   *                         *   LOCAL.                    CM 00780000                
       ST    CMONOF+3,ARR              SAVE THE ARR.                 CM 00790000                
       ST    CMON1+3,XR1               SAVE XR1.                     CM 00800000                
       ST    CMON2+3,XR2               SAVE XR2.                     CM 00810000                
       SPACE                                                            00820000                
       L     PLTUBA(,XR1),XR2          POINT XR2 AT THE TUB          CM 00830000                
       L     TUBDTF(,XR2),XR2          POINT XR2 AT THE DTF          CM 00840000                
       SPACE                                                            00850000                
* ASSURE STATION CONTROL LINE, AND THAT THE LINE IS OPEN.            CM 00860000                
       SPACE                                                            00870000                
       TBN   $MDAT2(,XR2),$MAOPN       IS DTF OPEN, AND              CM 00880000                
       TBN   $MDTFT(,XR2),$MTPLT       IS IT STATION CONTROL ?       CM 00890000                
       JF    CMON2                     LEAVE NOW IF NOT STAION CTRL. CM 00900000                
       SPACE                                                            00910000                
* HAVE STATION CONTROL LINE, SET APPROPRIATE OP CODE IN THE DTF.     CM 00920000                
       SPACE                                                            00930000                
       L     PLTUBA(,XR1),XR1          POINT XR1 AT TUB              CM 00940000                
       SPACE                                                            00950000                
CMSWNF JC    CMNNSK,X'87'              JUMP TO SET SKIP ON.          CM 00960000                
       MVI   $MDOPC(,XR2),$MCTSF       MOVE SKIP BIT OFF OP TO DTF   CM 00970000                
       J     CMPGTA                    JUMP TO PLUG TERM ADDR IN DTF CM 00980000                
       SPACE                                                            00990000                
CMNNSK EQU   *                         *   LOCAL.                       01000000                
       MVI   $MDOPC(,XR2),$MCTSN       MOVE SKIP BIT ON OP TO DTF    CM 01010000                
       SPACE                                                            01020000                
CMPGTA EQU   *                         *   LOCAL.                       01030000                
       MVC   $MDTMA(2,XR2),TUBTMA(,XR1) MOVE TERMINAL ADDR TO DTF    CM 01040000                
CMON1  LA    #,XR1                     RESTORE XR1                   CM 01050000                
       SPACE                                                            01060000                
       AIF   (&N1050).C5100                                             01070000                
       B     CMMCT                     PLUG BYTE 2 OF TMA FOR 1050  1CM 01080000                
.C5100 ANOP                                                             01090000                
       SPACE                                                            01100000                
       B     MLTIO1                    BR TO MLTA IOCS               CM 01110000                
       SPACE                                                            01120000                
       CLI   $MDOSC(,XR2),NOBIT        CHECK START CODE              CM 01130000                
       JE    CMON2                     JUMP IF START CODE GOOD       CM 01140000                
       SPACE                                                            01150000                
* BRING IN TRANSIENT TO ANALYZE THE NON-ZERO MLTA START CODE         CM 01160000                
       SPACE                                                            01170000                
       SVC   0                         ##### TRANSIENT CALL #####    CM 01180000                
       DC    AL1(CCPRIB)               CCP SVC RIB.                  CM 01190000                
       DC    AL1(CC4SC)                TRANSIENT ID FOR START CODE   CM 01200000                
       SPACE                                                            01210000                
CMON2  EQU   *                         *   LOCAL.                       01220000                
       LA    #,XR2                     RESTORE XR2                   CM 01230000                
CMONOF B     #                         RETURN                        CM 01240000                
.S5800 ANOP                                                             01250000                
       TITLE '$E094/CMCRID---ADD-CARRIAGE-RETURN/IDLES'                 01260000                
**********************************************************************M 01270000                
*                                                                     M 01280000                
*  TITLE: CMCRID - 'ADD MLTA CARRAIGE RETURN AND IDLES.'              M 01290000                
*                                                                     M 01300000                
*  FUNCTION:  MOVE IN A CARRAIGE RETURN AND IDLE CHARACTERS NEEDED    M 01310000                
*        TO ALLOW THE CARRIAGE TIME TO RETURN TO HOME POSITION.       M 01320000                
*                                                                     M 01330000                
*  ENTRY POINT: CMCRID.                                               M 01340000                
*                                                                     M 01350000                
*  INPUT:XR1 -> TARGET ADDRESS. (LEFTMOST DATA ADDRESS).              M 01360000                
*        XR2 -> DTF(LCB).                                             M 01370000                
*                                                                     M 01380000                
*  OUTPUT: CARRAGE RETURN AND IDLES ADDED TO OUTPUT DATA STREAM.      M 01390000                
*                                                                     M 01400000                
*  EXTERNAL REFERENCES: N/A.                                          M 01410000                
*                                                                     M 01420000                
*  EXITS-NORMAL: ALWAYS RETURN TO NSI OF CALLER.                      M 01430000                
*                                                                     M 01440000                
**********************************************************************M 01450000                
       SPACE 3                                                          01460000                
CMCRID EQU   *                         *   < ENTRY POINT >            M 01470000                
       ST    CMCRIZ+3,ARR              STORE RETURN ADDR IN BRANCH.   M 01480000                
       MVI   0(,XR1),CMCR              MOVE CR CHAR TO LINE BUFR.     M 01490000                
       AIF   (&NBFR).R5300                                              01500000                
       TBN   $MDTFR(,XR2),$MTBFR       IS IT BUFFERRED RECEIVE ?     BM 01510000                
       JT    CMCRIZ                    JUMP IF YES - NO IDLES NEEDED BM 01520000                
.R5300 ANOP                                                             01530000                
       MVI   CMTYPL-1(,XR1),CMIDLE     MOVE IDLE CHAR TO LINE BUFR.   M 01540000                
       MVC   CMTYPL-2(CMTYPL-2,XR1),CMTYPL-1(,XR1) PROPOGATE IDLE.    M 01550000                
CMCRIZ B     #                         RETURN.                        M 01560000                
       AIF   (&N1050).C5300                                             01570000                
       TITLE '$E094/CMMCT----MULTI-COMPONENT-ADDRESS-ANALYSIS'          01580000                
*********************************************************************1M 01590000                
*                                                                    1M 01600000                
* TITLE: CMMCT - 'MULTI-COMPONENT TERMINAL ADDRESS ANALYSIS'         1M 01610000                
*                                                                    1M 01620000                
* FUNCTION:                                                          1M 01630000                
*                                                                    1M 01640000                
*      THIS ROUTINE PERFORMS A COMPONENT ADDRESS ANALYSIS FOR A 1050 1M 01650000                
*      TERMINAL.  IT WILL MOVE TO THE TERMINAL ADDRESS FIELD IN THE  1M 01660000                
*      MLTA DTF THE COMPONENT ADDRESS SPECIFIED IN THE PARAMETER LIST1M 01670000                
*                                                                    1M 01680000                
*      . A CHECK IS MADE TO ASSURE THE TERMINAL IS A 1050            1M 01690000                
*                                                                    1M 01700000                
*      . THE COMPONENT INDEX IN THE PARAMETER LIST IS USED TO GET THE1M 01710000                
*      COMPONENT ADDRESS FROM A TABLE OF 1050 COMPONENT ADDRESSES.   1M 01720000                
*                                                                    1M 01730000                
*      . THE COMPONENT ADDRESS IS MOVED TO THE MLTA DTF.             1M 01740000                
*                                                                    1M 01750000                
* ENTRY POINT: CMMCT.                                                1M 01760000                
*                                                                    1M 01770000                
* INPUT:  XR1 -> PL.   XR2 -> DTF(LCB).                              1M 01780000                
*                                                                    1M 01790000                
* OUTPUT: THE MLTA DTF FIELD $MDTMA HAS THE CORRECT COMPONENT ADDR.  1M 01800000                
*                                                                    1M 01810000                
* EXTERNAL REFERENCES: NONE.                                         1M 01820000                
*                                                                    1M 01830000                
* EXTIS, NORMAL: ALWAYS TO THE NSI OF THE CALLER.                    1M 01840000                
*                                                                    1M 01850000                
* TABLES/WORKAREA: MCTABL - TABLE OF 1050 COMPONENT ADDRESSES.       1M 01860000                
*                                                                    1M 01870000                
*********************************************************************1M 01880000                
       EJECT                                                            01890000                
CMMCT  EQU   *                         *   < ENTRY POINT >           1M 01900000                
       ST    CMMCTR+3,ARR              SAVE THE ARR.                 1M 01910000                
       ST    CMMCT1+3,XR1              SAVE XR1.                     1M 01920000                
       SPACE                                                            01930000                
*      DETERMINE IF THIS IS MCT                                      1M 01940000                
       SPACE                                                            01950000                
       CLI   PL$MCT(,XR1),NOBIT        IS IT MCT ?                   1M 01960000                
       JE    CMMCTR                    JUMP IF NOT MCT.              1M 01970000                
       SPACE                                                            01980000                
*      HAVE MCT WITH INDICES IN PL$OPC.                              1M 01990000                
*      DETERMINE WHETHER TO PLUG INPUT OR OUTPUT COMPONENT.          1M 02000000                
       SPACE                                                            02010000                
       MNN   CMMCTV+3,PL$MCT(,XR1)     MOVE OUTPUT COMPONENT INDEX.  1M 02020000                
       TBN   PL$OPM(,XR1),OPPUT        IS THIS WRITE OPERATION ?     1M 02030000                
       JT    CMMCTM                    JUMP IF WRITE.                1M 02040000                
       SPACE                                                            02050000                
*      HAVE READ OR SET SKIP BIT SO MOVE INPUT COMPONENT.            1M 02060000                
       SPACE                                                            02070000                
       MNZ   CMMCTV+3,PL$MCT(,XR1)     MOVE INPUT COMPONENT INDEX.   1M 02080000                
       SPACE                                                            02090000                
* GET THE COMPONENT ADDRESS FROM THE TABLE BY USING THE INDEX AS A   1M 02100000                
*      DISPLACEMNT AND PLUG THE ADDR INTO THE DTF.                   1M 02110000                
       SPACE                                                            02120000                
CMMCTM EQU   *                         *   LOCAL.                       02130000                
       LA    MCTABL-1,XR1              POINT XR1 AT MCT TABLE.       1M 02140000                
CMMCTV MVC   $MDTMA(1,XR2),#(,XR1)     PLUG 2ND TMA BYTE WITH COMP @.1M 02150000                
       SPACE                                                            02160000                
CMMCT1 LA    #,XR1                     RESTORE XR1.                  1M 02170000                
CMMCTR EQU   *                         *   LOCAL.                    1M 02180000                
       B     #                         RETURN                        1M 02190000                
.C5300 ANOP                                                             02200000                
.M2000 ANOP                                                             02210000                
       MEND                                                             02220000