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

⟦dd53e5377⟧ s3xseg

    Length: 10922 (0x2aaa)
    Types: s3xseg
    Names: »S$E090«

Derivation

└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
    └─⟦95ee7795b⟧ 
        └─⟦this⟧ »S$E090« 

TextSegment

       MACRO                                                            00010000                
       $E090                                                            00020000                
       GBLB  &NDF,&NOM,&NRUF,&NPBY                                      00030000                
       GBLA  &YK                                                        00035000                
       TEXT                                                             00040000                
* R-02,C-00                                                             00040100                
       TITLE '$E090 - PROCESS SATISFIED ACCEPT INPUT'                   00050000                
*********************************************************************** 00060000                
*                                                                     * 00070000                
*  TITLE: 'CMACI'                                                     * 00080000                
*                                                                     * 00090000                
*  FUNCTION: SATISFY ACCEPT OPERATION AFTER AN INVITE OP ENDS.        * 00100000                
*                                                                     * 00110000                
*  OPERATION:                                                         * 00120000                
*     .  SET FIELDS IN ACCEPT PARAMETER LIST TO REFLECT DATA RECEIVED.* 00130000                
*     .  IF DFF TERMINAL, QUEUE ACCEPT REQUEST FOR $CC4DF AND EXIT.   * 00140000                
*     .  MOVE DATA TO THE ACCEPT RECORD AREA.                         * 00150000                
*     .  FREEMAIN INVITE GETMAIN AREAS.                               * 00160000                
*     . EXIT TO CMPAII TO POST ACCEPT COMPLETE.                       * 00170000                
*                                                                     * 00180000                
*  INPUT:   XR1 -> ACCEPT PARAMETER LIST ADDRESS.                     * 00190000                
*                                                                     * 00190100                
*  OUTPUT:  OUTPUT WILL BE THE DATA IN THE USER RECORD AREA.          * 00200000                
*                                                                     * 00200100                
*  EXTERNAL ROUTINES USED:                                            * 00200200                
*           CMMVRT - CM MOVE ROUTINE INTERFACE.                       * 00200300                
*           $CC4FR - CM FREEMAIN AREAS ASSOCIATED WITH PL.            * 00200400                
*                                                                     * 00200500                
*  EXITS-NORMAL: TO CMPAII TO POST ACCEPT SATISFIED.                  * 00200600                
*                                                                     * 00210000                
*********************************************************************** 00220000                
       SPACE 2                                                          00230000                
CMACI  EQU   *                         ACCEPT INPUT SATISFIED           00240000                
       SPACE 1                                                          00250000                
*********************************************************************** 00260000                
* SET UP USER RECORD AREA                                               00270000                
*********************************************************************** 00280000                
       SPACE                                                            00290000                
       L     PLTUBA(,PL),XR2           LOAD POINTER TO THE TUB          00300000                
       SPACE                                                            00310000                
*      BEGIN TO PLUG USER'S ACCEPT INPUT PARM LIST                      00320000                
       SPACE                                                            00330000                
       TBN   TUBAT2(,XR2),TUBIMI       IS THIS A PROGRAM REQUEST?       00340000                
       JF    CMNOPR                    BRANCH IF NOT                    00350000                
       SLC   PLEFFL(2,PL),PL$RTC(,PL)  DECR DATA LENGTH PROGRAM NAME    00360000                
*                                      * LENGTH IN ACCEPT PL.           00370000                
       AIF   (&NRUF).T0200                                              00370600                
       TBN   TUBCHR(,XR2),TUBLNE       BSCA LINE, AND                WB 00371800                
       TBF   TUBSCS(,XR2),TUBRUF       *              NOT RUF, AND   WB 00372400                
       L     TUBTCB(,XR2),XR2          XR2-> TCB OWNING THIS TUB.    WB 00373000                
       TBN   TCBDMG(,XR2),TCBRUF       *    PROGRAM SUPPORT RUF ?    WB 00373600                
       L     PLTUBA(,PL),XR2           XR2-> TUB.                    WB 00374200                
       JF    CMNOPR                    NO-GO HANDLE AS NORMAL.       WB 00374800                
       L     TUBPL@(,XR2),XR2          XR2-> INVITE PARM LIST.       WB 00375400                
       MVI   PLRTC-1(,PL),RCOK         RETURN CODE = 0002; NON-RUF   WB 00376000                
       MVI   PLRTC(,PL),RCXEOT         * FOR A RUF PROGRAM.          WB 00376600                
       J     CMBGPG                    GO MOVE THE DATA.             WB 00377200                
