TITLE 'IEAVSWIN - SWAP IN PROCESSOR *00001000 ' 00002000 * /* @Z40WPYC*/ 00003000 IEAVSWIN CSECT @Z40WPYC 00004000 USING *,R15 @Z40WPYC 00005000 MODID @Z40WPYC 00006000 DROP R15 @Z40WPYC 00007000 ENTRY IEAVSWI2 @Z40WPYC 00008000 IEAVSWI2 DS 0H @Z40WPYC 00009000 @PROLOG BALR R9,0 @Z40WPYC 00010000 @PSTART DS 0H @Z40WPYC 00011000 USING *,R9 @Z40WPYC 00012000 * PVTPTR=CVTPVTP; /* INITIALIZE THE PVT POINTER */ 00013000 L @12,CVTPTR 0100 00014000 L PVTPTR,CVTPVTP(,@12) 0100 00015000 * RFY 0101 00016000 * (ASCBPTR, 0101 00017000 * R1) RSTD; 0101 00018000 * ASCBPTR=R1; /* SAVE INPUT ASCB ADDR */ 00019000 LR ASCBPTR,R1 0102 00020000 * RFY 0103 00021000 * (R0, 0103 00022000 * R13) RSTD; 0103 00023000 * R5=R0; /* SAVE THE SRB ADDRESS @VS08619*/ 00024000 LR R5,R0 0104 00025000 * RFY 0105 00026000 * (R11, 0105 00027000 * R12, 0105 00028000 * R8) RSTD; 0105 00029000 * 0105 00030000 * /*****************************************************************/ 00031000 * /* */ 00032000 * /* ESTABLISH THE RSM FRR ENVIRONMENT AND INITIALIZE THE RCA */ 00033000 * /* */ 00034000 * /*****************************************************************/ 00035000 * 0106 00036000 * GEN REFS(PSACSTK,PSA,FRRS,PVTPTR,PVTPRCV,FRRSCURR,FRRSLAST,PSALSFCC 00037000 * ,FRRSELEN,FRRSFRRA,FRRSENTR,FRRSPARM) SETS(R11,R12,R8); 0106 00038000 SETFRR A,FRRAD=PVTPRCV(PVTPTR),PARMAD=(R8), **00039000 WRKREGS=(R11,R12) 00040000 * RFY 0107 00041000 * RCA BASED(R8); 0107 00042000 * RCACSECT=RCACSPIN; /* SET THE MODULE ID FLAG */ 00043000 MVI RCACSECT(R8),X'19' 0108 00044000 * RCAPARM1=ASCBPTR; /* SET ASCB FOR FRR ROUTINE 0109 00045000 * @Z40WPYC*/ 00046000 ST ASCBPTR,RCAPARM1(,R8) 0109 00047000 * RCASWIN='1'B; /* SET THE ENTRY POINT BIT ON */ 00048000 OI RCASWIN(R8),B'01000000' 0110 00049000 * 0111 00050000 * /*****************************************************************/ 00051000 * /* */ 00052000 * /* REQUEST THE SALLOC LOCK UNCONDITIONALLY FROM LOCK MANAGER */ 00053000 * /* */ 00054000 * /*****************************************************************/ 00055000 * 0111 00056000 *GETLOCK: 0111 00057000 * GEN CODE REFS(PSALITA,FLC) SETS(R11,R12,R13,R14); 0111 00058000 GETLOCK DS 0H 0111 00059000 SETLOCK OBTAIN,TYPE=SALLOC,MODE=UNCOND, **00060000 RELATED=(RSM,IEAVSWIN(FREELOCK,FREELOC)) 00061000 * RFY 0112 00062000 * (R0, 0112 00063000 * R1, 0112 00064000 * R11, 0112 00065000 * R12, 0112 00066000 * R13) UNRSTD; 0112 00067000 * PVTPRCA=R8; /* SAVE THE RCA ADDRESS */ 00068000 ST R8,PVTPRCA(,PVTPTR) 0113 00069000 * RCASAL='1'B; /* INDICATE SALLOC HELD */ 00070000 * 0114 00071000 OI RCASAL(R8),B'10000000' 0114 00072000 * /*****************************************************************/ 00073000 * /* */ 00074000 * /* DETERMINE THE VALIDITY OF THE SWAP-IN REQUEST */ 00075000 * /* */ 00076000 * /*****************************************************************/ 00077000 * 0115 00078000 * RSMHDPTR=ASCBRSM; /* ESTABLISH POINTER TO THE 0115 00079000 * HEADER */ 00080000 L RSMHDPTR,ASCBRSM(,ASCBPTR) 0115 00081000 * SPCTPTR=RSMSPCT; /* ESTABLISH SPCT PTR */ 00082000 L SPCTPTR,RSMSPCT(,RSMHDPTR) 0116 00083000 * IF SPCTSWIN='1'B THEN /* CHECK FOR A SWAP-IN ALREADY IN 00084000 * PROGRESS */ 00085000 TM SPCTSWIN(SPCTPTR),B'10000000' 0117 00086000 BNO @RF00117 0117 00087000 * DO; /* INVOKE THE FRR ROUTINE */ 00088000 * RCARCRD='12'X; /* SET REASON CODE AND */ 00089000 MVI RCARCRD(R8),X'12' 0119 00090000 * CALL SWAPC0D; /* RECORD ERROR VIA FRR ROUTINE */ 00091000 * 0120 00092000 BAL @14,SWAPC0D 0120 00093000 * /*************************************************************/ 00094000 * /* */ 00095000 * /* THIS SUBROUTINE FREES THE SRB AREA ADDRESSED BY REGISTER */ 00096000 * /* ZERO WHEN THE ROUTINE IS ENTERED. */ 00097000 * /* */ 00098000 * /*************************************************************/ 00099000 * 0121 00100000 * RESPECIFY 0121 00101000 * (R0, 0121 00102000 * R1) RESTRICTED; 0121 00103000 * R1=R5; /* PUT THE SRB ADDRESS IN R1 0122 00104000 * @VS08619*/ 00105000 LR R1,R5 0122 00106000 * R0=PVTSRBID; /* PUT THE CELL POOL ID IN R0 0123 00107000 * @VS08619*/ 00108000 L R0,PVTSRBID(,PVTPTR) 0123 00109000 * GEN REFS(CVTPTR,CVTFRECL,CVTMAP,R13) SETS(R14,R15); 0124 00110000 * /* @VS08619*/ 00111000 FREECELL CPID=(0),CELL=(1),BRANCH=YES,SAVE=NO 00112000 * RESPECIFY 0125 00113000 * (R0, 0125 00114000 * R1) UNRESTRICTED; 0125 00115000 * PVTPTR=CVTPVTP; /* RESET PVT ADDRESS @VS08619*/ 00116000 L @12,CVTPTR 0126 00117000 L PVTPTR,CVTPVTP(,@12) 0126 00118000 * GOTO SWINLOCK; /* GO RELEASE LOCK AND EXIT */ 00119000 B SWINLOCK 0127 00120000 * END; 0128 00121000 * RFY 0129 00122000 * RCA BASED(PVTPRCA); 0129 00123000 @RF00117 DS 0H 0130 00124000 * RFY 0130 00125000 * R8 UNRSTD; 0130 00126000 * 0131 00127000 * /*****************************************************************/ 00128000 * /* */ 00129000 * /* ONCE IT HAS BEEN DETERMINED THAT THE SWAP-IN IS VALID THE */ 00130000 * /* SYSEVENT INDICATING THAT SWAP-IN HAS STARTED CAN BE ISSUED. */ 00131000 * /* @Z40FPYL*/ 00132000 * /* SWAP-IN IS VALID. GO TO THE PCB MANAGER WITH A REQUEST FOR A */ 00133000 * /* SUFFICIENT NUMBER OF PCBS TO COMPLETE THE SWAP-IN. */ 00134000 * /* */ 00135000 * /*****************************************************************/ 00136000 * 0131 00137000 * RFY 0131 00138000 * (R0, 0131 00139000 * R13, 0131 00140000 * R1) RESTRICTED; 0131 00141000 * R0=ASCBASID; /* ASID FOR SWAPPED-IN A.S. 0132 00142000 * @Z40FPYL*/ 00143000 LH R0,ASCBASID(,ASCBPTR) 0132 00144000 N R0,@CF02051 0132 00145000 * R1=STARTS; /* CODE FOR SWAP-IN STARTED 0133 00146000 * @Z40FPYL*/ 00147000 LA R1,1 0133 00148000 * R13=ADDR(PVTSAVE); /* SAVE AREA ADDRESS @Z40FPYL*/ 00149000 LA R13,PVTSAVE(,PVTPTR) 0134 00150000 * GENERATE NODEFS REFS(CVTPTR,CVTOPTE,CVT) NOSETS NOFLOWS; 0135 00151000 SYSEVENT SWINSTAT,ASID=(0),ENTRY=BRANCH 00152000 * RESPECIFY 0136 00153000 * (R13) UNRESTRICTED; 0136 00154000 * R0=SPCTWSSZ+1; /* NUMBER REQUESTED = WORKING SET 00155000 * SIZE PLUS 1 TO USE AS THE ROOT*/ 00156000 LA R0,1 0137 00157000 AH R0,SPCTWSSZ(,SPCTPTR) 0137 00158000 * R1=0; /* INDICATE A BUILD OPTION */ 00159000 SLR R1,R1 0138 00160000 * CALL PCBMGR; /* CALL THE PCB MANAGER */ 00161000 * 0139 00162000 L @15,PVTPCB(,PVTPTR) 0139 00163000 BALR @14,@15 0139 00164000 * /*****************************************************************/ 00165000 * /* */ 00166000 * /* CHECK THE RETURN CODE FROM THE PCB MANAGER. IF AN ERROR HAS */ 00167000 * /* OCCURRED, NOTIFY SRM VIA A SYSEVENT THAT THE SWAP-IN CANNOT */ 00168000 * /* COMPLETE AT THIS TIME AND EXIT. */ 00169000 * /* */ 00170000 * /*****************************************************************/ 00171000 * 0140 00172000 * IF R15^=0 THEN /* A NON-ZERO R15 ON RETURN */ 00173000 LTR R15,R15 0140 00174000 BZ @RF00140 0140 00175000 * DO; /* INDICATES AN ERROR */ 00176000 * 0141 00177000 * /*************************************************************/ 00178000 * /* */ 00179000 * /* THIS SUBROUTINE FREES THE SRB AREA ADDRESSED BY REGISTER */ 00180000 * /* ZERO WHEN THE ROUTINE IS ENTERED. */ 00181000 * /* */ 00182000 * /*************************************************************/ 00183000 * 0142 00184000 * R1=R5; /* PUT THE SRB ADDRESS IN R1 0142 00185000 * @VS08619*/ 00186000 LR R1,R5 0142 00187000 * R0=PVTSRBID; /* PUT THE CELL POOL ID IN R0 0143 00188000 * @VS08619*/ 00189000 L R0,PVTSRBID(,PVTPTR) 0143 00190000 * GEN REFS(CVTPTR,CVTFRECL,CVTMAP,R13) SETS(R14,R15); 0144 00191000 * /* @VS08619*/ 00192000 FREECELL CPID=(0),CELL=(1),BRANCH=YES,SAVE=NO 00193000 * PVTPTR=CVTPVTP; /* RESET PVT ADDRESS @VS08619*/ 00194000 L @12,CVTPTR 0145 00195000 L PVTPTR,CVTPVTP(,@12) 0145 00196000 * R0=ASCBASID; /* SET ASID FOR EVENT */ 00197000 LH R0,ASCBASID(,ASCBPTR) 0146 00198000 N R0,@CF02051 0146 00199000 * GOTO SWINSYS; /* GO TO ISSUE SYSEVENT AND EXIT */ 00200000 B SWINSYS 0147 00201000 * END; 0148 00202000 * 0148 00203000 */* */ 00204000 * 0149 00205000 * SPCTSWIN='1'B; /* OTHERWISE, SET THE SWAP-IN IN 00206000 * PROGRESS FLAG */ 00207000 @RF00140 DS 0H 0150 00208000 * SPCTVROT='0'B; /* CLEAR THE VEQRP REQUESTED 0150 00209000 * SWAP-OUT FLAG @ZA10767*/ 00210000 OI SPCTSWIN(SPCTPTR),B'10000000' 0150 00211000 NI SPCTVROT(SPCTPTR),B'11111011' 0150 00212000 * 0151 00213000 * /*****************************************************************/ 00214000 * /* */ 00215000 * /* USE THE FIRST PCB ADDRESS RETURNED AS THE ROOT PCB */ 00216000 * /* */ 00217000 * /*****************************************************************/ 00218000 * 0151 00219000 * PCBRPTR=R1; /* ESTABLISH ADDRESS OF THE ROOT */ 00220000 LR PCBRPTR,R1 0151 00221000 * SPCTSWRT=R1; /* PUT ROOT ADDRESS IN SPCT */ 00222000 ST R1,SPCTSWRT(,SPCTPTR) 0152 00223000 * SRBPTR=R5; /* SAVE THE SRB PTR IN THE ROOT 00224000 * PCB. IT IS PASSED TO THE SWAP 00225000 * IN ROOT EXIT ROUTINE. @VS08619*/ 00226000 ST R5,SRBPTR(,PCBRPTR) 0153 00227000 * PCBPTR=R1->PCBFQPA; /* ESTABLISH POINTER TO THE FIRST 00228000 * TRUE PCB */ 00229000 L PCBPTR,PCBFQPA-1(,R1) 0154 00230000 LA PCBPTR,0(,PCBPTR) 0154 00231000 * RFY 0155 00232000 * (R0, 0155 00233000 * R1) UNRSTD; 0155 00234000 * PCBRTCB=0; /* ZERO THE TCB PTR IN THE ROOT */ 00235000 SLR @12,@12 0156 00236000 ST @12,PCBRTCB(,PCBRPTR) 0156 00237000 * PCBRGOTO=ADDR(IEAVSIRT); /* SET ADDR OF EXIT PROCESSOR IN 00238000 * ROOT */ 00239000 LA @08,IEAVSIRT 0157 00240000 ST @08,PCBRGOTO(,PCBRPTR) 0157 00241000 * PCBRASCB=ASCBPTR; /* PUT THE ASCB ADDRESS IN ROOT */ 00242000 ST ASCBPTR,PCBRASCB(,PCBRPTR) 0158 00243000 * PCBRWRK1=PCBPTR; /* SAVE PTR TO 1ST PCB TO PASS TO 00244000 * GFA */ 00245000 ST PCBPTR,PCBRWRK1(,PCBRPTR) 0159 00246000 * PCBBQPA=0; /* MAKE IT LOOK LIKE 1ST ON CHAIN*/ 00247000 ST @12,PCBBQPA(,PCBPTR) 0160 00248000 * RFY 0161 00249000 * ASCBPTR UNRSTD; 0161 00250000 * RFY 0162 00251000 * ASCB BASED(PCBRASCB); 0162 00252000 * 0163 00253000 * /*****************************************************************/ 00254000 * /* */ 00255000 * /* PROCESS FIXED AND LSQA ENTRIES. */ 00256000 * /* */ 00257000 * /*****************************************************************/ 00258000 * 0163 00259000 */* SET UP CONTROL VARIABLES FOR THE LOOP WHICH FOLLOWS */ 00260000 * 0163 00261000 * RFY 0163 00262000 * START RSTD; /* RESERVE REG 8 */ 00263000 * RFY 0164 00264000 * FINISH RSTD; /* RESERVE REG 10 */ 00265000 * RFY 0165 00266000 * SWAPPTR RSTD; /* RESERVE REG 11 */ 00267000 * RFY 0166 00268000 * R13 RSTD; /* RESERVE REG 13 */ 00269000 * RFY 0167 00270000 * SPCTEXTM BASED(SWAPPTR); /* ESTABLISH BASE PTR FOR 0167 00271000 * EXTENSION */ 00272000 * LSQACOMP='0'B; /* INITIALIZE LSQA COMPLETE BIT 00273000 * TO 0 */ 00274000 NI LSQACOMP(PCBRPTR),B'01111111' 0168 00275000 * R13=R13&&R13; /* R13 WILL KEEP TRACK OF ANY 0169 00276000 * PCBS WHICH MAY BE RETURNED AT 00277000 * THE END OF THE PROCESSING */ 00278000 XR R13,R13 0169 00279000 * START=SPCTLSQA; /* SET TOTAL NUMBER OF LSQA 0170 00280000 * ENTRIES TO BE PROCESSED */ 00281000 LH START,SPCTLSQA(,SPCTPTR) 0170 00282000 * SWAPPTR=ADDR(SPCTSWAP); /* INITIALIZE SWAPPTR TO START 0171 00283000 * WITH ENTRIES WITHIN SPCT */ 00284000 LA SWAPPTR,SPCTSWAP(,SPCTPTR) 0171 00285000 * FINISH=ADDR(SPCTXEND); /* FINISH IS JUST BEYOND THE 0172 00286000 * FIXED AND LSQA ENTRIES AREA */ 00287000 LA FINISH,SPCTXEND(,SWAPPTR) 0172 00288000 * SWAPPTR=ADDR(SPCTENT); /* POINT TO FIRST LSQA ENTRY */ 00289000 LA @12,SPCTENT(,SWAPPTR) 0173 00290000 LR SWAPPTR,@12 0173 00291000 * 0174 00292000 * /*****************************************************************/ 00293000 * /* */ 00294000 * /* THIS IS THE START OF THE BIG LOOP THROUGH THE FIXED AND LSQA */ 00295000 * /* ENTRIES OF THE SPCT */ 00296000 * /* */ 00297000 * /*****************************************************************/ 00298000 * 0174 00299000 *SWINFIX: 0174 00300000 * DO WHILE START^=0; /* START OF BIG LOOP */ 00301000 SWINFIX B @DE00174 0174 00302000 @DL00174 DS 0H 0175 00303000 * IF SWAPPTR=FINISH THEN /* SHOULD WE GO TO THE EXTENSION */ 00304000 CR SWAPPTR,FINISH 0175 00305000 BNE @RF00175 0175 00306000 * DO; /* YES-MAKE EXTENSION ADJUSTMENTS*/ 00307000 * SWAPPTR=SWAPPTR-LENGTH(SPCTSWAP);/* POINT BACK TO START OF 00308000 * THIS EXTENSION */ 00309000 SL SWAPPTR,@CF01288 0177 00310000 * SWAPPTR=SPCTEXT; /* GET ADDRESS OF NEW EXTENSION */ 00311000 L SWAPPTR,SPCTEXT(,SWAPPTR) 0178 00312000 * IF SWAPPTR^=0 THEN /* CHECK POINTER TO NEXT FOR 0 */ 00313000 LTR SWAPPTR,SWAPPTR 0179 00314000 BZ @RF00179 0179 00315000 * DO; 0180 00316000 * FINISH=ADDR(SPCTXEND);/* SET END OF EXTENSION VALUE */ 00317000 LA FINISH,SPCTXEND(,SWAPPTR) 0181 00318000 * SWAPPTR=ADDR(SPCTENT);/* POINT TO FIRST ENTRY IN NEW 0182 00319000 * EXTENSION */ 00320000 LA @12,SPCTENT(,SWAPPTR) 0182 00321000 LR SWAPPTR,@12 0182 00322000 * END; 0183 00323000 * ELSE /* IF THERE IS NO EXTENSION BUT */ 00324000 * DO; /* ARE SUPPOSED TO BE MORE 0184 00325000 * ENTRIES, AN ERROR MUST HAVE 0184 00326000 * OCCURRED WHILE CONSTRUCTING 0184 00327000 * THE SPCT. */ 00328000 * 0184 00329000 B @RC00179 0184 00330000 @RF00179 DS 0H 0185 00331000 * /*******************************************************/ 00332000 * /* */ 00333000 * /* CALL RESOURCE TERMINATION MANAGER TO TERMINATE THE */ 00334000 * /* MEMORY. */ 00335000 * /* */ 00336000 * /*******************************************************/ 00337000 * 0185 00338000 * RSMFAIL='1'B; /* TELL ASM LSQA INVALID @Z40WPYC*/ 00339000 OI RSMFAIL(RSMHDPTR),B'00000010' 0185 00340000 * R2=ASCBASID; /* SET THE ASID VALUE */ 00341000 L @12,PCBRASCB(,PCBRPTR) 0186 00342000 LH R2,ASCBASID(,@12) 0186 00343000 N R2,@CF02051 0186 00344000 * CALL SWAPRTM; /* CALL INTERNAL SUBROUTINE TO 0187 00345000 * TERMINATE THE MEMORY */ 00346000 * 0187 00347000 BAL @14,SWAPRTM 0187 00348000 * /*******************************************************/ 00349000 * /* */ 00350000 * /* FREE THE ROOT PCB AND EXISTING PCB CHAIN. */ 00351000 * /* */ 00352000 * /*******************************************************/ 00353000 * 0188 00354000 * CALL SWAPPCB; /* CALL PCB FREE SUBROUTINE */ 00355000 BAL @14,SWAPPCB 0188 00356000 * GOTO SWINLOCK; /* GO TO EXIT PROCESSING */ 00357000 B SWINLOCK 0189 00358000 * END; /* END OF ERROR PROCESSING */ 00359000 * END; /* END OF EXTENSION ADJUSTMENTS */ 00360000 @RC00179 DS 0H 0192 00361000 * RFY 0192 00362000 * (R0, 0192 00363000 * R1) RSTD; 0192 00364000 @RF00175 DS 0H 0193 00365000 * R1=SPCTVBN; /* GET THE VBN FROM THE ENTRY 0193 00366000 * @Z40WPYC*/ 00367000 LH R1,SPCTVBN(,SWAPPTR) 0193 00368000 N R1,@CF02051 0193 00369000 * IF SPCTLSQ='0'B THEN /* DETERMINE IF ENTRY IS FIXED OR 00370000 * LSQA */ 00371000 * 0194 00372000 TM SPCTLSQ(SWAPPTR),B'01000000' 0194 00373000 BNZ @RF00194 0194 00374000 * /*************************************************************/ 00375000 * /* */ 00376000 * /* THIS SECTION HANDLES FIXED ENTRIES IN THE SPCT */ 00377000 * /* */ 00378000 * /*************************************************************/ 00379000 * 0195 00380000 * DO; /* START OF FIXED ENTRY PROCESS */ 00381000 * IF SPCTCOMM='0'B THEN /* DETERMINE IF PAGE IS IN */ 00382000 TM SPCTCOMM(SWAPPTR),B'00100000' 0196 00383000 BNZ @RF00196 0196 00384000 * DO; /* THE PRIVATE OR COMMON AREA */ 00385000 * 0197 00386000 * /*******************************************************/ 00387000 * /* */ 00388000 * /* PRIVATE AREA PCB INITIALIZATION FOR A FIXED ENTRY */ 00389000 * /* */ 00390000 * /*******************************************************/ 00391000 * 0198 00392000 * PCBASCB=PCBRASCB; /* STORE INPUT ASCB ADDRESS */ 00393000 L @12,PCBRASCB(,PCBRPTR) 0198 00394000 ST @12,PCBASCB(,PCBPTR) 0198 00395000 * PCBSWPIN='1'B; /* SET SWAP-IN FLAG */ 00396000 * PCBSWPS1='1'B; /* SET STAGE 1 FLAG */ 00397000 OI PCBSWPIN(PCBPTR),B'01100000' 0200 00398000 * PCBSPCTE=SWAPPTR; /* POINT TO FIX ENTRY @Z40WPYC*/ 00399000 ST SWAPPTR,PCBSPCTE(,PCBPTR) 0201 00400000 * IF PCBASCB->ASCB1LPU='1'B THEN/* IF LEVEL 1 USER, 0202 00401000 * @ZA16816*/ 00402000 TM ASCB1LPU(@12),B'01000000' 0202 00403000 BNO @RF00202 0202 00404000 * PCBPREFR='1'B; /* BACK WITH PREFERRED FRAME 0203 00405000 * @ZA16816*/ 00406000 OI PCBPREFR(PCBPTR),B'00001000' 0203 00407000 * AIASWPFX='1'B; /* INDICATE P.A. FIX PAGE 0204 00408000 * @Z40WPYC*/ 00409000 @RF00202 DS 0H 0205 00410000 * AIAPRIV='1'B; /* INDICATE P.A. PAGE @Z40WPYC*/ 00411000 OI AIASWPFX(PCBPTR),B'01000010' 0205 00412000 * AIALSID=SPCTSSID; /* SET THE LSID FOR ASM @Z40WPYC*/ 00413000 SLR @12,@12 0206 00414000 ICM @12,7,SPCTSSID(SWAPPTR) 0206 00415000 ST @12,AIALSID(,PCBPTR) 0206 00416000 * IF SPCTDEFR='1'B THEN /* IF DEFERRED RELEASE=1 */ 00417000 TM SPCTDEFR(SWAPPTR),B'00010000' 0207 00418000 BNO @RF00207 0207 00419000 * PCBDFRLS='1'B; /* SET BIT IN PRIV AREA PCB */ 00420000 OI PCBDFRLS(PCBPTR),B'00001000' 0208 00421000 * END; 0209 00422000 * ELSE /* SPCTCOMM = 1 */ 00423000 * 0210 00424000 * /*********************************************************/ 00425000 * /* */ 00426000 * /* COMMON AREA FIXED ENTRY PROCESSING */ 00427000 * /* */ 00428000 * /*********************************************************/ 00429000 * 0210 00430000 * DO; 0210 00431000 B @RC00196 0210 00432000 @RF00196 DS 0H 0211 00433000 * IF SPCTDEFR='1'B THEN /* IF DEFERRED RELEASE */ 00434000 TM SPCTDEFR(SWAPPTR),B'00010000' 0211 00435000 BO @RT00211 0211 00436000 * GOTO SWINCOM1; /* IS ON IN COMMON AREA ENTRY, 0212 00437000 * IGNORE ENTRY AND CONTINUE */ 00438000 */* REG 1 STILL CONTAINS THE SSP0 PORTION OF THE VBN AT THIS POINT */ 00439000 * 0213 00440000 * GEN SETS(R0,R1) FLOWS(SWINCOM2); 0213 00441000 * 0213 00442000 SLL R1,8 CONVERT VBN TO VSA @Z40WPYC 00443000 LRA R0,0(R1) ISSUE LOAD REAL ADDRESS INSTR 00444000 BNZ SWINCOM2 BRANCH IF NOT IN STORAGE 00445000 SRL R0,8 LEAVE ONLY RBN IN REG 0 00446000 * /*******************************************************/ 00447000 * /* */ 00448000 * /* COMMON AREA IN-CORE FIX COUNT MANIPULATIONS */ 00449000 * /* */ 00450000 * /*******************************************************/ 00451000 * 0214 00452000 * RFY 0214 00453000 * PFTEPTR RSTD; 0214 00454000 * PFTEPTR=PVTPFTP+R0; /* GET THE PFTE ADDRESS */ 00455000 LR PFTEPTR,R0 0215 00456000 AL PFTEPTR,PVTPFTP(,PVTPTR) 0215 00457000 * IF PFTFXCT^=0|PFTPREF='1'B THEN/* IF THE FIX CT IS NOT 00458000 * ZERO OR THE FRAME IS IN THE 0216 00459000 * PREFERRED AREA ALREADY, THEN 00460000 * ADD THE FIX CT IN THE SPCT TO 00461000 * THE FIX CT IN THE PFTE AND DO 00462000 * NOT SET UP A PCB @ZA16816*/ 00463000 LH @12,PFTFXCT(,PFTEPTR) 0216 00464000 LTR @12,@12 0216 00465000 BNZ @RT00216 0216 00466000 TM PFTPREF(PFTEPTR),B'00000100' 0216 00467000 BNO @RF00216 0216 00468000 @RT00216 DS 0H 0217 00469000 * DO; /* START OF IN-CORE PROCESS */ 00470000 * IF PFTFXCT=0 THEN /* @YA01572*/ 00471000 LH @12,PFTFXCT(,PFTEPTR) 0218 00472000 LTR @12,@12 0218 00473000 BNZ @RF00218 0218 00474000 * DO; /* WHEN FXCT OF @YA01572*/ 00475000 * PVTCNTFX=PVTCNTFX+1;/* IN-CORE C.A. @YA01572*/ 00476000 LA @12,1 0220 00477000 LH @07,PVTCNTFX(,PVTPTR) 0220 00478000 ALR @07,@12 0220 00479000 STH @07,PVTCNTFX(,PVTPTR) 0220 00480000 * PVTCOMFX=PVTCOMFX+1;/* FX=0, INCREMENT @YA01572*/ 00481000 AH @12,PVTCOMFX(,PVTPTR) 0221 00482000 STH @12,PVTCOMFX(,PVTPTR) 0221 00483000 * IF PVTCNTFX=PVTMAXFX THEN/* BOTH @YA01572*/ 00484000 CH @07,PVTMAXFX(,PVTPTR) 0222 00485000 BNE @RF00222 0222 00486000 * DO; /* COUNTS; TEST @YA01572*/ 00487000 * RESPECIFY /* PVTCNTFX VS PVTMAXFX @YA01572*/ 00488000 * (R7, 0224 00489000 * R12) RESTRICTED;/* @ZA25147*/ 00490000 * R12=PFTEPTR;/* SAVE PFTE ADDRESS OVER 0225 00491000 * SYSEVENT @ZA25147*/ 00492000 LR R12,PFTEPTR 0225 00493000 * R7=R13; /* SAVE R13 OVER THE SYSEVENT 0226 00494000 * @YA01572*/ 00495000 LR R7,R13 0226 00496000 * R13=ADDR(PVTSAVE);/* SAVE AREA ADDRESS FOR 00497000 * SRM TO USE @YA01572*/ 00498000 LA R13,PVTSAVE(,PVTPTR) 0227 00499000 * R1=MAXSYS;/* CODE FOR MAXIMUM HAS BEEN 0228 00500000 * REACHED @YA01572*/ 00501000 LA R1,4 0228 00502000 * GENERATE NODEFS REFS(CVTPTR,CVTOPTE,CVT) 0229 00503000 * NOSETS NOFLOWS; 0229 00504000 SYSEVENT AVQLOW,ENTRY=BRANCH 00505000 * PFTEPTR=R12;/* RESTORE PFTE ADDRESS 0230 00506000 * @ZA25147*/ 00507000 LR PFTEPTR,R12 0230 00508000 * R13=R7; /* RESTORE R13 @YA01572*/ 00509000 LR R13,R7 0231 00510000 * RESPECIFY 0232 00511000 * (R7, 0232 00512000 * R12) UNRESTRICTED;/* @ZA25147*/ 00513000 * END; /* END SYSEVENT @YA01572*/ 00514000 * ELSE 0234 00515000 * ; /* END MAX TEST @YA01572*/ 00516000 @RF00222 DS 0H 0235 00517000 * END; /* END IN-CORE C.A. FIX ENTRY 0235 00518000 * TEST @YA01572*/ 00519000 * ELSE 0236 00520000 * ; /* PFTFXCT ^0 @YA01572*/ 00521000 @RF00218 DS 0H 0237 00522000 * IF SPCTTFIX=0 THEN/* IF ITS NOT A BIG FIX */ 00523000 CLI SPCTTFIX(SWAPPTR),0 0237 00524000 BNE @RF00237 0237 00525000 * PFTFXCT=PFTFXCT+SPCTFIXC;/* ADD THE FULL FIX 0238 00526000 * COUNT */ 00527000 LH @12,PFTFXCT(,PFTEPTR) 0238 00528000 AH @12,SPCTFIXC(,SWAPPTR) 0238 00529000 STH @12,PFTFXCT(,PFTEPTR) 0238 00530000 * ELSE /* IF IT IS A BIG FIX, */ 00531000 * DO; /* ADD ONLY ONE TO THE PRESENT */ 00532000 B @RC00237 0239 00533000 @RF00237 DS 0H 0240 00534000 * PFTFXCT=PFTFXCT+1;/* COUNT AND INDICATE THAT 0240 00535000 * THE ROOT MUST PROCESS IT */ 00536000 LA @12,1 0240 00537000 AH @12,PFTFXCT(,PFTEPTR) 0240 00538000 STH @12,PFTFXCT(,PFTEPTR) 0240 00539000 * SPCTBIG='1'B; /* BY SETTING SPCTBIG */ 00540000 OI SPCTBIG(SPCTPTR),B'00010000' 0241 00541000 * END; /* END IN-CORE BIG FIX PROCESS */ 00542000 *SWINCOM1: 0243 00543000 * R13=R13+1; /* ADD 1 TO COUNT OF PCBS TO 0243 00544000 * RETURN AT END */ 00545000 @RC00237 DS 0H 0243 00546000 SWINCOM1 AL R13,@CF00062 0243 00547000 * SWAPPTR=SWAPPTR+LENGTH(SPCTSWPE);/* GET NEXT FIX 0244 00548000 * ENTRY */ 00549000 AL SWAPPTR,@CF00055 0244 00550000 * GOTO SWINEND; /* GO TO END OF LOOP TO HAVE CTRS 00551000 * ADJUSTED */ 00552000 B SWINEND 0245 00553000 * END; /* END IN-CORE PROCESS */ 00554000 * ELSE /* FIX CT = 0 OR IN V=R AREA */ 00555000 * 0247 00556000 * /*****************************************************/ 00557000 * /* */ 00558000 * /* OUT-OF-CORE COMMON AREA PCB INITIALIZATION. A PCB */ 00559000 * /* IS INITIALIZED FOR OUT OF STORAGE PAGES AS WELL AS*/ 00560000 * /* THOSE IN STORAGE PAGES THAT ARE NOT FIXED AND NOT */ 00561000 * /* IN A PREFERRED AREA FRAME. */ 00562000 * /* */ 00563000 * /*****************************************************/ 00564000 * 0247 00565000 *SWINCOM2: 0247 00566000 * PCBASCB=PSAAOLD; /* SET CURRENT ASCB ADDRESS FOR 00567000 * COMMON AREA FRAMES WHICH 0247 00568000 * REQUIRE I-O */ 00569000 @RF00216 DS 0H 0247 00570000 SWINCOM2 L @12,PSAAOLD 0247 00571000 ST @12,PCBASCB(,PCBPTR) 0247 00572000 * PCBPREFR='1'B; /* BACK WITH PREFERRED FRAMES. 0248 00573000 * @ZA16816*/ 00574000 * 0248 00575000 OI PCBPREFR(PCBPTR),B'00001000' 0248 00576000 * /*******************************************************/ 00577000 * /* */ 00578000 * /* IT IS IMPORTANT THAT MASTER'S ASCB (CURRENT) BE */ 00579000 * /* STORED IN PCBASCB FOR COMMON AREA SWAPIN FIXES. IF */ 00580000 * /* THIS PCB WERE TO BE RELATED BY IEAVGFA TO A PREVIOUS*/ 00581000 * /* REQUEST FOR THE PAGE AND THIS REQUEST RECEIVED AN */ 00582000 * /* I/O ERROR, IEAVIOCP SCHEDULES EACH RELATED TO THE */ 00583000 * /* PCBASCB. IN THIS CASE THE SWAPIN WOULD HANG AND */ 00584000 * /* POSSIBLY THE SYSTEM IF OTHER PCB'S WERE RELATED, IF */ 00585000 * /* THE SWAPIN ASCB WAS USED. */ 00586000 * /* */ 00587000 * /*******************************************************/ 00588000 * 0249 00589000 * RSMHDPTR=PSAAOLD->ASCBRSM;/* SET CURRENT RSM HEADER 0249 00590000 * ADDRESS FOR USE BY FINDPAGE */ 00591000 * 0249 00592000 L RSMHDPTR,ASCBRSM(,@12) 0249 00593000 * /*******************************************************/ 00594000 * /* */ 00595000 * /* REG 1 STILL CONTAINS THE VSA AT THIS POINT */ 00596000 * /* */ 00597000 * /*******************************************************/ 00598000 * 0250 00599000 * CALL FINDPAGE; /* CALL IEAVFP2 TO GET PGTE AND 00600000 * XPTE ADDRESSES FOR COMMON AREA 00601000 * PAGES */ 00602000 L @15,PVTPFP2(,PVTPTR) 0250 00603000 BALR @14,@15 0250 00604000 * RSMHDPTR=ASCBRSM; /* RESET RSM HEADER POINTER FOR 00605000 * A.S. BEING SWAPPED IN */ 00606000 L @12,PCBRASCB(,PCBRPTR) 0251 00607000 L RSMHDPTR,ASCBRSM(,@12) 0251 00608000 * IF R15^=0 THEN /* IGNORE THIS ENTRY IF FP */ 00609000 LTR R15,R15 0252 00610000 BZ @RF00252 0252 00611000 * DO; /* RETURNS AN ERROR CODE */ 00612000 * 0253 00613000 * /***************************************************/ 00614000 * /* */ 00615000 * /* INDICATES PAGE HAS BEEN FREEMAINED */ 00616000 * /* */ 00617000 * /***************************************************/ 00618000 * 0254 00619000 * RCARCRD='01'X; /* SET REASON CODE */ 00620000 L @12,PVTPRCA(,PVTPTR) 0254 00621000 MVI RCARCRD(@12),X'01' 0254 00622000 *SWINABND: 0255 00623000 * CALL SWAPC0D; /* RECORD ERROR VIA THE FRR */ 00624000 SWINABND BAL @14,SWAPC0D 0255 00625000 * PCBFLDS=PCBFLDS&&PCBFLDS;/* ZERO FIELDS USED IN 0256 00626000 * PRESENT PCB */ 00627000 XC PCBFLDS(56,PCBPTR),PCBFLDS(PCBPTR) 0256 00628000 * GOTO SWINCOM1; /* CONTINUE PROCESS WITH NEXT FIX 00629000 * ENTRY */ 00630000 B SWINCOM1 0257 00631000 * END; 0258 00632000 * PTEPTR=R0; /* ELSE, CHECK ASSIGNED BIT */ 00633000 @RF00252 LR PTEPTR,R0 0259 00634000 * IF PGTPAM='0'B THEN /* IF NOT ASSIGNED, */ 00635000 TM PGTPAM(PTEPTR),B'00000001' 0260 00636000 BNZ @RF00260 0260 00637000 * DO; 0261 00638000 * RCARCRD='1A'X; /* SET REASON CODE */ 00639000 L @12,PVTPRCA(,PVTPTR) 0262 00640000 MVI RCARCRD(@12),X'1A' 0262 00641000 * GOTO SWINABND; /* RECORD ERROR AND CONTINUE WITH 00642000 * NEXT ENTRY */ 00643000 B SWINABND 0263 00644000 * END; 0264 00645000 * 0264 00646000 * /*******************************************************/ 00647000 * /* */ 00648000 * /* NOT NECESSARY TO PROVIDE ASM WITH LSID AS ASM CAN */ 00649000 * /* OBTAIN THIS FROM XPTE IN SQA. ALSO, SPCT ADDRESS IS */ 00650000 * /* NOT REQUIRED SINCE XPTE IS IN SQA. @Z40WPYC*/ 00651000 * /* */ 00652000 * /*******************************************************/ 00653000 * 0265 00654000 * PCBPGTA=PTEPTR; /* PUT PGTE ADDR IN PCB */ 00655000 @RF00260 STCM PTEPTR,7,PCBPGTA(PCBPTR) 0265 00656000 * PCBXPTA=R1; /* PUT XPTE ADDR IN PCB */ 00657000 STCM R1,7,PCBXPTA(PCBPTR) 0266 00658000 * PCBSWPS1='1'B; /* SET STAGE 1 FLAG */ 00659000 OI PCBSWPS1(PCBPTR),B'00100000' 0267 00660000 * END; /* END OF UNIQUE COMMON AREA 0268 00661000 * PROCESS */ 00662000 * RFY 0269 00663000 * (R0, 0269 00664000 * R1, 0269 00665000 * PFTEPTR) UNRSTD; 0269 00666000 @RC00196 DS 0H 0270 00667000 * 0270 00668000 * /***********************************************************/ 00669000 * /* */ 00670000 * /* THIS SECTION EXECUTES FOR ALL FIXED ENTRIES WHICH ARE TO*/ 00671000 * /* BE PASSED TO GENERAL FRAME ALLOCATION, REGARDLESS OF */ 00672000 * /* WHETHER THE PAGE IS IN THE COMMON OR PRIVATE AREA. */ 00673000 * /* */ 00674000 * /***********************************************************/ 00675000 * 0270 00676000 *SWINNCOM: 0270 00677000 * IF SPCTTFIX=0 THEN /* IF FIX CT IS NOT OVER 255, */ 00678000 SWINNCOM CLI SPCTTFIX(SWAPPTR),0 0270 00679000 BNE @RF00270 0270 00680000 * PCBFXC=SPCTFIXC; /* MOVE FIX COUNT FROM ENTRY */ 00681000 LH @12,SPCTFIXC(,SWAPPTR) 0271 00682000 STC @12,PCBFXC(,PCBPTR) 0271 00683000 * ELSE 0272 00684000 * DO; /* IF FIX CT IS TOO LARGE TO FIT 00685000 * IN THE PCB */ 00686000 B @RC00270 0272 00687000 @RF00270 DS 0H 0273 00688000 * PCBFXC=1; /* SET IT TO ONE FOR NOW AND LET 00689000 * THE ROOT UPDATE THE PFTE COUNT 00690000 * LATER */ 00691000 MVI PCBFXC(PCBPTR),X'01' 0273 00692000 * SPCTBIG='1'B; /* SET INDICATOR SO ROOT WILL 0274 00693000 * KNOW THERE ARE SOME BIG FIXES 00694000 * TO PROCESS */ 00695000 OI SPCTBIG(SPCTPTR),B'00010000' 0274 00696000 * END; 0275 00697000 * PCBVBN=SPCTVBN; /* MOVE VBN INTO PCB @Z40WPYC*/ 00698000 @RC00270 MVC PCBVBN(2,PCBPTR),SPCTVBN(SWAPPTR) 0276 00699000 * SWAPPTR=SWAPPTR+LENGTH(SPCTSWPE);/* POSITION SWAPPTR TO 0277 00700000 * NEXT FIX ENTRY */ 00701000 AL SWAPPTR,@CF00055 0277 00702000 * END; /* END OF FIXED ENTRY PROCESS */ 00703000 * ELSE /* SPCTLSQ = 1 */ 00704000 *SWINLSQA: 0279 00705000 * 0279 00706000 * /*************************************************************/ 00707000 * /* */ 00708000 * /* THE FOLLOWING IS DONE FOR ALL LSQA ENTRIES */ 00709000 * /* */ 00710000 * /*************************************************************/ 00711000 * 0279 00712000 * DO; /* START OF UNIQUE LSQA 0279 00713000 * PROCESSING */ 00714000 B @RC00194 0279 00715000 @RF00194 DS 0H 0279 00716000 SWINLSQA DS 0H 0280 00717000 * PCBSPCTE=SWAPPTR; /* POINT TO LSQA ENTRY @Z40WPYC*/ 00718000 ST SWAPPTR,PCBSPCTE(,PCBPTR) 0280 00719000 * PCBASCB=PCBRASCB; /* STORE ASCB ADDR OF ADDR SPACE 00720000 * BEING SWAPPED IN */ 00721000 L @12,PCBRASCB(,PCBRPTR) 0281 00722000 ST @12,PCBASCB(,PCBPTR) 0281 00723000 * PCBSWPIN='1'B; /* SET THE SWAP - IN FLAG */ 00724000 * PCBSWPS1='1'B; /* SET THE STAGE 1 FLAG */ 00725000 * PCBSWPLS='1'B; /* SET THE LSQA FLAG */ 00726000 OI PCBSWPIN(PCBPTR),B'01110000' 0284 00727000 * PCBVBN=SPCTVBN; /* PUT VBN FROM ENTRY IN @Z40WPYC*/ 00728000 MVC PCBVBN(2,PCBPTR),SPCTVBN(SWAPPTR) 0285 00729000 * IF PCBASCB->ASCB1LPU='1'B THEN/* IF LEVEL 1 USER, @ZA16816*/ 00730000 TM ASCB1LPU(@12),B'01000000' 0286 00731000 BNO @RF00286 0286 00732000 * PCBPREFR='1'B; /* BACK WITH PREFERRED FRAME 0287 00733000 * @ZA16816*/ 00734000 OI PCBPREFR(PCBPTR),B'00001000' 0287 00735000 * AIALSQA='1'B; /* INDICATE LSQA FOR ASM @Z40WPYC*/ 00736000 @RF00286 OI AIALSQA(PCBPTR),B'00001000' 0288 00737000 * IF SPCTPSET='1'B THEN /* LSQA TO PAGE DATASET @Z40WPYC*/ 00738000 TM SPCTPSET(SPCTPTR),B'00001000' 0289 00739000 BNO @RF00289 0289 00740000 * AIAPAGDS='1'B; /* YES - TELL ASM @Z40WPYC*/ 00741000 OI AIAPAGDS(PCBPTR),B'00000100' 0290 00742000 * ELSE 0291 00743000 * ; /* NO - TO NORMAL DATASET 0291 00744000 * @Z40WPYC*/ 00745000 @RF00289 DS 0H 0292 00746000 * AIALSID=SPCTSSID; /* SET LSID FOR ASM @Z40WPYC*/ 00747000 SLR @12,@12 0292 00748000 ICM @12,7,SPCTSSID(SWAPPTR) 0292 00749000 ST @12,AIALSID(,PCBPTR) 0292 00750000 * SWAPPTR=SWAPPTR+LENGTH(SPCTLS);/* POSITION SWAPPTR TO NEXT 00751000 * LSQA ENTRY */ 00752000 AL SWAPPTR,@CF00925 0293 00753000 * END; /* END OF UNIQUE LSQA PROCESSING */ 00754000 * 0295 00755000 * /***************************************************************/ 00756000 * /* */ 00757000 * /* THIS SECTION SETS UP FIELDS IN THE PCB WHICH ARE REQUIRED */ 00758000 * /* FOR EITHER FIXED OR LSQA REQUESTS */ 00759000 * /* */ 00760000 * /***************************************************************/ 00761000 * 0295 00762000 * PCBROOT='1'B; /* SET ROOT BIT ON IN PCB */ 00763000 @RC00194 OI PCBROOT(PCBPTR),B'00000100' 0295 00764000 * PCBRTPA=PCBRPTR; /* STORE ADDR OF ROOT IN PCB */ 00765000 STCM PCBRPTR,7,PCBRTPA(PCBPTR) 0296 00766000 * PCBRCNT=PCBRCNT+1; /* INCREMENT ROOT COMPLETION CT */ 00767000 LA @12,1 0297 00768000 AH @12,PCBRCNT(,PCBRPTR) 0297 00769000 STH @12,PCBRCNT(,PCBRPTR) 0297 00770000 * GEN REFS(PCBPTR,PCBFQPA) SETS(PCBPTR); 0298 00771000 ICM PCBPTR,@07,PCBFQPA(PCBPTR) POINT TO NEXT AVAILABLE PCB 00772000 *SWINEND: 0299 00773000 * START=START-1; /* DECREMENT CT OF ENTRIES TO 0299 00774000 * PROCESS */ 00775000 SWINEND BCTR START,0 0299 00776000 * END; /* END OF THE BIG DO LOOP */ 00777000 @DE00174 LTR START,START 0300 00778000 BNZ @DL00174 0300 00779000 * RFY 0301 00780000 * (START, 0301 00781000 * FINISH) UNRSTD; 0301 00782000 * 0301 00783000 * /*****************************************************************/ 00784000 * /* */ 00785000 * /* WHEN ALL LSQA ENTRIES HAVE BEEN PROCESSED, THE LOOP CONTROLS */ 00786000 * /* ARE RESET AND THE PROCESS REPEATED FOR FIX ENTRIES */ 00787000 * /* */ 00788000 * /*****************************************************************/ 00789000 * 0302 00790000 * IF LSQACOMP='0'B THEN /* RESTART BIG LOOP FOR */ 00791000 TM LSQACOMP(PCBRPTR),B'10000000' 0302 00792000 BNZ @RF00302 0302 00793000 * DO; /* FIX ENTRIES */ 00794000 * LSQACOMP='1'B; /* TURN ON LSQA COMPLETE BIT */ 00795000 OI LSQACOMP(PCBRPTR),B'10000000' 0304 00796000 * GEN REFS(SWAPPTR) SETS(SWAPPTR); 0305 00797000 LA SWAPPTR,7(,SWAPPTR) DOUBLE-WORD BNDRY @Z40WPYC 00798000 SRL SWAPPTR,3 DIVIDE BY EIGHT @Z40WPYC 00799000 SLL SWAPPTR,3 MULTIPLY BY EIGHT @Z40WPYC 00800000 * RFY 0306 00801000 * START RSTD; 0306 00802000 * START=SPCTFIX; /* RESET COUNT TO PROCESS */ 00803000 LH START,SPCTFIX(,SPCTPTR) 0307 00804000 * GOTO SWINFIX; /* RESTART BIG DO LOOP */ 00805000 B SWINFIX 0308 00806000 * END; 0309 00807000 * ELSE 0310 00808000 * ; 0310 00809000 @RF00302 DS 0H 0311 00810000 * IF(PVTAFC-PVTDEFFX)<(SPCTLSQA+SPCTFIX-R13)&ASCBNSWP='0'B THEN/* 00811000 * IF THE NUMBER OF FRAMES THAT 00812000 * ARE AVAILABLE TO THIS SWAPIN 00813000 * REQUEST IS LESS THAN THE 0311 00814000 * MAXIMUM REQUIRED, I.E., LSQA 00815000 * PLUS FIXES NOT ALREADY IN 0311 00816000 * STORAGE-AND-THE ADDRESS SPACE 00817000 * IS SWAPPABLE- @ZM0138*/ 00818000 LH @12,PVTAFC(,PVTPTR) 0311 00819000 SH @12,PVTDEFFX(,PVTPTR) 0311 00820000 LH @10,SPCTLSQA(,SPCTPTR) 0311 00821000 AH @10,SPCTFIX(,SPCTPTR) 0311 00822000 SLR @10,R13 0311 00823000 CR @12,@10 0311 00824000 BNL @RF00311 0311 00825000 L @12,PCBRASCB(,PCBRPTR) 0311 00826000 TM ASCBNSWP(@12),B'00000001' 0311 00827000 BNZ @RF00311 0311 00828000 * DO; 0312 00829000 * PCBRPB='1'B; /* SET THE FREE ROOT FLAG @ZM0138*/ 00830000 * PCBRETRY='1'B; /* SET THE RETRY FLAG IN THE ROOT 00831000 * @ZM0138*/ 00832000 OI PCBRPB(PCBRPTR),B'01100000' 0314 00833000 * CALL SWAPFIX; /* BACK-OUT THE COMMON AREA FIXES 00834000 * @ZM0138*/ 00835000 BAL @14,SWAPFIX 0315 00836000 * R11=ASCBASID; /* SAVE THE ASID FOR THE SYEVENT 00837000 * @ZM0138*/ 00838000 L @12,PCBRASCB(,PCBRPTR) 0316 00839000 LH R11,ASCBASID(,@12) 0316 00840000 N R11,@CF02051 0316 00841000 * CALL SWAPPCB; /* FREE THE SWIN SRB AND PCBS 0317 00842000 * @ZM0138*/ 00843000 * 0317 00844000 BAL @14,SWAPPCB 0317 00845000 * /*************************************************************/ 00846000 * /* */ 00847000 * /* AVQLOW SYSEVENT HAS BEEN DELETED @ZA25086*/ 00848000 * /* */ 00849000 * /*************************************************************/ 00850000 * 0318 00851000 * R0=R11; /* SET ASID FOR SYSEVENT @ZM0138*/ 00852000 LR R0,R11 0318 00853000 * GOTO SWINSYS; /* ISSUE SWAPIN FAIL SYSEVENT 0319 00854000 * @ZM0138*/ 00855000 B SWINSYS 0319 00856000 * END; /* AND EXIT @ZM0138*/ 00857000 * ELSE 0321 00858000 * ; /* ALLOW THE SWAP-IN TO CONTINUE 00859000 * - IT IS POSSIBLE THAT A 0321 00860000 * NONSWAPPABLE ADDRESS SPACE IS 00861000 * BEING SWAPPED- IN AND GFA WILL 00862000 * STEAL IN ORDER TO GET FRAMES 00863000 * FOR IT @ZM0138*/ 00864000 * 0321 00865000 @RF00311 DS 0H 0322 00866000 * /*****************************************************************/ 00867000 * /* */ 00868000 * /* LSQA/FIX PCB'S WILL BE SEPARATED FROM THE PRIVATE AREA UNFIXED*/ 00869000 * /* PCB'S. THE PRIVATE AREA UNFIXED PCB'S WILL BE PASSED TO GFA IN*/ 00870000 * /* IEAVSWPP AFTER SWIN ROOT EXIT (IEAVSIRT) PROCESSES THE */ 00871000 * /* LSQA/FIX @Z40WPYC*/ 00872000 * /* */ 00873000 * /*****************************************************************/ 00874000 * 0322 00875000 * RFY 0322 00876000 * (START, 0322 00877000 * SWAPPTR) UNRSTD; /* FREE UP REGS 8 AND 11 */ 00878000 * IF PCBPTR^=0 THEN /* THIS END OF CHAIN @Z40WPYC*/ 00879000 SLR @12,@12 0323 00880000 CR PCBPTR,@12 0323 00881000 BE @RF00323 0323 00882000 * DO; /* NO - MORE PCB'S EXIST @Z40WPYC*/ 00883000 * PCBRWRKA=PCBPTR; /* START OF PRIVATE AREA PCB'S 0325 00884000 * @Z40WPYC*/ 00885000 ST PCBPTR,PCBRWRKA(,PCBRPTR) 0325 00886000 * PCBBQPA->PCBFQPA=0; /* ZERO FORWARD POINTER IN LAST 00887000 * LSQA/FIX PCB @Z40WPYC*/ 00888000 L @08,PCBBQPA(,PCBPTR) 0326 00889000 STCM @12,7,PCBFQPA(@08) 0326 00890000 * PCBBQPA=0; /* ZERO BACK POINTER IN FIRST 0327 00891000 * PRIVATE AREA PCB @Z40WPYC*/ 00892000 ST @12,PCBBQPA(,PCBPTR) 0327 00893000 * END; /* END P.A. UNFIXED PCB 0328 00894000 * PROCESSING @Z40WPYC*/ 00895000 * ELSE 0329 00896000 * ; /* NO MORE PCB'S EXIST - FALL 0329 00897000 * THROUGH SEGMENT ENTRY 0329 00898000 * PROCESSING @Z40WPYC*/ 00899000 @RF00323 DS 0H 0330 00900000 * 0330 00901000 * /*****************************************************************/ 00902000 * /* */ 00903000 * /* WHEN ALL FIXED AND LSQA ENTRIES HAVE BEEN PROCESSED, STAGE 2 */ 00904000 * /* PCBS ARE SET UP FOR THE REMAINING ACTIVE SEGMENTS. NOTE THAT */ 00905000 * /* PCBPGTA AND PCBXPTA CANNOT BE INITIALIZED IN THIS ROUTINE AS */ 00906000 * /* THE PAGE MAY BE FREEMAIND OR FREEMAIND/GETMAIND BEFORE */ 00907000 * /* IEAVSWPP RUNS IN THE SWAPPED IN ADDRESS SPACE. IN ANY EVENT, */ 00908000 * /* THE ADDRESS OF THE PGTE/XPTE MAY NOT BE THE SAME OR VALID WHEN*/ 00909000 * /* IEAVSWPP RECEIVES CONTROL. IEAVSWPP WILL SET PCBPGTA AND */ 00910000 * /* PCBXPTA. */ 00911000 * /* */ 00912000 * /*****************************************************************/ 00913000 * 0330 00914000 *SWINSEG: 0330 00915000 * RFY 0330 00916000 * (SEGSPTR, 0330 00917000 * ACTIVE, 0330 00918000 * BITMASK, 0330 00919000 * MASK) RSTD; /* RESERVE REGS 10, 8, 12 AND 1 */ 00920000 SWINSEG DS 0H 0331 00921000 * SEGSPTR=ADDR(SPCTSEGS); /* INITIALIZE PTR TO SEGMENT 0331 00922000 * ENTRIES */ 00923000 LA SEGSPTR,SPCTSEGS(,SPCTPTR) 0331 00924000 * DO ACTIVE=SPCTSSEG TO 1 BY-1; /* START STAGE 2 PROCESSING */ 00925000 SLR ACTIVE,ACTIVE 0332 00926000 IC ACTIVE,SPCTSSEG(,SPCTPTR) 0332 00927000 B @DE00332 0332 00928000 @DL00332 DS 0H 0333 00929000 * BITMASK=SPCTBITM; /* PUT BIT MASK FROM ENTRY IN REG*/ 00930000 LH BITMASK,SPCTBITM(,SEGSPTR) 0333 00931000 N BITMASK,@CF02051 0333 00932000 * MASK='7FFF'X; /* INITIALIZE BIT MASK */ 00933000 L MASK,@CF01961 0334 00934000 * DO R14=0 TO 15; /* START OF BIT SCAN LOOP */ 00935000 SLR R14,R14 0335 00936000 @DL00335 DS 0H 0336 00937000 * IF BITMASK>MASK THEN /* IF BIT IS ON, START ACTIVE 0336 00938000 * SEGMENT PROCESS */ 00939000 CR BITMASK,MASK 0336 00940000 BNH @RF00336 0336 00941000 * DO; 0337 00942000 * PCBASCB=PCBRASCB; /* SET THE INPUT ASCB POINTER */ 00943000 L @11,PCBRASCB(,PCBRPTR) 0338 00944000 ST @11,PCBASCB(,PCBPTR) 0338 00945000 * PCBSWPS2='1'B; /* SET THE STAGE2 BIT @Z40WPYC*/ 00946000 * 0339 00947000 OI PCBSWPS2(PCBPTR),B'00000001' 0339 00948000 * /*********************************************************/ 00949000 * /* */ 00950000 * /* CALCULATE THE PAGE VBN BY CONCATENATING THE PAGE INDEX*/ 00951000 * /* VALUE (IN R14) AND A ZERO TO THE THE SEGMENT INDEX */ 00952000 * /* STORED IN THE SEGMENT ENTRY. */ 00953000 * /* */ 00954000 * /*********************************************************/ 00955000 * 0340 00956000 * RFY 0340 00957000 * R11 RSTD; 0340 00958000 * R11=SPCTSEGX; /* GET THE SEGMENT INDEX */ 00959000 SLR R11,R11 0341 00960000 IC R11,SPCTSEGX(,SEGSPTR) 0341 00961000 * GEN SETS(R11); 0342 00962000 SLL R11,@04 SHIFT SS VALUE OVER 4 BITS 00963000 * R11=R11+R14; /* ADD THE PAGE INDEX VALUE */ 00964000 ALR R11,R14 0343 00965000 * AIAPRIV='1'B; /* INDICATE PRIVATE AREA FRAME 0344 00966000 * @Z40WPYC*/ 00967000 OI AIAPRIV(PCBPTR),B'01000000' 0344 00968000 * GEN SETS(R11); 0345 00969000 SLL R11,@04 ADD FOUR BITS OF ZEROS 00970000 * PCBVBN=R11; /* STORE THE VBN IN THE PCB */ 00971000 STH R11,PCBVBN(,PCBPTR) 0346 00972000 * RFY 0347 00973000 * R11 UNRSTD; 0347 00974000 * GEN REFS(PCBPTR,PCBFQPA) SETS(PCBPTR); 0348 00975000 ICM PCBPTR,@07,PCBFQPA(PCBPTR) POINT TO NEXT PCB 00976000 * BITMASK=BITMASK&MASK; /* AND OFF THE BIT WHICH WAS JUST 00977000 * PROCESSED */ 00978000 NR BITMASK,MASK 0349 00979000 * END; /* END OF ACTIVE SEG PROCESS */ 00980000 */* ALWAYS EXECUTE NEXT INSTRUCTION */ 00981000 * 0351 00982000 * ELSE 0351 00983000 * ; 0351 00984000 @RF00336 DS 0H 0352 00985000 * GEN SETS(R1); 0352 00986000 SRL MASK,@01 SHIFT MASK FOR NEXT INSTRUCTION 00987000 * END; /* END OF BIT SCAN LOOP */ 00988000 AL R14,@CF00062 0353 00989000 C R14,@CF00052 0353 00990000 BNH @DL00335 0353 00991000 * SEGSPTR=SEGSPTR+LENGTH(SPCTSEGE);/* POINT TO NEXT ENTRY */ 00992000 AL SEGSPTR,@CF00925 0354 00993000 * END; /* END OF STAGE 2 PROCESSING */ 00994000 BCTR ACTIVE,0 0355 00995000 @DE00332 LTR ACTIVE,ACTIVE 0355 00996000 BP @DL00332 0355 00997000 * RFY 0356 00998000 * (SEGSPTR, 0356 00999000 * ACTIVE, 0356 01000000 * BITMASK, 0356 01001000 * MASK) UNRSTD; /* FREE REGS 10, 8, 12 AND 1 */ 01002000 * 0357 01003000 * /*****************************************************************/ 01004000 * /* */ 01005000 * /* IF ANY COMMON AREA FIXED ENTRIES HAVE BEEN FOUND IN REAL */ 01006000 * /* STORAGE, THERE ARE SOME EXTRA PCBS STILL CHAINED IN WHICH */ 01007000 * /* SHOULD BE RETURNED TO THE AVAILABLE PCB QUEUE. THIS SECTION OF*/ 01008000 * /* CODE CALLS IEAVPCB TO FREE THE EXTRA PCBS OBTAINED. */ 01009000 * /* */ 01010000 * /*****************************************************************/ 01011000 * 0357 01012000 *SWINPCB: 0357 01013000 * IF PCBPTR=0 THEN /* ARE THERE PCBS TO FREE */ 01014000 SWINPCB SLR @12,@12 0357 01015000 CR PCBPTR,@12 0357 01016000 BE @RT00357 0357 01017000 * GOTO SWINGFA; /* NO - SKIP CALL TO PCB MANAGER */ 01018000 * ELSE 0359 01019000 * DO; 0359 01020000 * RFY 0360 01021000 * (R0, 0360 01022000 * R1) RSTD; 0360 01023000 * IF PCBRWRKA=PCBPTR THEN /* IF NO P.A. UNFIXED PCB'S 0361 01024000 * @Z40WPYC*/ 01025000 C PCBPTR,PCBRWRKA(,PCBRPTR) 0361 01026000 BNE @RF00361 0361 01027000 * PCBRWRKA=0; /* ZERO P.A. UNFIXED PCB PTR 0362 01028000 * @Z40WPYC*/ 01029000 ST @12,PCBRWRKA(,PCBRPTR) 0362 01030000 * ELSE /* RETAIN PTR TO P.A. PCBS 0363 01031000 * @Z40WPYC*/ 01032000 * PCBBQPA->PCBFQPA=0; /* ZERO FORWARD POINTER IN 0363 01033000 * PREVIOUS PCB.NOTE THAT IF P.A. 01034000 * UNFIXED PCBS EXIST, PCBBQPA 0363 01035000 * HAS PREVIOUSLY BEEN CLEARED. 01036000 * @Z40WPYC*/ 01037000 B @RC00361 0363 01038000 @RF00361 L @12,PCBBQPA(,PCBPTR) 0363 01039000 SLR @08,@08 0363 01040000 STCM @08,7,PCBFQPA(@12) 0363 01041000 * R1=PCBPTR; /* SAVE POINTER TO THE 1ST PCB 0364 01042000 * WHICH WILL BE FREED */ 01043000 @RC00361 LR R1,PCBPTR 0364 01044000 * R0=PCBFREQN; /* SET TQN FOR AVAILABLE QUEUE */ 01045000 LA R0,16 0365 01046000 * CALL PCBMGR; /* CALL PCB MANAGER TO ENQ EXTRAS*/ 01047000 L @15,PVTPCB(,PVTPTR) 0366 01048000 BALR @14,@15 0366 01049000 * END; 0367 01050000 * 0368 01051000 * /*****************************************************************/ 01052000 * /* */ 01053000 * /* ALL THE PCB INITIALIZATION IS NOT COMPLETE. PASS THE CHAIN OF */ 01054000 * /* LSQA AND FIXED PCBS TO GFA TO HAVE THE FRAMES ASSIGNED AND I/O*/ 01055000 * /* INITIATED */ 01056000 * /* */ 01057000 * /*****************************************************************/ 01058000 * 0368 01059000 *SWINGFA: 0368 01060000 * RFY 0368 01061000 * R11 RSTD; 0368 01062000 SWINGFA DS 0H 0369 01063000 * R1=PCBRWRK1; /* SET REG 1 TO START OF CHAIN */ 01064000 L R1,PCBRWRK1(,PCBRPTR) 0369 01065000 * PCBRWRK1=0; /* CLEAR THE FIELD USED */ 01066000 SLR @12,@12 0370 01067000 ST @12,PCBRWRK1(,PCBRPTR) 0370 01068000 * R11=ASCBASID; /* SAVE ASID FOR POSSIBLE 0371 01069000 * SYSEVENT */ 01070000 L @12,PCBRASCB(,PCBRPTR) 0371 01071000 LH R11,ASCBASID(,@12) 0371 01072000 N R11,@CF02051 0371 01073000 * CALL GFA; /* CALL GENERAL FRAME ALLOCATION */ 01074000 L @15,PVTPGFA(,PVTPTR) 0372 01075000 BALR @14,@15 0372 01076000 * RCACSECT=RCACSPIN; /* RESET THE MODULE ID ON RETURN */ 01077000 L @12,PVTPRCA(,PVTPTR) 0373 01078000 MVI RCACSECT(@12),X'19' 0373 01079000 * IF R15=8 THEN /* IF FRAMES WERE UNAVAILABLE */ 01080000 C R15,@CF00055 0374 01081000 BNE @RF00374 0374 01082000 * DO; /* NOTIFY THE SRM TO RETRY THE 0375 01083000 * SWAP-IN LATER */ 01084000 * SPCTSWIN='0'B; /* TURN OFF THE SWAP-IN FLAG */ 01085000 NI SPCTSWIN(SPCTPTR),B'01111111' 0376 01086000 * R0=R11; /* PUT ASID IN REG 0 */ 01087000 LR R0,R11 0377 01088000 * GOTO SWINSYS; /* GO ISSUE SYSEVENT AND EXIT */ 01089000 B SWINSYS 0378 01090000 * END; 0379 01091000 * PVTSPIN=PVTSPIN+((SPCTFIX+SPCTLSQA)-R13);/* ADD NUMBER OF FRAMES 01092000 * TO BE SWAPPED IN AS STAGE1 0380 01093000 * PAGES, MINUS THE NUMBER OF 0380 01094000 * IN-CORE COMMON AREA FIXES NOT 01095000 * REQUIRING I/O, TO THE CURRENT 01096000 * SWAPIN COUNT. NOTE THAT 0380 01097000 * IEAVGFA WILL UPDATE PVTSPIN 0380 01098000 * FOR THE STAGE2 PAGES. @Z40WPYC*/ 01099000 @RF00374 LH @12,SPCTFIX(,SPCTPTR) 0380 01100000 AH @12,SPCTLSQA(,SPCTPTR) 0380 01101000 SLR @12,R13 0380 01102000 AL @12,PVTSPIN(,PVTPTR) 0380 01103000 ST @12,PVTSPIN(,PVTPTR) 0380 01104000 * PVTNSWPS=PVTNSWPS+1; /* INCREMENT SWAP SEQUENCE COUNT */ 01105000 LA @12,1 0381 01106000 AL @12,PVTNSWPS(,PVTPTR) 0381 01107000 ST @12,PVTNSWPS(,PVTPTR) 0381 01108000 * RFY 0382 01109000 * (R1, 0382 01110000 * R11) UNRSTD; 0382 01111000 * 0383 01112000 * /*****************************************************************/ 01113000 * /* */ 01114000 * /* THE SALLOC IS RELEASED BY THIS SECTION OF CODE. */ 01115000 * /* */ 01116000 * /*****************************************************************/ 01117000 * 0383 01118000 *SWINLOCK: 0383 01119000 * RFY 0383 01120000 * R11 RSTD; 0383 01121000 SWINLOCK DS 0H 0384 01122000 * RFY 0384 01123000 * R12 RSTD; 0384 01124000 *FREELOCK: /* ISSUE SETLOCK */ 01125000 * GEN CODE REFS(PSALITA,FLC) SETS(R11,R12,R13,R14); 0385 01126000 * 0385 01127000 FREELOCK DS 0H 0385 01128000 SETLOCK RELEASE,TYPE=SALLOC,RELATED=(RSM,IEAVSWIN(GETLOCK)) 01129000 * /*****************************************************************/ 01130000 * /* */ 01131000 * /* THIS IS THE FINAL EXIT FROM THE ROUTINE. THE FRR ROUTINE IS */ 01132000 * /* DELETED FROM THE STACK AND REGISTER 14 IS SET TO THE SRB EXIT */ 01133000 * /* ADDRESS IN THE CVT. RETURN IS MADE TO THE DISPATCHER. */ 01134000 * /* */ 01135000 * /*****************************************************************/ 01136000 * 0386 01137000 *SWINEXIT: 0386 01138000 * GEN REFS(PSACSTK,FRRSEMP,FRRSELEN) SETS(R11,R12,FRRSCURR); 0386 01139000 SWINEXIT DS 0H 0386 01140000 SETFRR D,WRKREGS=(R11,R12) 01141000 * R14=CVTSRBRT; /* RESTORE R14 */ 01142000 L @10,CVTPTR 0387 01143000 L R14,CVTSRBRT(,@10) 0387 01144000 * GOTO R14; /* RETURN TO DISPATCHER */ 01145000 BR R14 0388 01146000 * RFY 0389 01147000 * (R11, 0389 01148000 * R12, 0389 01149000 * R14) UNRSTD; 0389 01150000 * 0390 01151000 * /*****************************************************************/ 01152000 * /* */ 01153000 * /* THIS SECTION ISSUES A SYSEVENT TO THE SRM WHEN THE SWAP-IN IS */ 01154000 * /* UNABLE TO BE PERFORMED AT THIS TIME. REGISTER ZERO MUST */ 01155000 * /* CONTAIN THE ASID BEFORE COMING HERE. */ 01156000 * /* */ 01157000 * /*****************************************************************/ 01158000 * 0390 01159000 *SWINSYS: 0390 01160000 * RFY 0390 01161000 * (R11, 0390 01162000 * R12, 0390 01163000 * R13) RSTD; 0390 01164000 SWINSYS DS 0H 0391 01165000 *FREELOC: /* RELEASE SALLOC, OBTAIN LOCAL 01166000 * LOCK */ 01167000 * GEN CODE DEFS(SWINGET) REFS(PSALITA,FLC) SETS(R11,R12,R13,R14); 01168000 FREELOC DS 0H 0391 01169000 SETLOCK RELEASE,TYPE=SALLOC,RELATED=(RSM,IEAVSWIN(GETLOCK)) 01170000 SWINGET SETLOCK OBTAIN,TYPE=LOCAL,MODE=UNCOND, **01171000 RELATED=(SYSEVENT,IEAVSWIN(SWINFREE)) 01172000 * RFY 0392 01173000 * ASCB BASED(PSAAOLD); 0392 01174000 * R13=WSALRSM; /* PASS SAVE AREA FOR SYSEVENT */ 01175000 * 0393 01176000 L @14,PSAAOLD 0393 01177000 L @01,ASXBPTR(,@14) 0393 01178000 L @01,ASXBSPSA(,@01) 0393 01179000 L R13,WSALRSM(,@01) 0393 01180000 * /*****************************************************************/ 01181000 * /* */ 01182000 * /* ISSUE SYSEVENT AND RELEASE LOCAL LOCK */ 01183000 * /* */ 01184000 * /*****************************************************************/ 01185000 * 0394 01186000 * GEN CODE REFS(CVTPTR,CVTOPTE,CVT,PSALITA,FLC) DEFS(SWINFREE) SETS( 01187000 * R0,R11,R12,R13,R14,R15); 0394 01188000 SYSEVENT SWINFL,ASID=(0),ENTRY=BRANCH 01189000 SWINFREE SETLOCK RELEASE,TYPE=LOCAL, **01190000 RELATED=(SYSEVENT,IEAVSWIN(SWINGET)) 01191000 * GOTO SWINEXIT; /* GO TO THE EXIT ROUTINE */ 01192000 B SWINEXIT 0395 01193000 * RFY 0396 01194000 * (R11, 0396 01195000 * R12, 0396 01196000 * R13) UNRSTD; 0396 01197000 * 0397 01198000 * /*****************************************************************/ 01199000 * /* */ 01200000 * /* SWAP IN ROOT EXIT ROUTINE */ 01201000 * /* */ 01202000 * /*****************************************************************/ 01203000 * 0397 01204000 *IEAVSIRT: 0397 01205000 * GEN REFS(R15,PVTPTR) SETS(PVTWSA7,R9,R15); 0397 01206000 * 0397 01207000 IEAVSIRT DS 0H 0397 01208000 STM R0,R15,PVTWSA7(PVTPTR) SAVE REGISTERS IN PVT 01209000 LA R15,ROOTEXIT-@PSTART GET OFFSET FROM MODULE START 01210000 BALR R9,@00 ESTABLISH ADRRESSABILITY 01211000 ROOTEXIT SR R9,R15 ADJUST BY PROPER OFFSET 01212000 * /*****************************************************************/ 01213000 * /* */ 01214000 * /* INITIALIZE BASIC CONTROL BLOCK POINTERS AND SET RECOVERY */ 01215000 * /* FOOTPRINT. */ 01216000 * /* */ 01217000 * /*****************************************************************/ 01218000 * 0398 01219000 * RFY 0398 01220000 * ASCB BASED(PCBRASCB); 0398 01221000 * PCBRPTR=R1; /* ESTABLISH ROOT PCB POINTER 0399 01222000 * PASSED AS INPUT */ 01223000 LR PCBRPTR,R1 0399 01224000 * RCACSECT=RCACSPIN; /* SET MODULE ID FOR IEAVSWIN */ 01225000 L @14,PVTPRCA(,PVTPTR) 0400 01226000 MVI RCACSECT(@14),X'19' 0400 01227000 * RCASIRT='1'B; /* SET ENTRY POINT FLAG IN THE 0401 01228000 * RCA */ 01229000 OI RCASIRT(@14),B'00100000' 0401 01230000 * FRRASCB=0; /* ZERO H.O. TWO BYTES OF ASID 0402 01231000 * FIELD */ 01232000 SLR @14,@14 0402 01233000 STH @14,FRRASCB(,PVTPTR) 0402 01234000 * FRRASID=ASCBASID; /* SAVE ASID FOR FRR ROUTINE */ 01235000 L @14,PCBRASCB(,PCBRPTR) 0403 01236000 MVC FRRASID(2,PVTPTR),ASCBASID(@14) 0403 01237000 * RSMHDPTR=ASCBRSM; /* SET RSM HEADER PTR FROM ASCB */ 01238000 L RSMHDPTR,ASCBRSM(,@14) 0404 01239000 * FRRRSMHD=RSMHDPTR; /* RSMHD ADDR FOR FRR. FRR WILL 01240000 * SET RSMFAIL FLAG IF SWIN ROOT 01241000 * PC'S @Z40WPYC*/ 01242000 ST RSMHDPTR,FRRRSMHD(,PVTPTR) 0405 01243000 * SPCTPTR=RSMSPCT; /* SET SPCT POINTER FROM RSM 0406 01244000 * HEADER */ 01245000 * 0406 01246000 L SPCTPTR,RSMSPCT(,RSMHDPTR) 0406 01247000 * /*****************************************************************/ 01248000 * /* */ 01249000 * /* IF THE ROOT FREE FLAG HAS BEEN SET AND LSQA IS UNAVAILABLE */ 01250000 * /* THEN GO TO ERROR PROCESSING. ALSO IF GFA HAS INDICATED THAT */ 01251000 * /* THE SWAPIN SHOULD BE RETRIED, GO TO ERROR PROCESSING TO BACK */ 01252000 * /* OUT COMMON AREA FIXES. @Z40WPYC*/ 01253000 * /* */ 01254000 * /*****************************************************************/ 01255000 * 0407 01256000 * IF((PCBRPB='1'B)&RSMFAIL='1'B)|PCBRETRY='1'B THEN/* IF AN ERROR 01257000 * HAS BEEN INDICATED, GO TO 0407 01258000 * ERROR PROCESSOR. @Z40WPYC*/ 01259000 TM PCBRPB(PCBRPTR),B'00100000' 0407 01260000 BNO @GL00003 0407 01261000 TM RSMFAIL(RSMHDPTR),B'00000010' 0407 01262000 BO @RT00407 0407 01263000 @GL00003 TM PCBRETRY(PCBRPTR),B'01000000' 0407 01264000 BO @RT00407 0407 01265000 * GOTO SIRTERR0; /* GO TO THE ERROR ROUTINE */ 01266000 * IF SPCTBIG='1'B THEN /* IF THERE ARE SOME BIG FIX 0409 01267000 * COUNTS, I.E. OVER 255, IN THE 01268000 * SPCT ENTRIES */ 01269000 TM SPCTBIG(SPCTPTR),B'00010000' 0409 01270000 BNO @RF00409 0409 01271000 * DO; 0410 01272000 * IF PCBRFAIL='1'B THEN /* IF IEAVPIOP HAS INDICATED AN 01273000 * ERROR OCCURRED TO A FIX'D 0411 01274000 * PAGE, BYPASS BIG FIX 0411 01275000 * PROCESSING. FOR FIX'D PAGE 0411 01276000 * SWAPIN ERRORS, THE SEGMENT AND 01277000 * PAGE TABLES WILL BE VALIDATED 01278000 * FOR THE ADDRESS SPACE, (ONLY 01279000 * IF THE LSQA I/O WAS 0411 01280000 * SUCCESSFUL, RSMFAIL = 0). 0411 01281000 * AFTER THE SEGMENT AND PAGE 0411 01282000 * TABLES ARE RECONSTRUCTED, THE 01283000 * MEMORY WILL BE TERMINATED. 0411 01284000 * THIS PROCESSING WILL ENSURE 0411 01285000 * THAT AS MANY AUXILIARY SLOTS 01286000 * AS POSSIBLE WILL BE FREED 0411 01287000 * @Z40WPYC*/ 01288000 TM PCBRFAIL(PCBRPTR),B'00001000' 0411 01289000 BO @RT00411 0411 01290000 * GO TO REBUILD; /* SKIP BIG FIX PROCESSING IF AN 01291000 * ERROR OCCURRED @Z40WPYC*/ 01292000 * CALL SWAPFIX; /* THEN CALL SUBROUTINE TO UPDATE 01293000 * THE PFTE FIX COUNTS. IF 0413 01294000 * PCBRFAIL IS SET BY SWAPFIX THE 01295000 * MEMORY WILL BE TERMINATED 0413 01296000 * AFTER THE ADDRESS SPACE IS 0413 01297000 * RECONSTRUCTED. */ 01298000 BAL @14,SWAPFIX 0413 01299000 * END; 0414 01300000 * 0415 01301000 * /*****************************************************************/ 01302000 * /* */ 01303000 * /* THE FOLLOWING ROUTINE WILL LOCATE THE PCB WHICH DEFINES THE */ 01304000 * /* FIRST PAGE OF LSQA FOR THE ADDRESS SPACE BEING SWAPPED IN. */ 01305000 * /* THIS PAGE CONTAINS THE SEGMENT TABLE FOR THE MEMORY. IT IS */ 01306000 * /* ASSUMED THAT THE FIRST SEGMENT TABLE ENTRY IN THE SPCT WILL */ 01307000 * /* CONTAIN THE VIRTUAL PAGE TABLE ADDRESS FOR THIS PAGE. */ 01308000 * /* */ 01309000 * /*****************************************************************/ 01310000 * 0415 01311000 *REBUILD: /* @Z40WPYC*/ 01312000 * RFY 0415 01313000 * (R8, 0415 01314000 * R12, 0415 01315000 * SEGSPTR) RSTD; 0415 01316000 @RF00409 DS 0H 0415 01317000 REBUILD DS 0H 0416 01318000 * PCBPTR=PCBRWRK1; /* GET 1ST PCB POINTER FROM ROOT */ 01319000 L PCBPTR,PCBRWRK1(,PCBRPTR) 0416 01320000 * SEGSPTR=ADDR(SPCTSEGS); /* GET THE ADDRESS OF 1ST SEGMENT 01321000 * TABLE ENTRY */ 01322000 LA SEGSPTR,SPCTSEGS(,SPCTPTR) 0417 01323000 * R12=SPCTPGT; /* PUT VSA OF PAGE TABLE FROM SEG 01324000 * ENTRY IN REG 12 */ 01325000 SLR R12,R12 0418 01326000 ICM R12,7,SPCTPGT(SEGSPTR) 0418 01327000 * GEN REFS(R12) SETS(R12); 0419 01328000 SRL R12,12 LEAVE ONLY VBN PORTION OF PGT ADDR 01329000 * DO WHILE PCBPTR^=0; /* PERFORM THIS LOOP UNTIL A 0420 01330000 * MATCH IS FOUND BETWEEN THE 0420 01331000 * VBNS IN THE SEGMENT ENTRY AND 01332000 * A PCB, OR UNTIL THERE ARE NO 01333000 * MORE PCBS WHICH IS AN ERROR 0420 01334000 * CONDITION. */ 01335000 B @DE00420 0420 01336000 @DL00420 DS 0H 0421 01337000 * R8=PCBVBN; /* PUT VBN FROM PCB IN REG 8 */ 01338000 LH R8,PCBVBN(,PCBPTR) 0421 01339000 N R8,@CF02051 0421 01340000 * GEN REFS(R8) SETS(R8); 0422 01341000 SRL R8,4 SHIFT OUT L.O. 4 BITS OF PCBVBN 01342000 * IF R8=R12 THEN /* DETERMINE IF THE SSP VALUES 0423 01343000 * ARE EQUAL */ 01344000 CR R8,R12 0423 01345000 BNE @RF00423 0423 01346000 * DO; /* CREATE THE REAL ADDRESS OF THE 01347000 * SEGMENT TABLE BY CONCATENATING 01348000 * THE L.O. 12 BITS OF THE SGT 0424 01349000 * VIRTUAL ADDRESS IN THE RSM 0424 01350000 * HEADER TO THE RBN CONTAINED IN 01351000 * THE PCB. */ 01352000 * R8=PCBRBN*256; /* PUT THE RSA VALUE IN REG 8 */ 01353000 LH R8,PCBRBN(,PCBPTR) 0425 01354000 N R8,@CF02051 0425 01355000 SLA R8,8 0425 01356000 * R12=RSMVSTO; /* PUT THE VIRTUAL ADDR OF THE 0426 01357000 * SEGMENT TABLE IN R12 */ 01358000 L R12,RSMVSTO(,RSMHDPTR) 0426 01359000 * GEN REFS(R12) SETS(R12); 0427 01360000 SLL R12,20 LEAVE ONLY THE NNN PORTION OF 01361000 SRL R12,20 THE SEG TABLE VSA IN REG 12 01362000 * RFY 0428 01363000 * STEPTR RSTD; 0428 01364000 * STEPTR=R8|R12; /* OR THE TWO VALUES TOGETHER */ 01365000 LR STEPTR,R8 0429 01366000 OR STEPTR,R12 0429 01367000 * ASCBSTO=STEPTR; /* STORE THE REAL SEGMENT TABLE 01368000 * ADDRESS IN THE ASCB (24 BITS) */ 01369000 L @01,PCBRASCB(,PCBRPTR) 0430 01370000 STCM STEPTR,7,ASCBSTO(@01) 0430 01371000 * GOTO SIRTPCB1; /* EXIT FROM THIS LOOP */ 01372000 B SIRTPCB1 0431 01373000 * END; 0432 01374000 * ELSE /* IF THE VBNS DO NOT MATCH, GET 01375000 * NEXT PCB AND CONTINUE SCAN */ 01376000 * GEN REFS(PCBPTR,PCBFQPA) SETS(PCBPTR); 0433 01377000 @RF00423 DS 0H 0433 01378000 ICM PCBPTR,@07,PCBFQPA(PCBPTR) GET FORWARD PCB POINTER 01379000 * END; /* END OF SEARCH FOR LSQA PAGE */ 01380000 @DE00420 LTR PCBPTR,PCBPTR 0434 01381000 BNZ @DL00420 0434 01382000 * RFY 0435 01383000 * (R8, 0435 01384000 * R12, 0435 01385000 * STEPTR) UNRSTD; 0435 01386000 * GOTO SIRTERR; /* IF ALL PCBS HAVE BEEN EXAMINED 01387000 * AND A MATCH NOT FOUND, GO 0436 01388000 * RECORD THE ERROR AND SET THE 01389000 * ROOT FAIL FLAG TO TERMINATE 0436 01390000 * THE MEMORY */ 01391000 * 0436 01392000 B SIRTERR 0436 01393000 * /*****************************************************************/ 01394000 * /* */ 01395000 * /* THE NEXT PROCESS WILL UPDATE THE SEGMENT TABLE (IN */ 01396000 * /* NON-TRANSLATE MODE) WITH THE REAL ADDRESSES OF THE PAGE */ 01397000 * /* TABLES. */ 01398000 * /* */ 01399000 * /*****************************************************************/ 01400000 * 0437 01401000 *SIRTPCB1: 0437 01402000 * R15=SPCTSSEG; /* GET THE COUNT OF SEGMENT 0437 01403000 * ENTRIES TO PROCESS. @ZA10769*/ 01404000 SIRTPCB1 SLR R15,R15 0437 01405000 IC R15,SPCTSSEG(,SPCTPTR) 0437 01406000 * SEGSPTR=ADDR(SPCTSEGS); /* GET ADDRESS OF FIRST SEGMENT 01407000 * ENTRY @ZA10769*/ 01408000 LA SEGSPTR,SPCTSEGS(,SPCTPTR) 0438 01409000 * RFY 0439 01410000 * (R0, 0439 01411000 * R13) RSTD; /* @ZA10769*/ 01412000 * R0=PVTLCSA/16; /* GET SSP OF LOWEST COMMON AREA 01413000 * PAGE @ZA10769*/ 01414000 LH R0,PVTLCSA(,PVTPTR) 0440 01415000 N R0,@CF02051 0440 01416000 SRL R0,4 0440 01417000 * DO R13=R15 TO 1 BY-1; /* DECREMENT THE NUMBER OF 0441 01418000 * SEGMENT ENTRIES TO PROCESS BY 01419000 * 1 FOR EVERY SEGMENT WHOSE PAGE 01420000 * TABLES WERE BUILT IN SQA. 0441 01421000 * @ZA10769*/ 01422000 LR R13,R15 0441 01423000 B @DE00441 0441 01424000 @DL00441 DS 0H 0442 01425000 * IF SPCTPGT/4096>=R0 THEN /* PAGE TABLES IN SQA? @ZA10769*/ 01426000 SLR @14,@14 0442 01427000 ICM @14,7,SPCTPGT(SEGSPTR) 0442 01428000 SRL @14,12 0442 01429000 CR @14,R0 0442 01430000 BL @RF00442 0442 01431000 * R15=R15-1; /* YES. DECREMENT COUNT OF 0443 01432000 * ENTRIES TO PROCESS. @ZA10769*/ 01433000 BCTR R15,0 0443 01434000 * SEGSPTR=SEGSPTR+LENGTH(SPCTSEGE);/* POINT TO NEXT SEGMENT ENTRY 01435000 * @ZA10769*/ 01436000 @RF00442 AL SEGSPTR,@CF00925 0444 01437000 * END; /* ON EXIT FROM LOOP, R15 0445 01438000 * CONTAINS THE NUMBER OF SEGMENT 01439000 * ENTRIES FOR WHOSE SEGMENTS 0445 01440000 * PAGE TABLES WERE BUILT IN 0445 01441000 * LSQA. @ZA10769*/ 01442000 BCTR R13,0 0445 01443000 @DE00441 LTR R13,R13 0445 01444000 BP @DL00441 0445 01445000 * PCBPTR=PCBRWRK1; /* START SCAN AT TOP OF PCB Q */ 01446000 L PCBPTR,PCBRWRK1(,PCBRPTR) 0446 01447000 * DO WHILE PCBPTR^=0; /* DO THIS LOOP FOR ALL PCBS */ 01448000 B @DE00447 0447 01449000 @DL00447 DS 0H 0448 01450000 * IF PCBSWPLS='0'B THEN /* SINCE THE PAGE TABLES CAN */ 01451000 TM PCBSWPLS(PCBPTR),B'00010000' 0448 01452000 BZ @RT00448 0448 01453000 * GOTO SIRTPCBF; /* ONLY BE IN LSQA PAGES, DO NOT 01454000 * LOOK AT NON-LSQA PCBS HERE. */ 01455000 * RFY 0450 01456000 * (R8, 0450 01457000 * R12) RSTD; /* @ZA10769*/ 01458000 * R8=PCBVBN; /* PUT VBN FROM PCB IN REG 8 */ 01459000 LH R8,PCBVBN(,PCBPTR) 0451 01460000 N R8,@CF02051 0451 01461000 * GEN REFS(R8) SETS(R8); 0452 01462000 SRL R8,4 SHIFT OUT L.O. 4 BITS OF PCBVBN 01463000 * 0453 01464000 * /***************************************************************/ 01465000 * /* */ 01466000 * /* EXAMINE ALL SEGMENT ENTRIES FOR A MATCH TO THE VBN IN THE */ 01467000 * /* PCB CURRENTLY BEING ADDRESSED */ 01468000 * /* */ 01469000 * /***************************************************************/ 01470000 * 0453 01471000 * SEGSPTR=ADDR(SPCTSEGS); /* GET ADDRESS OF FIRST SEGMENT 01472000 * ENTRY @ZA10769*/ 01473000 LA SEGSPTR,SPCTSEGS(,SPCTPTR) 0453 01474000 * DO R13=SPCTSSEG TO 1 BY-1; 0454 01475000 SLR R13,R13 0454 01476000 IC R13,SPCTSSEG(,SPCTPTR) 0454 01477000 B @DE00454 0454 01478000 @DL00454 DS 0H 0455 01479000 * R12=SPCTPGT; /* PUT VSA OF PAGE TABLE FROM SEG 01480000 * ENTRY IN REG 12 */ 01481000 SLR R12,R12 0455 01482000 ICM R12,7,SPCTPGT(SEGSPTR) 0455 01483000 * GEN REFS(R12) SETS(R12); 0456 01484000 SRL R12,12 LEAVE ONLY VBN PORTION OF PGT ADDR 01485000 * IF R12PCBBQPA=PCBPTR;/* CHAIN FIRST STAGE1 TO LAST 0588 02038000 * STAGE2 (BACK PTR) @Z40WPYC*/ 02039000 ST PCBPTR,PCBBQPA(,@12) 0588 02040000 * PCBRWRK1=PCBRWRKA; /* CHAIN FIRST STAGE2 PCB TO HEAD 02041000 * OF CHAIN @Z40WPYC*/ 02042000 L @12,PCBRWRKA(,PCBRPTR) 0589 02043000 ST @12,PCBRWRK1(,PCBRPTR) 0589 02044000 * END; /* END OF RECHAINING @Z40WPYC*/ 02045000 * END; /* END OF STAGE2 PCB PROCESSING 02046000 * @Z40WPYC*/ 02047000 * ELSE 0592 02048000 * ; /* NO STAGE2 PCB'S EXISTS OR 0592 02049000 * SWAPIN SUCCESSFUL @Z40WPYC*/ 02050000 @RF00575 DS 0H 0593 02051000 * IF PCBRWRK3^=0 THEN /* CHECK FOR EXISTENCE OF A 0593 02052000 * COMMON AREA PCB CHAIN */ 02053000 @RC00575 SLR @12,@12 0593 02054000 L @08,PCBRWRK3(,PCBRPTR) 0593 02055000 CR @08,@12 0593 02056000 BE @RF00593 0593 02057000 * DO; /* CHAIN IT INTO THE NORMAL IF IT 02058000 * EXISTS */ 02059000 * IF PCBRWRK1^=0 THEN /* MAKE SURE NORMAL EXISTS TOO */ 02060000 C @12,PCBRWRK1(,PCBRPTR) 0595 02061000 BE @RF00595 0595 02062000 * DO; 0596 02063000 * PCBPTR=PCBRWRK2; /* SET PCB PTR TO END OF NORMAL 02064000 * CHAIN */ 02065000 L @12,PCBRWRK2(,PCBRPTR) 0597 02066000 LR PCBPTR,@12 0597 02067000 * PCBFQPA=PCBRWRK3; /* SET FORWARD PTR TO 1ST ON 0598 02068000 * COMMON */ 02069000 STCM @08,7,PCBFQPA(PCBPTR) 0598 02070000 * PCBPTR=PCBRWRK3; /* SET PCB PTR TO 1ST OF COMMON 02071000 * CHAIN */ 02072000 LR PCBPTR,@08 0599 02073000 * PCBBQPA=PCBRWRK2; /* SET BACKWARD PTR TO LAST OF 0600 02074000 * NORMAL */ 02075000 ST @12,PCBBQPA(,PCBPTR) 0600 02076000 * END; 0601 02077000 * ELSE /* IF COMMON AREA PCBS ARE THE */ 02078000 * PCBRWRK1=PCBRWRK3; /* ONLY CHAIN OFF THE ROOT, PUT 02079000 * START ADDRESS IN WRK1 POSITION 02080000 * SO THAT THE REST OF THIS 0602 02081000 * ROUTINE CAN FUNCTION NORMALLY */ 02082000 B @RC00595 0602 02083000 @RF00595 L @12,PCBRWRK3(,PCBRPTR) 0602 02084000 ST @12,PCBRWRK1(,PCBRPTR) 0602 02085000 * END; 0603 02086000 @RC00595 DS 0H 0604 02087000 * 0604 02088000 * /*****************************************************************/ 02089000 * /* */ 02090000 * /* COMPLETE THE OPERATION BY CHAINING THE ROOT INTO THE CHAIN */ 02091000 * /* ANCHORED IN PCBRWRK1. */ 02092000 * /* */ 02093000 * /*****************************************************************/ 02094000 * 0604 02095000 * IF PCBRWRK1=0 THEN /* IF THERE ARE NO CHAINS TO FREE*/ 02096000 @RF00593 L @12,PCBRWRK1(,PCBRPTR) 0604 02097000 LTR @12,@12 0604 02098000 BNZ @RF00604 0604 02099000 * PCBRTCB=ROOTNOTQ; /* PREPARE TO FREE ONLY THE ROOT 02100000 * @YM08229*/ 02101000 MVC PCBRTCB(4,PCBRPTR),@CF01927 0605 02102000 * ELSE /* PREPARE TO FREE ALL PCBS 0606 02103000 * @YM08229*/ 02104000 * DO; /* @YM08229*/ 02105000 B @RC00604 0606 02106000 @RF00604 DS 0H 0607 02107000 * PCBPTR=PCBRWRK1; /* SET START OF CHAIN PTR */ 02108000 L PCBPTR,PCBRWRK1(,PCBRPTR) 0607 02109000 * PCBRTCB=PCBPTR; /* MAKE THE ROOT PCB APPEAR TO */ 02110000 ST PCBPTR,PCBRTCB(,PCBRPTR) 0608 02111000 * PCBRFLAG=PCBCQN; /* BE FIRST ON CHAIN BY ADJUSTING*/ 02112000 IC @12,PCBCQN(,PCBPTR) 0609 02113000 STC @12,PCBRFLAG(,PCBRPTR) 0609 02114000 * PCBBQPA=PCBRPTR; /* THE FORWARD AND BACKWARD 0610 02115000 * POINTERS */ 02116000 ST PCBRPTR,PCBBQPA(,PCBPTR) 0610 02117000 * END; /* @YM08229*/ 02118000 * R1=PCBRPTR; /* POINT TO ROOT AS START OF 0612 02119000 * CHAIN */ 02120000 @RC00604 LR R1,PCBRPTR 0612 02121000 * R0=PCBFREQN; /* SET TQN FOR AVAILABLE QUEUE */ 02122000 LA R0,16 0613 02123000 * CALL PCBMGR; /* GO TO PCB MANAGER - IEAVPCB */ 02124000 L @15,PVTPCB(,PVTPTR) 0614 02125000 BALR @14,@15 0614 02126000 * GOTO R7; /* RETURN TO CALLER */ 02127000 BR R7 0615 02128000 * RFY 0616 02129000 * (R0, 0616 02130000 * R1, 0616 02131000 * R7, 0616 02132000 * R14) UNRSTD; 0616 02133000 *SPCB: /* END SWAPPCB */ 02134000 * END SWAPPCB; 0617 02135000 @EL00003 DS 0H 0617 02136000 @EF00003 DS 0H 0617 02137000 @ER00003 BR @14 0617 02138000 * 0618 02139000 * /*****************************************************************/ 02140000 * /* */ 02141000 * /* THIS IS AN INTERNAL SUBROUTINE WHICH IS INVOKED BY THE ROOT */ 02142000 * /* EXIT IF THE SPCT INDICATES THAT THERE IS A FIX ENTRY WITH A */ 02143000 * /* COUNT GREATER THAN 255 OR WHEN THE SWAP-IN HAS FAILED. IN THE */ 02144000 * /* BIG FIX CASE, BOTH PRIVATE AND COMMON AREA ENTRIES ARE */ 02145000 * /* SCANNED, AND ANY WITH A BIG FIX COUNT HAVE THEIR CORRESPONDING*/ 02146000 * /* PFTE FIX COUNTS INCREMENTED. FOR AN ERROR SITUATION, THIS */ 02147000 * /* ROUTINE WILL PERFORM BACK-OUT FOR COMMON AREA FRAMES WHICH ARE*/ 02148000 * /* VALID IN CORE. SHOULD ANY PFTES MARKED DEFERRED RELEASE REACH */ 02149000 * /* A ZERO FIX COUNT, IEAVRELF IS CALLED TO POSSIBLY FREE THE */ 02150000 * /* FRAME. */ 02151000 * /* */ 02152000 * /*****************************************************************/ 02153000 * 0618 02154000 *SWAPFIX: 0618 02155000 * PROC OPTIONS(NOSAVE,NOSAVEAREA); 0618 02156000 SWAPFIX DS 0H 0619 02157000 * RFY 0619 02158000 * (SWAPPTR, 0619 02159000 * R7, 0619 02160000 * R14) RSTD; 0619 02161000 * 0619 02162000 * /*****************************************************************/ 02163000 * /* */ 02164000 * /* LOCATE THE START OF THE FIXED ENTRIES */ 02165000 * /* */ 02166000 * /*****************************************************************/ 02167000 * 0620 02168000 * PCBRSAVE=R14; /* SAVE CALLERS RETURN REGISTER */ 02169000 STCM R14,7,PCBRSAVE(PCBRPTR) 0620 02170000 * CALLTERM='0'B; /* MAKE SURE CALL RTM BIT IS OFF */ 02171000 NI CALLTERM(PCBRPTR),B'10111111' 0621 02172000 * SWAPPTR=ADDR(SPCTSWAP); /* INITIALIZE SWAPPTR VALUE */ 02173000 LA SWAPPTR,SPCTSWAP(,SPCTPTR) 0622 02174000 * R7=SPCTLSQA; /* SET COUNT OF LSQA ENTRIES */ 02175000 LH R7,SPCTLSQA(,SPCTPTR) 0623 02176000 * RFY 0624 02177000 * R14 UNRSTD; 0624 02178000 *SWAPCOMP: 0625 02179000 * IF R7-8>=0 THEN /* DETERMINE IF THE LSQA ENTRIES 02180000 * END WITHIN THIS EXTENSION. 0625 02181000 * NOTE THAT 8 IS USED BECAUSE IT 02182000 * IS THE MAXIMUM NO. OF LSQA 0625 02183000 * ENTRIES THAT WILL FIT IN THE 02184000 * SPCT OR AN EXTENSION. @Z40WPYC*/ 02185000 SWAPCOMP LA @14,8 0625 02186000 LR @12,R7 0625 02187000 SLR @12,@14 0625 02188000 LTR @12,@12 0625 02189000 BM @RF00625 0625 02190000 * DO; 0626 02191000 * SWAPPTR=SPCTEXT; /* END IS NOT IN THIS AREA */ 02192000 L SWAPPTR,SPCTEXT(,SWAPPTR) 0627 02193000 * R7=R7-8; /* DECREMENT TO GET NEW COUNT TO 02194000 * LOOK FOR IN NEXT */ 02195000 SLR R7,@14 0628 02196000 * GOTO SWAPCOMP; /* GO TRY AGAIN */ 02197000 B SWAPCOMP 0629 02198000 * END; 0630 02199000 * RFY 0631 02200000 * FINISH RSTD; 0631 02201000 @RF00625 DS 0H 0632 02202000 * FINISH=ADDR(SPCTXEND); /* SET END OF EXTENSION ADDR */ 02203000 LA FINISH,SPCTXEND(,SWAPPTR) 0632 02204000 * SWAPPTR=ADDR(SPCTENT); /* GET ADDR OF 1ST ENTRY */ 02205000 LA @14,SPCTENT(,SWAPPTR) 0633 02206000 LR SWAPPTR,@14 0633 02207000 * SWAPPTR=SWAPPTR+(R7*LENGTH(SPCTLS));/* COMPUTE ADDRESS OF FIRST 02208000 * FIX ENTRY @Z40WPYC*/ 02209000 LR @14,R7 0634 02210000 MH @14,@CH00925 0634 02211000 ALR SWAPPTR,@14 0634 02212000 * RFY 0635 02213000 * R7 UNRSTD; 0635 02214000 * RFY 0636 02215000 * START RSTD; 0636 02216000 * START=SPCTFIX; /* SET COUNT OF FIXED ENTRIES */ 02217000 LH START,SPCTFIX(,SPCTPTR) 0637 02218000 * GEN REFS(SWAPPTR) SETS(SWAPPTR); 0638 02219000 * 0638 02220000 LA SWAPPTR,7(SWAPPTR) DOUBLE-WORD BNDRY @Z40WPYC 02221000 SRL SWAPPTR,3 DIVIDE BY EIGHT @Z40WPYC 02222000 SLL SWAPPTR,3 MULTIPLY BY EIGHT @Z40WPYC 02223000 * /*****************************************************************/ 02224000 * /* */ 02225000 * /* EXAMINE EACH FIX ENTRY. IF PCBRPB OR PCBRFAIL IS SET ON ENTRY */ 02226000 * /* TO THIS ROUTINE, DO BACK-OUT PROCESSING, I.E. DECREMENT FIX */ 02227000 * /* COUNTS FOR COMMON AREA FRAMES WHICH ARE VALID IN CORE. IF THIS*/ 02228000 * /* IS A CALL TO HANDLE BIG FIX ENTRIES, INCREMENT ANY FIX COUNTS */ 02229000 * /* FOR FRAMES WHOSE SPCT ENTRY HAS A COUNT OVER 255. */ 02230000 * /* */ 02231000 * /*****************************************************************/ 02232000 * 0639 02233000 * DO WHILE START^=0; /* CHECK ALL FIX ENTRIES */ 02234000 B @DE00639 0639 02235000 @DL00639 DS 0H 0640 02236000 * IF SWAPPTR=FINISH THEN /* MAY HAVE TO GO TO EXTENSION */ 02237000 CR SWAPPTR,FINISH 0640 02238000 BNE @RF00640 0640 02239000 * DO; /* ADJUST POINTERS IF SO */ 02240000 * SWAPPTR=SWAPPTR-LENGTH(SPCTSWAP); 0642 02241000 SL SWAPPTR,@CF01288 0642 02242000 * SWAPPTR=SPCTEXT; /* GET 1ST ENTRY IN */ 02243000 L SWAPPTR,SPCTEXT(,SWAPPTR) 0643 02244000 * FINISH=ADDR(SPCTXEND); /* POINT TO END OF THIS EXTENSION*/ 02245000 LA FINISH,SPCTXEND(,SWAPPTR) 0644 02246000 * SWAPPTR=ADDR(SPCTENT); /* GET 1ST ENTRY IN NEW EXTENSION*/ 02247000 LA @14,SPCTENT(,SWAPPTR) 0645 02248000 LR SWAPPTR,@14 0645 02249000 * END; 0646 02250000 * 0646 02251000 * /***************************************************************/ 02252000 * /* */ 02253000 * /* PROCESS COMMON AREA FIX ENTRIES */ 02254000 * /* */ 02255000 * /***************************************************************/ 02256000 * 0647 02257000 * IF SPCTCOMM='1'B THEN 0647 02258000 @RF00640 TM SPCTCOMM(SWAPPTR),B'00100000' 0647 02259000 BNO @RF00647 0647 02260000 * DO; 0648 02261000 * RFY 0649 02262000 * R1 RSTD; 0649 02263000 * R1=SPCTVBN; /* CREATE THE VIRTUAL STORAGE 0650 02264000 * ADDR @Z40WPYC*/ 02265000 LH R1,SPCTVBN(,SWAPPTR) 0650 02266000 N R1,@CF02051 0650 02267000 * GEN SETS(R1) FLOWS(SWAPCOMM); 0651 02268000 SLL R1,8 CREATE FULL VSA @Z40WPYC 02269000 LRA R1,0(R1) GET REAL ADDRESS IF IN CORE 02270000 BNZ SWAPCOMM BRANCH IF OUT OF CORE 02271000 SRL R1,8 LEAVE ONLY RBN IN REGISTER 02272000 * RFY 0652 02273000 * PFTEPTR RSTD; 0652 02274000 * PFTEPTR=PVTPFTP+R1; /* CALCULATE PFTE ADDR */ 02275000 LR PFTEPTR,R1 0653 02276000 AL PFTEPTR,PVTPFTP(,PVTPTR) 0653 02277000 * 0654 02278000 * /***********************************************************/ 02279000 * /* */ 02280000 * /* COMMON AREA BACK-OUT PROCESS */ 02281000 * /* */ 02282000 * /***********************************************************/ 02283000 * 0654 02284000 * IF PCBRPB='1'B|PCBRFAIL='1'B THEN/* CHECK FOR BACK-OUT */ 02285000 TM PCBRPB(PCBRPTR),B'00101000' 0654 02286000 BZ @RF00654 0654 02287000 * DO; 0655 02288000 * IF SPCTDEFR='1'B THEN /* IF THE DEFERRED RELEASE FLAG 02289000 * IS SET, SWAP-OUT DID NOT 0656 02290000 * DECREMENT THE FIX COUNT IN THE 02291000 * PFTE */ 02292000 TM SPCTDEFR(SWAPPTR),B'00010000' 0656 02293000 BNO @RF00656 0656 02294000 * DO; /* IF GFA DID NOT INDICATE THAT 02295000 * THIS SWAP-IN IS RETRIABLE, 0657 02296000 * THEN DECREMENT THE FIX COUNT 02297000 * NOW */ 02298000 * IF PCBRETRY='0'B THEN/* CHECK FOR NO RETRY */ 02299000 TM PCBRETRY(PCBRPTR),B'01000000' 0658 02300000 BZ @RT00658 0658 02301000 * GOTO SWAPDECR; /* AND GO DECREMENT IF ITS A 0659 02302000 * PERMANENT FAILURE */ 02303000 * ELSE /* OTHERWISE, IGNORE ENTRY IF THE*/ 02304000 * GOTO SWAPCOMM; /* SWAP-IN MAY GO NEXT TIME */ 02305000 B SWAPCOMM 0660 02306000 * END; 0661 02307000 * PCBPTR=PCBRWRK3; /* IF THE FRAME IS NOT DEFERRED 02308000 * RELEASE, CHECK THE CHAIN OF 0662 02309000 * PCBS WHICH DID NOT HAVE I-O 0662 02310000 * STARTED */ 02311000 @RF00656 L PCBPTR,PCBRWRK3(,PCBRPTR) 0662 02312000 * RFY 0663 02313000 * R0 RSTD; 0663 02314000 * R0=SPCTVBN; /* PUT VBN FROM ENTRY IN REG 0 0664 02315000 * @Z40WPYC*/ 02316000 LH R0,SPCTVBN(,SWAPPTR) 0664 02317000 N R0,@CF02051 0664 02318000 * DO WHILE PCBPTR^=0; /* LOOK AT ALL PCBS ON CHAIN */ 02319000 B @DE00665 0665 02320000 @DL00665 DS 0H 0666 02321000 * R1=PCBVBN; /* PUT VBN FROM PCB IN REG 1 */ 02322000 LH R1,PCBVBN(,PCBPTR) 0666 02323000 N R1,@CF02051 0666 02324000 * IF R0=R1 THEN /* IF MATCH IS FOUND, DO NOT */ 02325000 CR R0,R1 0667 02326000 BE @RT00667 0667 02327000 * GOTO SWAPCOMM; /* DECREMENT FIX COUNT */ 02328000 * ELSE /* OTHERWISE, */ 02329000 * PCBPTR=PCBFQPA; /* CHECK NEXT PCB */ 02330000 L @12,PCBFQPA-1(,PCBPTR) 0669 02331000 LA @12,0(,@12) 0669 02332000 LR PCBPTR,@12 0669 02333000 * END; /* END OF PCB SCAN */ 02334000 @DE00665 SLR @12,@12 0670 02335000 CR PCBPTR,@12 0670 02336000 BNE @DL00665 0670 02337000 * IF PFTFXCT=0 THEN 0671 02338000 CH @12,PFTFXCT(,PFTEPTR) 0671 02339000 BE @RT00671 0671 02340000 * GOTO SWAPCOMM; /* @ZA08771*/ 02341000 * 0672 02342000 * /*******************************************************/ 02343000 * /* */ 02344000 * /* IF MATCH IS NOT FOUND MUST DECREMENT THE COMMON AREA*/ 02345000 * /* FIX COUNT IN THE PFTE BY THE SPCTFIXC */ 02346000 * /* */ 02347000 * /*******************************************************/ 02348000 * 0673 02349000 * 0673 02350000 * /*******************************************************/ 02351000 * /* */ 02352000 * /* DECREMENT THE FIX COUNT IN THE PFTE FOR THIS ENTRY */ 02353000 * /* */ 02354000 * /*******************************************************/ 02355000 * 0673 02356000 * IF SPCTBIG='0'B THEN /* IF THIS BIT IS ZERO, EITHER 0673 02357000 * THERE WERE NO BIG FIXES 0673 02358000 * ORIGINALLY OR ALL THE BIG 0673 02359000 * FIXES HAVE HAD THEIR FIX 0673 02360000 * COUNTS ADJUSTED */ 02361000 TM SPCTBIG(SPCTPTR),B'00010000' 0673 02362000 BNZ @RF00673 0673 02363000 *SWAPDECR: 0674 02364000 * PFTFXCT=PFTFXCT-SPCTFIXC;/* IN EITHER CASE, OR IF 0674 02365000 * THIS IS A DEFERRED RELEASE 0674 02366000 * FRAME, DECREMENT BY THE ENTIRE 02367000 * VALUE IN IN THE SPCT ENTRY */ 02368000 SWAPDECR LH @12,PFTFXCT(,PFTEPTR) 0674 02369000 SH @12,SPCTFIXC(,SWAPPTR) 0674 02370000 STH @12,PFTFXCT(,PFTEPTR) 0674 02371000 * ELSE /* SPCTBIG IS STILL = 1 */ 02372000 * DO; /* DETERMINE IF THIS IS A BIG FIX*/ 02373000 B @RC00673 0675 02374000 @RF00673 DS 0H 0676 02375000 * IF SPCTTFIX=0 THEN/* FOR A NORMAL FIX */ 02376000 CLI SPCTTFIX(SWAPPTR),0 0676 02377000 BNE @RF00676 0676 02378000 * PFTFXCT=PFTFXCT-SPCTFIXC;/* SUBTRACT FULL VALUE */ 02379000 LH @12,PFTFXCT(,PFTEPTR) 0677 02380000 SH @12,SPCTFIXC(,SWAPPTR) 0677 02381000 STH @12,PFTFXCT(,PFTEPTR) 0677 02382000 * ELSE /* FOR A BIG FIX STILL PENDING */ 02383000 * PFTFXCT=PFTFXCT-1;/* SUBTRACT ONLY ONE SINCE 0678 02384000 * SWAP-IN MAINLINE OR GFA WOULD 02385000 * HAVE ONLY INCREMENTED IT BY 1 */ 02386000 B @RC00676 0678 02387000 @RF00676 LH @12,PFTFXCT(,PFTEPTR) 0678 02388000 BCTR @12,0 0678 02389000 STH @12,PFTFXCT(,PFTEPTR) 0678 02390000 * END; /* END OF BIG FIX BACK-OUT */ 02391000 @RC00676 DS 0H 0680 02392000 * IF PFTFXCT=0 THEN /* WHEN BACKING OUT @YA01572*/ 02393000 @RC00673 LH @12,PFTFXCT(,PFTEPTR) 0680 02394000 LTR @12,@12 0680 02395000 BNZ @RF00680 0680 02396000 * DO; /* C.A. FIXES MUST @YA01572*/ 02397000 * PVTCNTFX=PVTCNTFX-1;/* TEST IF FXCNT =0 @YA01572*/ 02398000 LH @12,PVTCNTFX(,PVTPTR) 0682 02399000 BCTR @12,0 0682 02400000 STH @12,PVTCNTFX(,PVTPTR) 0682 02401000 * PVTCOMFX=PVTCOMFX-1;/* WHEN =0,MUST @YA01572*/ 02402000 LH @12,PVTCOMFX(,PVTPTR) 0683 02403000 BCTR @12,0 0683 02404000 STH @12,PVTCOMFX(,PVTPTR) 0683 02405000 * END; /* DECREMENT THE COUNTS @YA01572*/ 02406000 * ELSE 0685 02407000 * ; /* @YA01572*/ 02408000 * 0685 02409000 @RF00680 DS 0H 0686 02410000 * /*******************************************************/ 02411000 * /* */ 02412000 * /* IF THE FIX COUNT GOES TO ZERO FOR A DEFERRED RELEASE*/ 02413000 * /* PFTE, CALL IEAVRELF TO POSSIBLY FREE THE FRAME */ 02414000 * /* */ 02415000 * /*******************************************************/ 02416000 * 0686 02417000 *SWAPDEFR: 0686 02418000 * IF PFTDFRLS='1'B THEN /* CHECK DEFERRED RELEASE */ 02419000 SWAPDEFR TM PFTDFRLS(PFTEPTR),B'10000000' 0686 02420000 BNO @RF00686 0686 02421000 * DO; 0687 02422000 * IF PFTFXCT=0 THEN /* CHECK FOR 0 FIX COUNT */ 02423000 LH @12,PFTFXCT(,PFTEPTR) 0688 02424000 LTR @12,@12 0688 02425000 BNZ @RF00688 0688 02426000 * DO; 0689 02427000 * R1=PFTVBN*256;/* SET FULL VSA VALUE */ 02428000 LH R1,PFTVBN(,PFTEPTR) 0690 02429000 N R1,@CF02051 0690 02430000 SLA R1,8 0690 02431000 * RSMHDPTR=PSAAOLD->ASCBRSM;/* SET CURRENT RSM 0691 02432000 * HEADER ADDRESS */ 02433000 L @12,PSAAOLD 0691 02434000 L RSMHDPTR,ASCBRSM(,@12) 0691 02435000 * CALL RELF; /* CALL IEAVRELF */ 02436000 L @15,PVTPRELF(,PVTPTR) 0692 02437000 BALR @14,@15 0692 02438000 * RSMHDPTR=ASCBRSM;/* RESET RSM HEADER TO 0693 02439000 * ORIGINAL VALUE */ 02440000 L @12,PCBRASCB(,PCBRPTR) 0693 02441000 L RSMHDPTR,ASCBRSM(,@12) 0693 02442000 * IF R15^=0 THEN/* RECORD ANY ERRORS */ 02443000 LTR R15,R15 0694 02444000 BZ @RF00694 0694 02445000 * DO; 0695 02446000 * RCARCRD='0F'X;/* SET REASON CODE */ 02447000 L @12,PVTPRCA(,PVTPTR) 0696 02448000 MVI RCARCRD(@12),X'0F' 0696 02449000 * CALL SWAPC0D;/* GO TO FRR ROUTINE */ 02450000 BAL @14,SWAPC0D 0697 02451000 * END; 0698 02452000 * END; 0699 02453000 @RF00694 DS 0H 0700 02454000 * END; /* END DEFERRED RLSE PROCESS */ 02455000 @RF00688 DS 0H 0701 02456000 * RFY 0701 02457000 * R1 UNRSTD; 0701 02458000 @RF00686 DS 0H 0702 02459000 * END; /* END COMMON AREA BACK-OUT */ 02460000 * ELSE /* PCBRPB AND PCBRFAIL BOTH = 0 */ 02461000 * DO; 0703 02462000 * 0703 02463000 B @RC00654 0703 02464000 @RF00654 DS 0H 0704 02465000 * /*******************************************************/ 02466000 * /* */ 02467000 * /* NORMAL BIG FIX PROCESSING FOR A COMMON AREA FRAME */ 02468000 * /* */ 02469000 * /*******************************************************/ 02470000 * 0704 02471000 * IF SPCTTFIX=0 THEN /* IF THIS IS NOT A BIG FIX ENTRY*/ 02472000 CLI SPCTTFIX(SWAPPTR),0 0704 02473000 BE @RT00704 0704 02474000 * GOTO SWAPCOMM; /* GO CHECK NEXT SPCT ENTRY */ 02475000 * ELSE /* THIS IS A BIG FIX */ 02476000 * DO; /* IF IT IS NOT MARKED AS A */ 02477000 * IF SPCTDEFR='0'B THEN/* DEFERRED RELEASE FRAME, */ 02478000 TM SPCTDEFR(SWAPPTR),B'00010000' 0707 02479000 BNZ @RF00707 0707 02480000 * PFTFXCT=PFTFXCT+SPCTFIXC-1;/* INCREMENT THE PFTE 02481000 * COUNT BY THE SPCT FIX COUNT 0708 02482000 * MINUS THE 1 THAT IS ADDED BY 02483000 * EITHER SWAP-IN MAINLINE OR BY 02484000 * GFA AT THE TIME THE FRAME IS 02485000 * ALLOCATED */ 02486000 LH @12,PFTFXCT(,PFTEPTR) 0708 02487000 AH @12,SPCTFIXC(,SWAPPTR) 0708 02488000 BCTR @12,0 0708 02489000 STH @12,PFTFXCT(,PFTEPTR) 0708 02490000 * ELSE 0709 02491000 * ; /* IF IT IS DEFERRED RELEASE, THE 02492000 * ORIGINAL FIX COUNT WAS LEFT IN 02493000 * THE PFTE AT SWAP-OUT TIME SO 02494000 * IT NEED NOT BE ALTERED NOW */ 02495000 @RF00707 DS 0H 0710 02496000 * END; /* END OF DEFERRED RELEASE 0710 02497000 * CHECKING */ 02498000 * RFY 0711 02499000 * PFTEPTR UNRSTD; 0711 02500000 * END; /* END COMMON AREA BIG FIX 0712 02501000 * PROCESS */ 02502000 * END; /* END OF COMMON AREA PROCESSING */ 02503000 * ELSE /* SPCTCOMM = 0 */ 02504000 * DO; 0714 02505000 * 0714 02506000 B @RC00647 0714 02507000 @RF00647 DS 0H 0715 02508000 * /***********************************************************/ 02509000 * /* */ 02510000 * /* PRIVATE AREA BIG FIX PROCESSING */ 02511000 * /* */ 02512000 * /***********************************************************/ 02513000 * 0715 02514000 * IF PCBRPB='1'B|PCBRFAIL='1'B THEN/* IF THIS IS A BACK-OUT 02515000 * CALL, */ 02516000 TM PCBRPB(PCBRPTR),B'00101000' 0715 02517000 BNZ @RT00715 0715 02518000 * GOTO SWAPCOMM; /* IGNORE PRIVATE AREA ENTRIES */ 02519000 * IF SPCTTFIX=0 THEN /* IF THIS IS NOT A BIG FIX */ 02520000 CLI SPCTTFIX(SWAPPTR),0 0717 02521000 BE @RT00717 0717 02522000 * GOTO SWAPCOMM; /* IGNORE ENTRY */ 02523000 * RFY 0719 02524000 * (R0, 0719 02525000 * R1) RSTD; 0719 02526000 * PCBPTR=PCBRWRK1; /* LOCATE PCB THAT MATCHES THIS */ 02527000 L PCBPTR,PCBRWRK1(,PCBRPTR) 0720 02528000 * R0=SPCTVBN; /* GET VBN FROM SPCT FIX ENTRY 0721 02529000 * @Z40WPYC*/ 02530000 LH R0,SPCTVBN(,SWAPPTR) 0721 02531000 N R0,@CF02051 0721 02532000 * DO WHILE PCBPTR^=0; /* LOOP THRU THE PCB CHAIN */ 02533000 B @DE00722 0722 02534000 @DL00722 DS 0H 0723 02535000 * R1=PCBVBN; /* GET VBN FROM PCB */ 02536000 LH R1,PCBVBN(,PCBPTR) 0723 02537000 N R1,@CF02051 0723 02538000 * IF R0=R1 THEN /* WHEN THE VBNS MATCH, */ 02539000 CR R0,R1 0724 02540000 BNE @RF00724 0724 02541000 * DO; /* GET THE PFTE ADDRESS */ 02542000 * RFY 0726 02543000 * (R0, 0726 02544000 * R1) UNRSTD; 0726 02545000 * RFY 0727 02546000 * PFTEPTR RSTD; 0727 02547000 * PFTEPTR=PVTPFTP+PCBRBN;/* ADD THE RBN IN THE PCB TO 02548000 * THE PFTE ORIGIN */ 02549000 LH PFTEPTR,PCBRBN(,PCBPTR) 0728 02550000 N PFTEPTR,@CF02051 0728 02551000 AL PFTEPTR,PVTPFTP(,PVTPTR) 0728 02552000 * PFTFXCT=PFTFXCT+SPCTFIXC-1;/* UPDATE THE PFTE CT */ 02553000 LH @12,PFTFXCT(,PFTEPTR) 0729 02554000 AH @12,SPCTFIXC(,SWAPPTR) 0729 02555000 BCTR @12,0 0729 02556000 STH @12,PFTFXCT(,PFTEPTR) 0729 02557000 * GOTO SWAPCOMM; /* GO CHECK NEXT ENTRY */ 02558000 B SWAPCOMM 0730 02559000 * RFY 0731 02560000 * PFTEPTR UNRSTD; 0731 02561000 * END; /* END OF PRIVATE AREA PFTE 0732 02562000 * UPDATE */ 02563000 * ELSE /* IF THE VBNS DO NOT MATCH */ 02564000 * GEN REFS(PCBPTR,PCBFQPA) SETS(PCBPTR); 0733 02565000 @RF00724 DS 0H 0733 02566000 ICM PCBPTR,@07,PCBFQPA(PCBPTR) GO CHECK THE NEXT PCB 02567000 * END; /* END OF PCB CHAIN */ 02568000 @DE00722 LTR PCBPTR,PCBPTR 0734 02569000 BNZ @DL00722 0734 02570000 * CALLTERM='1'B; /* IF THE PCB CANNOT BE FOUND, 0735 02571000 * SET BIT TO INDICATE THAT THE 02572000 * MEMORY MUST BE TERMINATED WHEN 02573000 * ALL THE FIX COUNTS HAVE BEEN 02574000 * ADJUSTED */ 02575000 OI CALLTERM(PCBRPTR),B'01000000' 0735 02576000 * RCARCRD='13'X; /* SET REASON CODE */ 02577000 L @14,PVTPRCA(,PVTPTR) 0736 02578000 MVI RCARCRD(@14),X'13' 0736 02579000 * CALL SWAPC0D; /* RECORD ERROR VIA THE FRR 0737 02580000 * ROUTINE */ 02581000 BAL @14,SWAPC0D 0737 02582000 * END; /* END PRIVATE AREA PROCESSING */ 02583000 * 0738 02584000 * /***************************************************************/ 02585000 * /* */ 02586000 * /* DECREMENT COUNT OF ENTRIES TO BE PROCESSED AND SET SWAPPTR */ 02587000 * /* TO POINT TO NEXT FIX ENTRY */ 02588000 * /* */ 02589000 * /***************************************************************/ 02590000 * 0739 02591000 *SWAPCOMM: 0739 02592000 * START=START-1; /* SUBTRACT 1 FROM COUNT */ 02593000 @RC00647 DS 0H 0739 02594000 SWAPCOMM BCTR START,0 0739 02595000 * SWAPPTR=SWAPPTR+LENGTH(SPCTSWPE);/* ADD LENGTH OF A FIX ENTRY */ 02596000 AL SWAPPTR,@CF00055 0740 02597000 * END; /* END OF FIX ENTRIES */ 02598000 @DE00639 LTR START,START 0741 02599000 BNZ @DL00639 0741 02600000 * RFY 0742 02601000 * (START, 0742 02602000 * FINISH, 0742 02603000 * SWAPPTR) UNRSTD; 0742 02604000 * SPCTBIG='0'B; /* TURN OFF BIG FIX BIT */ 02605000 NI SPCTBIG(SPCTPTR),B'11101111' 0743 02606000 * IF CALLTERM='1'B THEN /* IF AN ERROR WAS FOUND IN THIS 02607000 * PROCESS */ 02608000 TM CALLTERM(PCBRPTR),B'01000000' 0744 02609000 BNO @RF00744 0744 02610000 * PCBRFAIL='1'B; /* SET BIT TO TERMINATE THE 0745 02611000 * MEMORY */ 02612000 OI PCBRFAIL(PCBRPTR),B'00001000' 0745 02613000 * RFY 0746 02614000 * R14 RSTD; 0746 02615000 @RF00744 DS 0H 0747 02616000 * R14=PCBRSAVE; /* RESTORE RETURN REGISTER */ 02617000 L R14,PCBRSAVE-1(,PCBRPTR) 0747 02618000 LA R14,0(,R14) 0747 02619000 * GOTO R14; /* EXIT */ 02620000 BR R14 0748 02621000 *FIX: /* END SWAPFIX */ 02622000 * END SWAPFIX; 0749 02623000 @EL00004 DS 0H 0749 02624000 @EF00004 DS 0H 0749 02625000 @ER00004 BR @14 0749 02626000 * 0750 02627000 * /*****************************************************************/ 02628000 * /* */ 02629000 * /* THIS IS AN INTERNAL SUBROUTINE WHICH PROVIDES A COMMON POINT */ 02630000 * /* IN SWAP-IN PROCESSING TO CALL RTM WITH A MEMTERM REQUEST FOR */ 02631000 * /* THE ADDRESS SPACE BEING BROUGHT IN. THE CALLER MUST SET THE */ 02632000 * /* ASID IN REGISTER 2 BEFORE INVOKING THIS ROUTINE. */ 02633000 * /* */ 02634000 * /*****************************************************************/ 02635000 * 0750 02636000 *SWAPRTM: 0750 02637000 * PROC OPTIONS(NOSAVE,NOSAVEAREA); 0750 02638000 SWAPRTM DS 0H 0751 02639000 * RFY 0751 02640000 * (R1, 0751 02641000 * R7, 0751 02642000 * R13, 0751 02643000 * R14) RSTD; 0751 02644000 * R7=R14; /* SAVE RETURN ADDRESS */ 02645000 LR R7,R14 0752 02646000 * R1='028'X; /* SET COMPLETION CODE */ 02647000 LA R1,40 0753 02648000 * R13=ADDR(PVTSAVE); /* PASS SAVE AREA IN PVT */ 02649000 LA R13,PVTSAVE(,PVTPTR) 0754 02650000 * GEN REFS(R1,CVTBTERM,CVTMAP) SETS(R0,R1,R14,R15); 0755 02651000 CALLRTM TYPE=MEMTERM,COMPCOD=(1),ASID=(2) CALL RTM 02652000 * GOTO R7; /* RETURN TO CALLER */ 02653000 BR R7 0756 02654000 * RFY 0757 02655000 * (R1, 0757 02656000 * R7, 0757 02657000 * R13, 0757 02658000 * R14) UNRSTD; 0757 02659000 *RTM: 0758 02660000 * END SWAPRTM; /* END SWAPRTM */ 02661000 @EL00005 DS 0H 0758 02662000 @EF00005 DS 0H 0758 02663000 @ER00005 BR @14 0758 02664000 * 0759 02665000 * /*****************************************************************/ 02666000 * /* */ 02667000 * /* THIS ROUTINE IS SCHEDULED BY THE SWAP IN ROOT EXIT TO POST RCT*/ 02668000 * /* IN THE MEMORY BEING SWAPPED IN. XMPOST CANNOT BE USED BECAUSE */ 02669000 * /* OF RECURSION PROBLEMS WITH THE SALLOC LOCK @VS08619*/ 02670000 * /* */ 02671000 * /*****************************************************************/ 02672000 * 0759 02673000 *IEAVSWPP: /* @Z40WPYC*/ 02674000 * GEN REFS(R15) SETS(R9); 0759 02675000 IEAVSWPP DS 0H 0759 02676000 * /* @Z40WPYC*/ 02677000 ENTRY IEAVSWPP @Z40WPYC 02678000 LA R15,SWINPST-@PSTART GET OFFSET START @Z40WPYC 02679000 BALR R9,@00 EST. ADDRESSABILITY @Z40WPYC 02680000 SWINPST SR R9,R15 ADJUST BY PROPER OFFSET @Z40WPYC 02681000 * PVTPTR=CVTPVTP; /* OBTAIN PVT ADDRESS @VS08619*/ 02682000 * 0760 02683000 L @14,CVTPTR 0760 02684000 L PVTPTR,CVTPVTP(,@14) 0760 02685000 * /*****************************************************************/ 02686000 * /* */ 02687000 * /* THIS SUBROUTINE FREES THE SRB AREA ADDRESSED BY REGISTER ZERO */ 02688000 * /* WHEN THE ROUTINE IS ENTERED. */ 02689000 * /* */ 02690000 * /*****************************************************************/ 02691000 * 0761 02692000 * RESPECIFY 0761 02693000 * (R0, 0761 02694000 * R1, 0761 02695000 * R7, 0761 02696000 * PCBPTR) RESTRICTED; /* @Z40WPYC*/ 02697000 * R7=R1; /* SAVE ADDRESS OF P.A. UNFIXED 02698000 * PCB'S @Z40WPYC*/ 02699000 LR R7,R1 0762 02700000 * R1=R0; /* PUT THE SRB ADDRESS IN R1 0763 02701000 * @VS08619*/ 02702000 LR R1,R0 0763 02703000 * R0=PVTSRBID; /* PUT THE CELL POOL ID IN R0 0764 02704000 * @VS08619*/ 02705000 L R0,PVTSRBID(,PVTPTR) 0764 02706000 * GEN REFS(CVTPTR,CVTFRECL,CVTMAP,R13) SETS(R14,R15); 0765 02707000 * /* @VS08619*/ 02708000 FREECELL CPID=(0),CELL=(1),BRANCH=YES,SAVE=NO 02709000 * PVTPTR=CVTPVTP; /* RESET PVT ADDRESS @VS08619*/ 02710000 L @14,CVTPTR 0766 02711000 L PVTPTR,CVTPVTP(,@14) 0766 02712000 * RFY 0767 02713000 * ASCB BASED(PSAAOLD); /* SET BASE TO ASCB */ 02714000 * RFY 0768 02715000 * (R8, 0768 02716000 * R11, 0768 02717000 * R12) RSTD; 0768 02718000 * 0768 02719000 * /*****************************************************************/ 02720000 * /* */ 02721000 * /* ESTABLISH THE FRR ROUTINE TO RECORD ANY ERRORS */ 02722000 * /* */ 02723000 * /*****************************************************************/ 02724000 * 0769 02725000 * GEN CODE REFS(PSACSTK,PSA,FRRS,PVTPTR,PVTPRCV,FRRSCURR,FRRSLAST, 02726000 * PSALSFCC,FRRSELEN,FRRSFRRA,FRRSENTR,FRRSPARM) SETS(R11,R12,R8); 02727000 SETFRR A,FRRAD=PVTPRCV(PVTPTR),PARMAD=(R8), **02728000 WRKREGS=(R11,R12) 02729000 * RFY 0770 02730000 * RCA BASED(R8); 0770 02731000 * RCACSECT=RCACSPIN; /* SET MODULE ID IN RCA */ 02732000 MVI RCACSECT(R8),X'19' 0771 02733000 * RCARETAD=ADDR(SWPPRTRY); /* SET RETRY ADDRES @Z40WPYC*/ 02734000 LA @14,SWPPRTRY 0772 02735000 ST @14,RCARETAD(,R8) 0772 02736000 * RCASWPP='1'B; /* INDICATE IEAVSWPP @Z40WPYC*/ 02737000 OI RCASWPP(R8),B'00000100' 0773 02738000 * RSMHDPTR=ASCBRSM; /* LOCATE RSMHD PTR @Z40WPYC*/ 02739000 L @14,PSAAOLD 0774 02740000 L RSMHDPTR,ASCBRSM(,@14) 0774 02741000 * IF R7^=0 THEN /* IF STAGE2 PCB'S @Z40WPYC*/ 02742000 LTR R7,R7 0775 02743000 BZ @RF00775 0775 02744000 * DO; /* SET UP TO ALLOCATE FRAMES 0776 02745000 * @Z40WPYC*/ 02746000 * RESPECIFY 0777 02747000 * (R13, 0777 02748000 * R14) RESTRICTED; /* @Z40WPYC*/ 02749000 * 0777 02750000 * /*************************************************************/ 02751000 * /* */ 02752000 * /* REQUEST SALLOC UNCONDITIONALLY @Z40WPYC*/ 02753000 * /* */ 02754000 * /*************************************************************/ 02755000 * 0778 02756000 *GETLOCK2: 0778 02757000 * GEN CODE REFS(PSALITA,FLC) SETS(R11,R12,R13,R14); 0778 02758000 GETLOCK2 DS 0H 0778 02759000 * /* @Z40WPYC*/ 02760000 SETLOCK OBTAIN,TYPE=SALLOC,MODE=UNCOND, **02761000 RELATED=(RSM,IEAVSWPP(FREELCK2)) 02762000 * PVTPRCA=R8; /* SAVE ADDRESS OF RCA @Z40WPYC*/ 02763000 ST R8,PVTPRCA(,PVTPTR) 0779 02764000 * RCASAL='1'B; /* INDICATE SALLOC HELD @Z40WPYC*/ 02765000 OI RCASAL(R8),B'10000000' 0780 02766000 * PCBPTR=R7; /* SET PTR TO FIRST PCB @Z40WPYC*/ 02767000 LR PCBPTR,R7 0781 02768000 * DO WHILE PCBPTR^=0; /* PROCESS STAGE2 PCB'S @Z40WPYC*/ 02769000 B @DE00782 0782 02770000 @DL00782 DS 0H 0783 02771000 * R1=PCBVBN*256; /* SET INPUT VSA FOR IEAVFP2 0783 02772000 * @Z40WPYC*/ 02773000 LH R1,PCBVBN(,PCBPTR) 0783 02774000 N R1,@CF02051 0783 02775000 SLA R1,8 0783 02776000 * CALL FINDPAGE; /* CALL IEAVFP2 TO OBTAIN THE 0784 02777000 * PGTE AND XPTE ADDRESSES. 0784 02778000 * @Z40WPYC*/ 02779000 L @15,PVTPFP2(,PVTPTR) 0784 02780000 BALR @14,@15 0784 02781000 * PTEPTR=R0; /* POINT TO PAGE TABLE @Z40WPYC*/ 02782000 LR PTEPTR,R0 0785 02783000 * IF R15^=0|PGTPVM='0'B|PGTPAM='0'B THEN/* IF PAGE TABLE HAS 02784000 * BEEN FREEMAIND OR PAGE DOES 0786 02785000 * NOT REQUIRE I/O, THEN ... 0786 02786000 * @Z40WPYC*/ 02787000 LTR R15,R15 0786 02788000 BNZ @RT00786 0786 02789000 TM PGTPVM(PTEPTR),B'00001001' 0786 02790000 BO @RF00786 0786 02791000 @RT00786 DS 0H 0787 02792000 * DO; /* REMOVE PCB FROM QUEUE @Z40WPYC*/ 02793000 * IF PCBBQPA^=0 THEN /* NOT FIRST PCB @Z40WPYC*/ 02794000 L @10,PCBBQPA(,PCBPTR) 0788 02795000 LTR @10,@10 0788 02796000 BZ @RF00788 0788 02797000 * PCBBQPA->PCBFQPA=PCBFQPA;/* CHAIN PREVIOUS TO NEW 0789 02798000 * NEXT @Z40WPYC*/ 02799000 MVC PCBFQPA(3,@10),PCBFQPA(PCBPTR) 0789 02800000 * ELSE /* FIRST PCB @Z40WPYC*/ 02801000 * R7=PCBFQPA; /* ESTABLISH NEW HEAD @Z40WPYC*/ 02802000 B @RC00788 0790 02803000 @RF00788 L R7,PCBFQPA-1(,PCBPTR) 0790 02804000 LA R7,0(,R7) 0790 02805000 * IF PCBFQPA^=0 THEN /* MORE PCB'S @Z40WPYC*/ 02806000 @RC00788 L @10,PCBFQPA-1(,PCBPTR) 0791 02807000 LA @10,0(,@10) 0791 02808000 LTR @10,@10 0791 02809000 BZ @RF00791 0791 02810000 * PCBFQPA->PCBBQPA=PCBBQPA;/* BACK CHAIN THE NEXT TO 0792 02811000 * THE PREVIOUS @Z40WPYC*/ 02812000 MVC PCBBQPA(4,@10),PCBBQPA(PCBPTR) 0792 02813000 * ELSE 0793 02814000 * ; /* LAST PCB @Z40WPYC*/ 02815000 @RF00791 DS 0H 0794 02816000 * R1=PCBPTR; /* SET PCB ADDR @Z40WPYC*/ 02817000 LR R1,PCBPTR 0794 02818000 * PCBPTR=PCBFQPA; /* SET PTR TO NEXT PCB @Z40WPYC*/ 02819000 L @10,PCBFQPA-1(,PCBPTR) 0795 02820000 LA @10,0(,@10) 0795 02821000 LR PCBPTR,@10 0795 02822000 * R1->PCBFQPA=0; /* CLEAR FORWARD PTR OF PCB TO BE 02823000 * DEQUEUED @Z40WPYC*/ 02824000 SLR @10,@10 0796 02825000 STCM @10,7,PCBFQPA(R1) 0796 02826000 * R1->PCBBQPA=0; /* CLEAR BACK PTR OF PCB TO BE 0797 02827000 * DEQUEUED @Z40WPYC*/ 02828000 ST @10,PCBBQPA(,R1) 0797 02829000 * R0=PCBFREQN; /* INDICATE PCB TO FREE Q 0798 02830000 * @Z40WPYC*/ 02831000 LA R0,16 0798 02832000 * CALL PCBMGR; /* PCB TO FREE QUEUE @Z40WPYC*/ 02833000 L @15,PVTPCB(,PVTPTR) 0799 02834000 BALR @14,@15 0799 02835000 * END; /* END IN CORE PROCESSING 0800 02836000 * @Z40WPYC*/ 02837000 * ELSE /* OUT OF CORE PCB @Z40WPYC*/ 02838000 * DO; /* INIT PGTE AND XPTE IN PCB 0801 02839000 * @Z40WPYC*/ 02840000 B @RC00786 0801 02841000 @RF00786 DS 0H 0802 02842000 * PCBXPTA=R1; /* STORE XPTE ADDRESS @Z40WPYC*/ 02843000 STCM R1,7,PCBXPTA(PCBPTR) 0802 02844000 * PCBPGTA=R0; /* STORE PGTE ADDRESS @Z40WPYC*/ 02845000 STCM R0,7,PCBPGTA(PCBPTR) 0803 02846000 * PCBPTR=PCBFQPA; /* SET PTR TO NEXT PCB @Z40WPYC*/ 02847000 L @10,PCBFQPA-1(,PCBPTR) 0804 02848000 LA @10,0(,@10) 0804 02849000 LR PCBPTR,@10 0804 02850000 * END; /* END OUT OF CORE PROCESSING 0805 02851000 * @Z40WPYC*/ 02852000 * END; /* END CHECK PGTPVM @Z40WPYC*/ 02853000 @RC00786 DS 0H 0806 02854000 @DE00782 SLR @10,@10 0806 02855000 CR PCBPTR,@10 0806 02856000 BNE @DL00782 0806 02857000 * IF R7^=0 THEN /* IF STAGE2 SWAPPING REQUIRED 0807 02858000 * @Z40WPYC*/ 02859000 CR R7,@10 0807 02860000 BE @RF00807 0807 02861000 * DO; /* INITIATE THE STAGE2 SWAPIN 0808 02862000 * @Z40WPYC*/ 02863000 * 0808 02864000 * /*********************************************************/ 02865000 * /* */ 02866000 * /* PASS THE CHAIN OF PRIVATE AREA UNFIXED PCB'S TO GFA TO*/ 02867000 * /* HAVE THE FRAMES ASSIGNED AND THE I/O INITIATED */ 02868000 * /* @Z40WPYC*/ 02869000 * /* */ 02870000 * /*********************************************************/ 02871000 * 0809 02872000 * R1=R7; /* POINT TO FIRST PRIVATE AREA 0809 02873000 * PCB @Z40WPYC*/ 02874000 LR R1,R7 0809 02875000 * R2=PSAAOLD->ASCBRSM; /* GET CURRENT RSMHD PTR @Z40WPYC*/ 02876000 L @10,PSAAOLD 0810 02877000 L R2,ASCBRSM(,@10) 0810 02878000 * CALL GFA; /* CALL GENERAL FRAME ALLOCATION 02879000 * @Z40WPYC*/ 02880000 L @15,PVTPGFA(,PVTPTR) 0811 02881000 BALR @14,@15 0811 02882000 * RCACSECT=RCACSPIN; /* RESET MODULE ID @Z40WPYC*/ 02883000 MVI RCACSECT(R8),X'19' 0812 02884000 * END; /* END GFA PROCESSING @Z40WPYC*/ 02885000 * ELSE 0814 02886000 * ; /* NO STAGE2 PCBS REQUIRING I/O 02887000 * @Z40WPYC*/ 02888000 @RF00807 DS 0H 0815 02889000 *FREELCK2: 0815 02890000 * GEN CODE REFS(PSALITA,FLC) SETS(R11,R12,R13,R14); 0815 02891000 FREELCK2 DS 0H 0815 02892000 SETLOCK RELEASE,TYPE=SALLOC,RELATED=(RSM,IEAVSWPP(GETLOCK2)) 02893000 * RCASAL='0'B; /* NO LONGER HOLD SALLOC @Z40WPYC*/ 02894000 NI RCASAL(R8),B'01111111' 0816 02895000 * END; /* END STAGE2 PROCESSING @Z40WPYC*/ 02896000 * ELSE 0818 02897000 * ; /* NO STAGE2 PCBS TO PROCESS 0818 02898000 * @Z40WPYC*/ 02899000 * 0818 02900000 @RF00775 DS 0H 0819 02901000 * /*****************************************************************/ 02902000 * /* */ 02903000 * /* OBTAIN THE LOCAL LOCK TO POST RCT */ 02904000 * /* */ 02905000 * /*****************************************************************/ 02906000 * 0819 02907000 *SWPPRTRY: /* FRR RETRY ADDR @Z40WPYC*/ 02908000 * GEN CODE REFS(PSALITA,FLC) DEFS(SIRTGET) SETS(R11,R12,R13,R14); 02909000 SWPPRTRY DS 0H 0819 02910000 SIRTGET SETLOCK OBTAIN,TYPE=LOCAL,MODE=UNCOND, **02911000 RELATED=(PSTRCT,IEAVSWIN(SIRTFREE)) 02912000 * RESPECIFY 0820 02913000 * (R10) RESTRICTED; 0820 02914000 * RCALL='1'B; /* INDICATE LOCAL LOCK OBTAINED 02915000 * @Z40WPYC*/ 02916000 OI RCALL(R8),B'01000000' 0821 02917000 * R10=0; /* SET POST CODE FOR POST OF RCT. 02918000 * @VS08619*/ 02919000 SLR R10,R10 0822 02920000 * R11=ADDR(ASCBQECB); /* GET THE ADDRESS OF RCT QUIESCE 02921000 * ECB FOR THE POST. @VS08619*/ 02922000 L R11,PSAAOLD 0823 02923000 LA R11,ASCBQECB(,R11) 0823 02924000 * CALL POSTRCT; /* BRANCH ENTER POST TO POST THE 02925000 * QUIESCE ECB @VS08619*/ 02926000 L @15,CVTPTR 0824 02927000 L @15,CVT0PT02(,@15) 0824 02928000 BALR @14,@15 0824 02929000 * GENERATE CODE; 0825 02930000 SIRTFREE SETLOCK RELEASE,TYPE=LOCAL, **02931000 RELATED=(POSTRCT,IEAVSWIN(SIRTGET)) 02932000 SETFRR D,WRKREGS=(R11,R12) 02933000 * R14=CVTSRBRT; /* GET THE DISPATCHER RETURN 0826 02934000 * ADDRESS. @VS08619*/ 02935000 L R14,CVTPTR 0826 02936000 L R14,CVTSRBRT(,R14) 0826 02937000 * GOTO R14; /* RETURN TO CALLER @VS08619*/ 02938000 BR R14 0827 02939000 * RFY 0828 02940000 * (R0, 0828 02941000 * R1, 0828 02942000 * R8, 0828 02943000 * R10, 0828 02944000 * R11, 0828 02945000 * R12, 0828 02946000 * R13, 0828 02947000 * R7) UNRESTRICTED; /* @Z40WPYC*/ 02948000 * RFY 0829 02949000 * ASCB BASED(PCBRASCB); 0829 02950000 *SWIN: 0830 02951000 * END IEAVSWIN /* END SWAP IN */ 02952000 * 0830 02953000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 02954000 */*%INCLUDE SYSLIB (IHAASCB ) */ 02955000 */*%INCLUDE SYSLIB (IHAASXB ) */ 02956000 */*%INCLUDE SYSLIB (CVT ) */ 02957000 */*%INCLUDE SYSLIB (IHAFRRS ) */ 02958000 */*%INCLUDE SYSLIB (IHAPCB ) */ 02959000 */*%INCLUDE SYSLIB (ILRAIA ) */ 02960000 */*%INCLUDE SYSLIB (IHAPCBR ) */ 02961000 */*%INCLUDE SYSLIB (IHAPFTE ) */ 02962000 */*%INCLUDE SYSLIB (IHAPGTE ) */ 02963000 */*%INCLUDE SYSLIB (IHAPSA ) */ 02964000 */*%INCLUDE SYSLIB (IHAPVT ) */ 02965000 */*%INCLUDE SYSLIB (IHARCA ) */ 02966000 */*%INCLUDE SYSLIB (IHARSMHD) */ 02967000 */*%INCLUDE SYSLIB (IHASGTE ) */ 02968000 */*%INCLUDE SYSLIB (IHASPCT ) */ 02969000 */*%INCLUDE SYSLIB (IHASRB ) */ 02970000 */*%INCLUDE SYSLIB (IHAWSAVT) */ 02971000 */*%INCLUDE SYSLIB (IHAXPTE ) */ 02972000 * 0830 02973000 * ; 0830 02974000 SWIN DS 0H 0830 02975000 @DATA DS 0H 02976000 @CH00224 DC H'5' 02977000 DS 0F 02978000 DS 0F 02979000 @CF00062 DC F'1' 02980000 @CF00925 DC F'6' 02981000 @CH00925 EQU @CF00925+2 02982000 @CF00055 DC F'8' 02983000 @CF00052 DC F'15' 02984000 @CF01288 DC F'56' 02985000 @CF01927 DC XL4'FF000000' 02986000 @CF02051 DC XL4'0000FFFF' 02987000 @CF01961 DC XL4'7FFF' 02988000 DS 0D 02989000 @CC01994 DC C'SRB ' 02990000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 02991000 @01 EQU 01 02992000 @02 EQU 02 02993000 @03 EQU 03 02994000 @04 EQU 04 02995000 @05 EQU 05 02996000 @06 EQU 06 02997000 @07 EQU 07 02998000 @08 EQU 08 02999000 @09 EQU 09 03000000 @10 EQU 10 03001000 @11 EQU 11 03002000 @12 EQU 12 03003000 @13 EQU 13 03004000 @14 EQU 14 03005000 @15 EQU 15 03006000 ASCBPTR EQU @07 03007000 PCBPTR EQU @05 03008000 PCBRPTR EQU @06 03009000 PFTEPTR EQU @14 03010000 PTEPTR EQU @14 03011000 PVTPTR EQU @03 03012000 RSMHDPTR EQU @02 03013000 STEPTR EQU @11 03014000 SPCTPTR EQU @04 03015000 SWAPPTR EQU @11 03016000 SEGSPTR EQU @10 03017000 XPTEPTR EQU @12 03018000 R0 EQU @00 03019000 R1 EQU @01 03020000 MASK EQU @01 03021000 R2 EQU @02 03022000 R5 EQU @05 03023000 R7 EQU @07 03024000 R8 EQU @08 03025000 START EQU @08 03026000 ACTIVE EQU @08 03027000 R9 EQU @09 03028000 R10 EQU @10 03029000 FINISH EQU @10 03030000 R11 EQU @11 03031000 R12 EQU @12 03032000 BITMASK EQU @12 03033000 R13 EQU @13 03034000 R14 EQU @14 03035000 R15 EQU @15 03036000 R3 EQU @03 03037000 R4 EQU @04 03038000 R6 EQU @06 03039000 PSA EQU 0 03040000 FLCRNPSW EQU PSA 03041000 FLCROPSW EQU PSA+8 03042000 FLCICCW2 EQU PSA+16 03043000 FLCCVT EQU FLCICCW2 03044000 PSAEEPSW EQU PSA+132 03045000 PSAESPSW EQU PSA+136 03046000 FLCSVILC EQU PSAESPSW+1 03047000 PSAEPPSW EQU PSA+140 03048000 FLCPIILC EQU PSAEPPSW+1 03049000 FLCPICOD EQU PSAEPPSW+2 03050000 PSAPICOD EQU FLCPICOD+1 03051000 FLCTEA EQU PSAEPPSW+4 03052000 FLCPER EQU PSA+152 03053000 FLCMCLA EQU PSA+168 03054000 FLCIOEL EQU FLCMCLA+4 03055000 FLCIOA EQU FLCMCLA+16 03056000 FLCFSA EQU FLCMCLA+80 03057000 PSAAOLD EQU PSA+548 03058000 PSASUPER EQU PSA+552 03059000 PSASUP1 EQU PSASUPER 03060000 PSASUP2 EQU PSASUPER+1 03061000 PSASUP3 EQU PSASUPER+2 03062000 PSASUP4 EQU PSASUPER+3 03063000 PSACLHT EQU PSA+640 03064000 PSALKSA EQU PSA+696 03065000 PSAHLHI EQU PSA+760 03066000 PSALITA EQU PSA+764 03067000 PSADSSFL EQU PSA+836 03068000 PSADSSF1 EQU PSADSSFL 03069000 PSADSSF3 EQU PSADSSFL+2 03070000 PSADSSF4 EQU PSADSSFL+3 03071000 PSARSVT EQU PSA+896 03072000 PSALSFCC EQU PSA+1012 03073000 ASCB EQU 0 03074000 ASCBSUPC EQU ASCB+16 03075000 ASCBASID EQU ASCB+36 03076000 ASCBSTOR EQU ASCB+44 03077000 ASCBRSM EQU ASCB+52 03078000 ASCBRSMF EQU ASCBRSM 03079000 ASCB1LPU EQU ASCBRSMF 03080000 ASCBFW1 EQU ASCB+100 03081000 ASCBRCTF EQU ASCBFW1+2 03082000 ASCBFLG1 EQU ASCBFW1+3 03083000 ASCBNSWP EQU ASCBFLG1 03084000 ASCBASXB EQU ASCB+108 03085000 ASCBDSP1 EQU ASCB+114 03086000 ASCBFLG2 EQU ASCB+115 03087000 ASCBLKGP EQU ASCB+128 03088000 ASCBQECB EQU ASCB+136 03089000 ASCBSRQ EQU ASCB+180 03090000 ASCBSRQ1 EQU ASCBSRQ 03091000 ASCBSRQ2 EQU ASCBSRQ+1 03092000 ASCBSRQ3 EQU ASCBSRQ+2 03093000 ASCBSRQ4 EQU ASCBSRQ+3 03094000 ASXB EQU 0 03095000 ASXBSPSA EQU ASXB+112 03096000 ASXBAEQ EQU ASXB+168 03097000 ASXBSECR EQU ASXB+199 03098000 ASCBSFLG EQU ASXBSECR 03099000 ASXBCASW EQU ASXB+216 03100000 ASXBCRB1 EQU ASXBCASW 03101000 CVTMAP EQU 0 03102000 CVT EQU CVTMAP 03103000 CVTBTERM EQU CVTMAP+52 03104000 CVTDAR EQU CVTMAP+72 03105000 CVTFLGS1 EQU CVTDAR 03106000 CVTDCB EQU CVTMAP+116 03107000 CVTIOQET EQU CVTMAP+120 03108000 CVTIERLC EQU CVTMAP+144 03109000 CVTHEAD EQU CVTMAP+160 03110000 CVTSV76C EQU CVTHEAD 03111000 CVTOPTA EQU CVTMAP+182 03112000 CVTOPTB EQU CVTMAP+183 03113000 CVTGTF EQU CVTMAP+236 03114000 CVTGTFST EQU CVTGTF 03115000 CVTGTFS EQU CVTGTFST 03116000 CVTSTATE EQU CVTGTFST 03117000 CVTTMODE EQU CVTGTFST 03118000 CVTFORM EQU CVTGTFST 03119000 CVTAQAVT EQU CVTMAP+240 03120000 CVTTCMFG EQU CVTAQAVT 03121000 CVTVOLM2 EQU CVTMAP+244 03122000 CVTTATA EQU CVTVOLM2 03123000 CVTTSKS EQU CVTTATA 03124000 CVTVOLF2 EQU CVTTSKS 03125000 CVTTAT EQU CVTTATA+1 03126000 CVTATER EQU CVTMAP+248 03127000 CVTEXT1 EQU CVTMAP+252 03128000 CVTPURG EQU CVTMAP+260 03129000 CVTQMSG EQU CVTMAP+268 03130000 CVTDMSR EQU CVTMAP+272 03131000 CVTRSV37 EQU CVTDMSR 03132000 CVTDMSRF EQU CVTRSV37 03133000 CVTERPV EQU CVTMAP+316 03134000 CVTINTLA EQU CVTMAP+320 03135000 CVTAPF EQU CVTMAP+324 03136000 CVTEXT2 EQU CVTMAP+328 03137000 CVTHJES EQU CVTMAP+332 03138000 CVTPGSIA EQU CVTMAP+348 03139000 CVTA1F1 EQU CVTMAP+356 03140000 CVTSYSK EQU CVTMAP+357 03141000 CVTVOLM1 EQU CVTMAP+380 03142000 CVTVOLF1 EQU CVTVOLM1 03143000 CVTXTNT1 EQU 0 03144000 CVTXTNT2 EQU 0 03145000 CVTDSSV EQU CVTXTNT2 03146000 CVTFLGBT EQU CVTXTNT2+5 03147000 CVTQID EQU CVTXTNT2+24 03148000 CVTRV400 EQU CVTXTNT2+52 03149000 CVTRV409 EQU CVTXTNT2+53 03150000 CVTATCVT EQU CVTXTNT2+64 03151000 CVTRV429 EQU CVTXTNT2+84 03152000 CVTRV438 EQU CVTXTNT2+85 03153000 CVTRV457 EQU CVTXTNT2+112 03154000 CVTRV466 EQU CVTXTNT2+113 03155000 CVTFIX EQU 0 03156000 CVTRELNO EQU CVTFIX+252 03157000 FRRS EQU 0 03158000 FRRSHEAD EQU FRRS 03159000 FRRSEMP EQU FRRSHEAD 03160000 FRRSLAST EQU FRRSHEAD+4 03161000 FRRSELEN EQU FRRSHEAD+8 03162000 FRRSCURR EQU FRRSHEAD+12 03163000 FRRSENTR EQU 0 03164000 FRRSFRRA EQU FRRSENTR 03165000 FRRSFLGS EQU FRRSENTR+4 03166000 FRRSFLG1 EQU FRRSFLGS 03167000 FRRSPARM EQU FRRSENTR+8 03168000 PCB EQU 0 03169000 PCBFQP EQU PCB 03170000 PCBCQN EQU PCBFQP 03171000 PCBFQPA EQU PCBFQP+1 03172000 PCBBQP EQU PCB+4 03173000 PCBBQPA EQU PCBBQP 03174000 PCBRTP EQU PCB+8 03175000 PCBFL1 EQU PCBRTP 03176000 PCBROOT EQU PCBFL1 03177000 PCBRTPA EQU PCBRTP+1 03178000 PCBRLP EQU PCB+12 03179000 PCBFXC EQU PCBRLP 03180000 PCBXPT EQU PCB+16 03181000 PCBFL2 EQU PCBXPT 03182000 PCBXPTA EQU PCBXPT+1 03183000 PCBPGT EQU PCB+20 03184000 PCBFL3 EQU PCBPGT 03185000 PCBSWPIN EQU PCBFL3 03186000 PCBSWPS1 EQU PCBFL3 03187000 PCBSWPLS EQU PCBFL3 03188000 PCBDFRLS EQU PCBFL3 03189000 PCBSWPS2 EQU PCBFL3 03190000 PCBPGTA EQU PCBPGT+1 03191000 PCBRBN EQU PCB+24 03192000 PCBVBN EQU PCB+26 03193000 PCBBLOCK EQU PCB+28 03194000 PCBSRB EQU PCBBLOCK 03195000 PCBRB EQU PCBSRB 03196000 PCBSPCTE EQU PCBRB 03197000 PCBASCB EQU PCB+32 03198000 PCBAIA EQU PCB+36 03199000 PCBR EQU 0 03200000 PCBRTCB EQU PCBR 03201000 PCBRFLAG EQU PCBRTCB 03202000 PCBRETRY EQU PCBRFLAG 03203000 PCBRPB EQU PCBRFLAG 03204000 PCBRFAIL EQU PCBRFLAG 03205000 PCBRGOTO EQU PCBR+4 03206000 PCBRASCB EQU PCBR+12 03207000 PCBRCNT EQU PCBR+16 03208000 PCBRWRK1 EQU PCBR+20 03209000 PCBRWRK2 EQU PCBR+24 03210000 PCBRWRK3 EQU PCBR+28 03211000 PCBRWRK5 EQU PCBR+36 03212000 PCBRWRK8 EQU PCBR+48 03213000 PCBRWRKA EQU PCBR+56 03214000 PFTE EQU 0 03215000 PFTPGID EQU PFTE 03216000 PFTVBN EQU PFTPGID+2 03217000 PFTQPTRS EQU PFTE+4 03218000 PFTFXCT EQU PFTE+8 03219000 PFTFLAGS EQU PFTE+12 03220000 PFTFLAG1 EQU PFTFLAGS 03221000 PFTFLAG2 EQU PFTFLAGS+1 03222000 PFTDFRLS EQU PFTFLAG2 03223000 PFTPREF EQU PFTFLAG2 03224000 PGTPTE EQU 0 03225000 PGTRSA EQU PGTPTE 03226000 PGTBITS EQU PGTRSA+1 03227000 PGTPVM EQU PGTBITS 03228000 PGTPAM EQU PGTBITS 03229000 PVT EQU 0 03230000 PVTFLAG1 EQU PVT 03231000 PVTFLAG2 EQU PVT+1 03232000 PVTAFC EQU PVT+2 03233000 PVTPFTP EQU PVT+12 03234000 PVTLCSA EQU PVT+26 03235000 PVTPRCA EQU PVT+52 03236000 PVTSRBID EQU PVT+68 03237000 PVTPGFA EQU PVT+84 03238000 PVTPCB EQU PVT+104 03239000 PVTPFTE EQU PVT+108 03240000 PVTPFP2 EQU PVT+116 03241000 PVTPRCV EQU PVT+156 03242000 PVTPSRBP EQU PVT+188 03243000 PVTPRELF EQU PVT+216 03244000 PVTSPIN EQU PVT+268 03245000 PVTNSWPS EQU PVT+280 03246000 PVTQS EQU PVT+304 03247000 PVTWSAX EQU PVT+344 03248000 PVTWSA7 EQU PVTWSAX+432 03249000 PVTSAVE EQU PVTWSAX+1328 03250000 PVTMAXFX EQU PVT+1822 03251000 PVTDEFFX EQU PVT+1828 03252000 PVTCNTFX EQU PVT+1830 03253000 PVTCOMFX EQU PVT+1834 03254000 PVTPCBQS EQU PVT+1852 03255000 RCA EQU 0 03256000 RCAPARM1 EQU RCA+4 03257000 RCANAME7 EQU RCA+8 03258000 RCACSECT EQU RCA+9 03259000 RCAFLAGS EQU RCA+10 03260000 RCASAL EQU RCAFLAGS 03261000 RCALL EQU RCAFLAGS 03262000 RCARCRD EQU RCA+11 03263000 RCANAMES EQU RCA+12 03264000 RCANAME1 EQU RCANAMES 03265000 RCANAME2 EQU RCANAMES+1 03266000 RCASWPP EQU RCANAME2 03267000 RCANAME3 EQU RCANAMES+2 03268000 RCANAME4 EQU RCANAMES+3 03269000 RCASWIN EQU RCANAME4 03270000 RCANAME5 EQU RCANAMES+4 03271000 RCASIRT EQU RCANAME5 03272000 RCANAME6 EQU RCANAMES+5 03273000 RCARETAD EQU RCA+20 03274000 RSMHD EQU 0 03275000 RSMVSTO EQU RSMHD 03276000 RSMSPCT EQU RSMHD+4 03277000 RSMFLG1 EQU RSMHD+12 03278000 RSMFAIL EQU RSMFLG1 03279000 RSMQS EQU RSMHD+20 03280000 RSMLFQ EQU RSMQS 03281000 RSMLSQA EQU RSMQS+4 03282000 RSMLIOQ EQU RSMQS+8 03283000 SGTSTE EQU 0 03284000 SGTLK EQU SGTSTE 03285000 SGTPTO EQU SGTSTE+1 03286000 SGTBYTE EQU SGTPTO+2 03287000 SPCT EQU 0 03288000 SPCTSWRT EQU SPCT 03289000 SPCTFIX EQU SPCT+4 03290000 SPCTLSQA EQU SPCT+6 03291000 SPCTSSEG EQU SPCT+9 03292000 SPCTFLG1 EQU SPCT+10 03293000 SPCTSWIN EQU SPCTFLG1 03294000 SPCTBIG EQU SPCTFLG1 03295000 SPCTPSET EQU SPCTFLG1 03296000 SPCTVROT EQU SPCTFLG1 03297000 SPCTWSSZ EQU SPCT+12 03298000 SPCTSWAP EQU SPCT+16 03299000 SPCTSEGS EQU SPCT+72 03300000 SPCTSEGE EQU 0 03301000 SPCTSEGX EQU SPCTSEGE 03302000 SPCTPGT EQU SPCTSEGE+1 03303000 SPCTBITM EQU SPCTSEGE+4 03304000 SPCTSWPE EQU 0 03305000 SPCTLS EQU SPCTSWPE 03306000 SPCTFLAG EQU SPCTLS 03307000 SPCTLSQ EQU SPCTFLAG 03308000 SPCTCOMM EQU SPCTFLAG 03309000 SPCTDEFR EQU SPCTFLAG 03310000 SPCTSSID EQU SPCTLS+1 03311000 SPCTVBN EQU SPCTLS+4 03312000 SPCTFIXC EQU SPCTSWPE+6 03313000 SPCTEXTM EQU 0 03314000 SPCTEXT EQU SPCTEXTM 03315000 SPCTENT EQU SPCTEXTM+8 03316000 SPCTXEND EQU SPCTENT+48 03317000 SRBSECT EQU 0 03318000 SRB EQU SRBSECT 03319000 SRBID EQU SRB 03320000 SRBASCB EQU SRB+8 03321000 SRBFLC EQU SRB+12 03322000 SRBEP EQU SRB+20 03323000 SRBRMTR EQU SRB+24 03324000 SRBPARM EQU SRB+28 03325000 WSAL EQU 0 03326000 WSALRSM EQU WSAL+52 03327000 XPTE EQU 0 03328000 XPTPROT EQU XPTE 03329000 XPTFLAGS EQU XPTE+2 03330000 XPTFLAG2 EQU XPTE+3 03331000 XPTLPID EQU XPTE+4 03332000 XPTLGN EQU XPTLPID 03333000 XPTLPN EQU XPTLPID+4 03334000 FINDPAGE EQU 0 03335000 PCBMGR EQU 0 03336000 GFA EQU 0 03337000 RELF EQU 0 03338000 STATUS EQU 0 03339000 POSTRCT EQU 0 03340000 PFTENQ EQU 0 03341000 PGTEND EQU 0 03342000 SGTEND EQU 0 03343000 ASXBPTR EQU ASCBASXB 03344000 CVTPTR EQU FLCCVT 03345000 CVTS01 EQU CVTPGSIA 03346000 CVTPVTP EQU CVTS01+8 03347000 CVTLPDIA EQU CVTS01+12 03348000 CVTDIRST EQU CVTLPDIA 03349000 CVTSLIDA EQU CVTS01+24 03350000 CVTCTLFG EQU CVTS01+50 03351000 CVTSRBRT EQU CVTS01+100 03352000 CVTFRECL EQU CVTS01+148 03353000 CVTOPTE EQU CVTS01+188 03354000 CVTVEAC0 EQU CVTS01+328 03355000 CVTRV210 EQU CVTS01+424 03356000 CVTRV219 EQU CVTS01+425 03357000 CVTRV228 EQU CVTS01+426 03358000 CVTRV237 EQU CVTS01+427 03359000 CVTMFRTR EQU CVTS01+452 03360000 CVTRV262 EQU CVTS01+468 03361000 CVTRV271 EQU CVTS01+469 03362000 CVTRV280 EQU CVTS01+470 03363000 CVTRV289 EQU CVTS01+471 03364000 CVT0PT02 EQU CVTS01+532 03365000 CVTSSRB EQU CVTS01+580 03366000 CVTGSDA EQU CVTS01+600 03367000 PSARSVTE EQU PSARSVT 03368000 PSACSTK EQU PSARSVTE 03369000 FRRSPTR EQU PSACSTK 03370000 FRREPTR EQU FRRSCURR 03371000 RSMAIA EQU PCBAIA 03372000 AIA EQU RSMAIA 03373000 AIAFLG1 EQU AIA+9 03374000 AIAPRIV EQU AIAFLG1 03375000 AIALSQA EQU AIAFLG1 03376000 AIAPAGDS EQU AIAFLG1 03377000 AIASWPFX EQU AIAFLG1 03378000 AIAFLG2 EQU AIA+10 03379000 AIAFLG3 EQU AIA+11 03380000 AIANXAIA EQU AIA+12 03381000 AIAID EQU AIA+16 03382000 AIALPID EQU AIAID 03383000 AIALGID EQU AIALPID 03384000 AIALSID EQU AIALGID 03385000 AIASSID EQU AIALSID+1 03386000 AIARPN EQU AIALPID+4 03387000 AIALSID2 EQU AIARPN 03388000 AIALPMEP EQU AIALSID2 03389000 AIAGRPSZ EQU AIA+24 03390000 AIALGE EQU AIAGRPSZ 03391000 FLC EQU PSA 03392000 RCAPTR EQU PVTPRCA 03393000 SRBPTR EQU PCBRWRK8 03394000 VBNPCB EQU PCBVBN 03395000 PCBSS EQU VBNPCB 03396000 VBN EQU VBNPCB+1 03397000 ASCBSGT EQU ASCBSTOR 03398000 ASCBSTO EQU ASCBSGT+1 03399000 FIXCT EQU SPCTFIXC 03400000 SPCTTFIX EQU FIXCT 03401000 NEWPCB EQU PCB 03402000 PCBFLDS EQU NEWPCB+8 03403000 BIT EQU PCBFL1 03404000 PCBPREFR EQU BIT 03405000 WORK EQU PCBRWRK5 03406000 LSQACOMP EQU WORK 03407000 CALLTERM EQU WORK 03408000 PCBRSAVE EQU WORK+1 03409000 SAVAREA EQU PVTWSA7 03410000 FRRASCB EQU SAVAREA+64 03411000 FRRASID EQU SAVAREA+66 03412000 FRRRSMHD EQU SAVAREA+68 03413000 * START UNREFERENCED COMPONENTS 03414000 @NM00066 EQU SAVAREA 03415000 @NM00065 EQU WORK 03416000 @NM00064 EQU BIT 03417000 @NM00063 EQU BIT 03418000 @NM00062 EQU NEWPCB 03419000 @NM00061 EQU FIXCT+1 03420000 @NM00060 EQU ASCBSGT 03421000 AIADPXCT EQU AIALGE 03422000 AIACEPTR EQU AIALPMEP 03423000 AIASLOT EQU AIASSID+1 03424000 @NM00010 EQU AIASSID 03425000 @NM00009 EQU AIALSID 03426000 AIARCSN EQU AIANXAIA+2 03427000 AIACYL EQU AIANXAIA 03428000 AIARSV9 EQU AIAFLG3 03429000 AIARSV8 EQU AIAFLG3 03430000 AIARSV7 EQU AIAFLG3 03431000 AIALPMEC EQU AIAFLG3 03432000 AIARSV6 EQU AIAFLG3 03433000 AIATRPSP EQU AIAFLG3 03434000 AIAPRINO EQU AIAFLG3 03435000 AIARSV5 EQU AIAFLG3 03436000 AIABADID EQU AIAFLG2 03437000 AIAERROR EQU AIAFLG2 03438000 AIASECER EQU AIAFLG2 03439000 AIAPRIER EQU AIAFLG2 03440000 AIARSV4 EQU AIAFLG2 03441000 AIAIORTY EQU AIAFLG2 03442000 AIATERMR EQU AIAFLG2 03443000 AIAFRAUX EQU AIAFLG2 03444000 AIARSV1 EQU AIAFLG1 03445000 AIADUPLX EQU AIAFLG1 03446000 AIAVIO EQU AIAFLG1 03447000 AIAWRITE EQU AIAFLG1 03448000 AIAOP EQU AIA+8 03449000 AIABQPA EQU AIA+4 03450000 AIAFQPA EQU AIA 03451000 PSARSAV EQU PSARSVTE+60 03452000 PSARSTK EQU PSARSVTE+56 03453000 PSAESAV3 EQU PSARSVTE+52 03454000 PSAESTK3 EQU PSARSVTE+48 03455000 PSAESAV2 EQU PSARSVTE+44 03456000 PSAESTK2 EQU PSARSVTE+40 03457000 PSAESAV1 EQU PSARSVTE+36 03458000 PSAESTK1 EQU PSARSVTE+32 03459000 PSAPSAV EQU PSARSVTE+28 03460000 PSAPSTK EQU PSARSVTE+24 03461000 PSAMSAV EQU PSARSVTE+20 03462000 PSAMSTK EQU PSARSVTE+16 03463000 PSASSAV EQU PSARSVTE+12 03464000 PSASSTK EQU PSARSVTE+8 03465000 PSANSTK EQU PSARSVTE+4 03466000 CVTRV628 EQU CVTS01+728 03467000 CVTRV627 EQU CVTS01+724 03468000 CVTRV626 EQU CVTS01+720 03469000 CVTRV625 EQU CVTS01+716 03470000 CVTRV624 EQU CVTS01+712 03471000 CVTRV623 EQU CVTS01+708 03472000 CVTRV622 EQU CVTS01+704 03473000 CVTRV621 EQU CVTS01+700 03474000 CVTIHASU EQU CVTS01+696 03475000 CVTSUSP EQU CVTS01+692 03476000 CVTT6SVC EQU CVTS01+688 03477000 CVTCDAL EQU CVTS01+684 03478000 CVTTCTL EQU CVTS01+680 03479000 CVTRSUME EQU CVTS01+676 03480000 CVTJTERM EQU CVTS01+672 03481000 CVTASMRM EQU CVTS01+668 03482000 CVTTCASP EQU CVTS01+664 03483000 CVT0PT03 EQU CVTS01+660 03484000 CVT0PT0E EQU CVTS01+656 03485000 CVTRV609 EQU CVTS01+652 03486000 CVTCGK EQU CVTS01+648 03487000 CVTRAC EQU CVTS01+644 03488000 CVTHSM EQU CVTS01+640 03489000 CVTRV605 EQU CVTS01+636 03490000 CVTRV604 EQU CVTS01+632 03491000 CVTEFF02 EQU CVTS01+628 03492000 CVTCBBR EQU CVTS01+624 03493000 CVTSSCR EQU CVTS01+620 03494000 CVTEVENT EQU CVTS01+616 03495000 CVTCRCA EQU CVTS01+612 03496000 CVTTPIO EQU CVTS01+608 03497000 CVTADV EQU CVTS01+604 03498000 CVTGSDAB EQU CVTGSDA 03499000 CVTQV3 EQU CVTS01+596 03500000 CVTQV2 EQU CVTS01+592 03501000 CVTQV1 EQU CVTS01+588 03502000 CVTRPT EQU CVTS01+584 03503000 CVTCSDRL EQU CVTS01+576 03504000 CVTEXP1 EQU CVTS01+572 03505000 CVTRMPMT EQU CVTS01+568 03506000 CVTRMPTT EQU CVTS01+564 03507000 CVTVPSA EQU CVTS01+560 03508000 CVTVSTOP EQU CVTS01+556 03509000 CVTGTFR8 EQU CVTS01+552 03510000 CVTQUIT EQU CVTS01+548 03511000 CVTVACR EQU CVTS01+544 03512000 CVTWTCB EQU CVTS01+540 03513000 CVTSTPRS EQU CVTS01+536 03514000 CVTDARCM EQU CVTS01+528 03515000 CVTIRECM EQU CVTS01+524 03516000 CVTJRECM EQU CVTS01+520 03517000 CVTVEMS0 EQU CVTS01+516 03518000 CVTSPFRR EQU CVTS01+512 03519000 CVTRLSTG EQU CVTS01+508 03520000 CVT0TC0A EQU CVTS01+504 03521000 CVTGMBR EQU CVTS01+500 03522000 CVTLFRM EQU CVTS01+496 03523000 CVTRMBR EQU CVTS01+492 03524000 CVTVIOP EQU CVTS01+488 03525000 CVTRV307 EQU CVTS01+486 03526000 CVTRV306 EQU CVTS01+484 03527000 CVTRV305 EQU CVTS01+482 03528000 CVTRV304 EQU CVTS01+480 03529000 CVTRV303 EQU CVTS01+478 03530000 CVTRV302 EQU CVTS01+476 03531000 CVTTRCA EQU CVTS01+472 03532000 CVTRV297 EQU CVTRV289 03533000 CVTRV296 EQU CVTRV289 03534000 CVTRV295 EQU CVTRV289 03535000 CVTRV294 EQU CVTRV289 03536000 CVTRV293 EQU CVTRV289 03537000 CVTRV292 EQU CVTRV289 03538000 CVTRV291 EQU CVTRV289 03539000 CVTRV290 EQU CVTRV289 03540000 CVTRV288 EQU CVTRV280 03541000 CVTRV287 EQU CVTRV280 03542000 CVTRV286 EQU CVTRV280 03543000 CVTRV285 EQU CVTRV280 03544000 CVTRV284 EQU CVTRV280 03545000 CVTRV283 EQU CVTRV280 03546000 CVTRV282 EQU CVTRV280 03547000 CVTRV281 EQU CVTRV280 03548000 CVTRV279 EQU CVTRV271 03549000 CVTRV278 EQU CVTRV271 03550000 CVTRV277 EQU CVTRV271 03551000 CVTRV276 EQU CVTRV271 03552000 CVTRV275 EQU CVTRV271 03553000 CVTRV274 EQU CVTRV271 03554000 CVTRV273 EQU CVTRV271 03555000 CVTRV272 EQU CVTRV271 03556000 CVTRV270 EQU CVTRV262 03557000 CVTRV269 EQU CVTRV262 03558000 CVTRV268 EQU CVTRV262 03559000 CVTRV267 EQU CVTRV262 03560000 CVTRV266 EQU CVTRV262 03561000 CVTRV265 EQU CVTRV262 03562000 CVTRV264 EQU CVTRV262 03563000 CVTRV263 EQU CVTRV262 03564000 CVTVFP EQU CVTS01+464 03565000 CVTVSI EQU CVTS01+460 03566000 CVTVPSIB EQU CVTS01+456 03567000 CVTMFACT EQU CVTMFRTR 03568000 CVTMFCTL EQU CVTS01+448 03569000 CVTPVBP EQU CVTS01+444 03570000 CVTPWI EQU CVTS01+440 03571000 CVTRV254 EQU CVTS01+438 03572000 CVTRV253 EQU CVTS01+436 03573000 CVTRV252 EQU CVTS01+434 03574000 CVTRV251 EQU CVTS01+433 03575000 CVTRV250 EQU CVTS01+432 03576000 CVTRV249 EQU CVTS01+431 03577000 CVTRV248 EQU CVTS01+430 03578000 CVTRV247 EQU CVTS01+429 03579000 CVTRV246 EQU CVTS01+428 03580000 CVTRV245 EQU CVTRV237 03581000 CVTRV244 EQU CVTRV237 03582000 CVTRV243 EQU CVTRV237 03583000 CVTRV242 EQU CVTRV237 03584000 CVTRV241 EQU CVTRV237 03585000 CVTRV240 EQU CVTRV237 03586000 CVTRV239 EQU CVTRV237 03587000 CVTRV238 EQU CVTRV237 03588000 CVTRV236 EQU CVTRV228 03589000 CVTRV235 EQU CVTRV228 03590000 CVTRV234 EQU CVTRV228 03591000 CVTRV233 EQU CVTRV228 03592000 CVTRV232 EQU CVTRV228 03593000 CVTRV231 EQU CVTRV228 03594000 CVTRV230 EQU CVTRV228 03595000 CVTRV229 EQU CVTRV228 03596000 CVTRV227 EQU CVTRV219 03597000 CVTRV226 EQU CVTRV219 03598000 CVTRV225 EQU CVTRV219 03599000 CVTRV224 EQU CVTRV219 03600000 CVTRV223 EQU CVTRV219 03601000 CVTRV222 EQU CVTRV219 03602000 CVTRV221 EQU CVTRV219 03603000 CVTRV220 EQU CVTRV219 03604000 CVTRV218 EQU CVTRV210 03605000 CVTRV217 EQU CVTRV210 03606000 CVTRV216 EQU CVTRV210 03607000 CVTRV215 EQU CVTRV210 03608000 CVTRV214 EQU CVTRV210 03609000 CVTRV213 EQU CVTRV210 03610000 CVTRV212 EQU CVTRV210 03611000 CVTRV211 EQU CVTRV210 03612000 CVTLCCAT EQU CVTS01+420 03613000 CVTPCCAT EQU CVTS01+416 03614000 CVTIPCRP EQU CVTS01+412 03615000 CVTIPCRI EQU CVTS01+408 03616000 CVTIPCDS EQU CVTS01+404 03617000 CVTAIDVT EQU CVTS01+400 03618000 CVTSSAP EQU CVTS01+396 03619000 CVTEHCIR EQU CVTS01+392 03620000 CVTEHDEF EQU CVTS01+388 03621000 CVTDAIR EQU CVTS01+384 03622000 CVTPERFM EQU CVTS01+380 03623000 CVT044R2 EQU CVTS01+376 03624000 CVTFETCH EQU CVTS01+372 03625000 CVTRSTWD EQU CVTS01+368 03626000 CVTSPOST EQU CVTS01+364 03627000 CVTIOBP EQU CVTS01+360 03628000 CVTASMVT EQU CVTS01+356 03629000 CVTRECRQ EQU CVTS01+352 03630000 CVTWSAC EQU CVTS01+348 03631000 CVTRV149 EQU CVTS01+344 03632000 CVTWSAL EQU CVTS01+340 03633000 CVTSPSA EQU CVTS01+336 03634000 CVTGLMN EQU CVTS01+332 03635000 CVT062R1 EQU CVTS01+324 03636000 CVTRPOST EQU CVTS01+320 03637000 CVTDQIQE EQU CVTS01+316 03638000 CVTCSD EQU CVTS01+312 03639000 CVTLKRMA EQU CVTS01+308 03640000 CVTRSPIE EQU CVTS01+304 03641000 CVTRENQ EQU CVTS01+300 03642000 CVTLQCB EQU CVTS01+296 03643000 CVTFQCB EQU CVTS01+292 03644000 CVTQCS01 EQU CVTS01+288 03645000 CVTAPFT EQU CVTS01+284 03646000 CVTPARRL EQU CVTS01+280 03647000 CVTVWAIT EQU CVTS01+276 03648000 CVTGSPL EQU CVTS01+272 03649000 CVTLSMQ EQU CVTS01+268 03650000 CVTGSMQ EQU CVTS01+264 03651000 CVTEXPRO EQU CVTS01+260 03652000 CVTOPCTP EQU CVTS01+256 03653000 CVTSIC EQU CVTS01+252 03654000 CVTTPIOS EQU CVTS01+248 03655000 CVTRTMS EQU CVTS01+244 03656000 CVTSDBF EQU CVTS01+240 03657000 CVTSCBP EQU CVTS01+236 03658000 CVTSDMP EQU CVTS01+232 03659000 CVTSV60 EQU CVTS01+228 03660000 CVTRTMCT EQU CVTS01+224 03661000 CVTASCBL EQU CVTS01+220 03662000 CVTASCBH EQU CVTS01+216 03663000 CVTGDA EQU CVTS01+212 03664000 CVTASVT EQU CVTS01+208 03665000 CVTVVMDI EQU CVTS01+204 03666000 CVTAQTOP EQU CVTS01+200 03667000 CVTIOSCS EQU CVTS01+196 03668000 CVTSDRM EQU CVTS01+192 03669000 CVTSTXU EQU CVTS01+184 03670000 CVTQUIS EQU CVTS01+180 03671000 CVTPARS EQU CVTS01+176 03672000 CVTS1EE EQU CVTS01+172 03673000 CVTFRAS EQU CVTS01+168 03674000 CVTQSAS EQU CVTS01+164 03675000 CVTCRAS EQU CVTS01+160 03676000 CVTCRMN EQU CVTS01+156 03677000 CVTDELCP EQU CVTS01+152 03678000 CVTGETCL EQU CVTS01+144 03679000 CVTBLDCP EQU CVTS01+140 03680000 CVTAUTHL EQU CVTS01+136 03681000 CVTSCAN EQU CVTS01+132 03682000 CVTRV144 EQU CVTS01+130 03683000 CVTMAXMP EQU CVTS01+128 03684000 CVTSTCK EQU CVTS01+124 03685000 CVTRV139 EQU CVTS01+123 03686000 CVTDSSAC EQU CVTS01+122 03687000 CVTRV513 EQU CVTS01+121 03688000 CVTIOSPL EQU CVTS01+120 03689000 CVTPTGT EQU CVTS01+116 03690000 CVTCSPIE EQU CVTS01+112 03691000 CVTSMFEX EQU CVTS01+108 03692000 CVTOLT0A EQU CVTS01+104 03693000 CVTPUTL EQU CVTS01+96 03694000 CVTASCRL EQU CVTS01+92 03695000 CVTASCRF EQU CVTS01+88 03696000 CVTRV326 EQU CVTS01+84 03697000 CVTRV325 EQU CVTS01+80 03698000 CVTRV324 EQU CVTS01+76 03699000 CVT0VL01 EQU CVTS01+72 03700000 CVTSHRVM EQU CVTS01+68 03701000 CVTRV332 EQU CVTS01+64 03702000 CVTTAS EQU CVTS01+60 03703000 CVTRSCN EQU CVTS01+56 03704000 CVTTRAC2 EQU CVTS01+54 03705000 CVTTRACE EQU CVTS01+52 03706000 CVTAPG EQU CVTS01+51 03707000 CVTSDTRC EQU CVTCTLFG 03708000 CVTGTRCE EQU CVTCTLFG 03709000 CVTNOMP EQU CVTCTLFG 03710000 CVTRSV79 EQU CVTCTLFG 03711000 CVTDSTAT EQU CVTCTLFG 03712000 CVTRSV78 EQU CVTCTLFG 03713000 CVTRV333 EQU CVTCTLFG 03714000 CVTRV323 EQU CVTCTLFG 03715000 CVTSPVLK EQU CVTS01+49 03716000 CVTRSV77 EQU CVTS01+48 03717000 CVTRV331 EQU CVTS01+44 03718000 CVTRV330 EQU CVTS01+40 03719000 CVTRV329 EQU CVTS01+36 03720000 CVTRV328 EQU CVTS01+32 03721000 CVTRV322 EQU CVTS01+28 03722000 CVTSLID EQU CVTSLIDA+1 03723000 CVTSYLK EQU CVTSLIDA 03724000 CVTRV321 EQU CVTS01+20 03725000 CVTRV320 EQU CVTS01+16 03726000 CVTLPDIR EQU CVTLPDIA+1 03727000 CVTRSV69 EQU CVTDIRST 03728000 CVTRSV68 EQU CVTDIRST 03729000 CVTRSV67 EQU CVTDIRST 03730000 CVTRSV66 EQU CVTDIRST 03731000 CVTRSV65 EQU CVTDIRST 03732000 CVTRSV64 EQU CVTDIRST 03733000 CVTRSV63 EQU CVTDIRST 03734000 CVTDICOM EQU CVTDIRST 03735000 CVTLPDSR EQU CVTS01+4 03736000 CVTGETL EQU CVTS01 03737000 XPTLSID2 EQU XPTLPN 03738000 XPTLSID EQU XPTLGN 03739000 @NM00059 EQU XPTFLAG2 03740000 XPTIOERR EQU XPTFLAG2 03741000 XPTPOINP EQU XPTFLAG2 03742000 XPTRES1 EQU XPTFLAG2 03743000 XPTVALID EQU XPTFLAG2 03744000 XPTRSV4 EQU XPTFLAGS 03745000 XPTDEFER EQU XPTFLAGS 03746000 XPTRES2 EQU XPTFLAGS 03747000 XPTVIO EQU XPTFLAGS 03748000 @NM00058 EQU XPTFLAGS 03749000 XPTCKF EQU XPTFLAGS 03750000 XPTXAV EQU XPTFLAGS 03751000 XPTVIOLP EQU XPTFLAGS 03752000 XPTRSV1 EQU XPTE+1 03753000 WSALACHP EQU WSAL+56 03754000 WSALEVNT EQU WSAL+48 03755000 WSALSTAE EQU WSAL+44 03756000 WSALSTAT EQU WSAL+40 03757000 WSALWAIT EQU WSAL+36 03758000 WSALPOST EQU WSAL+32 03759000 WSALEXIT EQU WSAL+28 03760000 WSALS2EE EQU WSAL+24 03761000 WSALCIRB EQU WSAL+20 03762000 WSALABTM EQU WSAL+16 03763000 WSALSDMP EQU WSAL+12 03764000 WSALRTM2 EQU WSAL+8 03765000 WSALVALC EQU WSAL+4 03766000 WSALCWSA EQU WSAL 03767000 @NM00057 EQU SRB+40 03768000 @NM00056 EQU SRB+38 03769000 SRBPRIOR EQU SRB+37 03770000 SRBPKF EQU SRB+36 03771000 SRBSAVE EQU SRB+32 03772000 SRBPTCB EQU SRBFLC+4 03773000 SRBPASID EQU SRBFLC+2 03774000 SRBCPAFF EQU SRBFLC 03775000 SRBFLNK EQU SRB+4 03776000 SPCTENTS EQU SPCTENT 03777000 @NM00055 EQU SPCTEXTM+4 03778000 @NM00054 EQU SPCTFLAG 03779000 SPCTLVAL EQU SPCTFLAG 03780000 SPCTSIZE EQU SPCT+14 03781000 SPCTIDEN EQU SPCT+11 03782000 @NM00053 EQU SPCTFLG1 03783000 SPCTPURG EQU SPCTFLG1 03784000 SPCTOUT EQU SPCTFLG1 03785000 SPCTNSEG EQU SPCT+8 03786000 SGTPAM EQU SGTBYTE 03787000 SGTEAC EQU SGTBYTE 03788000 @NM00052 EQU SGTBYTE 03789000 @NM00051 EQU SGTBYTE 03790000 @NM00050 EQU SGTBYTE 03791000 @NM00049 EQU SGTBYTE 03792000 @NM00048 EQU SGTBYTE 03793000 SGTORG EQU SGTPTO 03794000 SGTKEY EQU SGTLK 03795000 SGTPTL EQU SGTLK 03796000 RSMASMHD EQU RSMHD+40 03797000 RSMFOEQ EQU RSMHD+36 03798000 RSMLIOQL EQU RSMLIOQ+4 03799000 RSMLIOQF EQU RSMLIOQ 03800000 RSMLSQAL EQU RSMLSQA+2 03801000 RSMLSQAF EQU RSMLSQA 03802000 RSMLFQL EQU RSMLFQ+2 03803000 RSMLFQF EQU RSMLFQ 03804000 RSMRSV2 EQU RSMHD+16 03805000 RSMCNTFX EQU RSMHD+14 03806000 RSMRSV1 EQU RSMHD+13 03807000 @NM00047 EQU RSMFLG1 03808000 RSMGFADD EQU RSMFLG1 03809000 RSMCPNC EQU RSMFLG1 03810000 RSMCPNU EQU RSMFLG1 03811000 RSMGFAD EQU RSMFLG1 03812000 RSMIOCPC EQU RSMFLG1 03813000 RSMIOCPU EQU RSMFLG1 03814000 RSMASCB EQU RSMHD+8 03815000 RCATASID EQU RCA+18 03816000 RCAREP1 EQU RCANAME6 03817000 RCAPSIF EQU RCANAME6 03818000 RCAPSIX EQU RCANAME6 03819000 RCAVEQRP EQU RCANAME6 03820000 RCARCFC EQU RCANAME6 03821000 RCACSGB EQU RCANAME6 03822000 RCAFXL EQU RCANAME6 03823000 RCAPS113 EQU RCANAME6 03824000 RCAFREE EQU RCANAME5 03825000 RCARFR2 EQU RCANAME5 03826000 RCACPBR EQU RCANAME5 03827000 RCAOPBR EQU RCANAME5 03828000 RCASORT EQU RCANAME5 03829000 RCARELV EQU RCANAME5 03830000 RCARELF EQU RCANAME5 03831000 RCAGFAD EQU RCANAME4 03832000 RCAVEQRI EQU RCANAME4 03833000 RCAVEQRF EQU RCANAME4 03834000 RCAVEQRC EQU RCANAME4 03835000 RCATERM EQU RCANAME4 03836000 RCASQA EQU RCANAME4 03837000 RCASOUT EQU RCANAME4 03838000 RCARFR EQU RCANAME3 03839000 RCARELS EQU RCANAME3 03840000 RCARCFI EQU RCANAME3 03841000 RCARCF EQU RCANAME3 03842000 RCAPSII EQU RCANAME3 03843000 RCAPSIB EQU RCANAME3 03844000 RCAPS112 EQU RCANAME3 03845000 RCAPIX EQU RCANAME3 03846000 RCAPIOP EQU RCANAME2 03847000 RCASWPC EQU RCANAME2 03848000 RCAPFTE EQU RCANAME2 03849000 RCAPCB EQU RCANAME2 03850000 RCAOUT EQU RCANAME2 03851000 RCAITAS EQU RCANAME2 03852000 RCAIOCP EQU RCANAME2 03853000 RCAINV EQU RCANAME1 03854000 RCAGFA EQU RCANAME1 03855000 RCAFXLD EQU RCANAME1 03856000 RCAVEQR EQU RCANAME1 03857000 RCADSEG EQU RCANAME1 03858000 RCADLAS EQU RCANAME1 03859000 RCACSEG EQU RCANAME1 03860000 RCAVAMSI EQU RCANAME1 03861000 @NM00046 EQU RCAFLAGS 03862000 RCADISP EQU RCAFLAGS 03863000 @NM00045 EQU RCAFLAGS 03864000 RCAQS EQU RCAFLAGS 03865000 RCAPSIER EQU RCAFLAGS 03866000 RCAABEND EQU RCAFLAGS 03867000 @NM00044 EQU RCANAME7 03868000 RCAPRSS EQU RCANAME7 03869000 RCAPRSR EQU RCANAME7 03870000 RCAPRSB EQU RCANAME7 03871000 RCAPSIY EQU RCANAME7 03872000 RCAPIOI EQU RCANAME7 03873000 RCAPARM0 EQU RCA 03874000 PVTEND EQU PVT+1944 03875000 PVTTASID EQU PVT+1942 03876000 PVTXXXXX EQU PVT+1940 03877000 PVTMVCLC EQU PVT+1936 03878000 PVTVCONS EQU PVT+1896 03879000 PVTPRSB EQU PVT+1892 03880000 PVTCIOQL EQU PVTPCBQS+36 03881000 PVTCIOQF EQU PVTPCBQS+32 03882000 PVTGFADL EQU PVTPCBQS+28 03883000 PVTGFADF EQU PVTPCBQS+24 03884000 PVTFPCBL EQU PVTPCBQS+20 03885000 PVTFPCBF EQU PVTPCBQS+16 03886000 PVTPCBQR EQU PVTPCBQS 03887000 PVTLPAFX EQU PVT+1850 03888000 PVTLSQAF EQU PVT+1848 03889000 PVTLPAR EQU PVT+1844 03890000 PVTLPAI EQU PVT+1840 03891000 PVTLPAFC EQU PVT+1838 03892000 PVTCHUIC EQU PVT+1836 03893000 PVTSQAFX EQU PVT+1832 03894000 PVTFIXOK EQU PVT+1826 03895000 PVTPEROK EQU PVT+1824 03896000 PVTPERFX EQU PVT+1820 03897000 PVTRSRB EQU PVT+1776 03898000 PVTRESV5 EQU PVT+1773 03899000 PVTSRBS EQU PVT+1772 03900000 PVTSSRB EQU PVT+1768 03901000 PVTACA EQU PVTWSAX+1400 03902000 PVTWSA18 EQU PVTWSAX+1256 03903000 PVTWSA17 EQU PVTWSAX+1184 03904000 PVTWSA16 EQU PVTWSAX+1112 03905000 PVTWSA15 EQU PVTWSAX+1040 03906000 PVTWSA14 EQU PVTWSAX+968 03907000 PVTWSA13 EQU PVTWSAX+896 03908000 PVTWSA12 EQU PVTWSAX+824 03909000 PVTWSA11 EQU PVTWSAX+752 03910000 PVTWSA10 EQU PVTWSAX+672 03911000 PVTWSA9 EQU PVTWSAX+592 03912000 PVTWSA8 EQU PVTWSAX+504 03913000 PVTWSA6 EQU PVTWSAX+360 03914000 PVTWSA5 EQU PVTWSAX+288 03915000 PVTWSA4 EQU PVTWSAX+216 03916000 PVTWSA3 EQU PVTWSAX+144 03917000 PVTWSA2 EQU PVTWSAX+72 03918000 PVTWSA1 EQU PVTWSAX 03919000 PVTPFTQR EQU PVTQS+20 03920000 PVTRSBQL EQU PVTQS+18 03921000 PVTRSBQF EQU PVTQS+16 03922000 PVTSQAQL EQU PVTQS+14 03923000 PVTSQAQF EQU PVTQS+12 03924000 PVTCFQL EQU PVTQS+10 03925000 PVTCFQF EQU PVTQS+8 03926000 PVTRSRVL EQU PVTQS+6 03927000 PVTRSRVF EQU PVTQS+4 03928000 PVTAFQL EQU PVTQS+2 03929000 PVTAFQF EQU PVTQS 03930000 PVTSPFR EQU PVT+302 03931000 PVTCFMCT EQU PVT+300 03932000 PVTSPREC EQU PVT+296 03933000 PVTCAREC EQU PVT+292 03934000 PVTCAOUT EQU PVT+288 03935000 PVTCAIN EQU PVT+284 03936000 PVTNPREC EQU PVT+276 03937000 PVTSPOUT EQU PVT+272 03938000 PVTVAMR EQU PVT+264 03939000 PVTVAMO EQU PVT+260 03940000 PVTVAMI EQU PVT+256 03941000 PVTNPOUT EQU PVT+252 03942000 PVTNPIN EQU PVT+248 03943000 PVTPRSET EQU PVT+244 03944000 PVTFRSLT EQU PVT+240 03945000 PVTPAGIO EQU PVT+236 03946000 PVTSWPIO EQU PVT+232 03947000 PVTPSWPP EQU PVT+228 03948000 PVTPPREF EQU PVT+224 03949000 PVTPOPBR EQU PVT+220 03950000 PVTPRELV EQU PVT+212 03951000 PVTPFREE EQU PVT+208 03952000 PVTPRELS EQU PVT+204 03953000 PVTPOUT EQU PVT+200 03954000 PVTPFXLD EQU PVT+196 03955000 PVTPITAS EQU PVT+192 03956000 PVTPDSEG EQU PVT+184 03957000 PVTPCSGB EQU PVT+180 03958000 PVTPCSEG EQU PVT+176 03959000 PVTPINV EQU PVT+172 03960000 PVTPSWPC EQU PVT+168 03961000 PVTPSOUT EQU PVT+164 03962000 PVTPSWIN EQU PVT+160 03963000 PVTPRCFI EQU PVT+152 03964000 PVTPRCF EQU PVT+148 03965000 PVTPVRC EQU PVT+144 03966000 PVTPVRIN EQU PVT+140 03967000 PVTPVRLS EQU PVT+136 03968000 PVTPVEQR EQU PVT+132 03969000 PVTPPIOI EQU PVT+128 03970000 PVTPVRPO EQU PVT+124 03971000 PVTPRFR EQU PVT+120 03972000 PVTPFP EQU PVT+112 03973000 PVTREP2 EQU PVT+100 03974000 PVTPIOCP EQU PVT+96 03975000 PVTPIOP EQU PVT+92 03976000 PVTPGFAD EQU PVT+88 03977000 PVTPSQA EQU PVT+80 03978000 PVTPSINT EQU PVT+76 03979000 PVTPSIB EQU PVT+72 03980000 PVTPCIWA EQU PVT+64 03981000 PVTHQSA EQU PVT+62 03982000 PVTLQSA EQU PVT+60 03983000 PVTOROOT EQU PVT+56 03984000 PVTREUS EQU PVT+48 03985000 PVTSQNPC EQU PVT+47 03986000 PVTSQVRC EQU PVT+46 03987000 PVTRSUS EQU PVT+44 03988000 PVTVROOT EQU PVT+40 03989000 PVTPCBLO EQU PVT+38 03990000 PVTPCBCT EQU PVT+36 03991000 PVTDFRS EQU PVT+34 03992000 PVTRSQA EQU PVT+32 03993000 PVTPTLB EQU PVT+31 03994000 PVTPCBNO EQU PVT+30 03995000 PVTSRBNO EQU PVT+29 03996000 PVTSQDC EQU PVT+28 03997000 PVTLPRIV EQU PVT+24 03998000 PVTLVR EQU PVT+22 03999000 PVTFVR EQU PVT+20 04000000 PVTLPFN EQU PVT+18 04001000 PVTFPFN EQU PVT+16 04002000 PVTSSPIN EQU PVT+11 04003000 PVTPCBS EQU PVT+10 04004000 PVTPOOL EQU PVT+8 04005000 PVTAFCOK EQU PVT+6 04006000 PVTAFCLO EQU PVT+4 04007000 @NM00043 EQU PVTFLAG2 04008000 PVTRSMGM EQU PVTFLAG2 04009000 PVTDUMP EQU PVTFLAG1 04010000 PVTSIT EQU PVTFLAG1 04011000 PVTLSI EQU PVTFLAG1 04012000 PVTAPREF EQU PVTFLAG1 04013000 PVTPCBLT EQU PVTFLAG1 04014000 PVTSRBIU EQU PVTFLAG1 04015000 PVTBGMS EQU PVTFLAG1 04016000 PVTPMSG EQU PVTFLAG1 04017000 @NM00018 EQU PGTBITS 04018000 @NM00017 EQU PGTBITS 04019000 @NM00016 EQU PGTBITS 04020000 @NM00015 EQU PGTBITS 04021000 @NM00014 EQU PGTBITS 04022000 @NM00013 EQU PGTBITS 04023000 PGTREAL EQU PGTRSA 04024000 PFTUIC EQU PFTE+15 04025000 PFTQNDX EQU PFTE+14 04026000 @NM00012 EQU PFTFLAG2 04027000 @NM00011 EQU PFTFLAG2 04028000 PFTSTEAL EQU PFTFLAG2 04029000 PFTIRRG EQU PFTFLAG2 04030000 PFTVR EQU PFTFLAG2 04031000 PFTOFFLN EQU PFTFLAG2 04032000 PFTOFINT EQU PFTFLAG1 04033000 PFTVRALC EQU PFTFLAG1 04034000 PFTBADPG EQU PFTFLAG1 04035000 PFTPCBSI EQU PFTFLAG1 04036000 PFTVRPLT EQU PFTFLAG1 04037000 PFTLSQA EQU PFTFLAG1 04038000 PFTVRINT EQU PFTFLAG1 04039000 PFTONAVQ EQU PFTFLAG1 04040000 PFTRSV1 EQU PFTE+10 04041000 PFTBQPTR EQU PFTQPTRS+2 04042000 PFTFQPTR EQU PFTQPTRS 04043000 PFTASID EQU PFTPGID 04044000 PCBRWRKB EQU PCBR+60 04045000 PCBRWRK9 EQU PCBR+52 04046000 PCBRWRK7 EQU PCBR+44 04047000 PCBRWRK6 EQU PCBR+40 04048000 PCBRWRK4 EQU PCBR+32 04049000 PCBRRSV1 EQU PCBR+18 04050000 PCBRECB EQU PCBR+8 04051000 PCBRTCBA EQU PCBRTCB+1 04052000 PCBRPOF EQU PCBRFLAG 04053000 PCBRFECB EQU PCBRFLAG 04054000 PCBRLOAD EQU PCBRFLAG 04055000 PCBRFPCB EQU PCBRFLAG 04056000 PCBRINT EQU PCBRFLAG 04057000 PCBEND EQU PCB+64 04058000 @NM00008 EQU PCBFL3 04059000 PCBNOREC EQU PCBFL3 04060000 PCBSWPOT EQU PCBFL3 04061000 @NM00007 EQU PCBFL2 04062000 @NM00006 EQU PCBFL2 04063000 PCBVIO EQU PCBFL2 04064000 PCBSUPRS EQU PCBFL2 04065000 PCBRESET EQU PCBFL2 04066000 PCBIOERR EQU PCBFL2 04067000 PCBGFAD EQU PCBFL2 04068000 PCBFREAL EQU PCBFL2 04069000 PCBRLPA EQU PCBRLP+1 04070000 PCBIOCMP EQU PCBFL1 04071000 PCBIOI EQU PCBFL1 04072000 PCBLFR EQU PCBFL1 04073000 PCBLLHLD EQU PCBFL1 04074000 PCBSRBMD EQU PCBFL1 04075000 PCBPEX EQU PCBFL1 04076000 @NM00005 EQU PCBFL1 04077000 @NM00004 EQU FRRSFLGS+1 04078000 @NM00003 EQU FRRSFLG1 04079000 FRRSNEST EQU FRRSFLG1 04080000 FRRSRCUR EQU FRRSFLG1 04081000 FRRSENTS EQU FRRS+84 04082000 FRRSRTMW EQU FRRS+16 04083000 CVTLEVL EQU CVTRELNO+2 04084000 CVTNUMB EQU CVTRELNO 04085000 CVTMDL EQU CVTFIX+250 04086000 @NM00002 EQU CVTFIX+248 04087000 @NM00001 EQU CVTFIX 04088000 CVTRV482 EQU CVTXTNT2+128 04089000 CVTRV481 EQU CVTXTNT2+124 04090000 CVTRV480 EQU CVTXTNT2+120 04091000 CVTRV479 EQU CVTXTNT2+118 04092000 CVTRV478 EQU CVTXTNT2+117 04093000 CVTRV477 EQU CVTXTNT2+116 04094000 CVTRV476 EQU CVTXTNT2+115 04095000 CVTRV475 EQU CVTXTNT2+114 04096000 CVTRV474 EQU CVTRV466 04097000 CVTRV473 EQU CVTRV466 04098000 CVTRV472 EQU CVTRV466 04099000 CVTRV471 EQU CVTRV466 04100000 CVTRV470 EQU CVTRV466 04101000 CVTRV469 EQU CVTRV466 04102000 CVTRV468 EQU CVTRV466 04103000 CVTRV467 EQU CVTRV466 04104000 CVTRV465 EQU CVTRV457 04105000 CVTRV464 EQU CVTRV457 04106000 CVTRV463 EQU CVTRV457 04107000 CVTRV462 EQU CVTRV457 04108000 CVTRV461 EQU CVTRV457 04109000 CVTRV460 EQU CVTRV457 04110000 CVTRV459 EQU CVTRV457 04111000 CVTRV458 EQU CVTRV457 04112000 CVTRV456 EQU CVTXTNT2+108 04113000 CVTRV455 EQU CVTXTNT2+104 04114000 CVTRV454 EQU CVTXTNT2+100 04115000 CVTRV453 EQU CVTXTNT2+96 04116000 CVTRV452 EQU CVTXTNT2+94 04117000 CVTRV451 EQU CVTXTNT2+92 04118000 CVTRV450 EQU CVTXTNT2+90 04119000 CVTRV449 EQU CVTXTNT2+88 04120000 CVTRV448 EQU CVTXTNT2+87 04121000 CVTRV447 EQU CVTXTNT2+86 04122000 CVTRV446 EQU CVTRV438 04123000 CVTRV445 EQU CVTRV438 04124000 CVTRV444 EQU CVTRV438 04125000 CVTRV443 EQU CVTRV438 04126000 CVTRV442 EQU CVTRV438 04127000 CVTRV441 EQU CVTRV438 04128000 CVTRV440 EQU CVTRV438 04129000 CVTRV439 EQU CVTRV438 04130000 CVTRV437 EQU CVTRV429 04131000 CVTRV436 EQU CVTRV429 04132000 CVTRV435 EQU CVTRV429 04133000 CVTRV434 EQU CVTRV429 04134000 CVTRV433 EQU CVTRV429 04135000 CVTRV432 EQU CVTRV429 04136000 CVTRV431 EQU CVTRV429 04137000 CVTRV430 EQU CVTRV429 04138000 CVTRV428 EQU CVTXTNT2+80 04139000 CVTRV427 EQU CVTXTNT2+76 04140000 CVTRV426 EQU CVTXTNT2+72 04141000 CVTRV425 EQU CVTXTNT2+68 04142000 CVTATACT EQU CVTATCVT 04143000 CVTRV423 EQU CVTXTNT2+62 04144000 CVTRV422 EQU CVTXTNT2+60 04145000 CVTRV421 EQU CVTXTNT2+58 04146000 CVTRV420 EQU CVTXTNT2+56 04147000 CVTRV419 EQU CVTXTNT2+55 04148000 CVTRV418 EQU CVTXTNT2+54 04149000 CVTRV417 EQU CVTRV409 04150000 CVTRV416 EQU CVTRV409 04151000 CVTRV415 EQU CVTRV409 04152000 CVTRV414 EQU CVTRV409 04153000 CVTRV413 EQU CVTRV409 04154000 CVTRV412 EQU CVTRV409 04155000 CVTRV411 EQU CVTRV409 04156000 CVTRV410 EQU CVTRV409 04157000 CVTRV408 EQU CVTRV400 04158000 CVTRV407 EQU CVTRV400 04159000 CVTRV406 EQU CVTRV400 04160000 CVTRV405 EQU CVTRV400 04161000 CVTRV404 EQU CVTRV400 04162000 CVTRV403 EQU CVTRV400 04163000 CVTRV402 EQU CVTRV400 04164000 CVTRV401 EQU CVTRV400 04165000 CVTICB EQU CVTXTNT2+48 04166000 CVTSKTA EQU CVTXTNT2+44 04167000 CVTCCVT EQU CVTXTNT2+40 04168000 CVTRSV98 EQU CVTXTNT2+36 04169000 CVTRSV97 EQU CVTXTNT2+34 04170000 CVTRSV96 EQU CVTXTNT2+32 04171000 CVTOLTEP EQU CVTXTNT2+28 04172000 CVTQIDA EQU CVTQID+1 04173000 CVTRSV95 EQU CVTQID 04174000 CVTRSV94 EQU CVTXTNT2+20 04175000 CVTRSV93 EQU CVTXTNT2+16 04176000 CVTRSV92 EQU CVTXTNT2+12 04177000 CVTDEBVR EQU CVTXTNT2+8 04178000 CVTRSV91 EQU CVTXTNT2+6 04179000 CVTRSV9H EQU CVTFLGBT 04180000 CVTRSV9G EQU CVTFLGBT 04181000 CVTRSV9F EQU CVTFLGBT 04182000 CVTRSV9E EQU CVTFLGBT 04183000 CVTRSV9D EQU CVTFLGBT 04184000 CVTBAH EQU CVTFLGBT 04185000 CVTVME EQU CVTFLGBT 04186000 CVTNPE EQU CVTFLGBT 04187000 CVTNUCLS EQU CVTXTNT2+4 04188000 CVTDSSVA EQU CVTDSSV+1 04189000 CVTRSV89 EQU CVTDSSV 04190000 CVTRSV88 EQU CVTXTNT1+8 04191000 CVTRSV87 EQU CVTXTNT1+4 04192000 CVTFACHN EQU CVTXTNT1 04193000 CVTRV488 EQU CVTMAP+412 04194000 CVTRV487 EQU CVTMAP+408 04195000 CVTRV486 EQU CVTMAP+404 04196000 CVTRV485 EQU CVTMAP+400 04197000 CVTACTAP EQU CVTMAP+396 04198000 CVTAUTH EQU CVTMAP+392 04199000 CVTRV490 EQU CVTMAP+388 04200000 CVTSU EQU CVTMAP+384 04201000 CVTVOLT1 EQU CVTVOLM1+1 04202000 CVTVOLI1 EQU CVTVOLF1 04203000 CVTSTOA EQU CVTMAP+376 04204000 CVTRSV58 EQU CVTMAP+374 04205000 CVTRSV57 EQU CVTMAP+372 04206000 CVTDDCE EQU CVTMAP+368 04207000 CVTPNWFR EQU CVTMAP+364 04208000 CVTSMF EQU CVTMAP+360 04209000 CVTSULK EQU CVTMAP+358 04210000 CVTSLKO EQU CVTSYSK 04211000 CVTSLKP EQU CVTSYSK 04212000 CVTSLKQ EQU CVTSYSK 04213000 CVTSLKR EQU CVTSYSK 04214000 CVTRSV56 EQU CVTSYSK 04215000 CVTRSV55 EQU CVTSYSK 04216000 CVTRSV54 EQU CVTSYSK 04217000 CVTRSV53 EQU CVTSYSK 04218000 CVTRSV52 EQU CVTA1F1 04219000 CVTRSV51 EQU CVTA1F1 04220000 CVTRSV50 EQU CVTA1F1 04221000 CVTRSV49 EQU CVTA1F1 04222000 CVTRSV48 EQU CVTA1F1 04223000 CVTRSV47 EQU CVTA1F1 04224000 CVTSRSW EQU CVTA1F1 04225000 CVTPFSW EQU CVTA1F1 04226000 CVTPCVT EQU CVTMAP+352 04227000 CVTRSV46 EQU CVTMAP+344 04228000 CVTRSV45 EQU CVTMAP+340 04229000 CVTRSV44 EQU CVTMAP+338 04230000 CVTRSV43 EQU CVTMAP+336 04231000 CVTHJESA EQU CVTHJES+1 04232000 CVTRSV42 EQU CVTHJES 04233000 CVTEXT2A EQU CVTEXT2+1 04234000 CVTRSV41 EQU CVTEXT2 04235000 CVTAPFA EQU CVTAPF+1 04236000 CVTRSV40 EQU CVTAPF 04237000 CVTRV518 EQU CVTINTLA 04238000 CVTRV517 EQU CVTERPV 04239000 CVTEORM EQU CVTMAP+312 04240000 CVTMCHPR EQU CVTMAP+308 04241000 CVTTZ EQU CVTMAP+304 04242000 CVTJEPS EQU CVTMAP+300 04243000 CVTJESCT EQU CVTMAP+296 04244000 CVTMODE EQU CVTMAP+292 04245000 CVTPTRV EQU CVTMAP+288 04246000 CVTREAL EQU CVTMAP+284 04247000 CVTRSV39 EQU CVTMAP+280 04248000 CVTRSV38 EQU CVTMAP+276 04249000 CVTDMSRA EQU CVTDMSR+1 04250000 CVTRV634 EQU CVTDMSRF 04251000 CVTRV633 EQU CVTDMSRF 04252000 CVTRV632 EQU CVTDMSRF 04253000 CVTRV631 EQU CVTDMSRF 04254000 CVTRV630 EQU CVTDMSRF 04255000 CVTRV629 EQU CVTDMSRF 04256000 CVTUDUMP EQU CVTDMSRF 04257000 CVTSDUMP EQU CVTDMSRF 04258000 CVTQMSGA EQU CVTQMSG+1 04259000 CVTRSV36 EQU CVTQMSG 04260000 CVTAMFF EQU CVTMAP+264 04261000 CVTPURGA EQU CVTPURG+1 04262000 CVTRSV35 EQU CVTPURG 04263000 CVTCBSP EQU CVTMAP+256 04264000 CVTATERA EQU CVTATER+1 04265000 CVTSYST EQU CVTATER 04266000 CVTVOLT2 EQU CVTTAT 04267000 CVTVOLI2 EQU CVTVOLF2 04268000 CVTAQAVB EQU CVTAQAVT+1 04269000 CVTRSV34 EQU CVTTCMFG 04270000 CVTRSV33 EQU CVTTCMFG 04271000 CVTRSV32 EQU CVTTCMFG 04272000 CVTRSV31 EQU CVTTCMFG 04273000 CVTRSV30 EQU CVTTCMFG 04274000 CVTRSV29 EQU CVTTCMFG 04275000 CVTLDEV EQU CVTTCMFG 04276000 CVTTCRDY EQU CVTTCMFG 04277000 CVTGTFA EQU CVTGTF+1 04278000 CVTRSV27 EQU CVTGTFST 04279000 CVTRNIO EQU CVTGTFST 04280000 CVTUSR EQU CVTGTFST 04281000 CVTRV318 EQU CVTFORM 04282000 CVTRV317 EQU CVTTMODE 04283000 CVTRV316 EQU CVTSTATE 04284000 CVTRV315 EQU CVTGTFS 04285000 CVTGTFAV EQU CVTGTFS 04286000 CVT0SCR1 EQU CVTMAP+232 04287000 CVTRV515 EQU CVTMAP+228 04288000 CVTRMS EQU CVTMAP+224 04289000 CVTPATCH EQU CVTMAP+220 04290000 CVTTSCE EQU CVTMAP+216 04291000 CVTLNKSC EQU CVTMAP+214 04292000 CVTQABST EQU CVTMAP+212 04293000 CVTMDLDS EQU CVTMAP+208 04294000 CVTUSER EQU CVTMAP+204 04295000 CVTABEND EQU CVTMAP+200 04296000 CVTSMCA EQU CVTMAP+196 04297000 CVTRSV18 EQU CVTMAP+192 04298000 CVTQLPAQ EQU CVTMAP+188 04299000 CVTQCDSR EQU CVTMAP+184 04300000 CVTVS1B EQU CVTOPTB 04301000 CVTVS1A EQU CVTOPTB 04302000 CVTFP EQU CVTOPTB 04303000 CVTAPTHR EQU CVTOPTB 04304000 CVTNLOG EQU CVTOPTB 04305000 CVTTOD EQU CVTOPTB 04306000 CVTCTIMS EQU CVTOPTB 04307000 CVTPROT EQU CVTOPTB 04308000 CVTXPFP EQU CVTOPTA 04309000 CVTASCII EQU CVTOPTA 04310000 CVTRSV13 EQU CVTOPTA 04311000 CVTRSV12 EQU CVTOPTA 04312000 CVTNIP EQU CVTOPTA 04313000 CVTDDR EQU CVTOPTA 04314000 CVTAPR EQU CVTOPTA 04315000 CVTCCH EQU CVTOPTA 04316000 CVTSNCTR EQU CVTMAP+180 04317000 CVTQMWR EQU CVTMAP+176 04318000 CVTQOCR EQU CVTMAP+172 04319000 CVT1EF00 EQU CVTMAP+168 04320000 CVTMZ00 EQU CVTMAP+164 04321000 CVTSV76Q EQU CVTSV76C 04322000 CVTRSV11 EQU CVTMAP+156 04323000 CVT0PT01 EQU CVTMAP+152 04324000 CVTMSER EQU CVTMAP+148 04325000 CVTRV516 EQU CVTIERLC 04326000 CVTILCH EQU CVTMAP+140 04327000 CVT0DS EQU CVTMAP+136 04328000 CVTFBOSV EQU CVTMAP+132 04329000 CVTNUCB EQU CVTMAP+128 04330000 CVTIXAVL EQU CVTMAP+124 04331000 CVTSV76M EQU CVTIOQET 04332000 CVTDCBA EQU CVTMAP+117 04333000 CVTMVS2 EQU CVTDCB 04334000 CVT6DAT EQU CVTDCB 04335000 CVT4MPS EQU CVTDCB 04336000 CVTRSV09 EQU CVTDCB 04337000 CVT4MS1 EQU CVTDCB 04338000 CVT2SPS EQU CVTDCB 04339000 CVT1SSS EQU CVTDCB 04340000 CVTRSV08 EQU CVTDCB 04341000 CVTSTB EQU CVTMAP+112 04342000 CVTQTD00 EQU CVTMAP+108 04343000 CVTQTE00 EQU CVTMAP+104 04344000 CVTCUCB EQU CVTMAP+100 04345000 CVTSJQ EQU CVTMAP+96 04346000 CVTPBLDL EQU CVTMAP+92 04347000 CVTTPC EQU CVTMAP+88 04348000 CVTSVDCB EQU CVTMAP+84 04349000 CVTBRET EQU CVTMAP+82 04350000 CVTEXIT EQU CVTMAP+80 04351000 CVT0FN00 EQU CVTMAP+76 04352000 CVTDARA EQU CVTDAR+1 04353000 CVTRSV07 EQU CVTFLGS1 04354000 CVTRSV06 EQU CVTFLGS1 04355000 CVTRSV05 EQU CVTFLGS1 04356000 CVTRSV04 EQU CVTFLGS1 04357000 CVTRSV03 EQU CVTFLGS1 04358000 CVTRSV02 EQU CVTFLGS1 04359000 CVTRSV01 EQU CVTFLGS1 04360000 CVTDMPLK EQU CVTFLGS1 04361000 CVTXITP EQU CVTMAP+68 04362000 CVTZDTAB EQU CVTMAP+64 04363000 CVTMSLT EQU CVTMAP+60 04364000 CVTDATE EQU CVTMAP+56 04365000 CVTSYSAD EQU CVTMAP+48 04366000 CVTXTLER EQU CVTMAP+44 04367000 CVTILK2 EQU CVTMAP+40 04368000 CVTILK1 EQU CVTMAP+36 04369000 CVTPRLTV EQU CVTMAP+32 04370000 CVTPCNVT EQU CVTMAP+28 04371000 CVT0VL00 EQU CVTMAP+24 04372000 CVTXAPG EQU CVTMAP+20 04373000 CVTBUF EQU CVTMAP+16 04374000 CVTJOB EQU CVTMAP+12 04375000 CVTLINK EQU CVTMAP+8 04376000 CVT0EF00 EQU CVTMAP+4 04377000 CVTTCBP EQU CVTMAP 04378000 ASXBEND EQU ASXB+232 04379000 ASXBRV25 EQU ASXB+228 04380000 ASXBRV24 EQU ASXB+224 04381000 ASXBPT0E EQU ASXB+220 04382000 ASXBCRB4 EQU ASXBCASW+3 04383000 ASXBCRB3 EQU ASXBCASW+2 04384000 ASXBCRB2 EQU ASXBCASW+1 04385000 ASXBCR06 EQU ASXBCRB1 04386000 ASXBCR05 EQU ASXBCRB1 04387000 ASXBCR04 EQU ASXBCRB1 04388000 ASXBCR03 EQU ASXBCRB1 04389000 ASXBCR02 EQU ASXBCRB1 04390000 ASXBCR01 EQU ASXBCRB1 04391000 ASXBTFD EQU ASXBCRB1 04392000 ASXBPIP EQU ASXBCRB1 04393000 ASXBCTDC EQU ASXB+212 04394000 ASXBTDCB EQU ASXB+208 04395000 ASXBRV19 EQU ASXB+204 04396000 ASXBSENV EQU ASXBSECR+1 04397000 ASXBRV34 EQU ASCBSFLG 04398000 ASXBRV33 EQU ASCBSFLG 04399000 ASXBRV32 EQU ASCBSFLG 04400000 ASXBRV31 EQU ASCBSFLG 04401000 ASXBRV30 EQU ASCBSFLG 04402000 ASXBRV29 EQU ASCBSFLG 04403000 ASXBRV28 EQU ASCBSFLG 04404000 ASXBRV27 EQU ASCBSFLG 04405000 ASXBUSER EQU ASXB+192 04406000 ASXBLSRB EQU ASXBAEQ+20 04407000 ASXBFSRB EQU ASXBAEQ+16 04408000 ASXBLRQE EQU ASXBAEQ+12 04409000 ASXBFRQE EQU ASXBAEQ+8 04410000 ASXBLIQE EQU ASXBAEQ+4 04411000 ASXBFIQE EQU ASXBAEQ 04412000 ASXBETSK EQU ASXB+164 04413000 ASXBSIRB EQU ASXB+160 04414000 ASXBPSWD EQU ASXB+152 04415000 ASXBPRG EQU ASXB+136 04416000 ASXBRV26 EQU ASXB+132 04417000 ASXBOUSB EQU ASXB+128 04418000 ASXBDDR EQU ASXB+124 04419000 ASXBRCTD EQU ASXB+120 04420000 ASXBRSMD EQU ASXB+116 04421000 ASXBFRWA EQU ASXB+108 04422000 ASXBFLSA EQU ASXB+36 04423000 ASXBIHSA EQU ASXB+32 04424000 ASXBRV15 EQU ASXB+28 04425000 ASXBRV14 EQU ASXB+24 04426000 ASXBLWA EQU ASXB+20 04427000 ASXBMPST EQU ASXB+16 04428000 ASXBRS00 EQU ASXB+14 04429000 ASXBTCBS EQU ASXB+12 04430000 ASXBLTCB EQU ASXB+8 04431000 ASXBFTCB EQU ASXB+4 04432000 ASXBASXB EQU ASXB 04433000 ASXBEGIN EQU ASXB 04434000 ASCBEND EQU ASCB+208 04435000 ASCBSRBT EQU ASCB+200 04436000 ASCBSWTL EQU ASCB+196 04437000 ASCBRS14 EQU ASCB+195 04438000 ASCBSMCT EQU ASCB+194 04439000 ASCBRS12 EQU ASCB+192 04440000 ASCBPCTT EQU ASCB+188 04441000 ASCBVGTT EQU ASCB+184 04442000 ASCBRV43 EQU ASCBSRQ4 04443000 ASCBRV42 EQU ASCBSRQ4 04444000 ASCBRV41 EQU ASCBSRQ4 04445000 ASCBRV40 EQU ASCBSRQ4 04446000 ASCBRV39 EQU ASCBSRQ4 04447000 ASCBRV38 EQU ASCBSRQ4 04448000 ASCBRV37 EQU ASCBSRQ4 04449000 ASCBRV36 EQU ASCBSRQ4 04450000 ASCBRV35 EQU ASCBSRQ3 04451000 ASCBRV34 EQU ASCBSRQ3 04452000 ASCBRV33 EQU ASCBSRQ3 04453000 ASCBRV32 EQU ASCBSRQ3 04454000 ASCBRV31 EQU ASCBSRQ3 04455000 ASCBRV30 EQU ASCBSRQ3 04456000 ASCBRV29 EQU ASCBSRQ3 04457000 ASCBRV28 EQU ASCBSRQ3 04458000 ASCBRV27 EQU ASCBSRQ2 04459000 ASCBRV26 EQU ASCBSRQ2 04460000 ASCBRV25 EQU ASCBSRQ2 04461000 ASCBRV24 EQU ASCBSRQ2 04462000 ASCBRV23 EQU ASCBSRQ2 04463000 ASCBRV22 EQU ASCBSRQ2 04464000 ASCBRV21 EQU ASCBSRQ2 04465000 ASCBRV20 EQU ASCBSRQ2 04466000 ASCBRV19 EQU ASCBSRQ1 04467000 ASCBRV18 EQU ASCBSRQ1 04468000 ASCBRV17 EQU ASCBSRQ1 04469000 ASCBRV16 EQU ASCBSRQ1 04470000 ASCBRV15 EQU ASCBSRQ1 04471000 ASCBRV14 EQU ASCBSRQ1 04472000 ASCBRV13 EQU ASCBSRQ1 04473000 ASCBSTA EQU ASCBSRQ1 04474000 ASCBJBNS EQU ASCB+176 04475000 ASCBJBNI EQU ASCB+172 04476000 ASCBMCC EQU ASCB+168 04477000 ASCBRTWA EQU ASCB+164 04478000 ASCBIQEA EQU ASCB+160 04479000 ASCBXMPQ EQU ASCB+156 04480000 ASCBRS01 EQU ASCB+154 04481000 ASCBFMCT EQU ASCB+152 04482000 ASCBOUXB EQU ASCB+148 04483000 ASCBOUCB EQU ASCB+144 04484000 ASCBMECB EQU ASCB+140 04485000 ASCBLSQH EQU ASCBLKGP+4 04486000 ASCBLOCK EQU ASCBLKGP 04487000 ASCBTCBS EQU ASCB+124 04488000 ASCBNVSC EQU ASCB+122 04489000 ASCBVSC EQU ASCB+120 04490000 ASCBSRBS EQU ASCB+118 04491000 ASCBSSRB EQU ASCB+116 04492000 ASCBRV06 EQU ASCBFLG2 04493000 ASCBRV05 EQU ASCBFLG2 04494000 ASCBRV04 EQU ASCBFLG2 04495000 ASCBSNQS EQU ASCBFLG2 04496000 ASCBS2S EQU ASCBFLG2 04497000 ASCBCEXT EQU ASCBFLG2 04498000 ASCBPXMT EQU ASCBFLG2 04499000 ASCBXMPT EQU ASCBFLG2 04500000 ASCBRF07 EQU ASCBDSP1 04501000 ASCBRF06 EQU ASCBDSP1 04502000 ASCBRF05 EQU ASCBDSP1 04503000 ASCBRF04 EQU ASCBDSP1 04504000 ASCBRF03 EQU ASCBDSP1 04505000 ASCBRF02 EQU ASCBDSP1 04506000 ASCBFAIL EQU ASCBDSP1 04507000 ASCBNOQ EQU ASCBDSP1 04508000 ASCBSWCT EQU ASCB+112 04509000 ASCBTMCH EQU ASCB+104 04510000 ASCBTYP1 EQU ASCBFLG1 04511000 ASCBSTND EQU ASCBFLG1 04512000 ASCBABNT EQU ASCBFLG1 04513000 ASCBTERM EQU ASCBFLG1 04514000 ASCBS3S EQU ASCBFLG1 04515000 ASCBCMSH EQU ASCBFLG1 04516000 ASCBTOFF EQU ASCBFLG1 04517000 ASCBRF01 EQU ASCBRCTF 04518000 ASCBTMLW EQU ASCBRCTF 04519000 ASCBOUT EQU ASCBRCTF 04520000 ASCBWAIT EQU ASCBRCTF 04521000 ASCBRV08 EQU ASCBRCTF 04522000 ASCBFQU EQU ASCBRCTF 04523000 ASCBFRS EQU ASCBRCTF 04524000 ASCBTMNO EQU ASCBRCTF 04525000 ASCBAFFN EQU ASCBFW1 04526000 ASCBDUMP EQU ASCB+96 04527000 ASCBRV44 EQU ASCB+92 04528000 ASCBUBET EQU ASCB+88 04529000 ASCBECB EQU ASCB+84 04530000 ASCBJSTL EQU ASCB+80 04531000 ASCBEWST EQU ASCB+72 04532000 ASCBEJST EQU ASCB+64 04533000 ASCBTSB EQU ASCB+60 04534000 ASCBCSCB EQU ASCB+56 04535000 ASCBRSMA EQU ASCBRSM+1 04536000 ASCBRV54 EQU ASCBRSMF 04537000 ASCBRV53 EQU ASCBRSMF 04538000 ASCBRV52 EQU ASCBRSMF 04539000 ASCBRV51 EQU ASCBRSMF 04540000 ASCBVEQR EQU ASCBRSMF 04541000 ASCBN2LP EQU ASCBRSMF 04542000 ASCB2LPU EQU ASCBRSMF 04543000 ASCBLDA EQU ASCB+48 04544000 ASCBDP EQU ASCB+43 04545000 ASCBRV07 EQU ASCB+42 04546000 ASCBIOSM EQU ASCB+40 04547000 ASCBSEQN EQU ASCB+38 04548000 ASCBCPUS EQU ASCB+32 04549000 ASCBSPL EQU ASCB+28 04550000 ASCBIOSP EQU ASCB+24 04551000 ASCBSYNC EQU ASCBSUPC+4 04552000 ASCBSVRB EQU ASCBSUPC 04553000 ASCBCMSF EQU ASCB+12 04554000 ASCBBWDP EQU ASCB+8 04555000 ASCBFWDP EQU ASCB+4 04556000 ASCBASCB EQU ASCB 04557000 ASCBEGIN EQU ASCB 04558000 @NM00042 EQU PSA+3668 04559000 PSASTAK EQU PSA+3072 04560000 @NM00041 EQU PSA+1048 04561000 PSAUSEND EQU PSA+1048 04562000 PSARV062 EQU PSA+1044 04563000 PSACDAL EQU PSA+1040 04564000 PSAWTCOD EQU PSA+1036 04565000 PSAATCVT EQU PSA+1032 04566000 PSAPCPSW EQU PSA+1024 04567000 PSAPIR2 EQU PSA+1020 04568000 PSARV059 EQU PSA+1018 04569000 PSASVC13 EQU PSA+1016 04570000 PSASFACC EQU PSA+1008 04571000 PSASTOP EQU PSA+992 04572000 PSASTART EQU PSA+976 04573000 PSARSPSW EQU PSA+968 04574000 PSASRPSW EQU PSA+960 04575000 PSARV045 EQU PSA+892 04576000 PSARV044 EQU PSA+888 04577000 PSARV043 EQU PSA+884 04578000 PSARV042 EQU PSA+880 04579000 PSARV041 EQU PSA+876 04580000 PSARV040 EQU PSA+872 04581000 PSARV025 EQU PSA+868 04582000 PSADSSED EQU PSA+868 04583000 PSADSSPR EQU PSA+864 04584000 PSADSSFW EQU PSA+860 04585000 PSADSS14 EQU PSA+856 04586000 PSADSSPP EQU PSA+848 04587000 PSADSSRP EQU PSA+840 04588000 PSADSS05 EQU PSADSSF4 04589000 PSADSS10 EQU PSADSSF4 04590000 PSADSSVE EQU PSADSSF4 04591000 PSADSSDE EQU PSADSSF4 04592000 PSADSSC0 EQU PSADSSF4 04593000 PSADSSIE EQU PSADSSF4 04594000 PSADSS12 EQU PSADSSF4 04595000 PSADSSRC EQU PSADSSF4 04596000 PSARV057 EQU PSADSSF3 04597000 PSARV056 EQU PSADSSF3 04598000 PSARV055 EQU PSADSSF3 04599000 PSADSSMC EQU PSADSSF3 04600000 PSADSSRW EQU PSADSSF3 04601000 PSADSSNM EQU PSADSSF3 04602000 PSADSSES EQU PSADSSF3 04603000 PSADSSGP EQU PSADSSF3 04604000 PSADSSF2 EQU PSADSSFL+1 04605000 PSADSSPI EQU PSADSSF1 04606000 PSADSSOI EQU PSADSSF1 04607000 PSADSSSP EQU PSADSSF1 04608000 PSADSSTP EQU PSADSSF1 04609000 PSADSSDW EQU PSADSSF1 04610000 PSADSSDD EQU PSADSSF1 04611000 PSADSSDM EQU PSADSSF1 04612000 PSADSSMV EQU PSADSSF1 04613000 PSADSSTS EQU PSA+816 04614000 PSADSSWK EQU PSA+812 04615000 PSADSSR3 EQU PSA+808 04616000 PSADSSR2 EQU PSA+804 04617000 PSADSSRS EQU PSA+800 04618000 PSASTOR EQU PSA+796 04619000 PSACPUSA EQU PSA+794 04620000 PSAVSTAP EQU PSA+792 04621000 PSAWKVAP EQU PSA+788 04622000 PSAWKRAP EQU PSA+784 04623000 PSAMCHIC EQU PSA+783 04624000 PSARV061 EQU PSA+782 04625000 PSASYMSK EQU PSA+781 04626000 PSAMCHFL EQU PSA+780 04627000 PSACR0 EQU PSA+776 04628000 PSAPSWSV EQU PSA+768 04629000 PSACLHS EQU PSAHLHI 04630000 PSALKR15 EQU PSALKSA+60 04631000 PSALKR14 EQU PSALKSA+56 04632000 PSALKR13 EQU PSALKSA+52 04633000 PSALKR12 EQU PSALKSA+48 04634000 PSALKR11 EQU PSALKSA+44 04635000 PSALKR10 EQU PSALKSA+40 04636000 PSALKR9 EQU PSALKSA+36 04637000 PSALKR8 EQU PSALKSA+32 04638000 PSALKR7 EQU PSALKSA+28 04639000 PSALKR6 EQU PSALKSA+24 04640000 PSALKR5 EQU PSALKSA+20 04641000 PSALKR4 EQU PSALKSA+16 04642000 PSALKR3 EQU PSALKSA+12 04643000 PSALKR2 EQU PSALKSA+8 04644000 PSALKR1 EQU PSALKSA+4 04645000 PSALKR0 EQU PSALKSA 04646000 PSARV023 EQU PSACLHT+52 04647000 PSALOCAL EQU PSACLHT+48 04648000 PSACMSL EQU PSACLHT+44 04649000 PSAOPTL EQU PSACLHT+40 04650000 PSATPACL EQU PSACLHT+36 04651000 PSATPDNL EQU PSACLHT+32 04652000 PSATPNCL EQU PSACLHT+28 04653000 PSAIOSLL EQU PSACLHT+24 04654000 PSAIOSUL EQU PSACLHT+20 04655000 PSAIOSCL EQU PSACLHT+16 04656000 PSAIOSSL EQU PSACLHT+12 04657000 PSASALCL EQU PSACLHT+8 04658000 PSAASML EQU PSACLHT+4 04659000 PSADISPL EQU PSACLHT 04660000 PSASRSA EQU PSA+636 04661000 PSARV050 EQU PSA+634 04662000 PSADSSGO EQU PSA+633 04663000 PSARECUR EQU PSA+632 04664000 PSAHLHIS EQU PSA+628 04665000 PSAIPCSA EQU PSA+624 04666000 @NM00040 EQU PSA+621 04667000 PSAIPCDM EQU PSA+620 04668000 PSAIPCD EQU PSA+616 04669000 @NM00039 EQU PSA+613 04670000 PSAIPCRM EQU PSA+612 04671000 PSAIPCR EQU PSA+608 04672000 PSAMCHEX EQU PSA+600 04673000 PSAMPSW EQU PSA+592 04674000 PSAEXPS2 EQU PSA+584 04675000 PSAEXPS1 EQU PSA+576 04676000 PSAPIREG EQU PSA+572 04677000 PSARSREG EQU PSA+568 04678000 PSAGPREG EQU PSA+556 04679000 PSARV022 EQU PSASUP4 04680000 PSARV021 EQU PSASUP4 04681000 PSARV020 EQU PSASUP4 04682000 PSARV019 EQU PSASUP4 04683000 PSARV018 EQU PSASUP4 04684000 PSARV017 EQU PSASUP4 04685000 PSARV016 EQU PSASUP4 04686000 PSARV015 EQU PSASUP4 04687000 PSARV014 EQU PSASUP3 04688000 PSAULCMS EQU PSASUP3 04689000 PSARV012 EQU PSASUP3 04690000 PSAESTA EQU PSASUP3 04691000 PSASPR EQU PSASUP3 04692000 PSAPSREG EQU PSASUP3 04693000 PSAPI2 EQU PSASUP3 04694000 PSAIOSUP EQU PSASUP3 04695000 PSALCR EQU PSASUP2 04696000 PSARTM EQU PSASUP2 04697000 PSAACR EQU PSASUP2 04698000 PSAIPCE2 EQU PSASUP2 04699000 PSAIPCES EQU PSASUP2 04700000 PSAIPCEC EQU PSASUP2 04701000 PSAGTF EQU PSASUP2 04702000 PSAIPCRI EQU PSASUP2 04703000 PSATYPE6 EQU PSASUP1 04704000 PSATCTL EQU PSASUP1 04705000 PSADISP EQU PSASUP1 04706000 PSALOCK EQU PSASUP1 04707000 PSAPI EQU PSASUP1 04708000 PSAEXT EQU PSASUP1 04709000 PSASVC EQU PSASUP1 04710000 PSAIO EQU PSASUP1 04711000 PSAANEW EQU PSA+544 04712000 PSATOLD EQU PSA+540 04713000 PSATNEW EQU PSA+536 04714000 PSALCCAR EQU PSA+532 04715000 PSALCCAV EQU PSA+528 04716000 PSAPCCAR EQU PSA+524 04717000 PSAPCCAV EQU PSA+520 04718000 PSACPULA EQU PSA+518 04719000 PSACPUPA EQU PSA+516 04720000 PSAPSA EQU PSA+512 04721000 FLCHDEND EQU PSA+512 04722000 FLCCRSAV EQU FLCMCLA+280 04723000 FLCGRSAV EQU FLCMCLA+216 04724000 FLCFPSAV EQU FLCMCLA+184 04725000 FLCFLA EQU FLCMCLA+88 04726000 FLCRGNCD EQU FLCMCLA+84 04727000 FLCFSAA EQU FLCFSA+1 04728000 @NM00038 EQU FLCFSA 04729000 @NM00037 EQU FLCMCLA+72 04730000 FLCMCIC EQU FLCMCLA+64 04731000 @NM00036 EQU FLCMCLA+20 04732000 FLCIOAA EQU FLCIOA+1 04733000 @NM00035 EQU FLCIOA 04734000 @NM00034 EQU FLCMCLA+15 04735000 @NM00033 EQU FLCMCLA+14 04736000 @NM00032 EQU FLCMCLA+12 04737000 FLCLCL EQU FLCMCLA+8 04738000 FLCIOELA EQU FLCIOEL+1 04739000 @NM00031 EQU FLCIOEL 04740000 FLCCHNID EQU FLCMCLA 04741000 @NM00030 EQU PSA+160 04742000 FLCMTRCD EQU PSA+157 04743000 @NM00029 EQU PSA+156 04744000 FLCPERA EQU FLCPER+1 04745000 @NM00028 EQU FLCPER 04746000 @NM00027 EQU PSA+151 04747000 FLCPERCD EQU PSA+150 04748000 FLCMCNUM EQU PSA+149 04749000 @NM00026 EQU PSA+148 04750000 FLCTEAA EQU FLCTEA+1 04751000 @NM00025 EQU FLCTEA 04752000 PSAPIPC EQU PSAPICOD 04753000 PSAPIMC EQU PSAPICOD 04754000 PSAPIPER EQU PSAPICOD 04755000 PSARV049 EQU FLCPICOD 04756000 FLCPILCB EQU FLCPIILC 04757000 @NM00024 EQU FLCPIILC 04758000 @NM00023 EQU PSAEPPSW 04759000 FLCSVCN EQU PSAESPSW+2 04760000 FLCSILCB EQU FLCSVILC 04761000 @NM00022 EQU FLCSVILC 04762000 @NM00021 EQU PSAESPSW 04763000 FLCEICOD EQU PSAEEPSW+2 04764000 PSASPAD EQU PSAEEPSW 04765000 @NM00020 EQU PSA+128 04766000 FLCINPSW EQU PSA+120 04767000 FLCMNPSW EQU PSA+112 04768000 FLCPNPSW EQU PSA+104 04769000 FLCSNPSW EQU PSA+96 04770000 FLCENPSW EQU PSA+88 04771000 FLCTRACE EQU PSA+84 04772000 FLCTIMER EQU PSA+80 04773000 FLCCVT2 EQU PSA+76 04774000 FLCCAW EQU PSA+72 04775000 FLCCSW EQU PSA+64 04776000 FLCIOPSW EQU PSA+56 04777000 FLCMOPSW EQU PSA+48 04778000 FLCPOPSW EQU PSA+40 04779000 FLCSOPSW EQU PSA+32 04780000 FLCEOPSW EQU PSA+24 04781000 @NM00019 EQU FLCICCW2+4 04782000 FLCICCW1 EQU FLCROPSW 04783000 FLCIPPSW EQU FLCRNPSW 04784000 * END UNREFERENCED COMPONENTS 04785000 @RF00207 EQU @RC00196 04786000 @RT00211 EQU SWINCOM1 04787000 @RT00357 EQU SWINGFA 04788000 @RT00407 EQU SIRTERR0 04789000 @RT00411 EQU REBUILD 04790000 @RT00448 EQU SIRTPCBF 04791000 @RF00473 EQU SIRTPCB2 04792000 @RT00482 EQU SIRTERR 04793000 @RT00508 EQU SIRTERR0 04794000 C0D EQU @EL00002 04795000 @RC00581 EQU @RC00575 04796000 SPCB EQU @EL00003 04797000 @RT00658 EQU SWAPDECR 04798000 @RF00658 EQU SWAPCOMM 04799000 @RT00667 EQU SWAPCOMM 04800000 @RT00671 EQU SWAPCOMM 04801000 @RT00704 EQU SWAPCOMM 04802000 @RC00654 EQU @RC00647 04803000 @RT00715 EQU SWAPCOMM 04804000 @RT00717 EQU SWAPCOMM 04805000 FIX EQU @EL00004 04806000 RTM EQU @EL00005 04807000 @ENDDATA EQU * 04808000 END IEAVSWIN,(C'PLS2104',0701,78164) 04809000