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

⟦22945552d⟧ s3xseg

    Length: 9652 (0x25b4)
    Types: s3xseg
    Names: »S$E130«

Derivation

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

TextSegment

       MACRO                                                            00010000                
.********************************************************************** 00020000                
.*                                                                    * 00030000                
.*  TITLE:  COMMUNICATIONS SUPERVISOR OP END ROUTINE - OUTPUT         * 00040000                
.*                                                                    * 00050000                
.*  STATUS: V2 M0                                                     * 00060000                
.*                                                                    * 00070000                
.*  FUNCTION  HANDLE WRITE TYPE OP ENS FOR BSCC LINES 3 AND 4         * 00080000                
.*            SET UP THE TUB,PL,AND CLB FOR THE OP END                * 00090000                
.*            POST REGUESTOR AND FREE ANY BUFFERS                     * 00100000                
.*            RESCHEDE THE LINE FOR A GET ON OP-END OF A PUT-THEN-GET * 00110000                
.*                                                                    * 00120000                
.*                                                                    * 00130000                
.*  OUTPUT: USER'S PL WITH THE STATUS OF THE COMPLETED OP END (SUCCES-* 00140000                
.*          SFUL OR NOT)                                              * 00150000                
.*                                                                    * 00160000                
.*  EXTERNAL REFERENCES:  CSDEQ - REMOVE PL FROM CLBPLQ               * 00170000                
.*                        CSPSTE- POST USER OP COMPLETE,FREE BUFFERS  * 00180000                
.*                        YMWAIT- BSCC WAIT ROUTINE                   * 00190000                
.*                        CC4TT - SYSTEM TRACE ROUTINE                * 00200000                
.*                                                                    * 00210000                
.********************************************************************** 00230000                
.*                                                                    * 00240000                
.*     GBLB  &NDF         * NO * DFF SUPPORT                          * 00250000                
.*                                                                    * 00260000                
.********************************************************************** 00270000                
       $E130                                                            00280000                
       GBLB  &NDF                                                       00285000                
       GBLB  &CSIO,&NCPOR                                               00290000                
       TEXT                                                             00300000                
       TITLE '$ E 1 3 0 - O U T P U T  O P  E N D'                      00310000                
CSWRTE EQU   *                         *                                00320000                
       SPACE 1                                                          00330000                
* SAVE THE ATTRIBUTES OF THE OP ENDED PARM LIST IN THE CLB              00340000                
       SPACE 1                                                          00350000                
       L     CLBPL@(,CLB),PL           XR1 --> PL                       00360000                
       ST    CSSPL,PL                  SAVE PL ADDRESS                  00370000                
       ST    CSSCLB,CLB                SAVE CLB ADDRESS                 00380000                
       B     CSTASV                    SAVE ATTRIBUTES IN CLB           00390000                
       AIF   (&CSIO EQ '1').NP010                                       00390800                
       SPACE 1                                                          00391200                
******************************************************************* @14 00391600                
*******                                                                 00392400                
* CALL THE BSCC OR SIOC WAIT ROUTINE                                    00394000                
       B     CSWATE                    GO TO WAIT                       00394800                
*******                                                                 00396400                
******************************************************************* @14 00396800                
       AGO   .YP010                                                     00398000                
.NP010 ANOP                                                             00398800                
* CALL THE BSCC WAIT ROUTINE                                            00400000                
       B     YMWAIT                    CALL BSCC WAIT ROUTINE           00410000                
.YP010 ANOP                                                             00415000                
       SPACE 1                                                          00420000                
* CALL SYS TRACE ROUTINE TO TRACE THIS OP END                           00430000                
       B     CC4TT                     GO TO TRACE SUBROUTINE           00440000                
       DC    AL1(TTMOPN)               OP END TRACE                     00450000                
* TRACE ROUTINE RETURNS WITH INTERRUPTS MASKED                          00460000                
       CCP   UNMASK,PMR                ALLOW INTERRUPTS                 00470000                
       SPACE 1                                                          00480000                
* DECREMENT THE OP END COUNT                                            00490000                
       SLC   CLBOPE(1,CLB),X$0001      DECREMENT COUNT IN THE CLB       00500000                
       SLC   #CSOND(1),X$0001          DECREMENT COMMON OP END COUNT    00510000                
       AIF   (&CSIO EQ '1').PT010                                       00510300                
       AGO   .PT020                                                     00510360                
.PT010 ANOP                                                             00510420                
       AIF   (&NCPOR).PT030                                             00510480                
.PT020 ANOP                                                             00510540                
       SPACE 1                                                          00510600                