.T0200 ANOP                                                             00378400                
CMNOPR EQU   *                         *  LOCAL                         00380000                
       L     TUBPL@(,XR2),XR2          POINT TO 'INVITE' PARM LIST      00390000                
       MVC   PLRTC(2,PL),PLRTC(,XR2)   MOVE RETURN CODE FROM INV PARM   00400000                
*     XR1 POINTS TO 'ACCEPT' PARM LIST AND XR2 POINTS TO 'INVITE'.      00410000                
       SPACE                                                            00420000                
* DETERMINE IF OPERATION WAS SUCCESSFUL OR NOT                          00430000                
       SPACE                                                            00440000                
       CLI   PLRTC(,XR2),RCXEDT        CHECK AGAINST HIGHEST RETURN FOR 00450000                
*                                      WHICH DATA  ACCOMPANIES THE PL.  00460000                
       JNH   CMBGPG                    DATA WITH PARAMETER LIST.        00470000                
       SPACE 1                                                          00480000                
*------------------------------------------------------------------*    00490000                
*  NO DATA WITH INVITE PARAMETER LIST                              *    00500000                
*------------------------------------------------------------------*    00510000                
       SPACE 1                                                          00520000                
*   ZERO INPUT LENGTH - $CC4MX WILL BLANK USERS REC AREA IF PLEFFL=0.   00590000                
       SPACE                                                            00600000                
       SLC   PLEFFL(2,XR2),PLEFFL(,XR2) ZERO EFFECTIVE INPUT LENGTH     00620000                
       AIF   (&NDF).D0100                                               00630000                
       MVI   PL$OPC(,XR1),BRNOP        NOOP THE BRANCH TO DFF        FB 00640000                
.D0100 ANOP                                                             00650000                
       SPACE                                                            00660000                
*------------------------------------------------------------------*    00670000                
*     DATA WITH INVITE PARAMETER LIST                              *    00680000                
*------------------------------------------------------------------*    00690000                
       SPACE 1                                                          00700000                
CMBGPG EQU   *                         BEGIN TO PLUG USER PARM LIST     00710000                
       MVC   #CMMVL+MVLTOL,PLINL(2,PL) MOVE TARGET LENGTH TO MOVE LIST  00720000                
       MVC   PLEFFL(2,PL),PLEFFL(,XR2) MOVE INVITE EFFL LENGTH TO ACEPT 00730000                
       L     PLTUBA(,XR1),XR1          POINT TO THE TUB                 00740000                
       TBN   #CMSWT,PRUFOF             IS THE TERMINAL TO BE RESET? @12 00742000                
       JF    CMNFOF                    NO - DO NOT SET OFF TUBRUF   @12 00744000                
       SBF   TUBSCS(,XR1),TUBRUF       RESET TERMINAL TO NON-PRUF   @12 00746000                
CMNFOF EQU   *                                                      @12 00748000                
       L     TUBTCB(,XR1),XR1          POINT TO THE USER'S TCB          00750000                
       L     TCBWK(,XR1),XR1           POINT TO USER'S RECORD AREA      00760000                
       LA    6(,XR1),XR1               BUMP XR1 TO 1ST BYTE OF DATA     00770000                
       ST    #CMMVL+MVLTOA,XR1         STORE ADDRESS IN MOVE LIST       00780000                
       SPACE                                                            00790000                
       AIF   (&NDF).D0130                                               00800000                
       L     CMSPL,PL                  RESTORE POINTER TO PARM LIST  FB 00810000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB              FB 00820000                
       TBN   TUBTA1(,XR2),TASDFF       IS THIS A DFF TERMINAL?       FB 00830000                
       L     TUBPL@(,XR2),XR2          RESTORE INVITE PARM LIST PTR  FB 00840000                
       JF    CMNMAP                    BRANCH IF NO DFF              FB 00850000                
       SPACE                                                            00860000                
       MVC   CMBRCH+1,PL$OPC(1,XR1)    SET CONDITION CODE IN BRANCH  FB 00870000                
