WS06 TITLE 'AHLSBUF, TRACE WRITER ASYNCHRONOUS BUFFERING RTN *00001000 ' 00002000 AHLSBUF CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(19) 0001 00007000 DC C'AHLSBUF R0200073286' 0001 00008000 DROP @15 00009000 @PROLOG DS 0H 0002 00010000 LR BASREG,@15 PLACE ENTRY POINT ADDR IN BASE REGISTER 00011000 USING AHLSBUF,BASREG 00012000 * RETSAVR=RETURNR; /* PRESERVE GPR14 IN ANOTHER 0060 00013000 * REGISTER FOR LIFE OF THIS 0060 00014000 * ENTRY */ 00015000 LR RETSAVR,RETURNR 0060 00016000 * RFY 0061 00017000 * RETURNR UNRSTD; 0061 00018000 * RFY 0062 00019000 * FRREPAD RSTD; /* THE ADDRESS OF THE FRR EP IS 00020000 * PUT IN A REG FOR THE MACRO SO 00021000 * THAT MORE EFFICIENT CODE WILL 00022000 * BE GENERATED */ 00023000 * FRREPAD=ADDR(AHLSFRR); 0063 00024000 LA FRREPAD,AHLSFRR 0063 00025000 * RFY 0064 00026000 * (SETFREG1, 0064 00027000 * SETFREG2) RSTD; /* WORK REGS FOR SETFRR */ 00028000 * GEN CODE SETS(SETFREG1,SETFREG2) REFS(FRREPAD,PSA,PSACSTK,FRRSCURR, 00029000 * FRRS,FRRSLAST,FRRSELEN,FRRSFRRA,PSALSFCC,FRRSENTR,FRRSPARM) 00030000 * SEQFLOW NOEXIT NOFLOWS NODEFS; 0065 00031000 SETFRR A,FRRAD=(FRREPAD),WRKREGS=(SETFREG1,SETFREG2) 00032000 * RFY 0066 00033000 * (FRREPAD, 0066 00034000 * SETFREG1, 0066 00035000 * SETFREG2) UNRSTD; 0066 00036000 * RFY 0067 00037000 * SRBSECT BASED(GTFSSRB); 0067 00038000 * WORKPTR=ADDR(WORKAREA); /* OBTAIN ADDR OF THE WORK AREA 00039000 * TO BE USED FOR COMPARE AND 0068 00040000 * SWAP THIS WORK AREA IS AN 0068 00041000 * EXTRA 16 BYTES GOTTEN BY THE 00042000 * TRACE WRITER AND APPENDED TO 00043000 * THE END OF THE SRB, WHICH 0068 00044000 * EFFECTIVELY SERIALIZES THE USE 00045000 * OF THE WORKAREA */ 00046000 L WORKPTR,GTFSSRB(,PCTPTR) 0068 00047000 LA WORKPTR,WORKAREA(,WORKPTR) 0068 00048000 * RFY 0069 00049000 * COMPSWAP BASED(WORKPTR); 0069 00050000 * 0070 00051000 * /*****************************************************************/ 00052000 * /* */ 00053000 * /* THIS SECTION OF CODE ATTEMPTS TO OBTAIN CONTROL OF QLOCK. */ 00054000 * /* (QLOCK IS USED TO SERIALIZE THE USE OF SOME GTFBCB & GTFPCT */ 00055000 * /* FIELDS BETWEEN THIS MODULE AND THE TRACE WRITER). IF IT */ 00056000 * /* SUCCEEDS MODULE EXECUTION CONTINUES. IF IT FAILS THE GTFSSRB */ 00057000 * /* IS MADE AVAILABLE TO BE SCHEDULED AGAIN, THE SCHEDBUF BYTE IS */ 00058000 * /* SET TO 'FF'X INDICATING THAT THE SRB FOR THIS MODULE IS TO BE */ 00059000 * /* SCHEDULED WHEN QLOCK IS FREED, AND IT TERMINATES. */ 00060000 * /* */ 00061000 * /*****************************************************************/ 00062000 * 0070 00063000 */*GETQLOCK: N THIS AHLSBUF MUST ALWAYS HAVE CONTROL OF GTFSSRB AT THIS 00064000 */* POINT */ 00065000 */* P TS ON THE QLOCK BYTE */ 00066000 */* N THIS IS THE ONLY PLACE WHERE QLOCK IS OBTAINED */ 00067000 */* D (FAIL,,OK,GOTQLOCK) TS? */ 00068000 */* D (YES,FRROFF,NO,) GTFSSRB=0 */ 00069000 */* P CS TO TURN ON SRBAVAIL BIT */ 00070000 */* D (FAIL,FRROFF,OK,) CS? */ 00071000 */* P SET THE SCHEDBUF BYTE */ 00072000 */* N QLOCK MUST BE RETESTED AFTER GTFSSRB IS AVAILABLE & SHCEDBUF IS 00073000 */*SET */ 00074000 */* D (YES,FRROFF,NO,) IS THE QLOCK BYTE SET */ 00075000 */* N QLOCK CANNOT BE OBTAINED NOW BECAUSE GTFSSRB IS NOT HELD */ 00076000 */*%K: P USE CS TO VERIFY SRBAVAIL IS ON & TURN IT OFF */ 00077000 */* D (FAIL,,OK,GETQLOCK) CS? */ 00078000 */* N (,FRROFF) ANOTHER AHLSBUF IS SCHEDULED & WILL DO THE WORK */ 00079000 */*GOTQLOCK: P CLEAR THE SCHEDBUF BYTE */ 00080000 * 0070 00081000 *GETQLOCK: /* AHLSBUF MUST ALWAYS HAVE 0070 00082000 * CONTROL OF GTFSSRB AT THIS 0070 00083000 * POINT IN THE CODE. WHEN 0070 00084000 * AHLSBUF GET DISPATCHED IT 0070 00085000 * IMPLICITLY HAS CONTROL OF 0070 00086000 * GTFSSRB FROM THE MODULE WHICH 00087000 * SCHEDULED IT. */ 00088000 * TS(QLOCK); /* TEST QLOCK TO SEE IF IT IS 0070 00089000 * FREE AND IF IT IS SET IT TO 0070 00090000 * 'FF'X TO OBTAIN CONTROL OF IT 00091000 * OTHERWISE DO NOTHING */ 00092000 GETQLOCK TS QLOCK(PCTPTR) 0070 00093000 * BC(8,GOTQLOCK); /* GO ON TO DO WORK IF THE QLOCK 00094000 * WAS FREE */ 00095000 BC 8,GOTQLOCK 0071 00096000 * RFY 0072 00097000 * (COMPREG, 0072 00098000 * SWAPREG) RSTD; 0072 00099000 * COMPREG=GTFSSRB; /* OBTAIN A STABLE COPY FOR CS */ 00100000 L COMPREG,GTFSSRB(,PCTPTR) 0073 00101000 * IF COMPREG=0 /* TEST TO SEE IF SOMEONE HAS 0074 00102000 * DISABLED THIS MODULE */ 00103000 * THEN 0074 00104000 LTR COMPREG,COMPREG 0074 00105000 BZ @RT00074 0074 00106000 * GO TO FRROFF; /* IF YES GO AND TERMINATE 0075 00107000 * WITHOUT REQUESTING TO BE 0075 00108000 * RESCHEDULED */ 00109000 * SWAPREG=COMPREG|'80000000'X; /* TURN ON SRBAVAIL BIT IN THE 0076 00110000 * ALTERED COPY */ 00111000 LR SWAPREG,COMPREG 0076 00112000 O SWAPREG,@CF01757 0076 00113000 * CS(COMPREG,SWAPREG,GTFSSRB); /* VERIFY GTFSSRB IS STILL 0077 00114000 * NONZERO AND IF SO UPDATE IT 0077 00115000 * WITH THE COPY THAT HAS 0077 00116000 * SRBAVAIL ON */ 00117000 CS COMPREG,SWAPREG,GTFSSRB(PCTPTR) 0077 00118000 * BC(4,FRROFF); /* IF THE CS FAILS GTFSSRB MUST 00119000 * HAVE BEEN SET TO 0 SINCE ONLY 00120000 * THE MODULE THAT CONTROLS IT 0078 00121000 * CAN ALTER IT IN ANY OTHER WAY 00122000 * AND THIS MODULE CURRENTLY 0078 00123000 * CONTROLS IT */ 00124000 BC 4,FRROFF 0078 00125000 * SCHEDBUF=SET; /* SET SCHEDBUF TO REQUEST THAT 00126000 * THE TRACE WRITER SCHEDULE THE 00127000 * SRB FOR THIS MODULE WHEN IT 0079 00128000 * FREES THE QLOCK */ 00129000 MVI SCHEDBUF(PCTPTR),X'FF' 0079 00130000 * IF QLOCK=SET /* TEST QLOCK ONCE AGAIN TO 0080 00131000 * VERIFY THAT IT IS STILL SET 0080 00132000 * AFTER BOTH SCHEDBUF IS SET AND 00133000 * GTFSSRB HAVE BEEN MADE 0080 00134000 * AVAILABLE. THIS WILL INSURE 0080 00135000 * THAT THE TRACE WRITER WILL 0080 00136000 * SCHEDULE THIS MODULE AGAIN. IT 00137000 * IS POSSIBLE THAT THE TRACE 0080 00138000 * WRITER MAY HAVE FINISHED WITH 00139000 * QLOCK AFTER THE TS BUT BEFORE 00140000 * THE SETTING OF SCHEDBUF & 0080 00141000 * FREEING OF GTFSSRB */ 00142000 * THEN 0080 00143000 CLI QLOCK(PCTPTR),X'FF' 0080 00144000 BE @RT00080 0080 00145000 * GO TO FRROFF; /* TERMINATE */ 00146000 * COMPREG=GTFSSRB; /* IF THE QLOCK HAS BECOME 0082 00147000 * AVAILABLE SINCE THE TS, THERE 00148000 * IS NO GUARENTEE THIS MODULE 0082 00149000 * WILL BE RESCHEDULED,SO TRY TO 00150000 * REGAIN CONTROL OF GTFSSRB 0082 00151000 * INSTEAD OF TERMINATING */ 00152000 L COMPREG,GTFSSRB(,PCTPTR) 0082 00153000 * SWAPREG=COMPREG&'7FFFFFFF'X; /* PREPARE TO TURN OFF THE 0083 00154000 * SRBAVAIL BIT */ 00155000 LR SWAPREG,COMPREG 0083 00156000 N SWAPREG,@CF01759 0083 00157000 * COMPREG=COMPREG|'80000000'X; /* AND INSURE THAT THE SRBAVAIL 00158000 * BIT IS ON IF THE CS GOES */ 00159000 O COMPREG,@CF01757 0084 00160000 * CS(COMPREG,SWAPREG,GTFSSRB); /* ATTEMPT TO GET CONTROL OF 0085 00161000 * GTFSSRB */ 00162000 CS COMPREG,SWAPREG,GTFSSRB(PCTPTR) 0085 00163000 * BC(8,GETQLOCK); /* IF THE CS IS SUCCESSFUL GO 0086 00164000 * BACK AND TRY FOR QLOCK AGAIN */ 00165000 BC 8,GETQLOCK 0086 00166000 * RFY 0087 00167000 * (COMPREG, 0087 00168000 * SWAPREG) UNRSTD; 0087 00169000 * GO TO FRROFF; /* IF THE CS FAILED THE SRB HAS 00170000 * ALREADY BEEN SCHEDULED WHICH 00171000 * IS JUST AS GOOD. SO TERMINATE */ 00172000 B FRROFF 0088 00173000 *GOTQLOCK: /* ONCE CONTROL OF QLOCK IS 0089 00174000 * GOTTEN THERE IS */ 00175000 * SCHEDBUF=CLEAR; /* NO NEED FOR THE TRACE WRITER 00176000 * TO SCHEDULE AHLSBUF ANYMORE 0089 00177000 * */ 00178000 GOTQLOCK MVI SCHEDBUF(PCTPTR),X'00' 0089 00179000 * 0090 00180000 * /*****************************************************************/ 00181000 * /* */ 00182000 * /* AT THIS POINT THE HEART OF AHLSBUF BEGINS. FIRST TESTS ARE */ 00183000 * /* MADE TO SEE IF THERE IS ANY WORK TO BE DONE AND IF NOT THE */ 00184000 * /* CODE BRANCHES PAST THE WORK PORTION TO THE SECTION THAT POSTS */ 00185000 * /* THE TRACE WRITER */ 00186000 * /* */ 00187000 * /*****************************************************************/ 00188000 * 0090 00189000 */*BUFFER: D (YES,NOWORK,NO,) NEXTBLOK= CURRBLOK */ 00190000 */* P SAVE A CONTROL COPY OF NEXTBLOK-> BLOKSWAP IN CASE OF CS */ 00191000 */* D (YES,,NO,NOWORK) BLOKUSE=0 IN CONTROL COPY */ 00192000 */* D (YES,,NO,%A) EQHEAD=0 */ 00193000 */* P (,NOWORK) STORE 0 INTO GTFSSRB (DISABLE AHLSBUF) */ 00194000 * 0090 00195000 *BUFFER: 0090 00196000 * IF NEXTBLOK=CURRBLOK /* IS THE NEXT GTFBLOK TO BE 0090 00197000 * BUFFERED STILL THE CURRENT 0090 00198000 * GTFBLOK */ 00199000 * THEN 0090 00200000 BUFFER L @08,NEXTBLOK(,PCTPTR) 0090 00201000 C @08,CURRBLOK(,PCTPTR) 0090 00202000 BE @RT00090 0090 00203000 * GO TO NOWORK; /* IF IT IS THEN IT CAN'T BE 0091 00204000 * BUFFERED SO GO ON TO POSTING 00205000 * THE TRACE WRITER */ 00206000 * DWSWAP=NEXTBLOK->BLOKSWAP; /* OBTAIN A STABLE VERSION OF THE 00207000 * CONTROL PORTION OF THE NEXT 0092 00208000 * GTFBLOK TO BE BUFFERED */ 00209000 MVC DWSWAP(8,WORKPTR),BLOKSWAP(@08) 0092 00210000 * IF USEFIELD^=0 /* IF THE NEXT TO BE BUFFERED 0093 00211000 * GTFBLOK IS NOT ALSO CURRENT 0093 00212000 * THEN HAS ALL THE RESERVED 0093 00213000 * SPACE BEEN FILLED IN */ 00214000 * THEN 0093 00215000 SLR @08,@08 0093 00216000 CH @08,USEFIELD(,WORKPTR) 0093 00217000 BNE @RT00093 0093 00218000 * GO TO NOWORK; /* IF NOT THEN IT STILL CAN'T BE 00219000 * BUFFERED SO GO ON TO POSTING 00220000 * THE TRACE WRITER */ 00221000 * IF EQHEAD=0 /* THERE IS A GTFBLOK TO BE 0095 00222000 * BUFFERED, IS THERE AN EMPTY 0095 00223000 * GTFBUFR TO PUT THE DATA INTO */ 00224000 * THEN 0095 00225000 C @08,EQHEAD(,PCTPTR) 0095 00226000 BNE @RF00095 0095 00227000 * DO; /* IF NOT THE DISABLE AHLSBUF SO 00228000 * IT WON'T COMPETE WITH THE 0096 00229000 * TRACE WRITER AND THEN POST THE 00230000 * TRACE WRITER */ 00231000 * GTFSSRB=0; /* REGARDLESS OF THE CURRENT 0097 00232000 * STATE OF GTFSSRB SET IT TO 0 00233000 * TO DISABLE THE SCHEDULING OF 00234000 * THIS MODULE */ 00235000 ST @08,GTFSSRB(,PCTPTR) 0097 00236000 * GO TO NOWORK; /* GO FREE THE QLOCK AND POST THE 00237000 * TRACE WRITER SO IT CAN EMPTY 00238000 * GTFBUFR */ 00239000 B NOWORK 0098 00240000 * END; 0099 00241000 * 0100 00242000 * /*****************************************************************/ 00243000 * /* */ 00244000 * /* AFTER IT IS ESTABLISHED THAT WORK CAN BE DONE THIS SECTION OF */ 00245000 * /* CODE DOES IT. A GTFBCB IS REMOVED FROM THE EMPTY QUEUE, ITS */ 00246000 * /* GTFBUFR IS FILLED WITH THE DATA FROM THE NEXT TO BE BUFFERED */ 00247000 * /* GTFBLOK, THE GTFBLOK IS SET TO EMPTY, THE GTFBCB IS PUT ON THE*/ 00248000 * /* TAIL OF THE HISTORY-WRITE QUEUE, AND ONE GTFBCB IS REMOVED */ 00249000 * /* FROM THE HEAD OF THE HISTORY QUEUE */ 00250000 * /* */ 00251000 * /*****************************************************************/ 00252000 * 0100 00253000 */*%A: N MARK THIS GTFBLOK AS BEING BUFFERED */ 00254000 */* P CSD NEXTBLOK-> BLKINUSE=ON & VERIFY BLOKUSE=0 STILL */ 00255000 */* D (OK,,FAIL,BUFFER) CS? */ 00256000 */* P CQUEUE=EQHEAD */ 00257000 */* N BCBUSE NOT ALTERED BECAUSE OFF ONE QUEUE & ON ANOTHER */ 00258000 */* P EQHEAD= CQUEUE->EQCHAIN */ 00259000 */* N BECAUSE BCBUSE=1 NO SERIALIZATION LOGIC IS NEEDED */ 00260000 */* P DIAGNOSTIC: DECR EQLENGTH 1 CQUEUE-> EQFLAG=OFF & CQFLAG=ON */ 00261000 */*MOVEBLOK: P SET UP LENGTH & BEGINNING & END ADDRS OF GTFBLOK & 0100 00262000 */*GTFBUFR */ 00263000 */* P MOVE LONG FROM GTFBLOK TO GTFBUFR */ 00264000 * 0100 00265000 * DWCOMP=DWSWAP; /* PREPARE TO UPDATE THE GTFBLOK 00266000 * VIA CDS */ 00267000 @RF00095 MVC DWCOMP(8,WORKPTR),DWSWAP(WORKPTR) 0100 00268000 * INUSEBIT=ON; /* ARRANGE TO HAVE THE BLKINUSE 00269000 * BIT ON AFTER THE UPDATE */ 00270000 OI INUSEBIT(WORKPTR),B'10000000' 0101 00271000 * RFY 0102 00272000 * (COMPREG1, 0102 00273000 * COMPREG2, 0102 00274000 * SWAPREG1, 0102 00275000 * SWAPREG2) RSTD; /* DWCOMP & DWSWAP ARE LOADED 0102 00276000 * INTO REGS FOR THE CDS TO GET 00277000 * BETTER CODE */ 00278000 * GEN CODE SEQFLOW NOFLOWS REFS(COMPREG1,COMPREG2,SWAPREG1,SWAPREG2, 00279000 * DWCOMP,WORKPTR) SETS(COMPREG1,COMPREG2,SWAPREG1,SWAPREG2); 0103 00280000 LM COMPREG1,SWAPREG2,DWCOMP(WORKPTR) OBTAIN THE CS VALUES 00281000 * CDS(COMPREG1,SWAPREG1,NEXTBLOK->BLOKSWAP);/* THIS ALSO VERIFIES 00282000 * THAT THE BLOKUSE IS STILL 0 */ 00283000 L @08,NEXTBLOK(,PCTPTR) 0104 00284000 CDS COMPREG1,SWAPREG1,BLOKSWAP(@08) 0104 00285000 * BC(4,BUFFER); /* IF THE CDS FAILS SOMETHING IN 00286000 * BLOKSWAP CHANGED SO GO ALL THE 00287000 * WAY BACK AND TRY AGAIN */ 00288000 BC 4,BUFFER 0105 00289000 * RFY 0106 00290000 * (COMPREG1, 0106 00291000 * COMPREG2, 0106 00292000 * SWAPREG1, 0106 00293000 * SWAPREG2) UNRSTD; 0106 00294000 * RFY 0107 00295000 * CQUEUE RSTD; 0107 00296000 * CQUEUE=EQHEAD; /* REMOVE A GTFBCB FROM THE HEAD 00297000 * OF THE EMPTY QUEUE */ 00298000 L CQUEUE,EQHEAD(,PCTPTR) 0108 00299000 * EQHEAD=CQUEUE->EQCHAIN; /* FINISH REMOVING THE GTFBCB */ 00300000 MVC EQHEAD(4,PCTPTR),EQCHAIN(CQUEUE) 0109 00301000 */* OPTIONAL DIAGNOSTIC AID */ 00302000 * 0110 00303000 * EQLENGTH=EQLENGTH-1; /* DECREMENT THE COUNT OF GTFBCB 00304000 * AVAILABLE ON THE EMPTY QUEUE */ 00305000 L @08,EQLENGTH(,PCTPTR) 0110 00306000 BCTR @08,0 0110 00307000 ST @08,EQLENGTH(,PCTPTR) 0110 00308000 * CQUEUE->EQFLAG=OFF; /* CS LOGIC IS NOT NEEDED HERE 0111 00309000 * BECAUSE THE USE COUNT OF THIS 00310000 * GTFBCB IS ONE AND THE QUEUE IT 00311000 * IS ON CAN ONLY BE LOCATED BY 00312000 * THIS MODULE */ 00313000 * CQUEUE->CQFLAG=ON; 0112 00314000 * 0112 00315000 OI CQFLAG(CQUEUE),B'00100000' 0112 00316000 NI EQFLAG(CQUEUE),B'01111111' 0112 00317000 */* OPTIONAL DIAGNOSTIC AID */ 00318000 * 0113 00319000 * RFY 0113 00320000 * (MVCLTPTR, 0113 00321000 * MVCLTLEN, 0113 00322000 * MVCLFPTR, 0113 00323000 * MVCLFLEN) RSTD; 0113 00324000 *MOVEBLOK: /* COPY THE DATA FROM THE GTFBLOK 00325000 * INTO THE GTFBUFR */ 00326000 * MVCLTPTR=ADDR(CQUEUE->GBUFRPTR->GTFBUFR);/* SET UP THE ADDRESS OF 00327000 * THE MVCL TARGET */ 00328000 MOVEBLOK L MVCLTPTR,GBUFRPTR(,CQUEUE) 0114 00329000 * MVCLTLEN=NEXTBLOK->BLOKLEN; /* SET UP THE LENGTH */ 00330000 L @08,NEXTBLOK(,PCTPTR) 0115 00331000 LH MVCLTLEN,BLOKLEN(,@08) 0115 00332000 * MVCLFLEN=MVCLTLEN; 0116 00333000 LR MVCLFLEN,MVCLTLEN 0116 00334000 * MVCLFPTR=ADDR(NEXTBLOK->BLOKAREA);/* SET UP THE ADDRESS OF WHERE 00335000 * THE MVCL IS TO BE FROM */ 00336000 LA MVCLFPTR,BLOKAREA(,@08) 0117 00337000 * GEN CODE REFS(MVCLTPTR,MVCLTLEN,MVCLFPTR,MVCLFLEN,GTFBLOK) NODEFS 00338000 * NOFLOWS SETS(GTFBUFR) NOEXIT SEQFLOW(MVCL MVCLTPTR,MVCLFPTR); 00339000 MVCL MVCLTPTR,MVCLFPTR 00340000 * RFY 0119 00341000 * (MVCLTPTR, 0119 00342000 * MVCLTLEN, 0119 00343000 * MVCLFPTR, 0119 00344000 * MVCLFLEN) UNRSTD; 0119 00345000 * 0120 00346000 * /*****************************************************************/ 00347000 * /* */ 00348000 * /* NOW THAT THE DATA HAS BEEN COPIED INTO THE GTFBUFR IT CAN BE */ 00349000 * /* PUT ONTO THE HISTORY & WRITE QUEUES, AND THE GTFBLOK CAN BE */ 00350000 * /* RESET TO EMPTY. BECAUSE THE EDIT PORTION OF PRINT DUMP FORMATS*/ 00351000 * /* BOTH THE GTFBLOK AND THE HISTORY QUEUE FROM A SADUMP IT IS */ 00352000 * /* IMPORTANT THAT THE GTFBUFR GO ON THE HISTORY QUEUE BEFORE THE */ 00353000 * /* GTFBLOK IS RESET TO EMPTY. THIS AVOIDS A MOMENT WHERE THERE */ 00354000 * /* WOULD BE A GAP IN THE DATA, INSTEAD THERE IS A DUPLICATION */ 00355000 * /* */ 00356000 * /*****************************************************************/ 00357000 * 0120 00358000 */* N GTFBCB IS PUT ON THE QUEUES BEFORE CLEARING GTFBLOK----FOR SADUMP 00359000 */* & EDIT */ 00360000 */* P CQUEUE-> BCBCHAIN=0 */ 00361000 */* N BECAUSE BCBUSE=1 NO SERIALIZATION LOGIC IS NEEDED */ 00362000 */* P INCREMENT CQUEUE-> BCBUSE BY 2 */ 00363000 */* P DIAGNOSTIC: INCREMENT WQLENGTH BY 1 CQUEUE-> HQFLAG & WQFLAG=ON 00364000 */* */ 00365000 */* P QTAIL-> BCBCHAIN=CQUEUE */ 00366000 */* N MAKE THE GTFBLOK AVAILABLE FOR USE AS SOON AS POSSIBLE */ 00367000 */* P BLOKLEN=FIRST RECORD LENGTH+4, BLOKUSE=1 & BLKINUSE=OFF */ 00368000 */* P NEXTBLOK= NEXTBLOK-> BLKCHAIN */ 00369000 */* P QTAIL=CQUEUE */ 00370000 */* N REMOVE ONE GTFBCB (OLDEST) FROM HEAD OF THE HISTORY QUEUE */ 00371000 */* P BCBHOLDR=HQHEAD HQHEAD= BCBHOLDR-> HQCHAIN */ 00372000 * 0120 00373000 * CQUEUE->BCBCHAIN=0; /* ZERO THE CHAIN FIELD BECAUSE 00374000 * THIS WILL BECOME THE END OF 0120 00375000 * THE QUEUE */ 00376000 SLR @08,@08 0120 00377000 ST @08,BCBCHAIN(,CQUEUE) 0120 00378000 * CQUEUE->BCBUSE=CQUEUE->BCBUSE+2;/* INCREMENT THE USE COUNT ONCE 00379000 * FOR THE HISTORY QUEUE & ONCE 00380000 * FOR THE WRITE QUEUE MP LOGIC 00381000 * NOT NEEDED YET */ 00382000 LA @08,2 0121 00383000 AH @08,BCBUSE(,CQUEUE) 0121 00384000 STH @08,BCBUSE(,CQUEUE) 0121 00385000 */* OPTIONAL DIAGNOSTIC AID */ 00386000 * 0122 00387000 * WQLENGTH=WQLENGTH+1; /* INCR THE COUNT OF GTFBCB ON 0122 00388000 * THE WRITE QUEUE */ 00389000 LA @08,1 0122 00390000 L @02,WQLENGTH(,PCTPTR) 0122 00391000 ALR @02,@08 0122 00392000 ST @02,WQLENGTH(,PCTPTR) 0122 00393000 * CQUEUE->WQFLAG=ON; 0123 00394000 * CQUEUE->HQFLAG=ON; 0124 00395000 * 0124 00396000 OI WQFLAG(CQUEUE),B'01001000' 0124 00397000 */* OPTIONAL DIAGNOSTIC AID */ 00398000 * 0125 00399000 * QTAIL->BCBCHAIN=CQUEUE; /* PUT THIS ON THE END OF THE 0125 00400000 * COMBINED QUEUES */ 00401000 L @02,QTAIL(,PCTPTR) 0125 00402000 ST CQUEUE,BCBCHAIN(,@02) 0125 00403000 * NEXTBLOK->BLOKLEN=LENGTH(RECMAP)+4;/* RESET THE GTFBLOK TO EMPTY 00404000 * AS SOON AS POSSIBLE TO 0126 00405000 * MINIMIZE THE OVERLAP TIME. 0126 00406000 * SERIALIZATION LOGIC IS NOT 0126 00407000 * NEEDED HERE SINCE THE BLKINUSE 00408000 * BIT BEING ON SERIALIZES THE 0126 00409000 * GTFBLOK */ 00410000 L @02,NEXTBLOK(,PCTPTR) 0126 00411000 MVC BLOKLEN(2,@02),@CH01819 0126 00412000 * NEXTBLOK->BLOKUSE=1; /* RESET THE USE COUNT TO ONE TO 00413000 * SAVE SPACE FOR THE TIMESTAMP */ 00414000 STH @08,BLOKUSE(,@02) 0127 00415000 * NEXTBLOK->BLKINUSE=OFF; /* AHLSBUF, IS NOW DONE WITH THE 00416000 * GTFBLOK */ 00417000 NI BLKINUSE(@02),B'01111111' 0128 00418000 * NEXTBLOK=NEXTBLOK->BLKCHAIN; /* MOVE THE NEXT TO BE BUFFERED 00419000 * PTR ON TO THE NEXT GTFBLOK */ 00420000 L @08,BLKCHAIN(,@02) 0129 00421000 ST @08,NEXTBLOK(,PCTPTR) 0129 00422000 * QTAIL=CQUEUE; /* POINT QTAIL TO THE NEW LAST 0130 00423000 * BUFFER ON THE COMBINED QUEUES */ 00424000 ST CQUEUE,QTAIL(,PCTPTR) 0130 00425000 * RFY 0131 00426000 * BCBHOLDR RSTD; 0131 00427000 * BCBHOLDR=HQHEAD; /* GET THE ADDRESS OF THE FIRST 00428000 * GTFBCB ON THE HISTORY QUEUE */ 00429000 L BCBHOLDR,HQHEAD(,PCTPTR) 0132 00430000 * HQHEAD=BCBHOLDR->HQCHAIN; /* REMOVE IT FROM THE HISTORY TO 00431000 * COMPENSATE FOR THE ONE ADDED 00432000 * TO THE END 0133 00433000 * */ 00434000 MVC HQHEAD(4,PCTPTR),HQCHAIN(BCBHOLDR) 0133 00435000 * 0134 00436000 * /*****************************************************************/ 00437000 * /* */ 00438000 * /* THIS SECTION OF CODE DISPOSES OF THE GTFBCB JUST REMOVED FROM */ 00439000 * /* THE HISTORY QUEUE */ 00440000 * /* */ 00441000 * /*****************************************************************/ 00442000 * 0134 00443000 */*DISPOSAL: P SAVE A CONTROL COPY OF BCBHOLDR-> BCBSWAP IN CASE OF CS 00444000 */* */ 00445000 */* D (YES,,NO,%C) BCBUSE=1 IN CONTROL COPY */ 00446000 */* N PUT GTFBCB ON RELEASE QUEUE SO THE WRITER WILL PGRLSE IT'S 0134 00447000 */*GTFBUFR */ 00448000 */* P DIAGNOSTIC: BCBHOLDR-> RQFLAG=ON & HQFLAG=OFF */ 00449000 */* P SAVE CONTROL COPY OF RQHEAD FOR CS */ 00450000 */*ONTORQ: P BCBHOLDR-> RQCHAIN =RQHEAD (CONTROL COPY) */ 00451000 */* P CS TO DO RQHEAD= BCBHOLDR */ 00452000 */* D (OK,%D,FAIL,ONTORQ) CS? */ 00453000 */*%C: P CS TO DECR BCBHOLDR-> BCBUSE BY 1 & DIAGNOSTIC: HQFLAG=OFF */ 00454000 */* D (FAIL,DISPOSAL,OK,) CS? */ 00455000 * 0134 00456000 * RFY 0134 00457000 * CMPWKA BASED(WORKPTR); 0134 00458000 *DISPOSAL: 0135 00459000 * SWAPBCB=BCBHOLDR->BCBSWAP; /* OBTAIN A STABLE COPY OF THE 0135 00460000 * PORTION OF THE GTFBCB TO BE 0135 00461000 * UPDATED IN CASE CS MP LOGIC IS 00462000 * NEEDED */ 00463000 DISPOSAL MVC SWAPBCB(4,WORKPTR),BCBSWAP(BCBHOLDR) 0135 00464000 * IF SWAPUSE=1 /* CHECK THE USE COUNT OF THE 0136 00465000 * GTFBCB TO DECIDE WHAT TO DO 0136 00466000 * WITH IT */ 00467000 * THEN 0136 00468000 CLC SWAPUSE(2,WORKPTR),@CH00062 0136 00469000 BNE @RF00136 0136 00470000 * DO; /* IF IT IS 1 THEN THE HISTORY 0137 00471000 * QUEUE WAS THE ONLY THING THIS 00472000 * GTFBCB WAS BEING USED FOR. 0137 00473000 * THIS MEANS THAT NOW IT CANNOT 00474000 * BE LOCATED EXCEPT VIA BCBHOLDR 00475000 * THEREFORE IT IS SAFE FROM MP & 00476000 * OTHER SERILIZATION PROBLEMS. 00477000 * ALSO IT MEANS THAT THE GTFBCB 00478000 * MUST BE PUT ONTO THE RELEASE 00479000 * QUEUE SO THAT IT WILL HAVE A 00480000 * PGRLSE DONE ON IT AND THEN BE 00481000 * PUT ON THE EMPTY QUEUE */ 00482000 */* OPTIONAL DIAGNOSTIC AID */ 00483000 * 0138 00484000 * BCBHOLDR->HQFLAG=OFF; 0138 00485000 * BCBHOLDR->RQFLAG=ON; 0139 00486000 * 0139 00487000 OI RQFLAG(BCBHOLDR),B'00000100' 0139 00488000 NI HQFLAG(BCBHOLDR),B'11110111' 0139 00489000 */* OPTIONAL DIAGNOSTIC AID */ 00490000 * 0140 00491000 * RFY 0140 00492000 * COMPREG RSTD; 0140 00493000 * COMPREG=RQHEAD; /* OBTAIN A STABLE COPY OF RQHEAD*/ 00494000 L COMPREG,RQHEAD(,PCTPTR) 0141 00495000 *ONTORQ: 0142 00496000 * BCBHOLDR->RQCHAIN=COMPREG; /* PUT THE GTFBCB ONTO THE 0142 00497000 * RELEASE QUEUE HEAD */ 00498000 ONTORQ ST COMPREG,RQCHAIN(,BCBHOLDR) 0142 00499000 * CS(COMPREG,BCBHOLDR,RQHEAD); 0143 00500000 CS COMPREG,BCBHOLDR,RQHEAD(PCTPTR) 0143 00501000 * BC(4,ONTORQ); /* IF CS FAILS DO IT OVER AGAIN */ 00502000 BC 4,ONTORQ 0144 00503000 * RFY 0145 00504000 * COMPREG UNRSTD; 0145 00505000 * END; 0146 00506000 * ELSE 0147 00507000 * DO; /* IF THE USE COUNT IS NOT 1 THE 00508000 * GTFBCB IS ACCOUNTED FOR 0147 00509000 * SOMEWHERE ELSE, THE USE COUNT 00510000 * NEED ONLY BE DECREMENTED FOR 00511000 * REMOVAL FROM THE HISTORY 0147 00512000 * QUEUE. HOWEVER BECAUSE IT CAN 00513000 * BE LOCATED VIA ANOTHER MEANS 00514000 * MP LOGIC MUST BE USED TO 0147 00515000 * UPDATE IT */ 00516000 B @RC00136 0147 00517000 @RF00136 DS 0H 0148 00518000 * RFY 0148 00519000 * COMPREG RSTD; 0148 00520000 * COMPREG=SWAPBCB; /* SET UP FOR THE CS */ 00521000 L COMPREG,SWAPBCB(,WORKPTR) 0149 00522000 * SWAPUSE=SWAPUSE-1; /* PREPARE THE DECREMENTED USE 0150 00523000 * COUNT */ 00524000 LH @08,SWAPUSE(,WORKPTR) 0150 00525000 BCTR @08,0 0150 00526000 STH @08,SWAPUSE(,WORKPTR) 0150 00527000 */* OPTIONAL DIAGNOSTIC AID */ 00528000 * 0151 00529000 * HQFSWAP=OFF; 0151 00530000 * 0151 00531000 NI HQFSWAP(WORKPTR),B'11110111' 0151 00532000 */* OPTIONAL DIAGNOSTIC AID */ 00533000 * 0152 00534000 * CS(COMPREG,SWAPBCB,BCBHOLDR->BCBSWAP);/* ATTEMPT THE UPDATE */ 00535000 L @08,SWAPBCB(,WORKPTR) 0152 00536000 CS COMPREG,@08,BCBSWAP(BCBHOLDR) 0152 00537000 * BC(4,DISPOSAL); /* IF THE CS FAILED THE STATUS OF 00538000 * THE GTFBCB HAS CHANGED SO GO 00539000 * ALL THE WAY BACK */ 00540000 BC 4,DISPOSAL 0153 00541000 * RFY 0154 00542000 * COMPREG UNRSTD; 0154 00543000 * END; /* IF THE CS WAS OK THEN THIS 0155 00544000 * MODULE'S RESPONSIBILITY FOR 0155 00545000 * THE GTFBCB IS GONE */ 00546000 * RFY 0156 00547000 * BCBHOLDR UNRSTD; 0156 00548000 @RC00136 DS 0H 0157 00549000 * 0157 00550000 * /*****************************************************************/ 00551000 * /* */ 00552000 * /* ONCE THE GTFBCB IS GOTTEN RID OF THE WRITE QUEUE HEAD HAS TO */ 00553000 * /* BE CHECKED FOR THE SPECIAL CASE OF NO GTFBCB. ORDINARILY */ 00554000 * /* WQHEAD POINTS INTO THE COMMON HISTORY-WRITE QUEUE OF GTFBCB AT*/ 00555000 * /* THE NEXT ONE TO BE PROCESSED BY THE TRACE WRITER. HOWEVER IF */ 00556000 * /* ALL THE GTFBCB HAVE BEEN TAKEN CARE OF WQHEAD IS SET TO 0 AND */ 00557000 * /* MUST BE REINITIALIZED WHEN A GTFBCB IS ADDED TO THE QUEUE */ 00558000 * /* */ 00559000 * /*****************************************************************/ 00560000 * 0157 00561000 */*%D: D (YES,,NO,%BB) WQHEAD=0 */ 00562000 */* P WQHEAD=CQUEUE */ 00563000 * 0157 00564000 * IF WQHEAD=0 THEN 0157 00565000 ICM @08,15,WQHEAD(PCTPTR) 0157 00566000 BNZ @RF00157 0157 00567000 * WQHEAD=CQUEUE; 0158 00568000 * 0158 00569000 ST CQUEUE,WQHEAD(,PCTPTR) 0158 00570000 * /*****************************************************************/ 00571000 * /* */ 00572000 * /* NEXT SAVECNT IS CHECKED TO SEE IF A SAVEHOOK WAS STACKED AND */ 00573000 * /* SHOULD BE SEARCHED FOR */ 00574000 * /* */ 00575000 * /*****************************************************************/ 00576000 * 0159 00577000 */*%BB: N IS DATA TO BE SAVED IN AN SLE FOR A DUMP? */ 00578000 */* D (YES,,NO,%E) SAVECNT=0 */ 00579000 */*CQOFF: P C&S TO DECR BCBUSE BY 1 & DIAGNOSTIC: CQUEUE-> CQFLAG=OFF 00580000 */* */ 00581000 */* D (FAIL,CQOFF,OK,BUFFER) CS? */ 00582000 * 0159 00583000 * IF SAVECNT=0 /* SAVECNT IS THE NUMBER OF 0159 00584000 * SAVEHOOKS CURRENTLY STACKED 0159 00585000 * AND IF ONE OR MORE ARE 0159 00586000 * STACKED, THE BUFFERED DATA 0159 00587000 * MUST BE SEARCHED FOR THEM */ 00588000 * THEN 0159 00589000 @RF00157 ICM @08,15,SAVECNT(PCTPTR) 0159 00590000 BNZ @RF00159 0159 00591000 * DO; /* IF NONE ARE STACKED, THE 0160 00592000 * BUFFERING PROCESS IS COMPLETE 00593000 * SO THE GTFBCB IS REMOVED FROM 00594000 * CQUEUE. NO CHECK OF THE BCBUSE 00595000 * NEEDS TO BE MADE HERE BECAUSE 00596000 * IT IS KNOWN THAT IT WAS JUST 00597000 * PUT ON THE HISTORY AND WRITE 00598000 * QUEUE AND THE QLOCK HAS NEVER 00599000 * BEEN RELEASED TO ALLOW OTHERS 00600000 * ACCESS TO THE QUEUES. 0160 00601000 * THEREFORE THE USECNT MUST 0160 00602000 * STILL BE 3 BECAUSE IT MUST 0160 00603000 * STILL BE ON THOSE 3 QUEUES. */ 00604000 * RFY 0161 00605000 * COMPREG RSTD; 0161 00606000 * COMPREG=CQUEUE->BCBSWAP; /* PREPARE TO UPDATE THE GTFBCB */ 00607000 L COMPREG,BCBSWAP(,CQUEUE) 0162 00608000 *CQOFF: 0163 00609000 * SWAPBCB=COMPREG; 0163 00610000 CQOFF ST COMPREG,SWAPBCB(,WORKPTR) 0163 00611000 * SWAPUSE=SWAPUSE-1; /* PREPARE A DECREMENTED USE 0164 00612000 * COUNT */ 00613000 LH @08,SWAPUSE(,WORKPTR) 0164 00614000 BCTR @08,0 0164 00615000 STH @08,SWAPUSE(,WORKPTR) 0164 00616000 */* OPTIONAL DIAGNOSTIC AID */ 00617000 * 0165 00618000 * CQFSWAP=OFF; 0165 00619000 * 0165 00620000 NI CQFSWAP(WORKPTR),B'11011111' 0165 00621000 */* OPTIONAL DIAGNOSTIC AID */ 00622000 * 0166 00623000 * CS(COMPREG,SWAPBCB,CQUEUE->BCBSWAP);/* ATTEMPT THE UPDATE */ 00624000 L @08,SWAPBCB(,WORKPTR) 0166 00625000 CS COMPREG,@08,BCBSWAP(CQUEUE) 0166 00626000 * BC(4,CQOFF); /* IF THE CS FAILED TRY IT AGAIN */ 00627000 BC 4,CQOFF 0167 00628000 * RFY 0168 00629000 * COMPREG UNRSTD; 0168 00630000 * GO TO BUFFER; 0169 00631000 B BUFFER 0169 00632000 * END; 0170 00633000 * 0171 00634000 * /*****************************************************************/ 00635000 * /* */ 00636000 * /* THIS SECTION OF CODE SEARCHES THE GTFBUFR JUST FILLED FOR SAVE*/ 00637000 * /* HOOKS, AND FOR EACH ONE FOUND INITIALIZES AN SLE & DECREMENTS */ 00638000 * /* SAVECNT BY 1 */ 00639000 * /* */ 00640000 * /*****************************************************************/ 00641000 * 0171 00642000 */*%E: P SET AFSLEBLD */ 00643000 */* N SCAN THE CURRENT GTFBUFR FOR A SAVEHOOK RECORD */ 00644000 */* P START SCANPTR AT THE BEGINNING OF CQUEUE->GTFBUFR DATAAREA */ 00645000 */*%GMT: D (YES,NOSAVHKS,NO,) IS SCANPTR AT THE END OF GTFBUFR */ 00646000 */* D (YES,,NO,%G) AID=0 & FID=0 */ 00647000 */*%OX: P SLEPTR=SLQHEAD */ 00648000 */*%SLEL: D (YES,DECRSC,NO,) SLEPTR=0 */ 00649000 */* D (YES,SLESETUP,NO,) SLEPTR-> SLEINUSE=OFF */ 00650000 */* P (,%SLEL) SLEPTR=SLEPTR-> SLQCHAIN */ 00651000 * 0171 00652000 * AFSLEBLD=ON; /* TURN ON THE AUDIT FLAG FOR 0171 00653000 * THIS SECTION OF CODE */ 00654000 @RF00159 OI AFSLEBLD(PCTPTR),B'00001000' 0171 00655000 * RFY 0172 00656000 * (SCANPTR, 0172 00657000 * SCANEND) RSTD; 0172 00658000 * SCANPTR=ADDR(CQUEUE->GBUFRPTR->GTFBUFR)+4;/* START THE SEARCH AT 00659000 * THE FIRST RECORD IN THE 0173 00660000 * GTFBUFR JUST FILLED */ 00661000 L @08,GBUFRPTR(,CQUEUE) 0173 00662000 LA SCANPTR,4 0173 00663000 ALR SCANPTR,@08 0173 00664000 * SCANEND=ADDR(CQUEUE->GBUFRPTR->GTFBUFR)+CQUEUE->GBUFRPTR->BIGLL; 00665000 LH SCANEND,BIGLL(,@08) 0174 00666000 ALR SCANEND,@08 0174 00667000 * /* SCAN TO THE END OF THE 0175 00668000 * VARIABLE LENGTH BLOCK */ 00669000 * DO WHILE(SCANPTR SLEINUSE=ON */ 00716000 */*CSSLECNT: P DIAGNOSTIC: CS TO INCREMENT SLECNT BY 1 */ 00717000 */* D (FAIL,CSSLECNT,OK,) DIAGNOSTIC: CS */ 00718000 */* P DIAGNOSTIC: INCREMENT SLESUSED BY 1 */ 00719000 */* P SLEBCBQ=HQHEAD & BCBHOLDR=HQHEAD SLEQCNT=0 */ 00720000 */*%L: D (YES,%Q,NO,) BCBHOLDR=0 */ 00721000 */*SLEBCBCS: P CS TO INCR BCBHOLDR-> BCBUSE BY 1 & DIAGNOSTIC: 0187 00722000 */*SQFLAG=ON */ 00723000 */* D (OK,,FAIL,SLEBCBCS) CS? */ 00724000 */* P INCREMENT SLEQCNT BY 1 */ 00725000 */* P (,%L) BCBHOLDR= BCBHOLDR-> HQCHAIN */ 00726000 */*%Q: P FILL IN THE SLEHOOK FIELD FROM THE SAVEHOOK DATA */ 00727000 */*DECRSC: P CS TO DECR SAVECNT BY 1 */ 00728000 */* D (FAIL,DECRSC,OK,) CS? */ 00729000 */* D (YES,NOSAVHKS,NO,) SAVECNT=0 */ 00730000 */*%G: P (,%GMT) ADD RECORD LENGTH TO SCANPTR */ 00731000 */*NOSAVHKS: P CS TO DECR CQUEUE-> BCBUSE 1 & DIAGNOSTIC: CQFLAG=OFF */ 00732000 */* D (FAIL,NOSAVHKS,OK,) C&S? */ 00733000 */*RETRYPT1: P (,BUFFER) CLEAR AFSLEBLD */ 00734000 * 0187 00735000 *SLESETUP: 0187 00736000 * SLEINUSE=ON; /* SHOW THAT THIS SLE IS NOW IN 00737000 * USE */ 00738000 SLESETUP OI SLEINUSE(SLEPTR),B'10000000' 0187 00739000 */* OPTIONAL DIAGNOSTIC AID */ 00740000 * 0188 00741000 * RFY 0188 00742000 * (COMPREG, 0188 00743000 * SWAPREG) RSTD; 0188 00744000 * COMPREG=SLECNT; /* KEEP TRACK OF THE NUMBER OF 0189 00745000 * SLE THAT ARE IN USE */ 00746000 L COMPREG,SLECNT(,PCTPTR) 0189 00747000 *CSSLECNT: 0190 00748000 * SWAPREG=COMPREG+1; 0190 00749000 CSSLECNT LA SWAPREG,1 0190 00750000 ALR SWAPREG,COMPREG 0190 00751000 * CS(COMPREG,SWAPREG,SLECNT);/* AHLREADR ALSO UPDATES THIS */ 00752000 CS COMPREG,SWAPREG,SLECNT(PCTPTR) 0191 00753000 * BC(4,CSSLECNT); 0192 00754000 BC 4,CSSLECNT 0192 00755000 * RFY 0193 00756000 * (COMPREG, 0193 00757000 * SWAPREG) UNRSTD; 0193 00758000 * SLESUSED=SLESUSED+1; /* INCR COUNT OF # OF SLE EVER 0194 00759000 * USED */ 00760000 LA @02,1 0194 00761000 AL @02,SLESUSED(,PCTPTR) 0194 00762000 ST @02,SLESUSED(,PCTPTR) 0194 00763000 */* OPTIONAL DIAGNOSTIC AID */ 00764000 * 0195 00765000 * SLEBCBQ=HQHEAD; /* PUT THE GTFBCB THAT ARE ON THE 00766000 * HISTORY QUEUE ONTO THIS SLE. 00767000 * THIS WILL POINT THE HEAD OF 0195 00768000 * THE SLEBCBQ INTO THE COMBINED 00769000 * HISTORY WRITE QUEUE WHICH NOW 00770000 * WILL ANSO BECOME A SAVE QUEUE */ 00771000 L @02,HQHEAD(,PCTPTR) 0195 00772000 ST @02,SLEBCBQ(,SLEPTR) 0195 00773000 * RFY 0196 00774000 * BCBHOLDR RSTD; 0196 00775000 * BCBHOLDR=HQHEAD; /* START THE LOOP AT THE 0197 00776000 * BEGINNING OF THE HISTORY QUEUE*/ 00777000 L @15,HQHEAD(,PCTPTR) 0197 00778000 LR BCBHOLDR,@15 0197 00779000 * SLEQCNT=0; /* SLEQCNT IS THE NUMBER OF VALID 00780000 * GTFBCB QUEUED ON THIS SLE. */ 00781000 SLR @00,@00 0198 00782000 ST @00,SLEQCNT(,SLEPTR) 0198 00783000 * DO WHILE(BCBHOLDR^=0); /* THIS LOOP WILL PUT THE WHOLE 00784000 * HISTORY QUEUE ON THIS SLE */ 00785000 B @DE00199 0199 00786000 @DL00199 DS 0H 0200 00787000 * RFY 0200 00788000 * COMPREG RSTD; 0200 00789000 * COMPREG=BCBHOLDR->BCBSWAP;/* OBTAIN STABLE COPY OF THE 0201 00790000 * PART */ 00791000 L COMPREG,BCBSWAP(,BCBHOLDR) 0201 00792000 *SLEBCBCS: 0202 00793000 * SWAPBCB=COMPREG; /* OF GTFBCB TO BE UPDATED */ 00794000 SLEBCBCS ST COMPREG,SWAPBCB(,WORKPTR) 0202 00795000 * SWAPUSE=SWAPUSE+1; /* PREPARE PROPOSED NEW USE COUNT 00796000 * TO SHOW THIS GTFBCB IT ALSO 0203 00797000 * QUEUED ON AN SLE */ 00798000 LA @05,1 0203 00799000 AH @05,SWAPUSE(,WORKPTR) 0203 00800000 STH @05,SWAPUSE(,WORKPTR) 0203 00801000 */* OPTIONAL DIAGNOSTIC AID */ 00802000 * 0204 00803000 * SQFSWAP=ON; 0204 00804000 * 0204 00805000 OI SQFSWAP(WORKPTR),B'00010000' 0204 00806000 */* OPTIONAL DIAGNOSTIC AID */ 00807000 * 0205 00808000 * CS(COMPREG,SWAPBCB,BCBHOLDR->BCBSWAP);/* ATTEMPT THE 0205 00809000 * UPDATE */ 00810000 L @05,SWAPBCB(,WORKPTR) 0205 00811000 CS COMPREG,@05,BCBSWAP(BCBHOLDR) 0205 00812000 * BC(4,SLEBCBCS); /* IF THE CS FAILED TRY IT AGAIN */ 00813000 BC 4,SLEBCBCS 0206 00814000 * SLEQCNT=SLEQCNT+1; /* INCREMENT COUNT EACH TIME 0207 00815000 * THROUGH LOOP AS EACH GTFBCB IS 00816000 * ADDED TO THE SLEBCBQ */ 00817000 LA @05,1 0207 00818000 AL @05,SLEQCNT(,SLEPTR) 0207 00819000 ST @05,SLEQCNT(,SLEPTR) 0207 00820000 * RFY 0208 00821000 * COMPREG UNRSTD; 0208 00822000 * BCBHOLDR=BCBHOLDR->SQCHAIN;/* MOVE ON TO THE NEXT GTFBCB 00823000 * ON THE HISTORY/SAVE QUEUE */ 00824000 L BCBHOLDR,SQCHAIN(,BCBHOLDR) 0209 00825000 * END; 0210 00826000 @DE00199 LTR BCBHOLDR,BCBHOLDR 0210 00827000 BNZ @DL00199 0210 00828000 * RFY 0211 00829000 * BCBHOLDR UNRSTD; 0211 00830000 * IF OPTTIME=ON /* TIME=YES OPTION REQUESTED */ 00831000 * THEN 0212 00832000 TM OPTTIME(PCTPTR),B'00000001' 0212 00833000 BNO @RF00212 0212 00834000 * SLEHOOK=EVAL(SCANPTR+8)->SVHKDATA;/* TIME=YES REQUESTED, 00835000 * SO FINISH UP THE SLE 0213 00836000 * INITIALIZATION BY MOVING IN 0213 00837000 * THE UNIQUE DUMP OR SAVE 0213 00838000 * REQUEST INTO SLE RECORD 0213 00839000 * ALLOWING FOR 8 BYTES OF 0213 00840000 * TIMESTAMP */ 00841000 LA @02,8 0213 00842000 ALR @02,SCANPTR 0213 00843000 MVC SLEHOOK(8,SLEPTR),SVHKDATA(@02) 0213 00844000 * ELSE 0214 00845000 * SLEHOOK=SVHKDATA; /* FINISH UP THE SLE 0214 00846000 * INITIALIZATION BY MOVING IN 0214 00847000 * THE UNIQUE DUMP OR SAVE 0214 00848000 * REQUEST IDENTIFIER. AS SOON AS 00849000 * THIS IS DONE THE POSSIBILITY 00850000 * THAT AHLREADR WILL ACCESS THE 00851000 * SLE EXISTS. FOR THIS REASON 0214 00852000 * THIS MUST BE THE LAST THING 0214 00853000 * DONE, IN THIS WAY IT SERVES TO 00854000 * SERIALIZE THE SLE */ 00855000 B @RC00212 0214 00856000 @RF00212 MVC SLEHOOK(8,SLEPTR),SVHKDATA(SCANPTR) 0214 00857000 * RFY 0215 00858000 * (COMPREG, 0215 00859000 * SWAPREG) RSTD; 0215 00860000 @RC00212 DS 0H 0216 00861000 *DECRSC: 0216 00862000 * COMPREG=SAVECNT; /* SET UP TO DECREMENT SAVECNT 0216 00863000 * VIA CS */ 00864000 DECRSC L COMPREG,SAVECNT(,PCTPTR) 0216 00865000 * SWAPREG=COMPREG-1; 0217 00866000 LR SWAPREG,COMPREG 0217 00867000 BCTR SWAPREG,0 0217 00868000 * CS(COMPREG,SWAPREG,SAVECNT); 0218 00869000 CS COMPREG,SWAPREG,SAVECNT(PCTPTR) 0218 00870000 * BC(4,DECRSC); 0219 00871000 BC 4,DECRSC 0219 00872000 * RFY 0220 00873000 * (COMPREG, 0220 00874000 * SWAPREG) UNRSTD; 0220 00875000 * IF SAVECNT=0 /* CHECK TO SEE IF THE ARE ANY 0221 00876000 * MORE SAVE REQUESTS PENDING */ 00877000 * THEN 0221 00878000 ICM @02,15,SAVECNT(PCTPTR) 0221 00879000 BZ @RT00221 0221 00880000 * GO TO NOSAVHKS; /* IF NOT THEN STOP SEARCHING */ 00881000 * END; 0223 00882000 * SCANPTR=SCANPTR+SVHKLEN; /* BUMP THE SCANPTR UP TO THE 0224 00883000 * NEXT VARIABLE LENGTH RECORD BY 00884000 * ADDING THE LENGTH OF THE 0224 00885000 * RECORD JUST INSPECTED */ 00886000 @RF00176 AH SCANPTR,SVHKLEN(,SCANPTR) 0224 00887000 * RFY 0225 00888000 * SLEPTR UNRSTD; 0225 00889000 * END; 0226 00890000 @DE00175 CR SCANPTR,SCANEND 0226 00891000 BL @DL00175 0226 00892000 * RFY 0227 00893000 * (SCANPTR, 0227 00894000 * SCANEND) UNRSTD; 0227 00895000 * RFY 0228 00896000 * COMPREG RSTD; 0228 00897000 *NOSAVHKS: 0229 00898000 * COMPREG=CQUEUE->BCBSWAP; /* SET UP TO REMOVE THIS GTFBCB 00899000 * FROM THE CURRENT QUEUE */ 00900000 NOSAVHKS L COMPREG,BCBSWAP(,CQUEUE) 0229 00901000 * SWAPBCB=COMPREG; /* PREPARE A DECREMENTED USE 0230 00902000 * COUNT TO INDICATE REMOVAL FROM 00903000 * EMPTY QUEUE */ 00904000 ST COMPREG,SWAPBCB(,WORKPTR) 0230 00905000 * SWAPUSE=SWAPUSE-1; 0231 00906000 * 0231 00907000 LH @08,SWAPUSE(,WORKPTR) 0231 00908000 BCTR @08,0 0231 00909000 STH @08,SWAPUSE(,WORKPTR) 0231 00910000 */* OPTIONAL DIAGNOSTIC AID */ 00911000 * 0232 00912000 * CQFSWAP=OFF; 0232 00913000 * 0232 00914000 NI CQFSWAP(WORKPTR),B'11011111' 0232 00915000 */* OPTIONAL DIAGNOSTIC AID */ 00916000 * 0233 00917000 * CS(COMPREG,SWAPBCB,CQUEUE->BCBSWAP); 0233 00918000 L @08,SWAPBCB(,WORKPTR) 0233 00919000 CS COMPREG,@08,BCBSWAP(CQUEUE) 0233 00920000 * BC(4,NOSAVHKS); 0234 00921000 BC 4,NOSAVHKS 0234 00922000 * RFY 0235 00923000 * COMPREG UNRSTD; 0235 00924000 * AFSLEBLD=OFF; 0236 00925000 NI AFSLEBLD(PCTPTR),B'11110111' 0236 00926000 * RFY 0237 00927000 * CQUEUE UNRSTD; 0237 00928000 * GO TO BUFFER; /* GO BACK AND CHECK TO SEE IF 0238 00929000 * THERE ARE MORE GTFBLOK TO BE 00930000 * BUFFERED 0238 00931000 * */ 00932000 B BUFFER 0238 00933000 * 0239 00934000 * /*****************************************************************/ 00935000 * /* */ 00936000 * /* THIS SECTION OF CODE IS THE END OF THE WORKING PORTION OF */ 00937000 * /* AHLSBUF. IT RELEASES THE QLOCK AND MAKES THE SRB AVAILABLE TO */ 00938000 * /* BE RESCHEDULED. THIS IS DONE SO THAT THIS MODULE CAN BE */ 00939000 * /* REDISPATCHED AT THIS TIME. THE RESULT IS THAT SHOULD WORK */ 00940000 * /* BECOME AVAILABLE WHILE THE POSTING PORTION IS SUSPENDED */ 00941000 * /* WAITING FOR THE LOCAL LOCK THE WORKING PORTION CAN STILL */ 00942000 * /* OPERATE */ 00943000 * /* */ 00944000 * /*****************************************************************/ 00945000 * 0239 00946000 */*NOWORK: P CLEAR THE QLOCK BYTE */ 00947000 */* P GET A CONTROL COPY OF GTFSSRB FOR CS */ 00948000 */*NOWORKCS: D (YES,%N,NO,) CONTROL COPY OF GTFSSRB=0 */ 00949000 */* N THIS IS DONE SO ANOTHER AHLSBUF CAN BE SCHED WHILE THIS ONE IS 00950000 */*POSTING */ 00951000 */* P CS SRBAVAIL TO ON */ 00952000 */* D (FAIL,NOWORKCS,OK,) CS? */ 00953000 * 0239 00954000 * RFY 0239 00955000 * (COMPREG, 0239 00956000 * SWAPREG) RSTD; 0239 00957000 *NOWORK: 0240 00958000 * QLOCK=CLEAR; /* FREE THE QLOCK. THIS MUST BE 00959000 * DONE BEFORE THE SRB IS MADE 0240 00960000 * AVAILABLE BECAUSE IT IS 0240 00961000 * ASSUMED THAT ONLY ONE AHLSBUF 00962000 * AT A TIME WILL BE CONTENDING 00963000 * FOR THIS LOCK */ 00964000 NOWORK MVI QLOCK(PCTPTR),X'00' 0240 00965000 * COMPREG=GTFSSRB; /* OBTAIN A STABLE COPY OF THE 0241 00966000 * PTR TO THE SRB FOR AHLSBUF */ 00967000 L COMPREG,GTFSSRB(,PCTPTR) 0241 00968000 *NOWORKCS: 0242 00969000 * IF COMPREG^=0 /* CHECK TO SEE IF AHLSBUF WAS 0242 00970000 * DISABLED BY SOMEONE WHILE IT 00971000 * WAS RUNNING */ 00972000 * THEN 0242 00973000 NOWORKCS LTR COMPREG,COMPREG 0242 00974000 BZ @RF00242 0242 00975000 * DO; 0243 00976000 * SWAPREG=COMPREG|'80000000'X;/* IF NOT DISABLED PREPARE TO 0244 00977000 * MAKE IT AVAILABLE ONCE AGAIN */ 00978000 LR SWAPREG,COMPREG 0244 00979000 O SWAPREG,@CF01757 0244 00980000 * CS(COMPREG,SWAPREG,GTFSSRB);/* VERIFY GTFSSRB STILL NONZERO 00981000 * AND TURN O ON SRBAVAIL */ 00982000 CS COMPREG,SWAPREG,GTFSSRB(PCTPTR) 0245 00983000 * BC(4,NOWORKCS); /* IF AT FIRST YOU DON'T SUCCEED 00984000 * TRY, TRY AGAIN */ 00985000 BC 4,NOWORKCS 0246 00986000 * END; 0247 00987000 * RFY 0248 00988000 * (COMPREG, 0248 00989000 * SWAPREG) UNRSTD; 0248 00990000 * 0248 00991000 @RF00242 DS 0H 0249 00992000 * /*****************************************************************/ 00993000 * /* */ 00994000 * /* BEFORE GOING TO THE TROUBLE OF OBTAINING THE LOCAL LOCK FOR */ 00995000 * /* THE PURPOSE OF POSTING THE TRACE WRITER TESTS ARE MADE TO SEE */ 00996000 * /* IF IT NEEDS POSTING. IF NOT THE POSTING SECTION OF AHLSBUF IS */ 00997000 * /* BYPASSED */ 00998000 * /* */ 00999000 * /*****************************************************************/ 01000000 * 0249 01001000 */*%N: D (NO,%GETLL,YES,) IS WRTRCOM ECB POSTED */ 01002000 */* N QLOCK MUST BE FREED BEFORE THE POSTWRIT BYTE IS TESTED */ 01003000 */* D (YES,,NO,NEWWORK) IS POSTWRIT SET */ 01004000 */* D (YES,NEWWORK,NO,) IS QLOCKECB POSTED */ 01005000 * 0249 01006000 * IF WRTRCOMP=ON /* FIRST CHECK TO SEE IF THE ECB 01007000 * THAT CAUSES THE TRACE WRITER 01008000 * TO CYCLE THROUGH ITS CHECKS 0249 01009000 * FOR WORK TO DO IS POSTED */ 01010000 * THEN /* SINCE WRTRCOM IS POSTED THERE 01011000 * IS NO NEED TO GET THE LOCAL 0249 01012000 * LOCK UNLESS QLOCKECB NEEDS 0249 01013000 * POSTING */ 01014000 TM WRTRCOMP(PCTPTR),B'01000000' 0249 01015000 BNO @RF00249 0249 01016000 * IF^(POSTWRIT='FF'X&QLECBP=OFF)/* NEXT CHECK TO SEE IF THE TRACE 01017000 * WRITER NEEDS TO BE POSTED OUT 01018000 * OF A WAIT FOR QLOCK */ 01019000 * THEN /* IF QLOCKECB DOESN'T NEED 0250 01020000 * POSTING EITHER THEN SKIP TO 0250 01021000 * THE END */ 01022000 CLI POSTWRIT(PCTPTR),X'FF' 0250 01023000 BNE @RT00250 0250 01024000 TM QLECBP(PCTPTR),B'01000000' 0250 01025000 BNZ @RT00250 0250 01026000 * GO TO NEWWORK; /* SKIP POSTING 0251 01027000 * */ 01028000 * 0252 01029000 * /*****************************************************************/ 01030000 * /* */ 01031000 * /* THIS SECTION OF CODE POSTS EITHER OR BOTH OF THE ECB WRTRCOM &*/ 01032000 * /* QLOCKECB */ 01033000 * /* */ 01034000 * /*****************************************************************/ 01035000 * 0252 01036000 */*%GETLL: P SAVE REG 12 */ 01037000 */*AHLOCK1: S SETLOCK BR EP: UNCONDITIONALLY OBTAIN THE LOCAL LOCK */ 01038000 */* P RESTORE REG 12 */ 01039000 */* N ONCE THE LOCK IS HELD NOONE ELSE CAN POST THESE ECB */ 01040000 */* D (YES,,NO,%PWC) IS POSTWRIT SET */ 01041000 */* P CLEAR THE POSTWRIT BYTE */ 01042000 */* S POST BRANCH EP: POST QLOCKECB ECB */ 01043000 */*%PWC: S POST BRANCH EP: WRTRCOM ECB */ 01044000 */*%RELLL: P SAVE REG 12 */ 01045000 */*AHLOCK2: S SETLOCK BR EP: RELEASE THE LOCAL LOCK */ 01046000 */* P RESTORE REG12 */ 01047000 * 0252 01048000 * RFY 0252 01049000 * (R12, 0252 01050000 * R12SAVE) RSTD; 0252 01051000 @RF00249 DS 0H 0253 01052000 * R12SAVE=R12; /* SAVE THIS REG ACROSS THE 0253 01053000 * SETLOCK */ 01054000 LR R12SAVE,R12 0253 01055000 *AHLOCK1: 0254 01056000 * DO; /* SETLOCK (OBTAIN) MODE(UNCOND) 01057000 * TYPE(LOCAL) 0254 01058000 * RELATED(ECB,AHLSBUF(AHLOCK2)) */ 01059000 AHLOCK1 DS 0H 0255 01060000 * RFY 0255 01061000 * (GPR11P, 0255 01062000 * GPR12P, 0255 01063000 * GPR13P, 0255 01064000 * GPR14P) RSTD; 0255 01065000 * GPR13P=PSALITA; /* ADDRESS OF LOCK INTERFACE 0256 01066000 * TABLE. */ 01067000 L GPR13P,PSALITA 0256 01068000 * GEN(LM GPR11P,GPR13P,576(GPR13P));/* LOAD LOCKWORD, CLHT AND 0257 01069000 * ENTRY ADRS. */ 01070000 LM GPR11P,GPR13P,576(GPR13P) 01071000 * GEN(BALR GPR14P,GPR13P); /* BALR TO SETLOCK RTN. */ 01072000 BALR GPR14P,GPR13P 01073000 * RFY 0259 01074000 * (GPR11P, 0259 01075000 * GPR12P, 0259 01076000 * GPR13P, 0259 01077000 * GPR14P) UNRSTD; 0259 01078000 * END; /* SETLOCK (OBTAIN) MODE(UNCOND) 01079000 * TYPE(LOCAL) 0260 01080000 * RELATED(ECB,AHLSBUF(AHLOCK2)) */ 01081000 * R12=R12SAVE; /* RESTORE THIS REG AFTER THE 0261 01082000 * SETLOCK */ 01083000 LR R12,R12SAVE 0261 01084000 * RFY 0262 01085000 * (R12, 0262 01086000 * R12SAVE) UNRSTD; 0262 01087000 * RFY 0263 01088000 * (COMPCODE, 0263 01089000 * ECBADDR) RSTD; 0263 01090000 * IF POSTWRIT=SET /* CHECK TO SEE IF THE TRACE 0264 01091000 * WRITER HAS REQUESTED TO HAVE 01092000 * QLOCKECB POSTED AFTER QLOCK 0264 01093000 * HAS BEEN RELEASED */ 01094000 * THEN 0264 01095000 CLI POSTWRIT(PCTPTR),X'FF' 0264 01096000 BNE @RF00264 0264 01097000 * DO; /* IF IT HAS */ 01098000 * POSTWRIT=CLEAR; /* CLEAR POSTWRIT TO SHOW THE 0266 01099000 * REQUEST IS BEING HANDLED */ 01100000 MVI POSTWRIT(PCTPTR),X'00' 0266 01101000 * COMPCODE=0; /* BR E.P. POST COMPLETION CODE 01102000 * GOES IN GPRI0 */ 01103000 SLR COMPCODE,COMPCODE 0267 01104000 * ECBADDR=ADDR(QLOCKECB); /* BR E.P. POST ECB ADDRESS GOES 01105000 * IN GPR11 */ 01106000 LA ECBADDR,QLOCKECB(,PCTPTR) 0268 01107000 * CALL POST02; /* BRANCH E.P. IEA0PT02 TO POST */ 01108000 L @08,CVTPTR 0269 01109000 L @15,CVT0PT02(,@08) 0269 01110000 BALR @14,@15 0269 01111000 * END; 0270 01112000 * 0270 01113000 * /*****************************************************************/ 01114000 * /* */ 01115000 * /* POST WRTRCOM ECB. THIS ECB SHOULD BE POSTED EVEN IF AHLSBUF */ 01116000 * /* HASN'T ADDED ANYTHING TO THE WRITE QUEUE BECAUSE THE TRACE */ 01117000 * /* WRITER HAS OTHER FUNCTIONS WHICH IT SHOULD CYCLE THROUGH */ 01118000 * /* */ 01119000 * /*****************************************************************/ 01120000 * 0271 01121000 * COMPCODE=0; /* BR E.P. POST COMPLETION CODE 01122000 * GOES IN GPR10 */ 01123000 @RF00264 SLR COMPCODE,COMPCODE 0271 01124000 * ECBADDR=ADDR(WRTRCOM); /* BR E.P. POST ECB ADDRESS GOES 01125000 * IN GPR11 */ 01126000 LA ECBADDR,WRTRCOM(,PCTPTR) 0272 01127000 * CALL POST02; /* BR E.P. IEA0PT02 TO POST */ 01128000 L @08,CVTPTR 0273 01129000 L @15,CVT0PT02(,@08) 0273 01130000 BALR @14,@15 0273 01131000 * RFY 0274 01132000 * (COMPCODE, 0274 01133000 * ECBADDR) UNRSTD; 0274 01134000 * RFY 0275 01135000 * (R12, 0275 01136000 * R12SAVE) RSTD; 0275 01137000 * R12SAVE=R12; /* SAVE THIS REG ACROSS THE 0276 01138000 * SETLOCK */ 01139000 LR R12SAVE,R12 0276 01140000 *AHLOCK2: 0277 01141000 * DO; /* SETLOCK (RELEASE) TYPE(LOCAL) 01142000 * RELATED(ECB,AHLSBUF(AHLOCK1)) */ 01143000 AHLOCK2 DS 0H 0278 01144000 * RFY 0278 01145000 * (GPR11P, 0278 01146000 * GPR12P, 0278 01147000 * GPR13P, 0278 01148000 * GPR14P) RSTD; 0278 01149000 * GPR13P=PSALITA; /* ADDRESS OF LOCK INTERFACE 0279 01150000 * TABLE. */ 01151000 L GPR13P,PSALITA 0279 01152000 * GEN(LM GPR11P,GPR13P,588(GPR13P));/* LOAD LOCKWORD, CLHT AND 0280 01153000 * ENTRY ADRS. */ 01154000 LM GPR11P,GPR13P,588(GPR13P) 01155000 * GEN(BALR GPR14P,GPR13P); /* BALR TO SETLOCK RTN. */ 01156000 BALR GPR14P,GPR13P 01157000 * RFY 0282 01158000 * (GPR11P, 0282 01159000 * GPR12P, 0282 01160000 * GPR13P, 0282 01161000 * GPR14P) UNRSTD; 0282 01162000 * END; /* SETLOCK (RELEASE) TYPE(LOCAL) 01163000 * RELATED(ECB,AHLSBUF(AHLOCK1)) */ 01164000 * R12=R12SAVE; /* RESTORE THIS REG AFTER THE 0284 01165000 * SETLOCK */ 01166000 LR R12,R12SAVE 0284 01167000 * RFY 0285 01168000 * (R12, 0285 01169000 * R12SAVE) UNRSTD; 0285 01170000 * 0286 01171000 * /*****************************************************************/ 01172000 * /* */ 01173000 * /* THIS SECTION OF CODE CHECKS TO SEE IF ANY WORK HAS BECOME */ 01174000 * /* AVAILABLE FOR AHLSBUF TO DO SINCE LAST TIME IT CHECKED. IF SO */ 01175000 * /* IT ATTEMPTS TO SCHEDULE ITS OWN SRB TO TO GET ITSELF */ 01176000 * /* REDISPATCHED AT A GLOBAL PRIORITY THIS IS DONE BECAUSE */ 01177000 * /* OBTAINING THE LOCAL LOCK MAY HAVE CAUSED THE CURRENT PRIORITY */ 01178000 * /* TO BE REDUCED */ 01179000 * /* */ 01180000 * /*****************************************************************/ 01181000 * 0286 01182000 */*NEWWORK: D (YES,FRROFF,NO,) NEXTBLOK= CURRBLOK */ 01183000 */* D (YES,FRROFF,NO,) NEXTBLOK-> BLOKUSE^=0 */ 01184000 */* N MORE WORK BECAME AVAILABLE DURING POSTING */ 01185000 */* P USE C&S TO VERIFY SRBAVAIL=ON & TURN IT OFF */ 01186000 */* D (FAIL,FRROFF,OK,) CS? */ 01187000 */* N THIS IS DONE BECAUSE THIS AHLSBUF MAY NO LONGER BE AT GLOBAL 0286 01188000 */*PRIORITY */ 01189000 */* S SCHEDULE: SRB FOR AHLSBUF AT GLOBAL PRIORITY */ 01190000 * 0286 01191000 *NEWWORK: 0286 01192000 * IF NEXTBLOK=CURRBLOK /* CHECK TO SEE IF THERE ARE ANY 01193000 * FULL GTFBLOK */ 01194000 * THEN 0286 01195000 NEWWORK L @08,NEXTBLOK(,PCTPTR) 0286 01196000 C @08,CURRBLOK(,PCTPTR) 0286 01197000 BE @RT00286 0286 01198000 * GO TO FRROFF; /* IF NOT THERE IS NOTHING TO DO */ 01199000 * IF NEXTBLOK->BLOKUSE^=0 /* IF THERE IS A FULL GTFBLOK IS 01200000 * ALL THE DATA MOVED INTO THE 0288 01201000 * RESERVED SPACE IN THE GTFBLOK */ 01202000 * THEN 0288 01203000 ICM @02,3,BLOKUSE(@08) 0288 01204000 BNZ @RT00288 0288 01205000 * GO TO FRROFF; /* IF NOT THERE IS NOTHING TO DO */ 01206000 * RFY 0290 01207000 * (COMPREG, 0290 01208000 * SWAPREG) RSTD; /* PREPARE TO GET CONTROL OF 0290 01209000 * GTFSSRB */ 01210000 * COMPREG=GTFSSRB|'80000000'X; /* SET UP THE CONTROL THAT 0291 01211000 * GTFSSRB MUST MATCH TO BE 0291 01212000 * AVAILABLE FORCING THE SRBAVAIL 01213000 * BIT TO BE ON */ 01214000 L COMPREG,GTFSSRB(,PCTPTR) 0291 01215000 O COMPREG,@CF01757 0291 01216000 * SWAPREG=COMPREG&'7FFFFFFF'X; /* SET UP THE REPLACEMENT VALUE 01217000 * FOR GTFSSRB WITH SRBAVAIL OFF */ 01218000 LR SWAPREG,COMPREG 0292 01219000 N SWAPREG,@CF01759 0292 01220000 * CS(COMPREG,SWAPREG,GTFSSRB); /* ATTEMPT TO GET CONTROL OF 0293 01221000 * GTFSSRB */ 01222000 CS COMPREG,SWAPREG,GTFSSRB(PCTPTR) 0293 01223000 * BC(4,FRROFF); /* IF GTFSSRB IS NOT AVAILABLE 0294 01224000 * THEN JUST QUIT */ 01225000 BC 4,FRROFF 0294 01226000 * GEN CODE(SCHEDULE SRB=(SWAPREG),SCOPE=GLOBAL) 0295 01227000 * REFS(SWAPREG,CVTPTR,CVTGSMQ,SRBFLNK,SRBSECT,CVTMAP) NOEXIT NOSETS 01228000 * NODEFS NOFLOWS SEQFLOW; /* IF GTFSSRB WAS AVAILABLE 0295 01229000 * SCHEDULE THE SRB SO THAT THIS 01230000 * MODULE CAN BE REDISPATCHED AT 01231000 * A GLOBAL PRIORITY */ 01232000 SCHEDULE SRB=(SWAPREG),SCOPE=GLOBAL 01233000 * RFY 0296 01234000 * (COMPREG, 0296 01235000 * SWAPREG) UNRSTD; 0296 01236000 * 0297 01237000 * /*****************************************************************/ 01238000 * /* */ 01239000 * /* THIS IS THE EXIT CODE FOR AHLSBUF. ALL IT DOES IS REMOVE */ 01240000 * /* AHLSFRR FROM THE FRR STACK AND RESTORE GPR14 WITH THE RETURN */ 01241000 * /* ADDRESS */ 01242000 * /* */ 01243000 * /*****************************************************************/ 01244000 * 0297 01245000 */*FRROFF: S SETFRR: REMOVE AHLSFRR FROM FRR STACK */ 01246000 */* P RESTORE THE RETURN ADDRESS */ 01247000 */* R RETURN */ 01248000 * 0297 01249000 * RFY 0297 01250000 * (SETFREG1, 0297 01251000 * SETFREG2) RSTD; 0297 01252000 *FRROFF: 0298 01253000 * GEN CODE SETS(SETFREG1,SETFREG2) REFS(FRRSEMP,FRRSCURR,FRRS, 0298 01254000 * FRRSELEN,PSACSTK,PSA) NOFLOWS NOEXIT SEQFLOW NODEFS; 0298 01255000 FRROFF DS 0H 0298 01256000 SETFRR D,WRKREGS=(SETFREG1,SETFREG2) 01257000 * RFY 0299 01258000 * (SETFREG1, 0299 01259000 * SETFREG2) UNRSTD; 0299 01260000 * RFY 0300 01261000 * RETURNR RSTD; 0300 01262000 * RETURNR=RETSAVR; /* RELOAD GPR14 WITH THE RETURN 01263000 * ADDRESS */ 01264000 LR RETURNR,RETSAVR 0301 01265000 * GEN CODE EXIT(BR 14); /* RETURN */ 01266000 BR 14 01267000 * RFY 0303 01268000 * (RETURNR, 0303 01269000 * WORKPTR) UNRSTD; 0303 01270000 * 0304 01271000 * /*****************************************************************/ 01272000 * /* */ 01273000 * /* THIS IS THE FRR FOR AHLSBUF */ 01274000 * /* */ 01275000 * /*****************************************************************/ 01276000 * 0304 01277000 */*AHLSFRR: E FROM RTM */ 01278000 */*P SETUP ADDRESSABILITY TO THE WHOLE AHLSBUF MODULE */ 01279000 */* P SAVE THE RETURN ADDRESS (REG14) */ 01280000 */* P SETUP THE BASE REGS FOR GTFPCT & IHASDWA */ 01281000 */* P SBLOKRTN=0 & GTFSSRB=0 DISABLE AHLSTACK & AHLSBUF */ 01282000 */* S SDUMP: TAKE AN SVCDUMP */ 01283000 */* P SET WSERFG02 */ 01284000 */* S SETRP: CONTINUE WITH TERMINATION */ 01285000 */* P RESTORE THE RETURN ADDRESS (REG14) */ 01286000 */* R RETURN TO RTM */ 01287000 * 0304 01288000 * RFY 0304 01289000 * (SDWAPTR, 0304 01290000 * PARAMREG, 0304 01291000 * RETURNR) RSTD; 0304 01292000 *AHLSFRR: 0305 01293000 * GEN SETS(BASREG) REFS(SBUFADDR) NOEXIT NOFLOWS SEQFLOW; 0305 01294000 AHLSFRR DS 0H 0305 01295000 USING AHLSFRR,@15 ASSIGN TEMP ADDRESSIBILITY 01296000 L BASREG,SBUFADDR SETUP PERMANENT ADDRESSIBILITY 01297000 DROP @15 01298000 * RETSAVR=RETURNR; /* SAVE THE RETURN ADDRESS */ 01299000 LR RETSAVR,RETURNR 0306 01300000 * SDWAPTR=PARAMREG; /* LOAD UP THE SDWA BASE FROM THE 01301000 * PARM PASSED */ 01302000 LR SDWAPTR,PARAMREG 0307 01303000 * RFY 0308 01304000 * PARAMREG UNRSTD; 0308 01305000 * PCTPTR=SDWAGR01; /* RESTORE THE BASE ADDRESS FOR 01306000 * THE GTFPCT */ 01307000 L PCTPTR,SDWAGR01(,SDWAPTR) 0309 01308000 * WSERFG02=ON; /* SET THE ERROR FLAG IN THE 0310 01309000 * GTFPCT */ 01310000 OI WSERFG02(PCTPTR),B'00000001' 0310 01311000 * IF SDWAMCHK=ON&SDWAINSF=ON&SDWAREGU=OFF&SDWAPSWU=OFF/* IT THIS A 01312000 * RECOVERABLE ACR MACHINE CHECK 01313000 * TYPE ERROR */ 01314000 * THEN 0311 01315000 TM SDWAMCHK(SDWAPTR),B'10000000' 0311 01316000 BNO @RF00311 0311 01317000 TM SDWAINSF(SDWAPTR),B'00000100' 0311 01318000 BNO @RF00311 0311 01319000 TM SDWAREGU(SDWAPTR),B'01100000' 0311 01320000 BNZ @RF00311 0311 01321000 * DO; 0312 01322000 * WSERFG02=OFF; 0313 01323000 NI WSERFG02(PCTPTR),B'11111110' 0313 01324000 * DO; /* SETRP RECPARM(RECID) 0314 01325000 * WKAREA(SDWAPTR) RECORD(YES) 0314 01326000 * RC(SDWARETY) 0314 01327000 * RETADDR(SDWANXT1->PLACE) */ 01328000 * RESPECIFY 0315 01329000 * (GPR00P, 0315 01330000 * GPR01P, 0315 01331000 * GPR14P, 0315 01332000 * GPR15P) RSTD; 0315 01333000 * GPR01P=SDWAPTR; 0316 01334000 LR GPR01P,SDWAPTR 0316 01335000 * GPR01P->SDWARCDE=SDWARETY;/* STORE RC INTO SDWA */ 01336000 MVI SDWARCDE(GPR01P),X'04' 0317 01337000 * GPR01P->SDWARTYA=ADDR(SDWANXT1->PLACE);/* SAVE RETRY 0318 01338000 * ADDRESS */ 01339000 MVC SDWARTYA(4,GPR01P),SDWANXT1(SDWAPTR) 0318 01340000 * GPR01P->SDWARCRD='1'B; /* TURN ON RECORD INDICATOR */ 01341000 OI SDWARCRD(GPR01P),B'10000000' 0319 01342000 * GPR15P=ADDR(RECID); /* ACCESS RECORD PARAMETER LIST */ 01343000 LA GPR15P,@CC01741 0320 01344000 * GPR01P->SDWARECP=GPR15P->I256C(1:24);/* COPY RECORD 0321 01345000 * PARAMETERS */ 01346000 MVC SDWARECP(24,GPR01P),I256C(GPR15P) 0321 01347000 * RESPECIFY 0322 01348000 * (GPR00P, 0322 01349000 * GPR01P, 0322 01350000 * GPR14P, 0322 01351000 * GPR15P) UNRSTD; 0322 01352000 * END; 0323 01353000 * END; 0324 01354000 * ELSE 0325 01355000 * DO; 0325 01356000 B @RC00311 0325 01357000 @RF00311 DS 0H 0326 01358000 * RFY 0326 01359000 * (R12, 0326 01360000 * R12SAVE2) RSTD; /* @YM01896*/ 01361000 * R12SAVE2=R12; /* SAVE THIS REG ACROSS THE 0327 01362000 * SETLOCK @YM01896*/ 01363000 LR R12SAVE2,R12 0327 01364000 *AHLOCK9: 0328 01365000 * DO; /* SETLOCK (OBTAIN) MODE(UNCOND) 01366000 * TYPE(LOCAL) 0328 01367000 * RELATED(ECB,SOMEWHER(EINRTM)) */ 01368000 AHLOCK9 DS 0H 0329 01369000 * RFY 0329 01370000 * (GPR11P, 0329 01371000 * GPR12P, 0329 01372000 * GPR13P, 0329 01373000 * GPR14P) RSTD; 0329 01374000 * GPR13P=PSALITA; /* ADDRESS OF LOCK INTERFACE 0330 01375000 * TABLE. */ 01376000 L GPR13P,PSALITA 0330 01377000 * GEN(LM GPR11P,GPR13P,576(GPR13P));/* LOAD LOCKWORD, CLHT 0331 01378000 * AND ENTRY ADRS. */ 01379000 LM GPR11P,GPR13P,576(GPR13P) 01380000 * GEN(BALR GPR14P,GPR13P); /* BALR TO SETLOCK RTN. */ 01381000 BALR GPR14P,GPR13P 01382000 * RFY 0333 01383000 * (GPR11P, 0333 01384000 * GPR12P, 0333 01385000 * GPR13P, 0333 01386000 * GPR14P) UNRSTD; 0333 01387000 * END; /* SETLOCK (OBTAIN) MODE(UNCOND) 01388000 * TYPE(LOCAL) 0334 01389000 * RELATED(ECB,SOMEWHER(EINRTM)) 01390000 * @YM01896*/ 01391000 * R12=R12SAVE2; /* RESTORE THIS REG AFTER THE 0335 01392000 * SETLOCK @YM01896*/ 01393000 LR R12,R12SAVE2 0335 01394000 * RFY 0336 01395000 * (R12, 0336 01396000 * R12SAVE2) UNRSTD; /* @YM01896*/ 01397000 * RFY 0337 01398000 * (COMPCODE, 0337 01399000 * ECBADDR) RSTD; /* @YM01896*/ 01400000 * COMPCODE=0; /* BR E.P. POST COMPLETION CODE 01401000 * GOES IN GPRI0 @YM01896*/ 01402000 SLR COMPCODE,COMPCODE 0338 01403000 * ECBADDR=ADDR(WRTRERR); /* BR E.P. POST ECB ADDRESS GOES 01404000 * IN GPR11 @YM01896*/ 01405000 LA ECBADDR,WRTRERR(,PCTPTR) 0339 01406000 * CALL POST02; /* BRANCH E.P. IEA0PT02 TO POST 01407000 * @YM01896*/ 01408000 L @08,CVTPTR 0340 01409000 L @15,CVT0PT02(,@08) 0340 01410000 BALR @14,@15 0340 01411000 * RFY 0341 01412000 * (COMPCODE, 0341 01413000 * ECBADDR) UNRSTD; /* @YM01896*/ 01414000 * PCTPTR=SDWAGR01; /* RESTORE THE BASE ADDRESS FOR 01415000 * THE GTFPCT @YM01896*/ 01416000 L PCTPTR,SDWAGR01(,SDWAPTR) 0342 01417000 * RFY 0343 01418000 * (SDUMPREG, 0343 01419000 * SDUMPSA, 0343 01420000 * SDASID) RSTD; /* @YM03678*/ 01421000 * SDASID=GTFASCB->ASCBASID; 0344 01422000 L @15,GTFASCB(,PCTPTR) 0344 01423000 SLR SDASID,SDASID 0344 01424000 ICM SDASID,3,ASCBASID(@15) 0344 01425000 * SDUMPREG=WRTDLST; /* FETCH THE ADDR OF THE LIST 0345 01426000 * FORM SDUMP MACRO FOR THE 0345 01427000 * WRITER-STACK SERVICE */ 01428000 L SDUMPREG,WRTDLST(,PCTPTR) 0345 01429000 * SDUMPSA=SDUMPREG-72; /* SET UP SDUMP SAVEAREA @YM03678*/ 01430000 LR SDUMPSA,SDUMPREG 0346 01431000 SH SDUMPSA,@CH01807 0346 01432000 * GEN SETS(RCREG) NOEXIT SEQFLOW NOFLOWS NODEFS REFS(CVTPTR, 0347 01433000 * CVTSDMP,CVTMAP,SDUMPREG,SDASID); 0347 01434000 SDUMP HDR='DUMP OF GTF MODULE AHLSBLOK', *01435000 BRANCH=YES,MF=(E,(SDUMPREG)),ASID=(SDASID) 01436000 * PCTPTR=SDWAGR01; /* RESTORE THE BASE ADDRESS FOR 01437000 * THE GTFPCT */ 01438000 L PCTPTR,SDWAGR01(,SDWAPTR) 0348 01439000 * GTFSSRB=0; /* ZERO OUT THE ADDRESS OF THE 0349 01440000 * SRB FOR THIS ROUTINE */ 01441000 SLR @15,@15 0349 01442000 ST @15,GTFSSRB(,PCTPTR) 0349 01443000 * SBLOKRTN=0; /* ZERO OUT THE ADDRESS TO 0350 01444000 * AHLSBLOK TO DISABLE IT */ 01445000 ST @15,SBLOKRTN(,PCTPTR) 0350 01446000 * DO; /* SETRP RECPARM(RECID) 0351 01447000 * WKAREA(SDWAPTR) RECORD(YES) 0351 01448000 * FRELOCK(LOCAL) RC(SDWACWT) */ 01449000 * RESPECIFY 0352 01450000 * (GPR00P, 0352 01451000 * GPR01P, 0352 01452000 * GPR14P, 0352 01453000 * GPR15P) RSTD; 0352 01454000 * GPR01P=SDWAPTR; 0353 01455000 LR GPR01P,SDWAPTR 0353 01456000 * GPR01P->SDWARCDE=SDWACWT; /* SAVE RC VALUE */ 01457000 MVI SDWARCDE(GPR01P),X'00' 0354 01458000 * GPR01P->SDWARCRD='1'B; /* TURN ON RECORD INDICATOR */ 01459000 OI SDWARCRD(GPR01P),B'10000000' 0355 01460000 * GPR15P=ADDR(RECID); /* ACCESS RECORD PARAMETER LIST */ 01461000 LA GPR15P,@CC01741 0356 01462000 * GPR01P->SDWARECP=GPR15P->I256C(1:24);/* COPY RECORD 0357 01463000 * PARAMETERS */ 01464000 MVC SDWARECP(24,GPR01P),I256C(GPR15P) 0357 01465000 * GPR01P->SDWAACF4=GPR01P->SDWAACF4|'00000001'B;/* INITIALIZE 01466000 * LOCK FLAGS */ 01467000 OI SDWAACF4(GPR01P),B'00000001' 0358 01468000 * RESPECIFY 0359 01469000 * (GPR00P, 0359 01470000 * GPR01P, 0359 01471000 * GPR14P, 0359 01472000 * GPR15P) UNRSTD; 0359 01473000 * END; /* CONTINUE WITH TERMINATION */ 01474000 * END; 0361 01475000 * RETURNR=RETSAVR; /* RESTORE THE RETURN ADDRESS */ 01476000 @RC00311 LR RETURNR,RETSAVR 0362 01477000 * GEN CODE EXIT(BR 14); /* RETURN */ 01478000 BR 14 01479000 * RFY 0364 01480000 * (SDWAPTR, 0364 01481000 * RETURNR, 0364 01482000 * SDUMPREG, 0364 01483000 * SDUMPSA, 0364 01484000 * SDASID) UNRSTD; /* @YM03678 01485000 * */ 01486000 * 0365 01487000 * /*****************************************************************/ 01488000 * /* */ 01489000 * /* THIS IS THE RMTR E.P. FOR THIS MODULE ITS ONLY PURPOSE IS TO */ 01490000 * /* PROVIDE AN ADDRESS TO PUT INTO THE SRBRTMR FIELD OF THE SRB */ 01491000 * /* USED TO SCHEDULE THIS MODULE SO THAT PURGEDQ CAN IDENTIFY IT */ 01492000 * /* */ 01493000 * /*****************************************************************/ 01494000 * 0365 01495000 *AHLSBCU1: /* THE REASON THIS IS NOT AN 0365 01496000 * ENTRY IS THAT THE PLS2 CODE 0365 01497000 * GENERATED WOULD CAUSE 0365 01498000 * DEGRADATION AT THE MAIN E.P. */ 01499000 * RETURN; 0365 01500000 @EL00001 DS 0H 0365 01501000 @EF00001 DS 0H 0365 01502000 @ER00001 BR @14 0365 01503000 * 0366 01504000 * /*****************************************************************/ 01505000 * /* */ 01506000 * /* THIS MACRO WILL GENERATE A PATCH AREA OF 5% OF THE MODULE */ 01507000 * /* SIZE, AND NAME IT PATCHLOC. THE AREA WILL BE SET TO 0 */ 01508000 * /* */ 01509000 * /*****************************************************************/ 01510000 * 0366 01511000 * DCL 0366 01512000 * PATCHLOC FIXED(31) STATIC; 0366 01513000 * GEN DATA DEFS(PATCHLOC); 0367 01514000 * 0367 01515000 * /*****************************************************************/ 01516000 * /* */ 01517000 * /* EPILOG MACRO. THIS MACRO IS REQUIRED IF ANY PLS SYSTEM MACRO */ 01518000 * /* HAS BEEN USED. IT SHOULD COME AFTER ALL OTHER USES OF SYSTEM */ 01519000 * /* MACROS */ 01520000 * /* */ 01521000 * /*****************************************************************/ 01522000 * 0368 01523000 */*AHLSBUF: END */ 01524000 * 0368 01525000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 01526000 * GPR00P PTR(31) REG(0), 0368 01527000 * GPR01P PTR(31) REG(1), 0368 01528000 * GPR11P PTR(31) REG(11), 0368 01529000 * GPR12P PTR(31) REG(12), 0368 01530000 * GPR13P PTR(31) REG(13), 0368 01531000 * GPR14P PTR(31) REG(14), 0368 01532000 * GPR15P PTR(31) REG(15); 0368 01533000 * DECLARE /* COMMON VARIABLES */ 01534000 * I256C CHAR(256) BASED, 0369 01535000 * I031F FIXED(31) BASED, 0369 01536000 * I031P PTR(31) BASED, 0369 01537000 * I015F FIXED(15) BASED, 0369 01538000 * I015P PTR(15) BASED, 0369 01539000 * I008P PTR(8) BASED, 0369 01540000 * I001C CHAR(1) BASED; 0369 01541000 * END 0370 01542000 * 0370 01543000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 01544000 */*%INCLUDE SYSLIB (CVT ) */ 01545000 */*%INCLUDE SYSLIB (IHAPSA ) */ 01546000 */*%INCLUDE SYSLIB (IHAFRRS ) */ 01547000 */*%INCLUDE SYSLIB (IHASDWA ) */ 01548000 */*%INCLUDE SYSLIB (IHAASCB ) */ 01549000 */*%INCLUDE SYSLIB (GTFPCT ) */ 01550000 */*%INCLUDE SYSLIB (IHASRB ) */ 01551000 */*%INCLUDE SYSLIB (GTFBLOK ) */ 01552000 */*%INCLUDE SYSLIB (RECMAP ) */ 01553000 */*%INCLUDE SYSLIB (GTFBCB ) */ 01554000 */*%INCLUDE SYSLIB (SLE ) */ 01555000 * 0370 01556000 * ; 0370 01557000 B @EL00001 0370 01558000 @DATA DS 0H 01559000 @CH00062 DC H'1' 01560000 @CH01819 DC H'26' 01561000 @CH01807 DC H'72' 01562000 @DATD DSECT 01563000 DS 0F 01564000 AHLSBUF CSECT 01565000 DS 0F 01566000 @CF01757 DC XL4'80000000' 01567000 @CF01759 DC XL4'7FFFFFFF' 01568000 @DATD DSECT 01569000 DS 0D 01570000 AHLSBUF CSECT 01571000 DS 0F 01572000 @SIZDATD DC AL1(0) 01573000 DC AL3(@ENDDATD-@DATD) 01574000 DS 0D 01575000 SBUFADDR DC AL4(AHLSBUF) 01576000 @CC01741 DC C'AHLWSMODAHLSBUF AHLSFRR ' 01577000 @CB01744 DC X'0000' 01578000 AHLSBUF CSECT 01579000 DS 0H 01580000 PATCHLOC DC (120)X'00' 01581000 @DATD DSECT 01582000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 01583000 @ENDDATD EQU * 01584000 AHLSBUF CSECT 01585000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 01586000 @01 EQU 01 01587000 @02 EQU 02 01588000 @03 EQU 03 01589000 @04 EQU 04 01590000 @05 EQU 05 01591000 @06 EQU 06 01592000 @07 EQU 07 01593000 @08 EQU 08 01594000 @09 EQU 09 01595000 @10 EQU 10 01596000 @11 EQU 11 01597000 @12 EQU 12 01598000 @13 EQU 13 01599000 @14 EQU 14 01600000 @15 EQU 15 01601000 SDWAPTR EQU @03 01602000 PCTPTR EQU @01 01603000 SCANPTR EQU @06 01604000 R12 EQU @12 01605000 R12SAVE EQU @03 01606000 R12SAVE2 EQU @10 01607000 RCREG EQU @15 01608000 PARAMREG EQU @01 01609000 FRREPAD EQU @02 01610000 SETFREG1 EQU @04 01611000 SETFREG2 EQU @05 01612000 BASREG EQU @12 01613000 RETURNR EQU @14 01614000 RETSAVR EQU @09 01615000 COMPREG EQU @04 01616000 SWAPREG EQU @05 01617000 COMPREG1 EQU @04 01618000 COMPREG2 EQU @05 01619000 SWAPREG1 EQU @06 01620000 SWAPREG2 EQU @07 01621000 CQUEUE EQU @13 01622000 BCBHOLDR EQU @02 01623000 WORKPTR EQU @03 01624000 MVCLTPTR EQU @04 01625000 MVCLTLEN EQU @05 01626000 MVCLFPTR EQU @06 01627000 MVCLFLEN EQU @07 01628000 SLEPTR EQU @08 01629000 SCANEND EQU @07 01630000 SDUMPREG EQU @05 01631000 SDASID EQU @06 01632000 SDUMPSA EQU @13 01633000 COMPCODE EQU @10 01634000 ECBADDR EQU @11 01635000 GPR11P EQU @11 01636000 GPR12P EQU @12 01637000 GPR13P EQU @13 01638000 GPR14P EQU @14 01639000 GPR00P EQU @00 01640000 GPR01P EQU @01 01641000 GPR15P EQU @15 01642000 ENTRY AHLSBCU1 01643000 CVTPTR EQU 16 01644000 PSA EQU 0 01645000 FLCRNPSW EQU PSA 01646000 FLCROPSW EQU PSA+8 01647000 FLCICCW2 EQU PSA+16 01648000 PSAEEPSW EQU PSA+132 01649000 PSAESPSW EQU PSA+136 01650000 FLCSVILC EQU PSAESPSW+1 01651000 PSAEPPSW EQU PSA+140 01652000 FLCPIILC EQU PSAEPPSW+1 01653000 FLCPICOD EQU PSAEPPSW+2 01654000 PSAPICOD EQU FLCPICOD+1 01655000 FLCTEA EQU PSAEPPSW+4 01656000 FLCPER EQU PSA+152 01657000 FLCMCLA EQU PSA+168 01658000 FLCIOEL EQU FLCMCLA+4 01659000 FLCIOA EQU FLCMCLA+16 01660000 FLCFSA EQU FLCMCLA+80 01661000 PSASUPER EQU PSA+552 01662000 PSASUP1 EQU PSASUPER 01663000 PSASUP2 EQU PSASUPER+1 01664000 PSASUP3 EQU PSASUPER+2 01665000 PSASUP4 EQU PSASUPER+3 01666000 PSACLHT EQU PSA+640 01667000 PSALKSA EQU PSA+696 01668000 PSAHLHI EQU PSA+760 01669000 PSALITA EQU PSA+764 01670000 PSADSSFL EQU PSA+836 01671000 PSADSSF1 EQU PSADSSFL 01672000 PSADSSF3 EQU PSADSSFL+2 01673000 PSADSSF4 EQU PSADSSFL+3 01674000 PSARSVT EQU PSA+896 01675000 PSALSFCC EQU PSA+1012 01676000 CVTMAP EQU 0 01677000 CVTDAR EQU CVTMAP+72 01678000 CVTFLGS1 EQU CVTDAR 01679000 CVTDCB EQU CVTMAP+116 01680000 CVTOPTA EQU CVTMAP+182 01681000 CVTOPTB EQU CVTMAP+183 01682000 CVTGTF EQU CVTMAP+236 01683000 CVTGTFST EQU CVTGTF 01684000 CVTGTFS EQU CVTGTFST 01685000 CVTSTATE EQU CVTGTFST 01686000 CVTTMODE EQU CVTGTFST 01687000 CVTFORM EQU CVTGTFST 01688000 CVTUSR EQU CVTGTFST 01689000 CVTAQAVT EQU CVTMAP+240 01690000 CVTTCMFG EQU CVTAQAVT 01691000 CVTVOLM2 EQU CVTMAP+244 01692000 CVTTATA EQU CVTVOLM2 01693000 CVTTSKS EQU CVTTATA 01694000 CVTVOLF2 EQU CVTTSKS 01695000 CVTTAT EQU CVTTATA+1 01696000 CVTATER EQU CVTMAP+248 01697000 CVTEXT1 EQU CVTMAP+252 01698000 CVTPURG EQU CVTMAP+260 01699000 CVTQMSG EQU CVTMAP+268 01700000 CVTDMSR EQU CVTMAP+272 01701000 CVTAPF EQU CVTMAP+324 01702000 CVTEXT2 EQU CVTMAP+328 01703000 CVTHJES EQU CVTMAP+332 01704000 CVTPGSIA EQU CVTMAP+348 01705000 CVTA1F1 EQU CVTMAP+356 01706000 CVTSYSK EQU CVTMAP+357 01707000 CVTVOLM1 EQU CVTMAP+380 01708000 CVTVOLF1 EQU CVTVOLM1 01709000 CVTATMCT EQU CVTMAP+388 01710000 CVTXTNT1 EQU 0 01711000 CVTXTNT2 EQU 0 01712000 CVTDSSV EQU CVTXTNT2 01713000 CVTRSV90 EQU CVTXTNT2+5 01714000 CVTQID EQU CVTXTNT2+24 01715000 CVTRV400 EQU CVTXTNT2+52 01716000 CVTRV409 EQU CVTXTNT2+53 01717000 CVTATCVT EQU CVTXTNT2+64 01718000 CVTRV429 EQU CVTXTNT2+84 01719000 CVTRV438 EQU CVTXTNT2+85 01720000 CVTRV457 EQU CVTXTNT2+112 01721000 CVTRV466 EQU CVTXTNT2+113 01722000 CVTFIX EQU 0 01723000 CVTRELNO EQU CVTFIX+252 01724000 FRRS EQU 0 01725000 FRRSHEAD EQU FRRS 01726000 FRRSEMP EQU FRRSHEAD 01727000 FRRSLAST EQU FRRSHEAD+4 01728000 FRRSELEN EQU FRRSHEAD+8 01729000 FRRSCURR EQU FRRSHEAD+12 01730000 FRRSPTR EQU 0 01731000 FRRSENTR EQU 0 01732000 FRRSFRRA EQU FRRSENTR 01733000 FRRSFLGS EQU FRRSENTR+4 01734000 FRRSFLG1 EQU FRRSFLGS 01735000 FRRSPARM EQU FRRSENTR+8 01736000 FRREPTR EQU 0 01737000 SDWA EQU 0 01738000 SDWAFIOB EQU SDWA+4 01739000 SDWAABCC EQU SDWAFIOB 01740000 SDWACMPF EQU SDWAABCC 01741000 SDWACTL1 EQU SDWA+8 01742000 SDWACMKA EQU SDWACTL1 01743000 SDWAMWPA EQU SDWACTL1+1 01744000 SDWAPMKA EQU SDWACTL1+4 01745000 SDWACTL2 EQU SDWA+16 01746000 SDWACMKP EQU SDWACTL2 01747000 SDWAMWPP EQU SDWACTL2+1 01748000 SDWAPMKP EQU SDWACTL2+4 01749000 SDWAGRSV EQU SDWA+24 01750000 SDWAGR01 EQU SDWAGRSV+4 01751000 SDWANAME EQU SDWA+88 01752000 SDWAEC1 EQU SDWA+104 01753000 SDWAEMK1 EQU SDWAEC1 01754000 SDWAMWP1 EQU SDWAEC1+1 01755000 SDWAINT1 EQU SDWAEC1+2 01756000 SDWANXT1 EQU SDWAEC1+4 01757000 SDWAAEC1 EQU SDWA+112 01758000 SDWAILC1 EQU SDWAAEC1+1 01759000 SDWAINC1 EQU SDWAAEC1+2 01760000 SDWAICD1 EQU SDWAINC1+1 01761000 SDWAEC2 EQU SDWA+120 01762000 SDWAEMK2 EQU SDWAEC2 01763000 SDWAMWP2 EQU SDWAEC2+1 01764000 SDWAINT2 EQU SDWAEC2+2 01765000 SDWANXT2 EQU SDWAEC2+4 01766000 SDWAAEC2 EQU SDWA+128 01767000 SDWAILC2 EQU SDWAAEC2+1 01768000 SDWAINC2 EQU SDWAAEC2+2 01769000 SDWAICD2 EQU SDWAINC2+1 01770000 SDWASRSV EQU SDWA+136 01771000 SDWAIDNT EQU SDWA+200 01772000 SDWAMCH EQU SDWA+204 01773000 SDWASTCK EQU SDWAMCH 01774000 SDWAMCHI EQU SDWAMCH+8 01775000 SDWAMCHS EQU SDWAMCHI 01776000 SDWAMCHD EQU SDWAMCHI+1 01777000 SDWAREGU EQU SDWAMCHD 01778000 SDWAPSWU EQU SDWAMCHD 01779000 SDWAINSF EQU SDWAMCHD 01780000 SDWARSR1 EQU SDWAMCH+12 01781000 SDWARSR2 EQU SDWAMCH+13 01782000 SDWAFLGS EQU SDWA+232 01783000 SDWAERRA EQU SDWAFLGS 01784000 SDWAMCHK EQU SDWAERRA 01785000 SDWAERRB EQU SDWAFLGS+1 01786000 SDWAERRC EQU SDWAFLGS+2 01787000 SDWAERRD EQU SDWAFLGS+3 01788000 SDWAIOFS EQU SDWA+238 01789000 SDWARTYA EQU SDWA+240 01790000 SDWACPUA EQU SDWA+248 01791000 SDWAPARQ EQU SDWA+252 01792000 SDWARCDE EQU SDWAPARQ 01793000 SDWAACF2 EQU SDWAPARQ+1 01794000 SDWARCRD EQU SDWAACF2 01795000 SDWAACF3 EQU SDWAPARQ+2 01796000 SDWAACF4 EQU SDWAPARQ+3 01797000 SDWALKWA EQU SDWA+256 01798000 SDWALKWS EQU SDWALKWA 01799000 SDWARECP EQU SDWA+292 01800000 SDWASNPA EQU SDWA+320 01801000 SDWADUMP EQU SDWASNPA 01802000 SDWADPFS EQU SDWADUMP+1 01803000 SDWADDAT EQU SDWASNPA+4 01804000 SDWASDAT EQU SDWADDAT 01805000 SDWAPDAT EQU SDWADDAT+2 01806000 SDWADPSA EQU SDWA+328 01807000 SDWADPSL EQU SDWADPSA 01808000 SDWARA EQU SDWA+400 01809000 SDWADPVA EQU SDWARA+2 01810000 ASCB EQU 0 01811000 ASCBASID EQU ASCB+36 01812000 ASCBFW1 EQU ASCB+100 01813000 ASCBRCTF EQU ASCBFW1+2 01814000 ASCBFLG1 EQU ASCBFW1+3 01815000 ASCBDSP1 EQU ASCB+114 01816000 ASCBFLG2 EQU ASCB+115 01817000 ASCBPTR EQU 0 01818000 GTFPCT EQU 0 01819000 GTFSTAT EQU GTFPCT+8 01820000 GTFOPTS EQU GTFPCT+12 01821000 GTFOPTS1 EQU GTFOPTS 01822000 GTFOPTS2 EQU GTFOPTS+1 01823000 GTFOPTS3 EQU GTFOPTS+2 01824000 GTFOPTS4 EQU GTFOPTS+3 01825000 OPTTIME EQU GTFOPTS4 01826000 PCTCATF EQU GTFPCT+16 01827000 EQHEAD EQU GTFPCT+120 01828000 RQHEAD EQU GTFPCT+124 01829000 WQHEAD EQU GTFPCT+128 01830000 HQHEAD EQU GTFPCT+132 01831000 QTAIL EQU GTFPCT+136 01832000 SLQHEAD EQU GTFPCT+144 01833000 SAVECNT EQU GTFPCT+148 01834000 NEXTBLOK EQU GTFPCT+180 01835000 CURRBLOK EQU GTFPCT+184 01836000 SBLOKRTN EQU GTFPCT+188 01837000 WRTRCOM EQU GTFPCT+204 01838000 WRTRCOMP EQU WRTRCOM 01839000 TRMWRIT EQU GTFPCT+212 01840000 WRTRERR EQU GTFPCT+216 01841000 GTFSSRB EQU GTFPCT+220 01842000 QLOCKWRD EQU GTFPCT+236 01843000 QLOCK EQU QLOCKWRD 01844000 POSTWRIT EQU QLOCKWRD+1 01845000 SCHEDBUF EQU QLOCKWRD+2 01846000 QLOCKECB EQU GTFPCT+240 01847000 QLECBP EQU QLOCKECB 01848000 WQLENGTH EQU GTFPCT+244 01849000 EQLENGTH EQU GTFPCT+252 01850000 SLESUSED EQU GTFPCT+260 01851000 WRTDLST EQU GTFPCT+272 01852000 SLECNT EQU GTFPCT+284 01853000 AUDITFLG EQU GTFPCT+296 01854000 WSERFG02 EQU AUDITFLG+2 01855000 AFSLEBLD EQU AUDITFLG+3 01856000 GTFASCB EQU GTFPCT+300 01857000 SRBSECT EQU 0 01858000 SRB EQU SRBSECT 01859000 SRBFLNK EQU SRB+4 01860000 SRBFLC EQU SRB+12 01861000 WORKAREA EQU SRBSECT+44 01862000 SRBPTR EQU 0 01863000 COMPSWAP EQU 0 01864000 DWCOMP EQU COMPSWAP 01865000 DWSWAP EQU COMPSWAP+8 01866000 CHNFIELD EQU DWSWAP 01867000 INUSEBIT EQU CHNFIELD 01868000 USEFIELD EQU DWSWAP+6 01869000 GTFBLOK EQU 0 01870000 BLKCHAIN EQU GTFBLOK+8 01871000 BLKINUSE EQU BLKCHAIN 01872000 BLOKAREA EQU GTFBLOK+12 01873000 BLOKLEN EQU BLOKAREA 01874000 BLOKUSE EQU BLOKAREA+2 01875000 RECMAP EQU 0 01876000 RECTIME EQU RECMAP+6 01877000 RECGTFOP EQU RECMAP+18 01878000 SVHKREC EQU 0 01879000 SVHKLEN EQU SVHKREC 01880000 SVHKAFID EQU SVHKREC+4 01881000 SVHKDATA EQU SVHKREC+6 01882000 GTFBCB EQU 0 01883000 BCBSWAP EQU GTFBCB+8 01884000 BCBQFLAG EQU BCBSWAP 01885000 EQFLAG EQU BCBQFLAG 01886000 WQFLAG EQU BCBQFLAG 01887000 CQFLAG EQU BCBQFLAG 01888000 HQFLAG EQU BCBQFLAG 01889000 RQFLAG EQU BCBQFLAG 01890000 BCBUSE EQU BCBSWAP+2 01891000 BCBCHAIN EQU GTFBCB+12 01892000 HQCHAIN EQU BCBCHAIN 01893000 WQCHAIN EQU HQCHAIN 01894000 EQCHAIN EQU WQCHAIN 01895000 RQCHAIN EQU EQCHAIN 01896000 SQCHAIN EQU RQCHAIN 01897000 GBUFRPTR EQU GTFBCB+16 01898000 GTFBUFR EQU 0 01899000 BIGLL EQU GTFBUFR 01900000 CMPWKA EQU 0 01901000 SWAPBCB EQU CMPWKA+4 01902000 @NM00089 EQU SWAPBCB 01903000 CQFSWAP EQU @NM00089 01904000 SQFSWAP EQU @NM00089 01905000 HQFSWAP EQU @NM00089 01906000 SWAPUSE EQU SWAPBCB+2 01907000 SLE EQU 0 01908000 SLQCHAIN EQU SLE+8 01909000 SLEHOOK EQU SLE+12 01910000 SLEDUMP EQU SLEHOOK+2 01911000 SLEPGLST EQU SLE+20 01912000 SLEBCBQ EQU SLE+24 01913000 SLEQCNT EQU SLE+28 01914000 SLEFLAGS EQU SLE+32 01915000 SLEINUSE EQU SLEFLAGS 01916000 SVCPLIST EQU 0 01917000 PAGELIST EQU SVCPLIST+4 01918000 POST02 EQU 0 01919000 PLACE EQU 0 01920000 I256C EQU 0 01921000 I001C EQU 0 01922000 I008P EQU 0 01923000 I015F EQU 0 01924000 I015P EQU 0 01925000 I031F EQU 0 01926000 I031P EQU 0 01927000 CVTS01 EQU CVTPGSIA 01928000 CVTLPDIA EQU CVTS01+12 01929000 CVTDIRST EQU CVTLPDIA 01930000 CVTSLIDA EQU CVTS01+24 01931000 CVTCTLFG EQU CVTS01+50 01932000 CVTSDMP EQU CVTS01+232 01933000 CVTGSMQ EQU CVTS01+264 01934000 CVTRV210 EQU CVTS01+424 01935000 CVTRV219 EQU CVTS01+425 01936000 CVTRV228 EQU CVTS01+426 01937000 CVTRV237 EQU CVTS01+427 01938000 CVTMFRTR EQU CVTS01+452 01939000 CVTRV262 EQU CVTS01+468 01940000 CVTRV271 EQU CVTS01+469 01941000 CVTRV280 EQU CVTS01+470 01942000 CVTRV289 EQU CVTS01+471 01943000 CVT0PT02 EQU CVTS01+532 01944000 CVTGSDA EQU CVTS01+600 01945000 PSARSVTE EQU PSARSVT 01946000 PSACSTK EQU PSARSVTE 01947000 BLOKSWAP EQU BLKCHAIN 01948000 FLC EQU PSA 01949000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01950000 PSARSAV EQU PSARSVTE+60 01951000 PSARSTK EQU PSARSVTE+56 01952000 PSAESAV3 EQU PSARSVTE+52 01953000 PSAESTK3 EQU PSARSVTE+48 01954000 PSAESAV2 EQU PSARSVTE+44 01955000 PSAESTK2 EQU PSARSVTE+40 01956000 PSAESAV1 EQU PSARSVTE+36 01957000 PSAESTK1 EQU PSARSVTE+32 01958000 PSAPSAV EQU PSARSVTE+28 01959000 PSAPSTK EQU PSARSVTE+24 01960000 PSAMSAV EQU PSARSVTE+20 01961000 PSAMSTK EQU PSARSVTE+16 01962000 PSASSAV EQU PSARSVTE+12 01963000 PSASSTK EQU PSARSVTE+8 01964000 PSANSTK EQU PSARSVTE+4 01965000 CVTTPIO EQU CVTS01+608 01966000 CVTADV EQU CVTS01+604 01967000 CVTGSDAB EQU CVTGSDA 01968000 CVTQV3 EQU CVTS01+596 01969000 CVTQV2 EQU CVTS01+592 01970000 CVTQV1 EQU CVTS01+588 01971000 CVTRPT EQU CVTS01+584 01972000 CVTSSRB EQU CVTS01+580 01973000 CVTCSDRL EQU CVTS01+576 01974000 CVTEXP1 EQU CVTS01+572 01975000 CVTRMPMT EQU CVTS01+568 01976000 CVTRMPTT EQU CVTS01+564 01977000 CVTVPSA EQU CVTS01+560 01978000 CVTVSTOP EQU CVTS01+556 01979000 CVTGTFR8 EQU CVTS01+552 01980000 CVTQUIT EQU CVTS01+548 01981000 CVTVACR EQU CVTS01+544 01982000 CVTWTCB EQU CVTS01+540 01983000 CVTSTPRS EQU CVTS01+536 01984000 CVTDARCM EQU CVTS01+528 01985000 CVTIRECM EQU CVTS01+524 01986000 CVTJRECM EQU CVTS01+520 01987000 CVTVEMS0 EQU CVTS01+516 01988000 CVTSPFRR EQU CVTS01+512 01989000 CVTRLSTG EQU CVTS01+508 01990000 CVT0TC0A EQU CVTS01+504 01991000 CVTGMBR EQU CVTS01+500 01992000 CVTLFRM EQU CVTS01+496 01993000 CVTRMBR EQU CVTS01+492 01994000 CVTVIOP EQU CVTS01+488 01995000 CVTRV307 EQU CVTS01+486 01996000 CVTRV306 EQU CVTS01+484 01997000 CVTRV305 EQU CVTS01+482 01998000 CVTRV304 EQU CVTS01+480 01999000 CVTRV303 EQU CVTS01+478 02000000 CVTRV302 EQU CVTS01+476 02001000 CVTRV301 EQU CVTS01+475 02002000 CVTRV300 EQU CVTS01+474 02003000 CVTRV299 EQU CVTS01+473 02004000 CVTRV298 EQU CVTS01+472 02005000 CVTRV297 EQU CVTRV289 02006000 CVTRV296 EQU CVTRV289 02007000 CVTRV295 EQU CVTRV289 02008000 CVTRV294 EQU CVTRV289 02009000 CVTRV293 EQU CVTRV289 02010000 CVTRV292 EQU CVTRV289 02011000 CVTRV291 EQU CVTRV289 02012000 CVTRV290 EQU CVTRV289 02013000 CVTRV288 EQU CVTRV280 02014000 CVTRV287 EQU CVTRV280 02015000 CVTRV286 EQU CVTRV280 02016000 CVTRV285 EQU CVTRV280 02017000 CVTRV284 EQU CVTRV280 02018000 CVTRV283 EQU CVTRV280 02019000 CVTRV282 EQU CVTRV280 02020000 CVTRV281 EQU CVTRV280 02021000 CVTRV279 EQU CVTRV271 02022000 CVTRV278 EQU CVTRV271 02023000 CVTRV277 EQU CVTRV271 02024000 CVTRV276 EQU CVTRV271 02025000 CVTRV275 EQU CVTRV271 02026000 CVTRV274 EQU CVTRV271 02027000 CVTRV273 EQU CVTRV271 02028000 CVTRV272 EQU CVTRV271 02029000 CVTRV270 EQU CVTRV262 02030000 CVTRV269 EQU CVTRV262 02031000 CVTRV268 EQU CVTRV262 02032000 CVTRV267 EQU CVTRV262 02033000 CVTRV266 EQU CVTRV262 02034000 CVTRV265 EQU CVTRV262 02035000 CVTRV264 EQU CVTRV262 02036000 CVTRV263 EQU CVTRV262 02037000 CVTVFP EQU CVTS01+464 02038000 CVTVSI EQU CVTS01+460 02039000 CVTVPSIB EQU CVTS01+456 02040000 CVTMFACT EQU CVTMFRTR 02041000 CVTMFCTL EQU CVTS01+448 02042000 CVTPVBP EQU CVTS01+444 02043000 CVTPWI EQU CVTS01+440 02044000 CVTRV254 EQU CVTS01+438 02045000 CVTRV253 EQU CVTS01+436 02046000 CVTRV252 EQU CVTS01+434 02047000 CVTRV251 EQU CVTS01+433 02048000 CVTRV250 EQU CVTS01+432 02049000 CVTRV249 EQU CVTS01+431 02050000 CVTRV248 EQU CVTS01+430 02051000 CVTRV247 EQU CVTS01+429 02052000 CVTRV246 EQU CVTS01+428 02053000 CVTRV245 EQU CVTRV237 02054000 CVTRV244 EQU CVTRV237 02055000 CVTRV243 EQU CVTRV237 02056000 CVTRV242 EQU CVTRV237 02057000 CVTRV241 EQU CVTRV237 02058000 CVTRV240 EQU CVTRV237 02059000 CVTRV239 EQU CVTRV237 02060000 CVTRV238 EQU CVTRV237 02061000 CVTRV236 EQU CVTRV228 02062000 CVTRV235 EQU CVTRV228 02063000 CVTRV234 EQU CVTRV228 02064000 CVTRV233 EQU CVTRV228 02065000 CVTRV232 EQU CVTRV228 02066000 CVTRV231 EQU CVTRV228 02067000 CVTRV230 EQU CVTRV228 02068000 CVTRV229 EQU CVTRV228 02069000 CVTRV227 EQU CVTRV219 02070000 CVTRV226 EQU CVTRV219 02071000 CVTRV225 EQU CVTRV219 02072000 CVTRV224 EQU CVTRV219 02073000 CVTRV223 EQU CVTRV219 02074000 CVTRV222 EQU CVTRV219 02075000 CVTRV221 EQU CVTRV219 02076000 CVTRV220 EQU CVTRV219 02077000 CVTRV218 EQU CVTRV210 02078000 CVTRV217 EQU CVTRV210 02079000 CVTRV216 EQU CVTRV210 02080000 CVTRV215 EQU CVTRV210 02081000 CVTRV214 EQU CVTRV210 02082000 CVTRV213 EQU CVTRV210 02083000 CVTRV212 EQU CVTRV210 02084000 CVTRV211 EQU CVTRV210 02085000 CVTLCCAT EQU CVTS01+420 02086000 CVTPCCAT EQU CVTS01+416 02087000 CVTIPCRP EQU CVTS01+412 02088000 CVTIPCRI EQU CVTS01+408 02089000 CVTIPCDS EQU CVTS01+404 02090000 CVTAIDVT EQU CVTS01+400 02091000 CVTSSAP EQU CVTS01+396 02092000 CVTEHCIR EQU CVTS01+392 02093000 CVTEHDEF EQU CVTS01+388 02094000 CVTDAIR EQU CVTS01+384 02095000 CVTPERFM EQU CVTS01+380 02096000 CVT044R2 EQU CVTS01+376 02097000 CVTFETCH EQU CVTS01+372 02098000 CVTRSTWD EQU CVTS01+368 02099000 CVTSPOST EQU CVTS01+364 02100000 CVTIOBP EQU CVTS01+360 02101000 CVTASMVT EQU CVTS01+356 02102000 CVTRECRQ EQU CVTS01+352 02103000 CVTWSAC EQU CVTS01+348 02104000 CVTWSAG EQU CVTS01+344 02105000 CVTWSAL EQU CVTS01+340 02106000 CVTSPSA EQU CVTS01+336 02107000 CVTGLMN EQU CVTS01+332 02108000 CVTVEAC0 EQU CVTS01+328 02109000 CVT062R1 EQU CVTS01+324 02110000 CVTRPOST EQU CVTS01+320 02111000 CVTDQIQE EQU CVTS01+316 02112000 CVTCSD EQU CVTS01+312 02113000 CVTLKRMA EQU CVTS01+308 02114000 CVTRSPIE EQU CVTS01+304 02115000 CVTRENQ EQU CVTS01+300 02116000 CVTLQCB EQU CVTS01+296 02117000 CVTFQCB EQU CVTS01+292 02118000 CVTQCS01 EQU CVTS01+288 02119000 CVTAPFT EQU CVTS01+284 02120000 CVTPARRL EQU CVTS01+280 02121000 CVTVWAIT EQU CVTS01+276 02122000 CVTGSPL EQU CVTS01+272 02123000 CVTLSMQ EQU CVTS01+268 02124000 CVTEXPRO EQU CVTS01+260 02125000 CVTOPCTP EQU CVTS01+256 02126000 CVTSIC EQU CVTS01+252 02127000 CVTTPIOS EQU CVTS01+248 02128000 CVTRTMS EQU CVTS01+244 02129000 CVTSDBF EQU CVTS01+240 02130000 CVTSCBP EQU CVTS01+236 02131000 CVTSV60 EQU CVTS01+228 02132000 CVTRTMCT EQU CVTS01+224 02133000 CVTASCBL EQU CVTS01+220 02134000 CVTASCBH EQU CVTS01+216 02135000 CVTGDA EQU CVTS01+212 02136000 CVTASVT EQU CVTS01+208 02137000 CVTVVMDI EQU CVTS01+204 02138000 CVTAQTOP EQU CVTS01+200 02139000 CVTIOSCS EQU CVTS01+196 02140000 CVTSDRM EQU CVTS01+192 02141000 CVTOPTE EQU CVTS01+188 02142000 CVTSTXU EQU CVTS01+184 02143000 CVTQUIS EQU CVTS01+180 02144000 CVTPARS EQU CVTS01+176 02145000 CVTS1EE EQU CVTS01+172 02146000 CVTFRAS EQU CVTS01+168 02147000 CVTQSAS EQU CVTS01+164 02148000 CVTCRAS EQU CVTS01+160 02149000 CVTCRMN EQU CVTS01+156 02150000 CVTDELCP EQU CVTS01+152 02151000 CVTFRECL EQU CVTS01+148 02152000 CVTGETCL EQU CVTS01+144 02153000 CVTBLDCP EQU CVTS01+140 02154000 CVTAUTHL EQU CVTS01+136 02155000 CVTSCAN EQU CVTS01+132 02156000 CVTRV144 EQU CVTS01+130 02157000 CVTMAXMP EQU CVTS01+128 02158000 CVTSTCK EQU CVTS01+124 02159000 CVTRV139 EQU CVTS01+123 02160000 CVTDSSAC EQU CVTS01+122 02161000 CVTRV513 EQU CVTS01+121 02162000 CVTIOSPL EQU CVTS01+120 02163000 CVTPTGT EQU CVTS01+116 02164000 CVTCSPIE EQU CVTS01+112 02165000 CVTSMFEX EQU CVTS01+108 02166000 CVTOLT0A EQU CVTS01+104 02167000 CVTSRBRT EQU CVTS01+100 02168000 CVTPUTL EQU CVTS01+96 02169000 CVTSYSWT EQU CVTS01+92 02170000 CVTRV327 EQU CVTS01+88 02171000 CVTRV326 EQU CVTS01+84 02172000 CVTRV325 EQU CVTS01+80 02173000 CVTRV324 EQU CVTS01+76 02174000 CVT0VL01 EQU CVTS01+72 02175000 CVTSHRVM EQU CVTS01+68 02176000 CVTRV332 EQU CVTS01+64 02177000 CVTTAS EQU CVTS01+60 02178000 CVTRSCN EQU CVTS01+56 02179000 CVTTRAC2 EQU CVTS01+54 02180000 CVTTRACE EQU CVTS01+52 02181000 CVTAPG EQU CVTS01+51 02182000 CVTSDTRC EQU CVTCTLFG 02183000 CVTGTRCE EQU CVTCTLFG 02184000 CVTNOMP EQU CVTCTLFG 02185000 CVTRSV79 EQU CVTCTLFG 02186000 CVTDSTAT EQU CVTCTLFG 02187000 CVTRSV78 EQU CVTCTLFG 02188000 CVTRV333 EQU CVTCTLFG 02189000 CVTRV323 EQU CVTCTLFG 02190000 CVTSPVLK EQU CVTS01+49 02191000 CVTRSV77 EQU CVTS01+48 02192000 CVTRV331 EQU CVTS01+44 02193000 CVTRV330 EQU CVTS01+40 02194000 CVTRV329 EQU CVTS01+36 02195000 CVTRV328 EQU CVTS01+32 02196000 CVTRV322 EQU CVTS01+28 02197000 CVTSLID EQU CVTSLIDA+1 02198000 CVTSYLK EQU CVTSLIDA 02199000 CVTRV321 EQU CVTS01+20 02200000 CVTRV320 EQU CVTS01+16 02201000 CVTLPDIR EQU CVTLPDIA+1 02202000 CVTRSV69 EQU CVTDIRST 02203000 CVTRSV68 EQU CVTDIRST 02204000 CVTRSV67 EQU CVTDIRST 02205000 CVTRSV66 EQU CVTDIRST 02206000 CVTRSV65 EQU CVTDIRST 02207000 CVTRSV64 EQU CVTDIRST 02208000 CVTRSV63 EQU CVTDIRST 02209000 CVTDICOM EQU CVTDIRST 02210000 CVTPVTP EQU CVTS01+8 02211000 CVTLPDSR EQU CVTS01+4 02212000 CVTGETL EQU CVTS01 02213000 COMMONPG EQU PAGELIST 02214000 PLINDEX EQU SVCPLIST 02215000 @NM00091 EQU SLEFLAGS 02216000 SLETCBA EQU SLEDUMP+2 02217000 SLEASID EQU SLEDUMP 02218000 SLEEID EQU SLEHOOK 02219000 SLEID EQU SLE 02220000 @NM00090 EQU @NM00089 02221000 DECBFSWA EQU @NM00089 02222000 RQFSWAP EQU @NM00089 02223000 WQFSWAP EQU @NM00089 02224000 EQFSWAP EQU @NM00089 02225000 COMPBCB EQU CMPWKA 02226000 BCBFREQ EQU GTFBCB+20 02227000 DECBFLAG EQU BCBQFLAG 02228000 SQFLAG EQU BCBQFLAG 02229000 GTFBCBID EQU GTFBCB 02230000 SVHKTCB EQU SVHKDATA+4 02231000 SVHKASID EQU SVHKDATA+2 02232000 SVHKEID EQU SVHKDATA 02233000 @NM00088 EQU SVHKREC+2 02234000 RECLSTEV EQU RECGTFOP 02235000 RECTOD EQU RECTIME+4 02236000 RECVTTZ EQU RECTIME 02237000 RECFID EQU RECMAP+5 02238000 RECAID EQU RECMAP+4 02239000 RECRES1 EQU RECMAP+2 02240000 RECLL EQU RECMAP 02241000 BLOKID EQU GTFBLOK 02242000 LENFIELD EQU DWSWAP+4 02243000 OLDLEN EQU DWCOMP+4 02244000 @NM00087 EQU DWCOMP 02245000 @NM00086 EQU SRB+40 02246000 @NM00085 EQU SRB+38 02247000 SRBPRIOR EQU SRB+37 02248000 SRBPKF EQU SRB+36 02249000 SRBSAVE EQU SRB+32 02250000 SRBPARM EQU SRB+28 02251000 SRBRMTR EQU SRB+24 02252000 SRBEP EQU SRB+20 02253000 SRBPTCB EQU SRBFLC+4 02254000 SRBPASID EQU SRBFLC+2 02255000 SRBCPAFF EQU SRBFLC 02256000 SRBASCB EQU SRB+8 02257000 SRBID EQU SRB 02258000 PCTWTOMD EQU GTFPCT+312 02259000 PCTDMPMD EQU GTFPCT+308 02260000 TRANSMAX EQU GTFPCT+304 02261000 @NM00084 EQU AUDITFLG+3 02262000 WSERFG06 EQU AUDITFLG+3 02263000 WSERFG05 EQU AUDITFLG+3 02264000 WSERFG04 EQU AUDITFLG+3 02265000 WSERFG03 EQU AUDITFLG+3 02266000 WSERFLAG EQU AUDITFLG+2 02267000 TERMFLAG EQU AUDITFLG+2 02268000 AFXWRIT EQU AUDITFLG+2 02269000 AFQLWAIT EQU AUDITFLG+2 02270000 AFSLEGET EQU AUDITFLG+2 02271000 AFBUFGET EQU AUDITFLG+2 02272000 AFFEOB EQU AUDITFLG+2 02273000 AFBLKFIX EQU AUDITFLG+1 02274000 AFEQFIX EQU AUDITFLG+1 02275000 AFPGRLSE EQU AUDITFLG+1 02276000 AFWRAP EQU AUDITFLG+1 02277000 AFBUFOFF EQU AUDITFLG+1 02278000 AFLDFX EQU AUDITFLG+1 02279000 AFCLOSE EQU AUDITFLG+1 02280000 AFOPEN EQU AUDITFLG+1 02281000 AFGMBLOK EQU AUDITFLG 02282000 AFGMSRB EQU AUDITFLG 02283000 AFWAIT EQU AUDITFLG 02284000 AFTERM EQU AUDITFLG 02285000 AFINIT EQU AUDITFLG 02286000 AFWWRIT EQU AUDITFLG 02287000 AFCWRIT EQU AUDITFLG 02288000 AFIWRIT EQU AUDITFLG 02289000 EQSHORT EQU GTFPCT+292 02290000 SLEMAX EQU GTFPCT+288 02291000 RQPURGE EQU GTFPCT+280 02292000 RQTOTAL EQU GTFPCT+276 02293000 NUMOFBUF EQU GTFPCT+268 02294000 SBUFDISA EQU GTFPCT+264 02295000 EQMIN EQU GTFPCT+256 02296000 WQMAX EQU GTFPCT+248 02297000 @NM00083 EQU QLOCKECB 02298000 @NM00082 EQU QLOCKWRD+3 02299000 WRITERDD EQU GTFPCT+228 02300000 GTFLOSTR EQU GTFPCT+224 02301000 SRBAVAIL EQU GTFSSRB 02302000 WRTRERRP EQU WRTRERR 02303000 @NM00081 EQU WRTRERR 02304000 TRMWRITP EQU TRMWRIT 02305000 @NM00080 EQU TRMWRIT 02306000 GTFCMECB EQU GTFPCT+208 02307000 @NM00079 EQU WRTRCOM 02308000 TRANSCNT EQU GTFPCT+200 02309000 AHLRDPLQ EQU GTFPCT+196 02310000 SFEOBRTN EQU GTFPCT+192 02311000 GBCDS EQU NEXTBLOK 02312000 WSMODEND EQU GTFPCT+176 02313000 WSMODBEG EQU GTFPCT+172 02314000 BCBPAGE EQU GTFPCT+156 02315000 SLEPAGE EQU GTFPCT+152 02316000 HQLENGTH EQU GTFPCT+140 02317000 WPOSTSRB EQU GTFPCT+116 02318000 WTSKTCBA EQU GTFPCT+112 02319000 WRTRTCBA EQU GTFPCT+108 02320000 TRMWTASK EQU GTFPCT+104 02321000 WTSKATTH EQU GTFPCT+100 02322000 WTSKINIT EQU GTFPCT+96 02323000 WTASKECB EQU GTFPCT+92 02324000 WMTABPTR EQU GTFPCT+88 02325000 ATTCHECB EQU GTFPCT+84 02326000 AHLECB EQU GTFPCT+80 02327000 STOPECBA EQU GTFPCT+76 02328000 ECBADRLT EQU GTFPCT+72 02329000 FIXLEN EQU GTFPCT+68 02330000 FIXPTR EQU GTFPCT+64 02331000 INITPTR EQU GTFPCT+60 02332000 MCQEPTR EQU GTFPCT+56 02333000 GTFEIDL EQU GTFPCT+52 02334000 GTFPIBL EQU GTFPCT+48 02335000 GTFPIFT EQU GTFPCT+44 02336000 GTFSVCBL EQU GTFPCT+40 02337000 GTFSVCFT EQU GTFPCT+36 02338000 GTFIOBL EQU GTFPCT+32 02339000 GTFIOFT EQU GTFPCT+28 02340000 GTFSIOBL EQU GTFPCT+24 02341000 GTFSIOFT EQU GTFPCT+20 02342000 @NM00078 EQU PCTCATF+1 02343000 PCTPIF EQU PCTCATF+1 02344000 PCTSIOF EQU PCTCATF+1 02345000 PCTIOF EQU PCTCATF+1 02346000 PCTSVCF EQU PCTCATF+1 02347000 PCTRR EQU PCTCATF+1 02348000 PCTSRM EQU PCTCATF+1 02349000 PCTRNIO EQU PCTCATF+1 02350000 PCTUSR EQU PCTCATF 02351000 PCTPI EQU PCTCATF 02352000 @NM00077 EQU PCTCATF 02353000 PCTDSP EQU PCTCATF 02354000 PCTSIO EQU PCTCATF 02355000 PCTIO EQU PCTCATF 02356000 PCTEXT EQU PCTCATF 02357000 PCTSVC EQU PCTCATF 02358000 OPTRES3 EQU GTFOPTS4 02359000 OPTIOSIO EQU GTFOPTS3 02360000 OPTRES2 EQU GTFOPTS3 02361000 OPTRR EQU GTFOPTS3 02362000 OPTSRM EQU GTFOPTS3 02363000 OPTRNIO EQU GTFOPTS3 02364000 OPTEXT EQU GTFOPTS3 02365000 OPTIOP EQU GTFOPTS2 02366000 OPTIO EQU GTFOPTS2 02367000 OPTPIP EQU GTFOPTS2 02368000 OPTPI EQU GTFOPTS2 02369000 OPTSIOP EQU GTFOPTS2 02370000 OPTSIO EQU GTFOPTS2 02371000 OPTSVCP EQU GTFOPTS2 02372000 OPTSVC EQU GTFOPTS2 02373000 OPTPCI EQU GTFOPTS1 02374000 OPTRES1 EQU GTFOPTS1 02375000 OPTDSP EQU GTFOPTS1 02376000 OPTTRC EQU GTFOPTS1 02377000 OPTUSR EQU GTFOPTS1 02378000 OPTSYS EQU GTFOPTS1 02379000 OPTSYSP EQU GTFOPTS1 02380000 OPTSYSM EQU GTFOPTS1 02381000 GTFRESV EQU GTFSTAT 02382000 GTFDEBUG EQU GTFSTAT 02383000 GTFMODE EQU GTFSTAT 02384000 GTFPCTID EQU GTFPCT 02385000 ASCBEND EQU ASCB+208 02386000 ASCBSRBT EQU ASCB+200 02387000 ASCBSWTL EQU ASCB+196 02388000 ASCBRS14 EQU ASCB+195 02389000 ASCBSMCT EQU ASCB+194 02390000 ASCBRS12 EQU ASCB+192 02391000 ASCBPCTT EQU ASCB+188 02392000 ASCBVGTT EQU ASCB+184 02393000 ASCBLGCB EQU ASCB+180 02394000 ASCBJBNS EQU ASCB+176 02395000 ASCBJBNI EQU ASCB+172 02396000 ASCBMCC EQU ASCB+168 02397000 ASCBRTWA EQU ASCB+164 02398000 ASCBIQEA EQU ASCB+160 02399000 ASCBXMPQ EQU ASCB+156 02400000 ASCBRS01 EQU ASCB+154 02401000 ASCBFMCT EQU ASCB+152 02402000 ASCBOUXB EQU ASCB+148 02403000 ASCBOUCB EQU ASCB+144 02404000 ASCBMECB EQU ASCB+140 02405000 ASCBQECB EQU ASCB+136 02406000 ASCBCMSB EQU ASCB+132 02407000 ASCBCMSF EQU ASCB+128 02408000 ASCBTCBS EQU ASCB+124 02409000 ASCBNVSC EQU ASCB+122 02410000 ASCBVSC EQU ASCB+120 02411000 ASCBSRBS EQU ASCB+118 02412000 ASCBSSRB EQU ASCB+116 02413000 ASCBRV06 EQU ASCBFLG2 02414000 ASCBRV05 EQU ASCBFLG2 02415000 ASCBRV04 EQU ASCBFLG2 02416000 ASCBSNQS EQU ASCBFLG2 02417000 ASCBS2S EQU ASCBFLG2 02418000 ASCBCEXT EQU ASCBFLG2 02419000 ASCBPXMT EQU ASCBFLG2 02420000 ASCBXMPT EQU ASCBFLG2 02421000 ASCBRF07 EQU ASCBDSP1 02422000 ASCBRF06 EQU ASCBDSP1 02423000 ASCBRF05 EQU ASCBDSP1 02424000 ASCBRF04 EQU ASCBDSP1 02425000 ASCBRF03 EQU ASCBDSP1 02426000 ASCBRF02 EQU ASCBDSP1 02427000 ASCBFAIL EQU ASCBDSP1 02428000 ASCBNOQ EQU ASCBDSP1 02429000 ASCBSWCT EQU ASCB+112 02430000 ASCBASXB EQU ASCB+108 02431000 ASCBTMCH EQU ASCB+104 02432000 ASCBNSWP EQU ASCBFLG1 02433000 ASCBTYP1 EQU ASCBFLG1 02434000 ASCBSTND EQU ASCBFLG1 02435000 ASCBABNT EQU ASCBFLG1 02436000 ASCBTERM EQU ASCBFLG1 02437000 ASCBS3S EQU ASCBFLG1 02438000 ASCBCMSH EQU ASCBFLG1 02439000 ASCBTOFF EQU ASCBFLG1 02440000 ASCBRF01 EQU ASCBRCTF 02441000 ASCBTMLW EQU ASCBRCTF 02442000 ASCBOUT EQU ASCBRCTF 02443000 ASCBWAIT EQU ASCBRCTF 02444000 ASCBRV08 EQU ASCBRCTF 02445000 ASCBFQU EQU ASCBRCTF 02446000 ASCBFRS EQU ASCBRCTF 02447000 ASCBTMNO EQU ASCBRCTF 02448000 ASCBAFFN EQU ASCBFW1 02449000 ASCBDUMP EQU ASCB+96 02450000 ASCBQSVC EQU ASCB+92 02451000 ASCBUBET EQU ASCB+88 02452000 ASCBECB EQU ASCB+84 02453000 ASCBJSTL EQU ASCB+80 02454000 ASCBEWST EQU ASCB+72 02455000 ASCBEJST EQU ASCB+64 02456000 ASCBTSB EQU ASCB+60 02457000 ASCBCSCB EQU ASCB+56 02458000 ASCBRSM EQU ASCB+52 02459000 ASCBLDA EQU ASCB+48 02460000 ASCBSTOR EQU ASCB+44 02461000 ASCBDP EQU ASCB+43 02462000 ASCBRV07 EQU ASCB+42 02463000 ASCBIOSM EQU ASCB+40 02464000 ASCBSEQN EQU ASCB+38 02465000 ASCBCPUS EQU ASCB+32 02466000 ASCBSPL EQU ASCB+28 02467000 ASCBLSLQ EQU ASCB+24 02468000 ASCBFSLQ EQU ASCB+20 02469000 ASCBIOSP EQU ASCB+16 02470000 ASCBLOCK EQU ASCB+12 02471000 ASCBBWDP EQU ASCB+8 02472000 ASCBFWDP EQU ASCB+4 02473000 ASCBASCB EQU ASCB 02474000 ASCBEGIN EQU ASCB 02475000 @NM00076 EQU SDWA+512 02476000 SDWAVRA EQU SDWARA+4 02477000 SDWAURAL EQU SDWARA+3 02478000 @NM00075 EQU SDWADPVA 02479000 SDWAEBC EQU SDWADPVA 02480000 SDWAHEX EQU SDWADPVA 02481000 SDWAVRAL EQU SDWARA 02482000 @NM00074 EQU SDWA+396 02483000 SDWACOMP EQU SDWA+392 02484000 SDWARCPL EQU SDWA+364 02485000 @NM00073 EQU SDWADPSA+32 02486000 SDWATO4 EQU SDWADPSL+28 02487000 SDWAFRM4 EQU SDWADPSL+24 02488000 SDWATO3 EQU SDWADPSL+20 02489000 SDWAFRM3 EQU SDWADPSL+16 02490000 SDWATO2 EQU SDWADPSL+12 02491000 SDWAFRM2 EQU SDWADPSL+8 02492000 SDWATO1 EQU SDWADPSL+4 02493000 SDWAFRM1 EQU SDWADPSL 02494000 @NM00072 EQU SDWADDAT+3 02495000 @NM00071 EQU SDWAPDAT 02496000 SDWAUSPL EQU SDWAPDAT 02497000 SDWADPSW EQU SDWAPDAT 02498000 SDWATJPA EQU SDWAPDAT 02499000 SDWATLPA EQU SDWAPDAT 02500000 SDWADREG EQU SDWAPDAT 02501000 SDWADSAH EQU SDWAPDAT 02502000 SDWADSAS EQU SDWAPDAT 02503000 @NM00070 EQU SDWADDAT+1 02504000 @NM00069 EQU SDWASDAT 02505000 SDWAQQS EQU SDWASDAT 02506000 SDWACBS EQU SDWASDAT 02507000 SDWAGTF EQU SDWASDAT 02508000 SDWASWA EQU SDWASDAT 02509000 SDWALSQA EQU SDWASDAT 02510000 SDWASQA EQU SDWASDAT 02511000 SDWANUC EQU SDWASDAT 02512000 @NM00068 EQU SDWADUMP+2 02513000 @NM00067 EQU SDWADPFS 02514000 SDWASLST EQU SDWADPFS 02515000 @NM00066 EQU SDWADPFS 02516000 SDWADLST EQU SDWADPFS 02517000 SDWADPT EQU SDWADPFS 02518000 SDWADPID EQU SDWADUMP 02519000 SDWADPLA EQU SDWA+316 02520000 SDWAREXN EQU SDWARECP+16 02521000 SDWACSCT EQU SDWARECP+8 02522000 SDWAMODN EQU SDWARECP 02523000 @NM00065 EQU SDWALKWA+32 02524000 SDWATALW EQU SDWALKWS+28 02525000 SDWATDLW EQU SDWALKWS+24 02526000 SDWATNLW EQU SDWALKWS+20 02527000 SDWAAPLW EQU SDWALKWS+16 02528000 SDWAIPLW EQU SDWALKWS+12 02529000 SDWAILLW EQU SDWALKWS+8 02530000 SDWAIULW EQU SDWALKWS+4 02531000 SDWAICLW EQU SDWALKWS 02532000 SDWAFLLK EQU SDWAACF4 02533000 SDWACMS EQU SDWAACF4 02534000 SDWAOPTM EQU SDWAACF4 02535000 SDWATADB EQU SDWAACF4 02536000 SDWATDNB EQU SDWAACF4 02537000 SDWATNCB EQU SDWAACF4 02538000 SDWAILCH EQU SDWAACF4 02539000 SDWAIUCB EQU SDWAACF4 02540000 SDWAICAT EQU SDWAACF3 02541000 SDWAIPRG EQU SDWAACF3 02542000 SDWASALL EQU SDWAACF3 02543000 SDWAASMP EQU SDWAACF3 02544000 SDWADISP EQU SDWAACF3 02545000 @NM00064 EQU SDWAACF3 02546000 @NM00063 EQU SDWAACF2 02547000 SDWAFREE EQU SDWAACF2 02548000 SDWAUPRG EQU SDWAACF2 02549000 @NM00062 EQU SDWAACF2 02550000 SDWASPIN EQU SDWAACF2 02551000 @NM00061 EQU SDWAACF2 02552000 SDWALCPU EQU SDWACPUA+2 02553000 @NM00060 EQU SDWACPUA 02554000 SDWARECA EQU SDWA+244 02555000 @NM00059 EQU SDWA+239 02556000 @NM00058 EQU SDWAIOFS 02557000 SDWANIOP EQU SDWAIOFS 02558000 SDWANOIO EQU SDWAIOFS 02559000 SDWAIOHT EQU SDWAIOFS 02560000 SDWAIOQR EQU SDWAIOFS 02561000 SDWAFMID EQU SDWA+236 02562000 @NM00057 EQU SDWAERRD 02563000 SDWAMCIV EQU SDWAERRD 02564000 SDWARPIV EQU SDWAERRD 02565000 SDWAMABD EQU SDWAERRD 02566000 SDWACTS EQU SDWAERRD 02567000 SDWASTAE EQU SDWAERRD 02568000 SDWANRBE EQU SDWAERRD 02569000 SDWACLUP EQU SDWAERRD 02570000 @NM00056 EQU SDWAERRC 02571000 SDWAEAS EQU SDWAERRC 02572000 SDWAPERC EQU SDWAERRC 02573000 SDWAIRB EQU SDWAERRC 02574000 SDWASTAI EQU SDWAERRC 02575000 SDWASTAF EQU SDWAERRC 02576000 SDWASRBM EQU SDWAERRB 02577000 SDWALDIS EQU SDWAERRB 02578000 SDWAENRB EQU SDWAERRB 02579000 SDWATYP1 EQU SDWAERRB 02580000 @NM00055 EQU SDWAERRB 02581000 SDWAPGIO EQU SDWAERRA 02582000 SDWATEXC EQU SDWAERRA 02583000 SDWASVCE EQU SDWAERRA 02584000 SDWAABTM EQU SDWAERRA 02585000 SDWASVCD EQU SDWAERRA 02586000 SDWARKEY EQU SDWAERRA 02587000 SDWAPCHK EQU SDWAERRA 02588000 SDWATIME EQU SDWAMCH+20 02589000 SDWARFSA EQU SDWAMCH+16 02590000 @NM00054 EQU SDWAMCH+14 02591000 SDWAVEQR EQU SDWARSR2 02592000 SDWAPGFX EQU SDWARSR2 02593000 SDWAFLSQ EQU SDWARSR2 02594000 SDWAFSQA EQU SDWARSR2 02595000 SDWANUCL EQU SDWARSR2 02596000 SDWASPER EQU SDWARSR2 02597000 SDWAINTC EQU SDWARSR2 02598000 SDWAOFLN EQU SDWARSR2 02599000 SDWACHNG EQU SDWARSR1 02600000 SDWAMSER EQU SDWARSR1 02601000 @NM00053 EQU SDWARSR1 02602000 SDWACPID EQU SDWAMCH+10 02603000 SDWATERR EQU SDWAMCHD 02604000 SDWAFPRX EQU SDWAMCHD 02605000 SDWAACR EQU SDWAMCHD 02606000 SDWASCK EQU SDWAMCHD 02607000 SDWASKYF EQU SDWAMCHD 02608000 @NM00052 EQU SDWAMCHS 02609000 SDWARSRF EQU SDWAMCHS 02610000 SDWARSRC EQU SDWAMCHS 02611000 SDWAINVP EQU SDWAMCHS 02612000 SDWATSVL EQU SDWAMCHS 02613000 SDWARCDF EQU SDWAMCHS 02614000 SDWASRVL EQU SDWAMCHS 02615000 SDWASCKE EQU SDWASTCK+4 02616000 SDWASCKB EQU SDWASTCK 02617000 SDWALNTH EQU SDWAIDNT+1 02618000 SDWASPID EQU SDWAIDNT 02619000 SDWASR15 EQU SDWASRSV+60 02620000 SDWASR14 EQU SDWASRSV+56 02621000 SDWASR13 EQU SDWASRSV+52 02622000 SDWASR12 EQU SDWASRSV+48 02623000 SDWASR11 EQU SDWASRSV+44 02624000 SDWASR10 EQU SDWASRSV+40 02625000 SDWASR09 EQU SDWASRSV+36 02626000 SDWASR08 EQU SDWASRSV+32 02627000 SDWASR07 EQU SDWASRSV+28 02628000 SDWASR06 EQU SDWASRSV+24 02629000 SDWASR05 EQU SDWASRSV+20 02630000 SDWASR04 EQU SDWASRSV+16 02631000 SDWASR03 EQU SDWASRSV+12 02632000 SDWASR02 EQU SDWASRSV+8 02633000 SDWASR01 EQU SDWASRSV+4 02634000 SDWASR00 EQU SDWASRSV 02635000 SDWATRN2 EQU SDWAAEC2+4 02636000 SDWAIPC2 EQU SDWAICD2 02637000 SDWAIMC2 EQU SDWAICD2 02638000 SDWAIPR2 EQU SDWAICD2 02639000 @NM00051 EQU SDWAINC2 02640000 @NM00050 EQU SDWAILC2 02641000 SDWAIL2 EQU SDWAILC2 02642000 @NM00049 EQU SDWAILC2 02643000 @NM00048 EQU SDWAAEC2 02644000 SDWAADD2 EQU SDWANXT2+1 02645000 @NM00047 EQU SDWANXT2 02646000 @NM00046 EQU SDWAEC2+3 02647000 SDWASGN2 EQU SDWAINT2 02648000 SDWAEXP2 EQU SDWAINT2 02649000 SDWADEC2 EQU SDWAINT2 02650000 SDWAFPO2 EQU SDWAINT2 02651000 SDWACC2 EQU SDWAINT2 02652000 @NM00045 EQU SDWAINT2 02653000 SDWAPGM2 EQU SDWAMWP2 02654000 SDWAWAT2 EQU SDWAMWP2 02655000 SDWAMCK2 EQU SDWAMWP2 02656000 SDWAECT2 EQU SDWAMWP2 02657000 SDWAKEY2 EQU SDWAMWP2 02658000 SDWAEXT2 EQU SDWAEMK2 02659000 SDWAIO2 EQU SDWAEMK2 02660000 SDWATRM2 EQU SDWAEMK2 02661000 @NM00044 EQU SDWAEMK2 02662000 SDWAPER2 EQU SDWAEMK2 02663000 @NM00043 EQU SDWAEMK2 02664000 SDWATRAN EQU SDWAAEC1+4 02665000 SDWAIPC1 EQU SDWAICD1 02666000 SDWAIMC1 EQU SDWAICD1 02667000 SDWAIPR1 EQU SDWAICD1 02668000 @NM00042 EQU SDWAINC1 02669000 @NM00041 EQU SDWAILC1 02670000 SDWAIL1 EQU SDWAILC1 02671000 @NM00040 EQU SDWAILC1 02672000 @NM00039 EQU SDWAAEC1 02673000 SDWAADD1 EQU SDWANXT1+1 02674000 @NM00038 EQU SDWANXT1 02675000 @NM00037 EQU SDWAEC1+3 02676000 SDWASGN1 EQU SDWAINT1 02677000 SDWAEXP1 EQU SDWAINT1 02678000 SDWADEC1 EQU SDWAINT1 02679000 SDWAFPO1 EQU SDWAINT1 02680000 SDWACC1 EQU SDWAINT1 02681000 @NM00036 EQU SDWAINT1 02682000 SDWAPGM1 EQU SDWAMWP1 02683000 SDWAWAT1 EQU SDWAMWP1 02684000 SDWAMCK1 EQU SDWAMWP1 02685000 SDWAECT1 EQU SDWAMWP1 02686000 SDWAKEY1 EQU SDWAMWP1 02687000 SDWAEXT1 EQU SDWAEMK1 02688000 SDWAIO1 EQU SDWAEMK1 02689000 SDWATRM1 EQU SDWAEMK1 02690000 @NM00035 EQU SDWAEMK1 02691000 SDWAPER1 EQU SDWAEMK1 02692000 @NM00034 EQU SDWAEMK1 02693000 SDWAIOBR EQU SDWA+100 02694000 SDWAEPA EQU SDWA+96 02695000 @NM00033 EQU SDWANAME+4 02696000 SDWARBAD EQU SDWANAME 02697000 SDWAGR15 EQU SDWAGRSV+60 02698000 SDWAGR14 EQU SDWAGRSV+56 02699000 SDWAGR13 EQU SDWAGRSV+52 02700000 SDWAGR12 EQU SDWAGRSV+48 02701000 SDWAGR11 EQU SDWAGRSV+44 02702000 SDWAGR10 EQU SDWAGRSV+40 02703000 SDWAGR09 EQU SDWAGRSV+36 02704000 SDWAGR08 EQU SDWAGRSV+32 02705000 SDWAGR07 EQU SDWAGRSV+28 02706000 SDWAGR06 EQU SDWAGRSV+24 02707000 SDWAGR05 EQU SDWAGRSV+20 02708000 SDWAGR04 EQU SDWAGRSV+16 02709000 SDWAGR03 EQU SDWAGRSV+12 02710000 SDWAGR02 EQU SDWAGRSV+8 02711000 SDWAGR00 EQU SDWAGRSV 02712000 SDWANXTP EQU SDWACTL2+5 02713000 SDWASGP EQU SDWAPMKP 02714000 SDWAEUP EQU SDWAPMKP 02715000 SDWADOP EQU SDWAPMKP 02716000 SDWAFPP EQU SDWAPMKP 02717000 SDWACCP EQU SDWAPMKP 02718000 SDWAILP EQU SDWAPMKP 02719000 SDWAINTP EQU SDWACTL2+2 02720000 SDWASPVP EQU SDWAMWPP 02721000 SDWAWATP EQU SDWAMWPP 02722000 SDWAMCKP EQU SDWAMWPP 02723000 @NM00032 EQU SDWAMWPP 02724000 SDWAKEYP EQU SDWAMWPP 02725000 SDWAEXTP EQU SDWACMKP 02726000 SDWAIOP EQU SDWACMKP 02727000 SDWANXTA EQU SDWACTL1+5 02728000 SDWASGA EQU SDWAPMKA 02729000 SDWAEUA EQU SDWAPMKA 02730000 SDWADOA EQU SDWAPMKA 02731000 SDWAFPA EQU SDWAPMKA 02732000 SDWACCA EQU SDWAPMKA 02733000 SDWAILA EQU SDWAPMKA 02734000 SDWAINTA EQU SDWACTL1+2 02735000 SDWASPVA EQU SDWAMWPA 02736000 SDWAWATA EQU SDWAMWPA 02737000 SDWAMCKA EQU SDWAMWPA 02738000 @NM00031 EQU SDWAMWPA 02739000 SDWAKEYA EQU SDWAMWPA 02740000 SDWAEXTA EQU SDWACMKA 02741000 SDWAIOA EQU SDWACMKA 02742000 SDWACMPC EQU SDWAABCC+1 02743000 @NM00030 EQU SDWACMPF 02744000 SDWASTCC EQU SDWACMPF 02745000 @NM00029 EQU SDWACMPF 02746000 SDWASTEP EQU SDWACMPF 02747000 SDWAREQ EQU SDWACMPF 02748000 SDWAPARM EQU SDWA 02749000 @NM00028 EQU FRRSFLGS+1 02750000 @NM00027 EQU FRRSFLG1 02751000 FRRSNEST EQU FRRSFLG1 02752000 FRRSRCUR EQU FRRSFLG1 02753000 FRRSENTS EQU FRRS+84 02754000 FRRSRTMW EQU FRRS+16 02755000 CVTLEVL EQU CVTRELNO+2 02756000 CVTNUMB EQU CVTRELNO 02757000 CVTMDL EQU CVTFIX+250 02758000 @NM00002 EQU CVTFIX+248 02759000 @NM00001 EQU CVTFIX 02760000 CVTRV482 EQU CVTXTNT2+128 02761000 CVTRV481 EQU CVTXTNT2+124 02762000 CVTRV480 EQU CVTXTNT2+120 02763000 CVTRV479 EQU CVTXTNT2+118 02764000 CVTRV478 EQU CVTXTNT2+117 02765000 CVTRV477 EQU CVTXTNT2+116 02766000 CVTRV476 EQU CVTXTNT2+115 02767000 CVTRV475 EQU CVTXTNT2+114 02768000 CVTRV474 EQU CVTRV466 02769000 CVTRV473 EQU CVTRV466 02770000 CVTRV472 EQU CVTRV466 02771000 CVTRV471 EQU CVTRV466 02772000 CVTRV470 EQU CVTRV466 02773000 CVTRV469 EQU CVTRV466 02774000 CVTRV468 EQU CVTRV466 02775000 CVTRV467 EQU CVTRV466 02776000 CVTRV465 EQU CVTRV457 02777000 CVTRV464 EQU CVTRV457 02778000 CVTRV463 EQU CVTRV457 02779000 CVTRV462 EQU CVTRV457 02780000 CVTRV461 EQU CVTRV457 02781000 CVTRV460 EQU CVTRV457 02782000 CVTRV459 EQU CVTRV457 02783000 CVTRV458 EQU CVTRV457 02784000 CVTRV456 EQU CVTXTNT2+108 02785000 CVTRV455 EQU CVTXTNT2+104 02786000 CVTRV454 EQU CVTXTNT2+100 02787000 CVTRV453 EQU CVTXTNT2+96 02788000 CVTRV452 EQU CVTXTNT2+94 02789000 CVTRV451 EQU CVTXTNT2+92 02790000 CVTRV450 EQU CVTXTNT2+90 02791000 CVTRV449 EQU CVTXTNT2+88 02792000 CVTRV448 EQU CVTXTNT2+87 02793000 CVTRV447 EQU CVTXTNT2+86 02794000 CVTRV446 EQU CVTRV438 02795000 CVTRV445 EQU CVTRV438 02796000 CVTRV444 EQU CVTRV438 02797000 CVTRV443 EQU CVTRV438 02798000 CVTRV442 EQU CVTRV438 02799000 CVTRV441 EQU CVTRV438 02800000 CVTRV440 EQU CVTRV438 02801000 CVTRV439 EQU CVTRV438 02802000 CVTRV437 EQU CVTRV429 02803000 CVTRV436 EQU CVTRV429 02804000 CVTRV435 EQU CVTRV429 02805000 CVTRV434 EQU CVTRV429 02806000 CVTRV433 EQU CVTRV429 02807000 CVTRV432 EQU CVTRV429 02808000 CVTRV431 EQU CVTRV429 02809000 CVTRV430 EQU CVTRV429 02810000 CVTRV428 EQU CVTXTNT2+80 02811000 CVTRV427 EQU CVTXTNT2+76 02812000 CVTRV426 EQU CVTXTNT2+72 02813000 CVTRV425 EQU CVTXTNT2+68 02814000 CVTATACT EQU CVTATCVT 02815000 CVTRV423 EQU CVTXTNT2+62 02816000 CVTRV422 EQU CVTXTNT2+60 02817000 CVTRV421 EQU CVTXTNT2+58 02818000 CVTRV420 EQU CVTXTNT2+56 02819000 CVTRV419 EQU CVTXTNT2+55 02820000 CVTRV418 EQU CVTXTNT2+54 02821000 CVTRV417 EQU CVTRV409 02822000 CVTRV416 EQU CVTRV409 02823000 CVTRV415 EQU CVTRV409 02824000 CVTRV414 EQU CVTRV409 02825000 CVTRV413 EQU CVTRV409 02826000 CVTRV412 EQU CVTRV409 02827000 CVTRV411 EQU CVTRV409 02828000 CVTRV410 EQU CVTRV409 02829000 CVTRV408 EQU CVTRV400 02830000 CVTRV407 EQU CVTRV400 02831000 CVTRV406 EQU CVTRV400 02832000 CVTRV405 EQU CVTRV400 02833000 CVTRV404 EQU CVTRV400 02834000 CVTRV403 EQU CVTRV400 02835000 CVTRV402 EQU CVTRV400 02836000 CVTRV401 EQU CVTRV400 02837000 CVTRSVA1 EQU CVTXTNT2+48 02838000 CVTRSVA0 EQU CVTXTNT2+44 02839000 CVTRSV99 EQU CVTXTNT2+40 02840000 CVTRSV98 EQU CVTXTNT2+36 02841000 CVTRSV97 EQU CVTXTNT2+34 02842000 CVTRSV96 EQU CVTXTNT2+32 02843000 CVTOLTEP EQU CVTXTNT2+28 02844000 CVTQIDA EQU CVTQID+1 02845000 CVTRSV95 EQU CVTQID 02846000 CVTRSV94 EQU CVTXTNT2+20 02847000 CVTRSV93 EQU CVTXTNT2+16 02848000 CVTRSV92 EQU CVTXTNT2+12 02849000 CVTDEBVR EQU CVTXTNT2+8 02850000 CVTRSV91 EQU CVTXTNT2+6 02851000 CVTRSV9H EQU CVTRSV90 02852000 CVTRSV9G EQU CVTRSV90 02853000 CVTRSV9F EQU CVTRSV90 02854000 CVTRSV9E EQU CVTRSV90 02855000 CVTRSV9D EQU CVTRSV90 02856000 CVTRSV9C EQU CVTRSV90 02857000 CVTRSV9B EQU CVTRSV90 02858000 CVTRSV9A EQU CVTRSV90 02859000 CVTNUCLS EQU CVTXTNT2+4 02860000 CVTDSSVA EQU CVTDSSV+1 02861000 CVTRSV89 EQU CVTDSSV 02862000 CVTRSV88 EQU CVTXTNT1+8 02863000 CVTRSV87 EQU CVTXTNT1+4 02864000 CVTFACHN EQU CVTXTNT1 02865000 CVTRV488 EQU CVTMAP+412 02866000 CVTRV487 EQU CVTMAP+408 02867000 CVTRV486 EQU CVTMAP+404 02868000 CVTRV485 EQU CVTMAP+400 02869000 CVTRV484 EQU CVTMAP+396 02870000 CVTAUTH EQU CVTMAP+392 02871000 CVTATMCA EQU CVTATMCT+1 02872000 CVTATMST EQU CVTATMCT 02873000 CVTRSV61 EQU CVTMAP+384 02874000 CVTVOLT1 EQU CVTVOLM1+1 02875000 CVTVOLI1 EQU CVTVOLF1 02876000 CVTSTOA EQU CVTMAP+376 02877000 CVTRSV58 EQU CVTMAP+374 02878000 CVTRSV57 EQU CVTMAP+372 02879000 CVTDDCE EQU CVTMAP+368 02880000 CVTPNWFR EQU CVTMAP+364 02881000 CVTSMF EQU CVTMAP+360 02882000 CVTSULK EQU CVTMAP+358 02883000 CVTSLKO EQU CVTSYSK 02884000 CVTSLKP EQU CVTSYSK 02885000 CVTSLKQ EQU CVTSYSK 02886000 CVTSLKR EQU CVTSYSK 02887000 CVTRSV56 EQU CVTSYSK 02888000 CVTRSV55 EQU CVTSYSK 02889000 CVTRSV54 EQU CVTSYSK 02890000 CVTRSV53 EQU CVTSYSK 02891000 CVTRSV52 EQU CVTA1F1 02892000 CVTRSV51 EQU CVTA1F1 02893000 CVTRSV50 EQU CVTA1F1 02894000 CVTRSV49 EQU CVTA1F1 02895000 CVTRSV48 EQU CVTA1F1 02896000 CVTRSV47 EQU CVTA1F1 02897000 CVTSRSW EQU CVTA1F1 02898000 CVTPFSW EQU CVTA1F1 02899000 CVTPCVT EQU CVTMAP+352 02900000 CVTRSV46 EQU CVTMAP+344 02901000 CVTRSV45 EQU CVTMAP+340 02902000 CVTRSV44 EQU CVTMAP+338 02903000 CVTRSV43 EQU CVTMAP+336 02904000 CVTHJESA EQU CVTHJES+1 02905000 CVTRSV42 EQU CVTHJES 02906000 CVTEXT2A EQU CVTEXT2+1 02907000 CVTRSV41 EQU CVTEXT2 02908000 CVTAPFA EQU CVTAPF+1 02909000 CVTRSV40 EQU CVTAPF 02910000 CVTINTLA EQU CVTMAP+320 02911000 CVTERPV EQU CVTMAP+316 02912000 CVTEORM EQU CVTMAP+312 02913000 CVTMCHPR EQU CVTMAP+308 02914000 CVTTZ EQU CVTMAP+304 02915000 CVTJEPS EQU CVTMAP+300 02916000 CVTJESCT EQU CVTMAP+296 02917000 CVTMODE EQU CVTMAP+292 02918000 CVTPTRV EQU CVTMAP+288 02919000 CVTREAL EQU CVTMAP+284 02920000 CVTRSV39 EQU CVTMAP+280 02921000 CVTRSV38 EQU CVTMAP+276 02922000 CVTDMSRA EQU CVTDMSR+1 02923000 CVTRSV37 EQU CVTDMSR 02924000 CVTQMSGA EQU CVTQMSG+1 02925000 CVTRSV36 EQU CVTQMSG 02926000 CVTAMFF EQU CVTMAP+264 02927000 CVTPURGA EQU CVTPURG+1 02928000 CVTRSV35 EQU CVTPURG 02929000 CVTCBSP EQU CVTMAP+256 02930000 CVTATERA EQU CVTATER+1 02931000 CVTSYST EQU CVTATER 02932000 CVTVOLT2 EQU CVTTAT 02933000 CVTVOLI2 EQU CVTVOLF2 02934000 CVTAQAVB EQU CVTAQAVT+1 02935000 CVTRSV34 EQU CVTTCMFG 02936000 CVTRSV33 EQU CVTTCMFG 02937000 CVTRSV32 EQU CVTTCMFG 02938000 CVTRSV31 EQU CVTTCMFG 02939000 CVTRSV30 EQU CVTTCMFG 02940000 CVTRSV29 EQU CVTTCMFG 02941000 CVTRSV28 EQU CVTTCMFG 02942000 CVTTCRDY EQU CVTTCMFG 02943000 CVTGTFA EQU CVTGTF+1 02944000 CVTRSV27 EQU CVTGTFST 02945000 CVTRNIO EQU CVTGTFST 02946000 CVTRV319 EQU CVTUSR 02947000 CVTRV318 EQU CVTFORM 02948000 CVTRV317 EQU CVTTMODE 02949000 CVTRV316 EQU CVTSTATE 02950000 CVTRV315 EQU CVTGTFS 02951000 CVTGTFAV EQU CVTGTFS 02952000 CVT0SCR1 EQU CVTMAP+232 02953000 CVTRV515 EQU CVTMAP+228 02954000 CVTRMS EQU CVTMAP+224 02955000 CVTPATCH EQU CVTMAP+220 02956000 CVTTSCE EQU CVTMAP+216 02957000 CVTLNKSC EQU CVTMAP+214 02958000 CVTQABST EQU CVTMAP+212 02959000 CVTMDLDS EQU CVTMAP+208 02960000 CVTUSER EQU CVTMAP+204 02961000 CVTABEND EQU CVTMAP+200 02962000 CVTSMCA EQU CVTMAP+196 02963000 CVTRSV18 EQU CVTMAP+192 02964000 CVTQLPAQ EQU CVTMAP+188 02965000 CVTQCDSR EQU CVTMAP+184 02966000 CVTRSV17 EQU CVTOPTB 02967000 CVTRSV16 EQU CVTOPTB 02968000 CVTFP EQU CVTOPTB 02969000 CVTAPTHR EQU CVTOPTB 02970000 CVTNLOG EQU CVTOPTB 02971000 CVTTOD EQU CVTOPTB 02972000 CVTCTIMS EQU CVTOPTB 02973000 CVTPROT EQU CVTOPTB 02974000 CVTXPFP EQU CVTOPTA 02975000 CVTASCII EQU CVTOPTA 02976000 CVTRSV13 EQU CVTOPTA 02977000 CVTRSV12 EQU CVTOPTA 02978000 CVTNIP EQU CVTOPTA 02979000 CVTDDR EQU CVTOPTA 02980000 CVTAPR EQU CVTOPTA 02981000 CVTCCH EQU CVTOPTA 02982000 CVTSNCTR EQU CVTMAP+180 02983000 CVTQMWR EQU CVTMAP+176 02984000 CVTQOCR EQU CVTMAP+172 02985000 CVT1EF00 EQU CVTMAP+168 02986000 CVTMZ00 EQU CVTMAP+164 02987000 CVTHEAD EQU CVTMAP+160 02988000 CVTRSV11 EQU CVTMAP+156 02989000 CVT0PT01 EQU CVTMAP+152 02990000 CVTMSER EQU CVTMAP+148 02991000 CVTIERLC EQU CVTMAP+144 02992000 CVTILCH EQU CVTMAP+140 02993000 CVT0DS EQU CVTMAP+136 02994000 CVTFBOSV EQU CVTMAP+132 02995000 CVTNUCB EQU CVTMAP+128 02996000 CVTIXAVL EQU CVTMAP+124 02997000 CVTIOQET EQU CVTMAP+120 02998000 CVTDCBA EQU CVTMAP+117 02999000 CVTMVS2 EQU CVTDCB 03000000 CVT6DAT EQU CVTDCB 03001000 CVT4MPS EQU CVTDCB 03002000 CVTRSV09 EQU CVTDCB 03003000 CVT4MS1 EQU CVTDCB 03004000 CVT2SPS EQU CVTDCB 03005000 CVT1SSS EQU CVTDCB 03006000 CVTRSV08 EQU CVTDCB 03007000 CVTSTB EQU CVTMAP+112 03008000 CVTQTD00 EQU CVTMAP+108 03009000 CVTQTE00 EQU CVTMAP+104 03010000 CVTCUCB EQU CVTMAP+100 03011000 CVTSJQ EQU CVTMAP+96 03012000 CVTPBLDL EQU CVTMAP+92 03013000 CVTTPC EQU CVTMAP+88 03014000 CVTSVDCB EQU CVTMAP+84 03015000 CVTBRET EQU CVTMAP+82 03016000 CVTEXIT EQU CVTMAP+80 03017000 CVT0FN00 EQU CVTMAP+76 03018000 CVTDARA EQU CVTDAR+1 03019000 CVTRSV07 EQU CVTFLGS1 03020000 CVTRSV06 EQU CVTFLGS1 03021000 CVTRSV05 EQU CVTFLGS1 03022000 CVTRSV04 EQU CVTFLGS1 03023000 CVTRSV03 EQU CVTFLGS1 03024000 CVTRSV02 EQU CVTFLGS1 03025000 CVTRSV01 EQU CVTFLGS1 03026000 CVTDMPLK EQU CVTFLGS1 03027000 CVTXITP EQU CVTMAP+68 03028000 CVTZDTAB EQU CVTMAP+64 03029000 CVTMSLT EQU CVTMAP+60 03030000 CVTDATE EQU CVTMAP+56 03031000 CVTBTERM EQU CVTMAP+52 03032000 CVTSYSAD EQU CVTMAP+48 03033000 CVTXTLER EQU CVTMAP+44 03034000 CVTILK2 EQU CVTMAP+40 03035000 CVTILK1 EQU CVTMAP+36 03036000 CVTPRLTV EQU CVTMAP+32 03037000 CVTPCNVT EQU CVTMAP+28 03038000 CVT0VL00 EQU CVTMAP+24 03039000 CVTXAPG EQU CVTMAP+20 03040000 CVTBUF EQU CVTMAP+16 03041000 CVTJOB EQU CVTMAP+12 03042000 CVTLINK EQU CVTMAP+8 03043000 CVT0EF00 EQU CVTMAP+4 03044000 CVTTCBP EQU CVTMAP 03045000 CVT EQU CVTMAP 03046000 @NM00026 EQU PSA+3412 03047000 PSASTAK EQU PSA+3072 03048000 @NM00025 EQU PSA+1032 03049000 PSAUSEND EQU PSA+1032 03050000 PSAPCPSW EQU PSA+1024 03051000 PSARV060 EQU PSA+1020 03052000 PSARV059 EQU PSA+1018 03053000 PSASVC13 EQU PSA+1016 03054000 PSASFACC EQU PSA+1008 03055000 PSASTOP EQU PSA+992 03056000 PSASTART EQU PSA+976 03057000 PSARSPSW EQU PSA+968 03058000 PSASRPSW EQU PSA+960 03059000 PSARV045 EQU PSA+892 03060000 PSARV044 EQU PSA+888 03061000 PSARV043 EQU PSA+884 03062000 PSARV042 EQU PSA+880 03063000 PSARV041 EQU PSA+876 03064000 PSARV040 EQU PSA+872 03065000 PSARV025 EQU PSA+868 03066000 PSADSSED EQU PSA+868 03067000 PSADSSPR EQU PSA+864 03068000 PSADSSFW EQU PSA+860 03069000 PSADSS14 EQU PSA+856 03070000 PSADSSPP EQU PSA+848 03071000 PSADSSRP EQU PSA+840 03072000 PSADSS05 EQU PSADSSF4 03073000 PSADSS10 EQU PSADSSF4 03074000 PSADSSVE EQU PSADSSF4 03075000 PSADSSDE EQU PSADSSF4 03076000 PSADSSC0 EQU PSADSSF4 03077000 PSADSSIE EQU PSADSSF4 03078000 PSADSS12 EQU PSADSSF4 03079000 PSADSSRC EQU PSADSSF4 03080000 PSARV057 EQU PSADSSF3 03081000 PSARV056 EQU PSADSSF3 03082000 PSARV055 EQU PSADSSF3 03083000 PSARV054 EQU PSADSSF3 03084000 PSADSSRW EQU PSADSSF3 03085000 PSADSSNM EQU PSADSSF3 03086000 PSADSSES EQU PSADSSF3 03087000 PSADSSGP EQU PSADSSF3 03088000 PSADSSF2 EQU PSADSSFL+1 03089000 PSADSSPI EQU PSADSSF1 03090000 PSADSSOI EQU PSADSSF1 03091000 PSADSSSP EQU PSADSSF1 03092000 PSADSSTP EQU PSADSSF1 03093000 PSADSSDW EQU PSADSSF1 03094000 PSADSSDD EQU PSADSSF1 03095000 PSADSSDM EQU PSADSSF1 03096000 PSADSSMV EQU PSADSSF1 03097000 PSADSSTS EQU PSA+816 03098000 PSADSSWK EQU PSA+812 03099000 PSADSSR3 EQU PSA+808 03100000 PSADSSR2 EQU PSA+804 03101000 PSADSSRS EQU PSA+800 03102000 PSASTOR EQU PSA+796 03103000 PSARV058 EQU PSA+794 03104000 PSAVSTAP EQU PSA+792 03105000 PSAWKVAP EQU PSA+788 03106000 PSAWKRAP EQU PSA+784 03107000 PSAMCHIC EQU PSA+783 03108000 PSAMODE EQU PSA+782 03109000 PSASYMSK EQU PSA+781 03110000 PSAMCHFL EQU PSA+780 03111000 PSACR0 EQU PSA+776 03112000 PSAPSWSV EQU PSA+768 03113000 PSACLHS EQU PSAHLHI 03114000 PSALKR15 EQU PSALKSA+60 03115000 PSALKR14 EQU PSALKSA+56 03116000 PSALKR13 EQU PSALKSA+52 03117000 PSALKR12 EQU PSALKSA+48 03118000 PSALKR11 EQU PSALKSA+44 03119000 PSALKR10 EQU PSALKSA+40 03120000 PSALKR9 EQU PSALKSA+36 03121000 PSALKR8 EQU PSALKSA+32 03122000 PSALKR7 EQU PSALKSA+28 03123000 PSALKR6 EQU PSALKSA+24 03124000 PSALKR5 EQU PSALKSA+20 03125000 PSALKR4 EQU PSALKSA+16 03126000 PSALKR3 EQU PSALKSA+12 03127000 PSALKR2 EQU PSALKSA+8 03128000 PSALKR1 EQU PSALKSA+4 03129000 PSALKR0 EQU PSALKSA 03130000 PSARV023 EQU PSACLHT+52 03131000 PSALOCAL EQU PSACLHT+48 03132000 PSACMSL EQU PSACLHT+44 03133000 PSAOPTL EQU PSACLHT+40 03134000 PSATPACL EQU PSACLHT+36 03135000 PSATPDNL EQU PSACLHT+32 03136000 PSATPNCL EQU PSACLHT+28 03137000 PSAIOSLL EQU PSACLHT+24 03138000 PSAIOSUL EQU PSACLHT+20 03139000 PSAIOSCL EQU PSACLHT+16 03140000 PSAIOSSL EQU PSACLHT+12 03141000 PSASALCL EQU PSACLHT+8 03142000 PSAASML EQU PSACLHT+4 03143000 PSADISPL EQU PSACLHT 03144000 PSASRSA EQU PSA+636 03145000 PSARV050 EQU PSA+634 03146000 PSADSSGO EQU PSA+633 03147000 PSARECUR EQU PSA+632 03148000 PSAHLHIS EQU PSA+628 03149000 PSAIPCSA EQU PSA+624 03150000 @NM00024 EQU PSA+621 03151000 PSAIPCDM EQU PSA+620 03152000 PSAIPCD EQU PSA+616 03153000 @NM00023 EQU PSA+613 03154000 PSAIPCRM EQU PSA+612 03155000 PSAIPCR EQU PSA+608 03156000 PSAMCHEX EQU PSA+600 03157000 PSAMPSW EQU PSA+592 03158000 PSAEXPS2 EQU PSA+584 03159000 PSAEXPS1 EQU PSA+576 03160000 PSAPIREG EQU PSA+572 03161000 PSARSREG EQU PSA+568 03162000 PSAGPREG EQU PSA+556 03163000 PSARV022 EQU PSASUP4 03164000 PSARV021 EQU PSASUP4 03165000 PSARV020 EQU PSASUP4 03166000 PSARV019 EQU PSASUP4 03167000 PSARV018 EQU PSASUP4 03168000 PSARV017 EQU PSASUP4 03169000 PSARV016 EQU PSASUP4 03170000 PSARV015 EQU PSASUP4 03171000 PSARV014 EQU PSASUP3 03172000 PSARV013 EQU PSASUP3 03173000 PSARV012 EQU PSASUP3 03174000 PSARV011 EQU PSASUP3 03175000 PSARV010 EQU PSASUP3 03176000 PSARV009 EQU PSASUP3 03177000 PSARV008 EQU PSASUP3 03178000 PSAIOSUP EQU PSASUP3 03179000 PSALCR EQU PSASUP2 03180000 PSARTM EQU PSASUP2 03181000 PSAACR EQU PSASUP2 03182000 PSAIPCE2 EQU PSASUP2 03183000 PSAIPCES EQU PSASUP2 03184000 PSAIPCEC EQU PSASUP2 03185000 PSAGTF EQU PSASUP2 03186000 PSAIPCRI EQU PSASUP2 03187000 PSAIPCRP EQU PSASUP1 03188000 PSAIPCDR EQU PSASUP1 03189000 PSADISP EQU PSASUP1 03190000 PSALOCK EQU PSASUP1 03191000 PSAPI EQU PSASUP1 03192000 PSAEXT EQU PSASUP1 03193000 PSASVC EQU PSASUP1 03194000 PSAIO EQU PSASUP1 03195000 PSAAOLD EQU PSA+548 03196000 PSAANEW EQU PSA+544 03197000 PSATOLD EQU PSA+540 03198000 PSATNEW EQU PSA+536 03199000 PSALCCAR EQU PSA+532 03200000 PSALCCAV EQU PSA+528 03201000 PSAPCCAR EQU PSA+524 03202000 PSAPCCAV EQU PSA+520 03203000 PSACPULA EQU PSA+518 03204000 PSACPUPA EQU PSA+516 03205000 PSAPSA EQU PSA+512 03206000 FLCHDEND EQU PSA+512 03207000 FLCCRSAV EQU FLCMCLA+280 03208000 FLCGRSAV EQU FLCMCLA+216 03209000 FLCFPSAV EQU FLCMCLA+184 03210000 FLCFLA EQU FLCMCLA+88 03211000 FLCRGNCD EQU FLCMCLA+84 03212000 FLCFSAA EQU FLCFSA+1 03213000 @NM00022 EQU FLCFSA 03214000 @NM00021 EQU FLCMCLA+72 03215000 FLCMCIC EQU FLCMCLA+64 03216000 @NM00020 EQU FLCMCLA+20 03217000 FLCIOAA EQU FLCIOA+1 03218000 @NM00019 EQU FLCIOA 03219000 @NM00018 EQU FLCMCLA+15 03220000 @NM00017 EQU FLCMCLA+14 03221000 @NM00016 EQU FLCMCLA+12 03222000 FLCLCL EQU FLCMCLA+8 03223000 FLCIOELA EQU FLCIOEL+1 03224000 @NM00015 EQU FLCIOEL 03225000 FLCCHNID EQU FLCMCLA 03226000 @NM00014 EQU PSA+160 03227000 FLCMTRCD EQU PSA+157 03228000 @NM00013 EQU PSA+156 03229000 FLCPERA EQU FLCPER+1 03230000 @NM00012 EQU FLCPER 03231000 @NM00011 EQU PSA+151 03232000 FLCPERCD EQU PSA+150 03233000 FLCMCNUM EQU PSA+149 03234000 @NM00010 EQU PSA+148 03235000 FLCTEAA EQU FLCTEA+1 03236000 @NM00009 EQU FLCTEA 03237000 PSAPIPC EQU PSAPICOD 03238000 PSAPIMC EQU PSAPICOD 03239000 PSAPIPER EQU PSAPICOD 03240000 PSARV049 EQU FLCPICOD 03241000 FLCPILCB EQU FLCPIILC 03242000 @NM00008 EQU FLCPIILC 03243000 @NM00007 EQU PSAEPPSW 03244000 FLCSVCN EQU PSAESPSW+2 03245000 FLCSILCB EQU FLCSVILC 03246000 @NM00006 EQU FLCSVILC 03247000 @NM00005 EQU PSAESPSW 03248000 FLCEICOD EQU PSAEEPSW+2 03249000 PSASPAD EQU PSAEEPSW 03250000 @NM00004 EQU PSA+128 03251000 FLCINPSW EQU PSA+120 03252000 FLCMNPSW EQU PSA+112 03253000 FLCPNPSW EQU PSA+104 03254000 FLCSNPSW EQU PSA+96 03255000 FLCENPSW EQU PSA+88 03256000 FLCTRACE EQU PSA+84 03257000 FLCTIMER EQU PSA+80 03258000 FLCCVT2 EQU PSA+76 03259000 FLCCAW EQU PSA+72 03260000 FLCCSW EQU PSA+64 03261000 FLCIOPSW EQU PSA+56 03262000 FLCMOPSW EQU PSA+48 03263000 FLCPOPSW EQU PSA+40 03264000 FLCSOPSW EQU PSA+32 03265000 FLCEOPSW EQU PSA+24 03266000 @NM00003 EQU FLCICCW2+4 03267000 FLCCVT EQU FLCICCW2 03268000 FLCICCW1 EQU FLCROPSW 03269000 FLCIPPSW EQU FLCRNPSW 03270000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 03271000 @RT00074 EQU FRROFF 03272000 @RT00080 EQU FRROFF 03273000 @RT00090 EQU NOWORK 03274000 @RT00093 EQU NOWORK 03275000 @RT00182 EQU SLESETUP 03276000 @RT00221 EQU NOSAVHKS 03277000 @RT00250 EQU NEWWORK 03278000 @RT00286 EQU FRROFF 03279000 @RT00288 EQU FRROFF 03280000 AHLSBCU1 EQU @EL00001 03281000 @ENDDATA EQU * 03282000 END AHLSBUF,(C'PL/S-II',0503,73286) 03283000