User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:sxllr.001

Deck SXLLR Part 001

5 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
02107  M00S01969.sxllr   +++|*                ALSO RETURNED WHEN THE REQUEST IS COMPLETED.
02108  M00S01970.sxllr   +++|*
02109  M00S01971.sxllr   +++|*     NOTES      THIS MODULE IS A PSEUDO REENTRANT ROUTINE.
02110  M00S01972.sxllr   +++|#
02111  M00S01973.sxllr   +++|
02112  M00S01974.sxllr   +++|      ITEM LLRENT     U;             # *LLRQ* ENTRY TO PROCESS #
02113  M00S01975.sxllr   +++|      ITEM LLRENTI    U;             # WAITTING  *LLRQ* ADDRESS #
02114  M00S01976.sxllr   +++|      ITEM SCR1        U;            # SCRATCH WORD #
02115  M00S01977.sxllr   +++|      ITEM SCR2       U;             # SCRATCH WORD #
02116  M00S01978.sxllr   +++|      ITEM SCR3       U;             # SCRATCH WORD #
02117  M00S01979.sxllr   +++|
02118  M00S01980.sxllr   +++|#
02119  M00S01981.sxllr   +++|****  PROC UNL$CAR - XREF LIST BEGIN.
02120  M00S01982.sxllr   +++|#
02121  M00S01983.sxllr   +++|
02122  M00S01984.sxllr   +++|      XREF
02123  M00S01985.sxllr   +++|        BEGIN
02124  M00S01986.sxllr   +++|        PROC ADD$LNK;                # ADD ENTRY TO END OF CHAIN #
02125  M00S01987.sxllr   +++|        PROC UCP$RES;                # NOTIFY UCP OF REQUEST COMPLETE #
02126  M00S01988.sxllr   +++|        END
02127  M00S01989.sxllr   +++|
02128  M00S01990.sxllr   +++|#
02129  M00S01991.sxllr   +++|****  PROC UNL$CAR - XREF LIST END.
02130  M00S01992.sxllr   +++|#
02131  M00S01993.sxllr   +++|
02132  M00S01994.sxllr   +++|      DEF LISTCON #0#;               # DO NOT LIST COMMON DECKS #
02133  M00S01995.sxllr   +++|
02134  M00S01996.sxllr   +++|*CALL COMBFAS
02135  M00S01997.sxllr   +++|*CALL COMBCHN
02136  M00S01998.sxllr   +++|*CALL COMBCPR
02137  M00S01999.sxllr   +++|*CALL COMBLRQ
02138  M00S02000.sxllr   +++|*CALL COMBRCD
02139  M00S02001.sxllr   +++|*CALL COMBUCR
02140  M00S02002.sxllr   +++|*CALL COMXHLR
02141  M00S02003.sxllr   +++|*CALL COMXLTC
02142  M00S02004.sxllr   +++|*CALL COMXMSC
02143  M00S02005.sxllr   +++|
02144  M00S02006.sxllr   +++|
02145  M00S02007.sxllr   +++|      BASED
02146  M00S02008.sxllr   +++|      ARRAY  CLEAR   [0:0]  S(1);
02147  M00S02009.sxllr   +++|        BEGIN
02148  M00S02010.sxllr   +++|        ITEM CLN     U(00,36,24);     # CLEAR *DRD* ASSIGNMENT #
02149  M00S02011.sxllr   +++|        END
02150  M00S02012.sxllr   +++|
02151  M00S02013.sxllr   +++|
02152  M00S02014.sxllr   +++|      SWITCH UNLENTR:PROCST          # UNLOAD CARTRIDGE ENTRIES #
02153  M00S02015.sxllr   +++|             UNLINIT:INITIAL,        # INITIAL ENTRY POINT #
02154  M00S02016.sxllr   +++|               UNLC1:CONT1;          # CONTINUE AFTER DISMOUNT REQUEST
02155  M00S02017.sxllr   +++|                                     #
02156  M00S02018.sxllr   +++|                                               CONTROL EJECT;
02157  M00S02019.sxllr   +++|      P<LLRQ> = LLRENT;
02158  M00S02020.sxllr   +++|      GOTO UNLENTR[LLR$PRCST[0]];
02159  M00S02021.sxllr   +++|
02160  M00S02022.sxllr   +++|#
02161  M00S02023.sxllr   +++|*     "INITIAL" PROCESS STATE.
02162  M00S02024.sxllr   +++|*
02163  M00S02025.sxllr   +++|*     ASSIGN THE CARTRIDGE TO THE EXIT TRAY IF THE ORIGINAL
02164  M00S02026.sxllr   +++|*     ASSIGNMENT WAS TH ENTRY TRAY.
02165  M00S02027.sxllr   +++|#
02166  M00S02028.sxllr   +++|
02167  M00S02029.sxllr   +++|UNLINIT:
02168  M00S02030.sxllr   +++|
02169  M00S02031.sxllr   +++|      IF LLR$Y[0] EQ SM$ENT$TY         ##
02170  M00S02032.sxllr   +++|        AND LLR$Z[0] EQ SM$TY$Z
02171  M00S02033.sxllr   +++|      THEN
02172  M00S02034.sxllr   +++|        BEGIN
02173  M00S02035.sxllr   +++|        LLR$Y[0] = SM$EXIT$TY;
02174  M00S02036.sxllr   +++|        LLR$Z[0] = SM$TY$Z;
02175  M00S02037.sxllr   +++|        END
02176  M00S02038.sxllr   +++|
02177  M00S02039.sxllr   +++|
02178  M00S02040.sxllr   +++|#
02179  M00S02041.sxllr   +++|*     DISMOUNT THE CARTRIDGE.
02180  M00S02042.sxllr   +++|#
02181  M00S02043.sxllr   +++|
02182  M00S02044.sxllr   +++|      LLR$RC[0] = REQCODE"SDISMOUNT";
02183  M00S02045.sxllr   +++|      LLR$PRCST[0] = PROCST"CONT1";
02184  M00S02046.sxllr   +++|      LLR$DRDL[0] = FALSE;
02185  M00S02047.sxllr   +++|      LLR$UNLD[0] = TRUE;     # UNLOAD STARTED #
02186  M00S02048.sxllr   +++|      LLR$RS[0] = PROCST"INITIAL";
02187  M00S02049.sxllr   +++|      ADD$LNK(LLRENT,LCHN"DRQUEUE",0);
02188  M00S02050.sxllr   +++|      RETURN;
02189  M00S02051.sxllr   +++|
02190  M00S02052.sxllr   +++|#
02191  M00S02053.sxllr   +++|*     "CONT1" PROCESS STATE.
02192  M00S02054.sxllr   +++|*
02193  M00S02055.sxllr   +++|*     UPDATE THE APPROPRIATE DATA FIELDS OF THE REQUEST AND PASS
02194  M00S02056.sxllr   +++|*     THE REQUEST ON TO THE NEXT PROCESS.
02195  M00S02057.sxllr   +++|#
02196  M00S02058.sxllr   +++|
02197  M00S02059.sxllr   +++|UNLC1:
02198  M00S02060.sxllr   +++|
02199  M00S02061.sxllr   +++|      IF LLR$RQI[0] EQ REQNAME"RQIINT"
02200  M00S02062.sxllr   +++|      THEN
02201  M00S02063.sxllr   +++|        BEGIN        # INTERNAL REQUEST #
02202  M00S02064.sxllr   +++|        P<HLRQ> = LLR$UCPRA[0];
02203  M00S02065.sxllr   +++|        HLR$LRQADR[0] = 0;     # DELINK *LLRA* FROM *HLRA* #
Line S02066 Modification History
M01 (Removed by) sxllr2
Seq #  *Modification Id* Act 
----------------------------+
02204  M01S02066.sxllr2  ---|
02205  M01S02067.sxllr2  ---|        IF NOT LLR$LCF[0]
02206  M01S02068.sxllr2  ---|        THEN
02207  M01S02069.sxllr2  ---|          BEGIN
02208  M01S02070.sxllr2  ---|          HLR$RESP[0] = RESPTYP4"OK4";
02209  M01S02071.sxllr2  ---|          END
02210  M01S02072.sxllr2  ---|
Line S00058 Modification History
M01 (Added by) sxllr2
Seq #  *Modification Id* Act 
----------------------------+
02211  M01S00058.sxllr2  +++|        HLR$RESP[0] = RESPTYP4"OK4";
02212  M00S02073.sxllr   +++|        ADD$LNK(LLR$UCPRA[0],LCHN"HL$READY",0);
02213  M00S02074.sxllr   +++|        END       # INTERNAL REQUEST #
02214  M00S02075.sxllr   +++|
02215  M00S02076.sxllr   +++|      ELSE
02216  M00S02077.sxllr   +++|        BEGIN  # EXTERNAL REQUEST #
02217  M00S02078.sxllr   +++|        P<CLEAR> = LLR$DRDRA[0];   # CLEAR *DRD* RESERVE #
02218  M00S02079.sxllr   +++|        CLN = 0;
02219  M00S02080.sxllr   +++|        IF NOT LLR$UCPABT[0]
02220  M00S02081.sxllr   +++|        THEN                         # RETURN RESPONSE TO UCP #
02221  M00S02082.sxllr   +++|          BEGIN
02222  M00S02083.sxllr   +++|          LTCENTRY = LLR$LTCT[0];
02223  M00S02084.sxllr   +++|          LTC$LLRQA[LTCENTRY] = 0;
02224  M00S02085.sxllr   +++|          LTC$CART[LTCENTRY] = FALSE;
02225  M00S02086.sxllr   +++|          LTC$RQR[LTCENTRY] = RESPTYP4"OK4";
02226  M00S02087.sxllr   +++|          UCP$RES;
02227  M00S02088.sxllr   +++|          END
02228  M00S02089.sxllr   +++|
02229  M00S02090.sxllr   +++|        END  # EXTERNAL REQUEST #
02230  M00S02091.sxllr   +++|
02231  M00S02092.sxllr   +++|
02232  M00S02093.sxllr   +++|#
02233  M00S02094.sxllr   +++|*     MARK THE REQUEST COMPLETE AND RETURN TO *LLRQ* MONITOR.
02234  M00S02095.sxllr   +++|#
02235  M00S02096.sxllr   +++|
02236  M00S02097.sxllr   +++|      LLR$UNLD[0] = FALSE;     # UNLOAD COMPLETE #
02237  M00S02098.sxllr   +++|      LLR$PRCST[0] = PROCST"COMPLETE";
02238  M00S02099.sxllr   +++|      RETURN;
02239  M00S02100.sxllr   +++|
02240  M00S02101.sxllr   +++|      END  # UNL$CAR #
02241  M00S02102.sxllr   +++|
02242  M00S02103.sxllr   +++|    TERM
02243  M00S02104.sxllr   +++|PROC SETFET(LLRADR);
02244  M00S02105.sxllr   +++|# TITLE SETFET - SETS LARGE BUFFER POINTERS #
02245  M00S02106.sxllr   +++|
02246  M00S02107.sxllr   +++|      BEGIN     # SETFET #
02247  M00S02108.sxllr   +++|
02248  M00S02109.sxllr   +++|#
02249  M00S02110.sxllr   +++|**    SETFET - SETS LARGE BUFFER POINTERS.
02250  M00S02111.sxllr   +++|*
02251  M00S02112.sxllr   +++|*     *SETFET* SETS FET POINTERS FOR CIO AND *1SS*.
02252  M00S02113.sxllr   +++|*
02253  M00S02114.sxllr   +++|*     PROC SETFET
02254  M00S02115.sxllr   +++|*
02255  M00S02116.sxllr   +++|*     ENTRY      (LLRADR) - ADDRESS OF THE *LLRQ* ENTRY THAT
02256  M00S02117.sxllr   +++|*                           CONTAINS THE ADDRESS OF THE DISK
02257  M00S02118.sxllr   +++|*                           AND *M860* FET AND BUFFER ADDRESSES.
02258  M00S02119.sxllr   +++|*                           (LARGE BUFFER MUST ALREADY EXIST.)
02259  M00S02120.sxllr   +++|*
02260  M00S02121.sxllr   +++|*     EXIT       FETS ARE COMPLETE FOR BOTH CIO AND *1SS*
02261  M00S02122.sxllr   +++|*                PROCESSING.  STRIPE HIGH AND LOW SET INTO THE
02262  M00S02123.sxllr   +++|*                *LLRQ*.
02263  M00S02124.sxllr   +++|*
02264  M00S02125.sxllr   +++|*     NOTES      THIS MODULE IS CALLED ONLY BY THE COP$XX ROUTINES.
02265  M00S02126.sxllr   +++|#
02266  M00S02127.sxllr   +++|
02267  M00S02128.sxllr   +++|      ITEM LLRADR;                       # *LLRQ* ADDRESS #
02268  M00S02129.sxllr   +++|
02269  M00S02130.sxllr   +++|#
02270  M00S02131.sxllr   +++|****  PROC SETFET - XREF LIST BEGIN.
02271  M00S02132.sxllr   +++|#
02272  M00S02133.sxllr   +++|
02273  M00S02134.sxllr   +++|      XREF
02274  M00S02135.sxllr   +++|        BEGIN
02275  M00S02136.sxllr   +++|        PROC ZFILL;                  # ZERO FILL BUFFER #
02276  M00S02137.sxllr   +++|        PROC ZSETFET;                # INITIALIZE A FET #
02277  M00S02138.sxllr   +++|        END
02278  M00S02139.sxllr   +++|
02279  M00S02140.sxllr   +++|#
02280  M00S02141.sxllr   +++|****  PROC SETFET - XFET LIST END.
02281  M00S02142.sxllr   +++|#
02282  M00S02143.sxllr   +++|
02283  M00S02144.sxllr   +++|      DEF LISTCON #0#;       # DO NOT LIST COMDECKS #
02284  M00S02145.sxllr   +++|
02285  M00S02146.sxllr   +++|*CALL COMBFAS
Line S00006 Modification History
M01 (Added by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02286  M01S00006.sxllr1  +++|*CALL COMBCPR
02287  M00S02147.sxllr   +++|*CALL COMBFET
02288  M00S02148.sxllr   +++|*CALL COMBLRQ
02289  M00S02149.sxllr   +++|*CALL COMXBST
02290  M00S02150.sxllr   +++|*CALL COMXCCB
02291  M00S02151.sxllr   +++|*CALL COMXHLR
02292  M00S02152.sxllr   +++|
02293  M00S02153.sxllr   +++|#
02294  M00S02154.sxllr   +++|*     SET *LLRQ* STIPE LOW AND HIGH POINTERS.
02295  M00S02155.sxllr   +++|#
02296  M00S02156.sxllr   +++|
02297  M00S02157.sxllr   +++|      P<LLRQ> = LLRADR;
02298  M00S02158.sxllr   +++|      P<HLRQ> = LLR$UCPRA[0];
02299  M00S02159.sxllr   +++|      P<CCB> = LLR$CCB[0];
Line S02160 Modification History
M01 (Removed by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02300  M01S02160.sxllr1  ---|      LLR$ST$LW[0] = INSPAU*HLR$VOLAU[0]+(INFTST-INSPAU);
02301  M01S02161.sxllr1  ---|      LLR$ST$HI[0] = INSPAU*HLR$VOLLN[0]+LLR$ST$LW[0]-1;
Line S00007 Modification History
M01 (Added by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02302  M01S00007.sxllr1  +++|      IF LLR$PRCNME[0] NQ REQTYP4"CP$RAW$AU"
02303  M01S00008.sxllr1  +++|      THEN
02304  M01S00009.sxllr1  +++|        BEGIN
02305  M01S00010.sxllr1  +++|        LLR$ST$LW[0] = INSPAU*HLR$VOLAU[0]+(INFTST-INSPAU);
02306  M01S00011.sxllr1  +++|        LLR$ST$HI[0] = INSPAU*HLR$VOLLN[0]+LLR$ST$LW[0]-1;
02307  M01S00012.sxllr1  +++|        END
02308  M00S02162.sxllr   +++|
02309  M00S02163.sxllr   +++|#
02310  M00S02164.sxllr   +++|*     INITIALIZE CIO AND *1SS* FETS.
02311  M00S02165.sxllr   +++|#
02312  M00S02166.sxllr   +++|
02313  M00S02167.sxllr   +++|      CCBDKFET[0] = LLR$DSKFET[0];
02314  M00S02168.sxllr   +++|      CCBM86FET[0] = LLR$MSFET[0];
02315  M00S02169.sxllr   +++|      CCBLLRQ[0] = LLRADR;
02316  M00S02170.sxllr   +++|      CCBCLFG[0] = 0;
02317  M00S02171.sxllr   +++|      CCBRWCT[0] = 0;          # CLEAR COUNTER #
02318  M00S02172.sxllr   +++|      ZSETFET(LLR$DSKFET[0],HLR$FLNM[0],LLR$DA[0],DATABL,(RFETL+RFHBL));
02319  M00S02173.sxllr   +++|      P<FETFHB> = LLR$MSFET[0];
02320  M00S02174.sxllr   +++|      P<FETSET> = LLR$DSKFET[0];
02321  M00S02175.sxllr   +++|      FET$EP[0] = TRUE;
02322  M00S02176.sxllr   +++|      FET$R[0] = TRUE;
02323  M00S02177.sxllr   +++|      FET$UP[0] = TRUE;
02324  M00S02178.sxllr   +++|      FHB$FRST[0] = FET$FRST[0];
02325  M00S02179.sxllr   +++|      FHB$IN[0] = FET$IN[0];
02326  M00S02180.sxllr   +++|      FHB$OUT[0] = FET$OUT[0];
02327  M00S02181.sxllr   +++|      FHB$LIM[0] = FET$LIM[0];
02328  M00S02182.sxllr   +++|
02329  M00S02183.sxllr   +++|      END
02330  M00S02184.sxllr   +++|
02331  M00S02185.sxllr   +++|       TERM
02332  M00S02186.sxllr   +++|PROC WT$LAB((LLRENT));
02333  M00S02187.sxllr   +++|# TITLE WT$LAB - WRITE CARTRIDGE LABEL.                      #
02334  M00S02188.sxllr   +++|
02335  M00S02189.sxllr   +++|      BEGIN  # WT$LAB #
02336  M00S02190.sxllr   +++|
02337  M00S02191.sxllr   +++|#
02338  M00S02192.sxllr   +++|**    WT$LAB - WRITE CARTRIDGE LABEL.
02339  M00S02193.sxllr   +++|*
02340  M00S02194.sxllr   +++|*     *WT$LAB* WRITES THE CARTRIDGE LABEL.
02341  M00S02195.sxllr   +++|*
02342  M00S02196.sxllr   +++|*     PROC WT$LAB((LLRENT))
02343  M00S02197.sxllr   +++|*
02344  M00S02198.sxllr   +++|*     ENTRY      (LLRENT) - ADDRESS OF *LLRQ* ENTRY FOR THE REQUEST
02345  M00S02199.sxllr   +++|*                           CONTAINING THE SMA-ID, THE VOLUME NUMBER,
02346  M00S02200.sxllr   +++|*                           AND THE YZ COORDINATES.
02347  M00S02201.sxllr   +++|*
02348  M00S02202.sxllr   +++|*     EXIT       THE PROCESS STATE FIELD IN THE *LLRQ* ENTRY HAS BEEN
02349  M00S02203.sxllr   +++|*                ADVANCED TO INDICATE WHERE PROCESSING OF THIS REQUEST
02350  M00S02204.sxllr   +++|*                LEFT OFF, AND THUS WHAT TO DO NEXT TO ADVANCE THE
02351  M00S02205.sxllr   +++|*                REQUEST.
02352  M00S02206.sxllr   +++|*
02353  M00S02207.sxllr   +++|*                WHEN THE PROCESS IS COMPLETED AN ERROR RESPONSE CODE
02354  M00S02208.sxllr   +++|*                IS RETURNED VIA LTC$RQR[LTCENTRY] FOR EXTERNAL
02355  M00S02209.sxllr   +++|*                REQUESTORS OR HLR$RESP[0] FOR INTERNAL REQUESTORS.
02356  M00S02210.sxllr   +++|*                IS RETURNED VIA *LTC$RQR[LTCENTRY]* FOR EXTERNAL
02357  M00S02211.sxllr   +++|*                REQUESTORS OR *HLR$RESP[0]* FOR INTERNAL REQUESTORS.
02358  M00S02212.sxllr   +++|*                RESPONSE CODE (VALUES ARE DEFINED IN *COMBCPR*).
02359  M00S02213.sxllr   +++|*                  = RESPTYP4"OK4".
02360  M00S02214.sxllr   +++|*                  = RESPTYP4"UN$WRT$ERR".
02361  M00S02215.sxllr   +++|*                  = RESPTYP4"EX$WRT$ERR".
02362  M00S02216.sxllr   +++|*                  = RESPTYP4"MSFHDW$ERR".
02363  M00S02217.sxllr   +++|*
02364  M00S02218.sxllr   +++|*     MESSAGES   * EXEC ABNORMAL, WT$LAB.*
02365  M00S02219.sxllr   +++|*
02366  M00S02220.sxllr   +++|*     NOTES      THIS MODULE IS A PSEUDO REENTRANT ROUTINE.
02367  M00S02221.sxllr   +++|*
02368  M00S02222.sxllr   +++|*                COMMON BUFFER *LABBUF* WILL BE USED TO TRANSFER
02369  M00S02223.sxllr   +++|*                THE LABEL FROM THE *UCP* TO THE *SSDRIVER*.
02370  M00S02224.sxllr   +++|#
02371  M00S02225.sxllr   +++|
02372  M00S02226.sxllr   +++|      ITEM LLRENT     U;             # ADDRESS OF *LLRQ* ENTRY #
02373  M00S02227.sxllr   +++|
02374  M00S02228.sxllr   +++|#
02375  M00S02229.sxllr   +++|****  PROC WT$LAB - XREF LIST BEGIN.
02376  M00S02230.sxllr   +++|#
02377  M00S02231.sxllr   +++|
02378  M00S02232.sxllr   +++|      XREF
02379  M00S02233.sxllr   +++|        BEGIN
02380  M00S02234.sxllr   +++|        PROC ABORT;                  # INTERFACE TO *ABORT* MACRO #
02381  M00S02235.sxllr   +++|        PROC ADD$LNK;                # ADD ENTRY TO END OF CHAIN #
02382  M00S02236.sxllr   +++|        PROC DELAY;                  # TIMED DELAY #
02383  M00S02237.sxllr   +++|        PROC KILL$UC;                # ABORT A UCP #
02384  M00S02238.sxllr   +++|        PROC MESSAGE;                # CALLS *MESSAGE* MACRO #
02385  M00S02239.sxllr   +++|        PROC SFCALL;                 # INTERFACE TO *SFCALL* MACRO #
02386  M00S02240.sxllr   +++|        PROC UCP$RES;                # NOTIFY UCP OF REQUEST COMPLETE #
02387  M00S02241.sxllr   +++|        END
02388  M00S02242.sxllr   +++|
02389  M00S02243.sxllr   +++|#
02390  M00S02244.sxllr   +++|****  PROC WT$LAB - XREF LIST END.
02391  M00S02245.sxllr   +++|#
02392  M00S02246.sxllr   +++|
02393  M00S02247.sxllr   +++|      DEF LISTCON   #0#;             # DO NOT LIST COMMON DECKS #
02394  M00S02248.sxllr   +++|
02395  M00S02249.sxllr   +++|*CALL COMBFAS
02396  M00S02250.sxllr   +++|*CALL COMBCHN
02397  M00S02251.sxllr   +++|*CALL COMBCPR
02398  M00S02252.sxllr   +++|*CALL COMBFET
02399  M00S02253.sxllr   +++|*CALL COMBLBL
02400  M00S02254.sxllr   +++|*CALL COMBLRQ
02401  M00S02255.sxllr   +++|*CALL COMBMAT
02402  M00S02256.sxllr   +++|*CALL COMBRCD
02403  M00S02257.sxllr   +++|*CALL COMBUCR
02404  M00S02258.sxllr   +++|*CALL COMXCTF
02405  M00S02259.sxllr   +++|*CALL COMXHLR
02406  M00S02260.sxllr   +++|*CALL COMXIPR
02407  M00S02261.sxllr   +++|*CALL COMXLTC
02408  M00S02262.sxllr   +++|*CALL COMXMSC
02409  M00S02263.sxllr   +++|
02410  M00S02264.sxllr   +++|
02411  M00S02265.sxllr   +++|      ITEM REQTYP     B=FALSE;       # *LLRQ* ID FOR *GET$SB* #
02412  M00S02266.sxllr   +++|
02413  M00S02267.sxllr   +++|      BASED
02414  M00S02268.sxllr   +++|      ARRAY   CLEAR    [0:0]   S(1);
02415  M00S02269.sxllr   +++|        BEGIN
02416  M00S02270.sxllr   +++|        ITEM CLN      U(00,36,24);        # CLEAR *DRD* ASSIGNMENT #
02417  M00S02271.sxllr   +++|        END
02418  M00S02272.sxllr   +++|
02419  M00S02273.sxllr   +++|      SWITCH  WTENTR:PROCST          # WRITE LABEL ENTRIES #
02420  M00S02274.sxllr   +++|              WTINIT:INITIAL,        # INITIAL ENTRY POINT #
02421  M00S02275.sxllr   +++|                WTC1:CONT1,          # AFTER A SWAPIN DELAY #
02422  M00S02276.sxllr   +++|                WTC2:CONT2;          # AFTER WRITE LABEL #
02423  M00S02277.sxllr   +++|                                               CONTROL EJECT;
02424  M00S02278.sxllr   +++|      P<LLRQ> = LLRENT;
02425  M00S02279.sxllr   +++|      LLR$DR[0] = 0;
02426  M00S02280.sxllr   +++|      LTCENTRY = LLR$LTCT[0];
02427  M00S02281.sxllr   +++|      GOTO WTENTR[LLR$PRCST[0]];
02428  M00S02282.sxllr   +++|
02429  M00S02283.sxllr   +++|#
02430  M00S02284.sxllr   +++|*     "INITIAL" PROCESS STATE.
02431  M00S02285.sxllr   +++|#
02432  M00S02286.sxllr   +++|
02433  M00S02287.sxllr   +++|WTINIT:
02434  M00S02288.sxllr   +++|
02435  M00S02289.sxllr   +++|#
02436  M00S02290.sxllr   +++|*     CHECK LABEL BUFFER FOR BUSY.  IF BUSY, RETURN *LLRQ*
02437  M00S02291.sxllr   +++|*     TO THE DELAY CHAIN.
02438  M00S02292.sxllr   +++|#
02439  M00S02293.sxllr   +++|
02440  M00S02294.sxllr   +++|
02441  M00S02295.sxllr   +++|      IF LABELBUSY
02442  M00S02296.sxllr   +++|      THEN
02443  M00S02297.sxllr   +++|        BEGIN       # EXIT TO DELAY CHAIN #
02444  M00S02298.sxllr   +++|        DELAY(UCP$INTV,LLRENT,LLRQIND);
02445  M00S02299.sxllr   +++|        RETURN;
02446  M00S02300.sxllr   +++|        END         # RETURNED TO DELAY CHAIN #
02447  M00S02301.sxllr   +++|
02448  M00S02302.sxllr   +++|      LABELBUSY = TRUE;      # RESERVE LABEL BUFFER #
02449  M00S02303.sxllr   +++|#
02450  M00S02304.sxllr   +++|*     READ THE LABEL FROM THE UCP.  IF THE UCP IS SWAPPED OUT, DELAY
02451  M00S02305.sxllr   +++|*     THE REQUEST AND TRY AGAIN LATER.
02452  M00S02306.sxllr   +++|#
02453  M00S02307.sxllr   +++|
02454  M00S02308.sxllr   +++|SFLOOP:
Line S02309 Modification History
M01 (Removed by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02455  M01S02309.sxllr1  ---|      IF LLR$UCPABT[0]
02456  M01S02310.sxllr1  ---|      THEN
02457  M01S02311.sxllr1  ---|        BEGIN
02458  M01S02312.sxllr1  ---|        GOTO COMPLUCP;
02459  M01S02313.sxllr1  ---|        END
02460  M01S02314.sxllr1  ---|
02461  M00S02315.sxllr   +++|      LTC$SFUCPA[LTCENTRY] = LLR$ADDR2[0];
02462  M00S02316.sxllr   +++|      LTC$SFSCPA[LTCENTRY] = MAT$FWA[MAT$ENTRY"LABBUF"];
02463  M00S02317.sxllr   +++|      LTC$SFFP[LTCENTRY] = LABLEN;
02464  M00S02318.sxllr   +++|      LTC$SFFC[LTCENTRY] = SFREAD;
02465  M00S02319.sxllr   +++|      SFCALL(LOC(LTC$WORD0[LTCENTRY]),RCL);
02466  M00S02320.sxllr   +++|      IF LTC$SFRC[LTCENTRY] EQ SFRCUCPGON
02467  M00S02321.sxllr   +++|      THEN
02468  M00S02322.sxllr   +++|        BEGIN
02469  M00S02323.sxllr   +++|        GOTO COMPLUCP;
02470  M00S02324.sxllr   +++|        END
02471  M00S02325.sxllr   +++|
02472  M00S02326.sxllr   +++|      IF LTC$SFRC[LTCENTRY] EQ SFRCBDUCPA
02473  M00S02327.sxllr   +++|      THEN
02474  M00S02328.sxllr   +++|        BEGIN
02475  M00S02329.sxllr   +++|        KILL$UC(KILLCODE"INVADDR");
02476  M00S02330.sxllr   +++|        GOTO COMPLUCP;
02477  M00S02331.sxllr   +++|        END
02478  M00S02332.sxllr   +++|
02479  M00S02333.sxllr   +++|      IF LTC$SFRC[LTCENTRY] EQ SFRCSWPOUT
02480  M00S02334.sxllr   +++|      THEN
02481  M00S02335.sxllr   +++|        BEGIN
02482  M00S02336.sxllr   +++|        LTC$SFUCPA[LTCENTRY] = 0;
02483  M00S02337.sxllr   +++|        LTC$SFSCPA[LTCENTRY] = 0;
02484  M00S02338.sxllr   +++|        LTC$SFFC[LTCENTRY] = SFSWPI;
Line S02339 Modification History
M01 (Removed by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02485  M01S02339.sxllr1  ---|        SFCALL(LOC(LTC$WORD0[LTCENTRY]),NRCL);
Line S00013 Modification History
M01 (Added by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02486  M01S00013.sxllr1  +++|        SFCALL(LOC(LTC$WORD0[LTCENTRY]),RCL);
02487  M00S02340.sxllr   +++|
02488  M00S02341.sxllr   +++|#
02489  M00S02342.sxllr   +++|*     "CONT1" PROCESS STATE.
02490  M00S02343.sxllr   +++|#
02491  M00S02344.sxllr   +++|
02492  M00S02345.sxllr   +++|WTC1:
02493  M00S02346.sxllr   +++|        LTCENTRY = LLR$LTCT[0];
02494  M00S02347.sxllr   +++|        IF LTC$SFFCC[LTCENTRY]
02495  M00S02348.sxllr   +++|        THEN
02496  M00S02349.sxllr   +++|          BEGIN
02497  M00S02350.sxllr   +++|          GOTO SFLOOP;
02498  M00S02351.sxllr   +++|          END
02499  M00S02352.sxllr   +++|
02500  M00S02353.sxllr   +++|        LLR$PRCST[0] = PROCST"CONT1";
02501  M00S02354.sxllr   +++|        DELAY(UCP$INTV,LLRENT,LLRQIND);
02502  M00S02355.sxllr   +++|        RETURN;
02503  M00S02356.sxllr   +++|        END
02504  M00S02357.sxllr   +++|
02505  M00S02358.sxllr   +++|      IF LTC$SFRC[LTCENTRY] NQ 0
02506  M00S02359.sxllr   +++|      THEN
02507  M00S02360.sxllr   +++|        BEGIN
02508  M00S02361.sxllr   +++|        FE$RTN[0] = "WT$LAB.";
02509  M00S02362.sxllr   +++|        MESSAGE(FEMSG[0],UDFL1);
02510  M00S02363.sxllr   +++|        ABORT;
02511  M00S02364.sxllr   +++|        END
02512  M00S02365.sxllr   +++|
02513  M00S02366.sxllr   +++|
02514  M00S02367.sxllr   +++|        LLR$PRCST[0] = PROCST"CONT2";
02515  M00S02368.sxllr   +++|        LLR$RC[0] = REQCODE"SWRT$LABEL";
02516  M00S02369.sxllr   +++|        LLR$RS[0] = PROCST"INITIAL";
02517  M00S02370.sxllr   +++|        ADD$LNK(LLRENT,LCHN"DRQUEUE",0);
02518  M00S02371.sxllr   +++|        RETURN;
02519  M00S02372.sxllr   +++|
02520  M00S02373.sxllr   +++|#
02521  M00S02374.sxllr   +++|*     RETURN THE RESPONSE CODE TO THE *UCP*.
02522  M00S02375.sxllr   +++|#
02523  M00S02376.sxllr   +++|
02524  M00S02377.sxllr   +++|COMPLUCP:
Line S02378 Modification History
M01 (Removed by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02525  M01S02378.sxllr1  ---|      IF NOT LLR$UCPABT[0]
02526  M01S02379.sxllr1  ---|      THEN
02527  M01S02380.sxllr1  ---|        BEGIN
02528  M01S02381.sxllr1  ---|        LTCENTRY = LLR$LTCT[0];
02529  M01S02382.sxllr1  ---|        LTC$RQR[LTCENTRY] = LLR$DR[0];
02530  M01S02383.sxllr1  ---|        UCP$RES;
Line S00014 Modification History
M01 (Added by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02531  M01S00014.sxllr1  +++|        LABELBUSY = FALSE;
02532  M01S00015.sxllr1  +++|        LLR$DR[0] = 0;
02533  M01S00016.sxllr1  +++|        LLR$UCPABT[0] = FALSE;
02534  M00S02384.sxllr   +++|        LLR$Y[0] = SM$EXIT$TY;
02535  M00S02385.sxllr   +++|        LLR$Z[0] = SM$TY$Z;
02536  M00S02386.sxllr   +++|        LLR$PRCNME[0] = REQTYP4"UNLD$CART";
02537  M00S02387.sxllr   +++|        LLR$PRCST[0] = PROCST"INITIAL";
02538  M00S02388.sxllr   +++|        ADD$LNK(LLRENT,LCHN"LL$READY",0);
Line S02389 Modification History
M01 (Removed by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02539  M01S02389.sxllr1  ---|        END
Line S00017 Modification History
M01 (Added by) sxllr1
Seq #  *Modification Id* Act 
----------------------------+
02540  M01S00017.sxllr1  +++|        RETURN;
02541  M00S02390.sxllr   +++|
02542  M00S02391.sxllr   +++|#
02543  M00S02392.sxllr   +++|*     "CONT2" PROCESS STATE.
02544  M00S02393.sxllr   +++|#
02545  M00S02394.sxllr   +++|
02546  M00S02395.sxllr   +++|WTC2:
02547  M00S02396.sxllr   +++|
02548  M00S02397.sxllr   +++|#
02549  M00S02398.sxllr   +++|*     MARK THE REQUEST COMPLETE AND RETURN TO *LLRQ* MONITOR.
02550  M00S02399.sxllr   +++|#
02551  M00S02400.sxllr   +++|
02552  M00S02401.sxllr   +++|      IF NOT LLR$UCPABT[0]
02553  M00S02402.sxllr   +++|      THEN
02554  M00S02403.sxllr   +++|        BEGIN        # SEND REQUEST BACK TO UCP #
02555  M00S02404.sxllr   +++|        LTC$CART[LTCENTRY] = FALSE;
02556  M00S02405.sxllr   +++|        LTC$LLRQA[LTCENTRY] = 0;
02557  M00S02406.sxllr   +++|        LTC$RQR[LTCENTRY] = LLR$DR[0];
02558  M00S02407.sxllr   +++|        UCP$RES;
02559  M00S02408.sxllr   +++|        END         # COMPLETED RETURN REQUEST #
02560  M00S02409.sxllr   +++|
02561  M00S02410.sxllr   +++|      P<CLEAR> = LLR$DRDRA[0];        # CLEAR *DRD* RESERVE #
02562  M00S02411.sxllr   +++|      CLN = 0;
02563  M00S02412.sxllr   +++|      LLR$PRCST[0] = PROCST"COMPLETE";
02564  M00S02413.sxllr   +++|      RETURN;
02565  M00S02414.sxllr   +++|      END  # WT$LAB #
02566  M00S02415.sxllr   +++|
02567  M00S02416.sxllr   +++|    TERM
cdc/nos2.source/opl.opl871/deck/sxllr.001.txt ยท Last modified: by 127.0.0.1