CMBRCH B     CMDFFQ                    Q QUEUE UP REQUEST FOR DFF    FB 00880000                
       SPACE                                                            00890000                
.D0130 ANOP                                                             00900000                
       L     CMSPL,PL                  RESTORE ACCEPT PL ADDRESS        00910000                
       L     PLTUBA(,PL),XR2           POINT TO THE TUB                 00920000                
       AIF   (&NDF).D0140                                               00940000                
       CLI   PL$OPC(,PL),BR97          WAS DFF CALLED?               FB 00950000                
       AIF   (&NRUF).T0200                                              00950500                
       JNE   CMNLOD                    NO-GO LOAD REG, CHECK EFFL.  FWB 00951000                
       TBN   TUBAT2(,XR2),TUBIMI       DATA WITH PROGRAM REQUEST ?  FWB 00951500                
       JF    CMBPAI                    NO-GO POST RESULTS.          FWB 00952000                
       L     TUBPL@(,XR2),XR2          XR2-> INVITE PARM LIST.      FWB 00952500                
       L     PLRECA(,XR2),XR1          XR1-> DATA RECORD.           FWB 00953000                
       A     X$FFFF,XR1                XR1-> LAST BYTE GETMAIN PL.  FWB 00953500                
       MVC   CMMOVD+2,PL$RTC(1,XR2)    SET UP LEN. FOR GM PL MOVE.  FWB 00954000                
CMMOVD EQU   *                         BUMP GETMAIN PARM LIST UP    FWB 00954500                
       MVC   #(,XR1),0(4,XR1)          * TO DFF DATA AREA.          FWB 00955000                
       ALC   PLRECA(,XR2),PL$RTC(2,XR2) BUMP RECORD @ PAST PRMNAME. FWB 00955500                
CMBPAI EQU   *                         *                            FWB 00956000                
       B     CMPAII                    GO POST RESULTS OF OPERATION.FWB 00956500                
       SPACE                                                            00957000                
CMNLOD EQU   *                         *                            FWB 00957500                
       L     PLTUBA(,PL),XR2           XR2-> TUB.                   FWB 00958000                
       AGO   .T0400                                                     00958500                
.T0200 BE    CMPAII                    YES-GO POST RESULTS TO USER. FB  00959000                
.T0400 ANOP                                                             00959500                
.D0140 ANOP                                                             00980000                
       L     TUBPL@(,XR2),XR2          XR2-> INVITE PARM LIST.          00982000                
CMNMAP EQU   *                         *                                00984000                
       CLC   PLINL(2,PL),PLEFFL(,XR2)  DOES INVITE HAVE MORE DATA       00990000                
*                                      * THAN ACCEPT WANTS ?            01000000                
       JNL   CMGTRA                    NO - CAN RETURN ALL INVITE DATA. 01010000                
       SPACE                                                            01020000                
* HAVE ACCEPT INPUT WHOSE INPUT LENGTH IS LESS THAN THE EFFECTIVE       01030000                
* LENGTH OF THE INVITE, THEREFORE SET ACCEPT EFFECTIVE LENGTH TO ITS    01040000                
* REQUESTED LENGTH, AND TRUNCATE DATA.                                  01050000                
       SPACE                                                            01060000                
       SBN   PLRTC(,PL),RCXDTR         SET DATA TRUNCATED BIT IN RT COD 01070000                
       MVC   PLEFFL(2,PL),PLINL(,PL)   SET ACCEPT EFFL TO REQ'D LENGTH  01080000                
       SPACE                                                            01090000                
CMGTRA EQU   *                         * LOCAL                          01100000                
       SPACE 1                                                          01110000                