******************************************************************* @14 00510700                
*******                                                                 00510900                
       TBN   CLBBA3(,CLB),BA3POR       PORTLINE OR SIOC DEVICE ?        00511500                
       JF    CSPNPR                    NO - CONTINUE                    00511800                
       SPACE 2                                                          00512100                
* IF GET A 43 COMPLETION CODE AND THIS SYSTEM HAS PRIORITY,             00512400                
* RE-SCHEDULE THE PUT.                                                  00512700                
* IF 43 AND NO PRIORITY OR 49 COMPLETION CODE, SAVE THE PUT FOR LATER   00513000                
* AND DO A GET NOW.                                                     00513300                
* IF A 4C COMPLETION CODE RE-SCHEDULE THE PUT OR DO A GET DEPENDING     00513370                
* ON THE PRIORITY OF THIS SYSTEM                                        00513440                
       SPACE                                                            00513510                
       CLI   CLBCMP(,CLB),CMPNOA       OTHER CPU DOING A WRITE          00513600                
       JE    CSPDGT                    YES, GO SCHEDULE A GET           00513900                
       CLI   CLBCMP(,CLB),CMPNID       OTHER CPU TRYING TO WRITE        00514500                
       JE    CSPDPT                    YES, DO THE PUT IF PRIORITY      00514800                
       CLI   CLBCMP(,CLB),CMPNOC       IS THE COMP CODE A NO CONNECT ?  00514870                
       JNE   CSPNPR                    NO - CONTINUE PROCESSING         00514940                
CSPDPT EQU   *                                                          00515010                
       ALC   CTR2(3),X$0001            +1 TO NUMBER OF 43 COMP CODES    00515100                
       TBN   CLBBA3(,CLB),BA3PPR       THIS CPU HAVE PRIORITY           00515400                
       BT    CSCHED                    YES, GO RE-SCHEDULE THE PUT      00515700                
       SPACE                                                            00516000                
CSPDGT EQU   *                         *                                00516300                
       SBN   CSSWIT,CSSGET             INDICATE TO DO A READ            00516600                
       ALC   CTR1(3),X$0001            +1 TO NUMBER OF 43 AND 49 CODES  00516900                
       J     CSRDOP                    CLEAN UP THE PUT                 00517200                
CSPNPR EQU   *                         *                                00517500                
*******                                                                 00518100                
******************************************************************* @14 00518200                
.PT030 ANOP                                                             00518700                
       SPACE 1                                                          00520000                
* IF THE OP IS NOT COMPLETE (56.COMP CODE) - CHECK FOR MORE WORK        00530000                
       CLI   CLBCMP(,CLB),CMPCMP       OP COMPLETE YET?                 00540000                
       BE    CSNMOR                    NO - CHECK FOR MORE WORK         00550000                
       AIF   (&CSIO EQ '1').PT040                                       00550600                
       AGO   .PT050                                                     00550670                
.PT040 ANOP                                                             00550740                
       AIF   (&NCPOR).PT060                                             00550810                
.PT050 ANOP                                                             00550880                
       SPACE 1                                                          00550950                
******************************************************************* @14 00551020                
*******                                                                 00551090                
       TBN   CLBBA3(,CLB),BA3POR       PORTLINE DEVICE ?                00553000                
       JF    CSPCMP                    NO                               00553600                
* CLEAR PORT PURGE INDICATOR                                            00554200                
       L     PLTUBA(,PL),XR1           XR1--> TUB                       00554800                
       SBF   TUBSCS(,XR1),TUBPRG       SET OFF PORT PURGE INDICATOR     00555400                
       L     CLBPL@(,CLB),PL           XR1--> PL                        00556000                
CSPCMP EQU   *                         *                                00556600                
*******                                                                 00557800                
******************************************************************* @14 00558100                
.PT060 ANOP                                                             00559000                
       SPACE 1                                                          00560000                
* CHECK THE COMP CODE - CALL $CC4UE FOR ANY ERRORS                      00570000                
       CLI   CLBCMP(,CLB),CMPEND       COMP CODE OK (X'40') ?           00580000                
       JE    CSPOK                     YES - JUMP(OP SUCCESSFUL)        00590000                
       CLI   CLBCMP(,CLB),CMPRVP       RVI ON A PUT (NOT SELECT) ?      00600000                
       JE    CSPRVI                    YES - JUMP(OP SUCCESSFUL)        00610000                