*********************************************************************** 01120000                
*            MOVE DATA FROM INVITE HOLD BUFFER TO USER RECORD AREA      01130000                
*********************************************************************** 01140000                
       SPACE                                                            01150000                
       MVC   #CMMVL+MVLFRA(2),PLRECA(,XR2) MOVE IN SOURCE ADDR FOR MOVE 01160000                
       SPACE                                                            01170000                
       L     PLTUBA(,XR2),XR1          POINT TO THE TUB                 01180000                
       TBN   TUBAT2(,XR1),TUBIMI       IS PROGRAM NAME SITTING IN SOURC 01190000                
*                                      FILED AREA                       01200000                
       JF    CMDOIT                    JUMP IF NO PROGRAM NAME IN AREA  01210000                
       SPACE                                                            01220000                
* BUMP THE SOURCE RECORD AREA ADDRESS PAST THE PROGRAM NAME             01230000                
* THE AMOUNT TO BUMP THE ADRESS BY RESIDES IN PL$RTC OF THE INVITE      01240000                
* PARAMETER LIST.                                                       01250000                
       SPACE                                                            01260000                
       ALC   #CMMVL+MVLFRA(2),PL$RTC(,XR2) BUMP ADDR PAST PROGRAM NAME  01270000                
       SPACE                                                            01280000                
CMDOIT EQU   *                         DO THE MOVE NOW                  01290000                
       CLI   PLRTC(,XR2),RCXEDT        RETURN CODE > THREE AND          01292000                
       TBN   TUBTA1(,XR1),TASDFF       THIS A DFF TERMINAL ?            01294000                
       JC    CMNOBK,TRUAHI             YES-DON'T BLANK USER'S REC AREA  01296000                
       MVI   #CMMVL+MVLTYP,SWAPTO      SET TRANSLATE ON FOR MOVE        01300000                
       LA    0(,XR2),XR1               POINT TO INVITE PARAMETER LIST   01310000                
       SPACE 1                                                          01320000                
*  MOVE DATA -  FROM LENGTH IS SET FROM PLEFFL OF INVITE PARAMETER LIST 01330000                
*               IF ZERO (NO DATA), THE ACCEPT RECORD AREA WILL BE       01340000                
*                BLANKED.                                               01350000                
       SPACE 1                                                          01360000                
       B     CMMVRT                    BR TO MOVE AND CLEAR ROUTINE     01370000                
       SPACE 2                                                          01380000                
*********************************************************************** 01390000                
*      FREEMAIN THE INVITE INPUT HOLD BUFFER                            01400000                
*********************************************************************** 01410000                
       SPACE                                                            01420000                
CMNOBK EQU   *                         * LOCAL                          01425000                
       L     CMSPL,XR1                 RESTORE PARAMETER LIST POINTER   01430000                
       L     PLTUBA(,XR1),XR2          RESTORE TUB POINTER              01440000                
       SBF   TUBAT2(,XR2),TUBIMI       SET IMPLICIT INVITE BIT OFF      01450000                
       TBN   TUBAT1(,XR2),TUBKNM       IS CONSOLE PGM REQ DATA ?        01460000                
       JF    CMNOKN                    NO - BYPASS RESET OF CONSOLE     01470000                
       SBF   $AMFLG,$AMPF9             YES- RESET PF9 FOR CONSOLE       01480000                
CMNOKN EQU   *                         *  LOCAL                         01490000                
       L     TUBPL@(,XR2),PL           POINT TO INVITE PARM LIST        01500000                
       SPACE 1                                                          01510000                
       B     $CC4FR                    FREE INVITE GETMAINED AREAS      01520000                
       SPACE 1                                                          01530000                
       SBN   CMSWIT,CMTPRQ             SET BIT SO ACCEPT PL WILL BE     01540000                
*                                      * POSTED                         01550000                
       TITLE '$E090/CMPAII----DETERMINE-IF-POST-NEEDED'                 01560000                
*********************************************************************** 01570000                
*                                                                     * 01580000                
*  NAME--CMPAII                                                       * 01590000                
*                                                                     * 01600000                
*  TITLE--DETERMINE IF POST IS NEEDED                                 * 01610000                
*                                                                     * 01620000                
*  FUNCTION--POST CALLER THAT THE IO REQUEST NEEDED TO ACCOMPLISH     * 01630000                
*            HIS REQUEST HAS BEEN SCHEDULED AND THEN CHECK FOR        * 01640000                
*            DTF TO BE RESCHEDULED AFTER OLT FAILED.                  * 01650000                
*                                                                     * 01660000                
*  ENTRY POINTS- CMPAII -POST REQUESTOR IF TP SCHEDULED               * 01670000                
*                CMRQBF -CHECK FOR MORE WORK TO BE PERFORMED          * 01680000                
*                                                                     * 01680100                
*  EXITS-NORMAL:                                                      * 01680200                
*            TO CMMTBY - IF MLTA DTF TO START AFTER OLT.              * 01680300                
*            TO CMOPND - CHECK FOR MORE WORK.                         * 01680400                
*                                                                     * 01680500                
********************************************************************    01690000                
       SPACE                                                            01700000                
CMPAII EQU   *                         DETERMINE IS POST NEEDED         01710000                
       TBN   CMSWIT,CMTPRQ             WAS TP REQUEST SCHEDULED         01720000                
       JF    CMTSRQ                    JUMP IF NOT ON                   01730000                
       SPACE                                                            01740000                
       L     CMNWPL,PL                 ORIGINAL PL TO BE POSTED         01750000                
       AIF   (&NPBY).NBY06             BUSY PRINTER SUPPORTED?          01750200                
*      ------------------------------START--------------------------@09 01750400                
       L     PLTUBA(,PL),XR2           XR2 --> TUB                      01750600                
       TBN   TUBAT4(,XR2),TUBWAT       THIS A BUSY PRINTER OPERATION?   01750800                
       JT    CMRQBF                    YES - SKIP POST AT THIS TIME.    01751000                
*      ------------------------------END----------------------------@09 01751200                
.NBY06 ANOP                            *                                01751400                
       AIF   (&YK EQ '2').YK020                                         01752000                
       TBN   PLOPM(,PL),OPDISC         DISCONNECT OPERATION ?           01754000                
       JT    CMDISC                    YES - POST                       01756000                
       TBF   PL$OPM(,PL),OPNOW         IS IT WAIT OP                    01760000                
       JT    CMRQBF                    IF WAIT OP, SKIP POST            01770000                
       SPACE                                                            01780000                
********************************************************************    01790000                
*   PUT NO WAIT,  INVITE  OR PUT DISCONNECT  -  POST SCHEDULED     *    01800000                
********************************************************************    01810000                
CMDISC EQU   *                         * LOCAL                          01815000                
       SPACE                                                            01820000                
.YK020 ANOP                                                             01825000                
       LA    PLECB(,PL),XR1            ADDRESS OF ECB FOR REQUEST       01830000                
       SVC   0                         POST $CC4II OR $CC4IS            01840000                
       DC    AL1(POSTRB)               *  THAT NO WAIT OP SCHEDULED     01850000                
       SPACE 2                                                          01860000                
********************************************************************    01870000                
*    DETERMINE IF OLT FAILED, IF SO RESCHEDULE LINE.               *    01880000                
*       (ENTER HERE WHEN NO POST NEEDED - AFTER STOP INVITE)       *    01890000                
********************************************************************    01910000                
       SPACE                                                            01920000                
CMRQBF EQU   *                         *                                01930000                
       SBF   CMSWIT,CMTPRQ             TURN OFF TP REQUEST SWITCH       01940000                
CMTSRQ EQU   *                         *   LOCAL                    @17 01950000                
       AIF   (&YK EQ '2').YK030                                     @17 01955000                
       AIF   (&NOM).M0580                                               01960000                
       TBN   CMSWIT,CMNOST             DID ONLINE TEST START FAIL     M 01970000                
       SBF   CMSWIT,CMNOST             SET OFF ONLINE TEST NOT STARTEDM 01980000                
       BT    CMMTBY                    BRANCH IF OLT START FAILED     M 01990000                
.M0580 ANOP                                                             02000000                
       B     CMOPND                    CHECK FOR MORE WORK              02010000                
       AGO   .YK040                                                     02012000                
.YK030 ANOP                                                             02014000                
       B     CMREQ                     GO CHECK FOR MORE REQUESTS       02016000                
.YK040 ANOP                                                             02018000                
       MEND                                                             02020000