* ERROR COMP CODE - CALL THE  ERROR TRANSIENT $CC4UE                    00620000                
       B     CC4TA                     CALL TRANSIENT AREA HANDLER      00630000                
       DC    AL1(CC4UE)                TRANSIENT ID                     00640000                
       B     CSCHED                    GO SCHEDULE THIS LINE            00650000                
       SPACE 1                                                          00660000                
* OUT PUT OP WAS SUCCESSFUL - SEE WHAT IT WAS AND DWA                   00670000                
       SPACE 1                                                          00680000                
CSPRVI EQU   *                                                          00690000                
       SBN   PL$RTC(,PL),RCXRVI        PUT IN RVI RETURN CODE           00700000                
CSPOK  EQU   *                         *                                00710000                
********************************************************************@21 00711000                
       L     PLTUBA(,PL),XR1           XR1 --> TUB                      00712000                
       TBN   TUBOTC(,XR1),X'20'        IS THIS S/34 DEVICE ?            00713000                
       JF    CSN34                     NO CONTINUE                      00714000                
       SLC   TUBER@(2,XR1),TUBER@(,XR1) YES-CLEAR THE S/34              00715000                
*                                      RETRY COUNTER                    00716000                
CSN34  EQU   *                                                          00717000                
       L     CLBPL@(,CLB),PL           XR1 -->  CURRENT P.L.            00718000                
********************************************************************@21 00719000                
       TBN   CLBBA2(,CLB),BA2SET       JUST FINISHED SENDING EOT?       00720000                
       JF    CSPTYP                    NO - GO CHECK TYPE OF PUT        00730000                
       SPACE 1                                                          00740000                
* JUST SENT EOT - CLEAN UP THE CLB, POST REQUESTOR, ETC.                00750000                
       SPACE 1                                                          00760000                
CSRDOP EQU   *                         *                                00765000                
       TBN   PLOPM(,PL),OP$SYS         IS THIS A STOP INVITE PARM LIST? 00770000                
       L     PLTUBA(,PL),XR1           XR1 --> TUB                      00780000                
       SBF   TUBAT2(,XR1),TUBOWN       SET OFF OWNERSHIP INDICATOR      00790000                
       JT    CSPNTR                    IF A STOP DO NOT SET OFF TUBRUF  00800000                
       SBF   TUBSCS(,XR1),TUBRUF       SET OFF PRUF IND.                00810000                
CSPNTR EQU   *                                                          00820000                
       SLC   CLBBA2(2,CLB),CLBBA2(,CLB) ZIP CLB ATTRIBUTES              00830000                
       SLC   CLBOWN(2,CLB),CLBOWN(,CLB) ZIP TUB OWNER FIELD             00840000                
       L     CLBPL@(,CLB),PL           XR1 --> PL                       00850000                
       TBN   PL$OPC(,PL),OPRFSH        CLEAR MSG FINISHING?             00860000                
       JF    CSPNCL                    NO - JUMP                        00870000                
       SPACE 1                                                          00880000                
* JUST FINISHED SENDING A CLEAR MSG - RESTORE ORIGINAL OP               00890000                
       SBF   PL$OPC(,PL),OPRFSH        SET OFF CLEAR INDICATOR IN PL    00900000                
       MNN   PL$OPM(,PL),PL$OPC(,PL)   RESTORE ORIGINAL OP              00910000                
       TBN   PLOPM(,PL),OPSTOP         IS THE CURRENT OP A STOP ?       00920000                
       BF    CSCHED                    NO - SCHEDULE THE LINE           00930000                
*      MVI   PLRTC(,PL),RCXCLR         MOVE CLEAR R.C. INTO PARM LIS@16 00935000                
       MVI   PL$RTC(,PL),RCXCLR        MOVE CLEAR R.C. INTO PARM LIST   00950000                
       J     CSPNPT                    DEQUEUE PARM LIST AND POST USER  00960000                
* SET OFF PRUF INDICATOR FOR NON-PRUF PUTS                              00970000                
CSPNCL EQU   *                                                          00980000                
       TBN   PLOPC(,PL),OPRUF          PRUF OPERATION ?                 00990000                
       JF    CSPGET                    NO - CHECK PUT-THEN-GET OP       01000000                
       L     PLTUBA(,PL),TUB           XR2 --> TUB                      01010000                
       SBN   TUBSCS(,TUB),TUBRUF       SET PRUF INDICATOR               01020000                
       L     TUBLCB(,TUB),CLB          XR2 --> CLB                      01030000                
CSPGET EQU   *                                                          01040000                
       AIF   (&CSIO EQ '1').PT070                                       01040800                
       AGO   .PT080                                                     01040900                
.PT070 ANOP                                                             01041000                
       AIF   (&NCPOR).PT090                                             01041100                
.PT080 ANOP                                                             01041200                
       SPACE 1                                                          01041300                
******************************************************************* @14 01041400                
*******                                                                 01041500                
       TBN   CSSWIT,CSSGET             NEED TO DO A GET                 01044000                
       TBN   CLBBA3(,CLB),BA3POR       PORTLINE DEVICE              @04 01044800                
       BT    CSCHED                    YES, GO SCHEDULE LINE        @04 01045600                
*******                                                                 01047200                
******************************************************************* @14 01047600                
       SPACE 1                                                          01048000                
.PT090 ANOP                                                             01048800                
       TBN   PLOPC(,PL),OPPUT+OPGET    PUT PART OF PUT-THEN-GET?        01050000                
       JF    CSPNPT                    NO - JUMP                        01060000                
       B     CSWPGY                    YES- GO SET UP GET               01070000                
       B     CSCHED                    GO SCHEDULE THIS LINE            01080000                
       SPACE 2                                                          01090000                
CSPNPT EQU   *                         *                                01100000                
* OP COMPLETE - DEQUEUE,POST,FREE,RESCHEDULE THIS LINE                  01110000                
       B     CSDEQ                     GO DEQUE PL FROM CLBPLQ          01120000                
       SPACE 1                                                          01130000                
CSPPST EQU   *                         *                                01135000                
       B     CSPSTE                    GO POST AND FREE BUFFS           01140000                
       SPACE 1                                                          01150000                
       B     CSCHED                    GO SCHEDULE THIS LINE            01160000                
       SPACE 3                                                          01170000                
* SEND THE EOT IF REQUIRED                                              01180000                
CSPTYP EQU   *                                                          01190000                
       AIF   (&CSIO EQ '1').PT100                                       01190700                
       AGO   .PT110                                                     01191400                
.PT100 ANOP                                                             01192100                
       AIF   (&NCPOR).PT120                                             01192800                
.PT110 ANOP                                                             01193500                
       SPACE 1                                                          01194200                
******************************************************************* @14 01194900                
*******                                                                 01195600                
       TBF   CLBBA3(,CLB),BA3POR       PORT DEVICE                      01196300                
*******                                                                 01197000                
******************************************************************* @14 01197700                
       SPACE 1                                                          01198400                
.PT120 ANOP                                                             01199100                
       TBF   PL$OPC(,PL),OPSYS         SYSTEM OP OR -----|              01200000                
       TBF   PLOPC(,PL),OPGET          PUT-THEN-GET OR --|              01210000                
       TBF   PLOPC(,PL),OPMSG-OPBLK    MSG MODE PUT ? ---|              01220000                
       JT    CSPSRM                    NO - JUMP <-------|              01230000                
* SET TO SEND EOT ON THIS LINE                                          01240000                
       SBN   CLBBA2(,CLB),BA2SET       SET ON'SEND EOT' INDICATOR       01250000                
       B     CSCHED                    GO SCHEDULE THIS LINE            01260000                
       SPACE 1                                                          01270000                
* INDICATE ACTIVE PL NO LONGER ON THE QUEUE                             01280000                
CSPSRM EQU   *                         *                                01290000                
       B     CSDEQ                     DEQUE PL FROM CLBPLQ             01300000                
       SBN   CLBBA1(,CLB),BA1NTQ       SET IND 'PL REMOVED FROM QUEUE'  01310000                
       AIF   (&NDF).F0300              NO DFF SUPPORT.                  01320000                
* PUT PL ON DFF'S QUEUE OR POST USER                                    01330000                
       CLI   PL$RTC(,PL),RCXEDT        RETURN CODE > 3 OR               01340000                
       TBN   CLBTBS-5(,CLB),TASDFF     NON-DFF TERMINAL ?               01350000                
       JC    CSPEND,FLSOHI             YES-  POST USER                  01360000                
       SPACE 1                                                          01370000                
* POST DFF OP COMPLETE                                                  01380000                
       B     CSDFFQ                    GO QUEUE IT FOR DFF              01390000                
       J     CSPTND                    GO CHECK FOR MORE WORK           01400000                
CSPEND EQU   *                         *                                01410000                
.F0300 ANOP                            *                                01420000                
       B     CSPSTE                    GO POST USER                     01430000                
CSPTND EQU   *                         *                                01440000                
       B     CSNMOR                    GO CHECK FOR MORE WORK           01450000                
       MEND                                                             01460000