TITLE 'AMDSAAUD DUMP/ERROR RECOVERY FOR VIRTUAL DUMP *00001000 ' 00002000 AMDSAAUD CSECT 00003000 STM R0,R15,AUDSAVE SAVE CALLERS REGISTERS 00004000 BALR BASEREG,0 00005000 USING *,BASEREG 00006000 * VCCTREG = CTVCCT; /* SET UP TO ADDRESS THE VCCT */ 00007000 LH @10,@CH00725 01S0180 00008000 L VCCTREG,CTVCCT(,@10) 01S0180 00009000 * 01S0181 00010000 * /*****************************************************************/ 00011000 * /* */ 00012000 * /* THIS SECTION OF CODE ISOLATES THE CURRENT RCB ON THE CHAIN. */ 00013000 * /* THIS RCB BELONGS TO THE ROUTINE TO RECEIVE CONTROL IF */ 00014000 * /* SUCCESSFUL RECOVERY IS POSSIBLE */ 00015000 * /* */ 00016000 * /*****************************************************************/ 00017000 */* P OBTAIN FIRST RCB FROM VCTRCB QUEUE */ 00018000 */* D (YES,,NO,DUMPCK) RCB ADDRESS > VCTLPA ? */ 00019000 */* P RCB ADDRESS = RCB ADDRESS - VCTLPA */ 00020000 * 01S0181 00021000 * RESPECIFY RCB BASED (RCBADDR); 01S0181 00022000 * RCBADDR = VCTRCB; /* OBTAIN FIRST RCB FROM THE 00023000 * VCTRCB QUEUE */ 00024000 L RCBADDR,VCTRCB(,VCCTREG) 01S0182 00025000 * IF RCBADDR > VCTLPA THEN 01S0183 00026000 L @10,VCTLPA(,VCCTREG) 01S0183 00027000 CR RCBADDR,@10 01S0183 00028000 BNH @RF00183 01S0183 00029000 * RCBADDR = RCBADDR - VCTLPA; /* IF THE RCB IS A VIRTUAL 01S0184 00030000 * ADDRESS MAKE IT A REAL ADDRESS 00031000 * FOR USE BY AUDIT IN 01S0184 00032000 * UNTRANSLATED MODE. */ 00033000 SR RCBADDR,@10 01S0184 00034000 * 01S0185 00035000 * /*****************************************************************/ 00036000 * /* */ 00037000 * /* DETERMINE IF A DUMP IS REQUESTED. IF YES, DETERMINE IF THE */ 00038000 * /* DUMP CAN BE TAKEN AND CALL AUDUMP TO TAKE THE DUMP */ 00039000 * /* */ 00040000 * /*****************************************************************/ 00041000 */*DUMPCK: D (YES,,NO,%AUDCTRL) VCTSADMP = 1 ? DUMP REQ ? */ 00042000 */* D (YES,PGERCB,NO,) VCTRECVA = X'FFFF' ? */ 00043000 */* S (,%AUDCTRL) AUDUMP:TAKE DUMP OF SADUMP ERROR */ 00044000 * 01S0185 00045000 * IF VCTSADMP = ON THEN /* DUMP REQUESTED? */ 00046000 @RF00183 TM VCTSADMP(VCCTREG),B'10000000' 01S0185 00047000 BNO @RF00185 01S0185 00048000 * DO; 01S0186 00049000 * IF VCTRECVA = MAXASID THEN 01S0187 00050000 CLC VCTRECVA(2,VCCTREG),@CH00899 01S0187 00051000 BNE @RF00187 01S0187 00052000 * DO; /* OVER THE TOP IN NUMBER OF 00053000 * SADUMP DUMPS OF SADUMP TAKEN */ 00054000 * 01S0188 00055000 * /*****************************************************************/ 00056000 * /* */ 00057000 * /* IF OVER DUMP LIMIT GIVE CONTROL TO AMDSAPGE RCB WITH A WAIT */ 00058000 * /* STATE CODE */ 00059000 * /* */ 00060000 * /*****************************************************************/ 00061000 */*PGERCB: D (YES,PGEWAIT,NO,) RCBNEXT = 0 ? */ 00062000 */* P OBTAIN NEXT RCB ADDRESS FROM RCBNEXT */ 00063000 */* D (YES,,NO,PGERCB) RCB ADDRESS > VCTLPA ? */ 00064000 */* P (,PGERCB) RCB ADDRESS = RCB ADDRESS - VCTLPA ADDRESS */ 00065000 */*PGEWAIT: N THIS IS THE AMDSAPGE RCB */ 00066000 */* P CTWAIT = X'2F' */ 00067000 * 01S0189 00068000 * DO WHILE RCBNEXT ^= ZERO; /* GO SEARCHING FOR THE PGE RCB 00069000 * - TOP ONE ON THE RCB QUEUE */ 00070000 B @DE00189 01S0189 00071000 @DL00189 DS 0H 01S0190 00072000 * RCBADDR = RCBNEXT; /* SET UP TO NEXT RCB ON QUEUE */ 00073000 L RCBADDR,RCBNEXT(,RCBADDR) 01S0190 00074000 * IF RCBADDR > VCTLPA THEN 01S0191 00075000 L @10,VCTLPA(,VCCTREG) 01S0191 00076000 CR RCBADDR,@10 01S0191 00077000 BNH @RF00191 01S0191 00078000 * RCBADDR = RCBADDR - VCTLPA; /* ADJUST TO REAL ADDRESS*/ 00079000 SR RCBADDR,@10 01S0192 00080000 * END; 01S0193 00081000 @RF00191 DS 0H 01S0193 00082000 @DE00189 ICM @10,15,RCBNEXT(RCBADDR) 01S0193 00083000 BNZ @DL00189 01S0193 00084000 * CTWAIT = AUDWAIT; /* SET UP WAIT STATE CODE NO 00085000 * RECOVERY */ 00086000 LH @10,@CH00725 01S0194 00087000 MVI CTWAIT(@10),X'2F' 01S0194 00088000 * END; 01S0195 00089000 * ELSE 01S0196 00090000 * CALL AUDUMP; /* TAKE A DUMP OF SADUMP */ 00091000 B @RC00187 01S0196 00092000 @RF00187 BAL @14,AUDUMP 01S0196 00093000 * END; /* DUMPCK END */ 00094000 @RC00187 DS 0H 01S0198 00095000 * 01S0198 00096000 * /*****************************************************************/ 00097000 * /* */ 00098000 * /* THIS SECTION OF CODE USES THE INPUT RCB IN RCBADDR AND SETS UP*/ 00099000 * /* TO PASS THE OWNER OF THE RCB ONTROL IN THE OWNER'S MODE */ 00100000 * /* */ 00101000 * /*****************************************************************/ 00102000 */*%AUDCTRL: N THIS SECTION PASSES CONTROL TO RCB EXIT */ 00103000 */* P VCTSADMP = ON */ 00104000 */* P R13 = RCBSAVE */ 00105000 */* P R14 = RCBEXIT */ 00106000 */* P R11 = RCBBASE */ 00107000 * 01S0198 00108000 * RESPECIFY (R13,RETREG) RESTRICTED; 01S0198 00109000 @RF00185 DS 0H 01S0199 00110000 * RESPECIFY PSW BASED(ADDR(AUDPSW)); 01S0199 00111000 * VCTSADMP = ON; /* RESTORE DUMP SWITCH (NORMAL 00112000 * STATE) */ 00113000 OI VCTSADMP(VCCTREG),B'10000000' 01S0200 00114000 * R13 = RCBSAVE; /* RESTORE SAVE AREA REGISTER OF 00115000 * OWNER */ 00116000 L R13,RCBSAVE(,RCBADDR) 01S0201 00117000 * RETREG = RCBEXIT; /* SET UP THE RETURN REGISTER OF 00118000 * OWNER */ 00119000 L RETREG,RCBEXIT(,RCBADDR) 01S0202 00120000 * 01S0203 00121000 * /*****************************************************************/ 00122000 * /* */ 00123000 * /* DETERMINE MEMORY STATE - IF UNTRANSLATED CONTROL GOES TO THE */ 00124000 * /* OWNER . IF TRANSLATED, CONTROL REGISTER 1 MUST BE SET UP, THE */ 00125000 * /* LOOKASIDE BUFFER PURGED, AND ADDRESSES ADJUSTED TO VIRTUAL */ 00126000 * /* ADDRESSES */ 00127000 * /* */ 00128000 * /*****************************************************************/ 00129000 */* D (NO,%RCBVIRT,YES,) RCBSTOR = 0 ? */ 00130000 */* P (,%BASE) SET UP NON-TRANSLATE MODE */ 00131000 */*%RCBVIRT: P LOAD CR 1 FROM RCBSTOR */ 00132000 */* P PURGE CPU LOOKASIDE BUFFER */ 00133000 */* P SET UP TRANSLATE MODE FROM AUDMASK */ 00134000 * 01S0203 00135000 * IF RCBSTOR = ZERO THEN 01S0203 00136000 ICM @15,15,RCBSTOR(RCBADDR) 01S0203 00137000 BNZ @RF00203 01S0203 00138000 * AUDPSW(1:4) = NODATPSW; /* SET UP NON-DAT PSW */ 00139000 MVC AUDPSW(4),NODATPSW 01S0204 00140000 * ELSE 01S0205 00141000 * DO; 01S0205 00142000 B @RC00203 01S0205 00143000 @RF00203 DS 0H 01S0206 00144000 * WORKAREA = RCBSTOR; /* SET UP CR1 FOR MEMORY */ 00145000 MVC WORKAREA(4),RCBSTOR(RCBADDR) 01S0206 00146000 * GEN REFS(WORKAREA) (LCTL R1,R1,WORKAREA); /* INITIALIZE 00147000 * CONTROL REG 1 WITH MEMORY 00148000 * SEGMENT TABLE */ 00149000 LCTL R1,R1,WORKAREA 00150000 * GEN (PTLB); /* PURGE THE LOOK-ASIDE BUFFER */ 00151000 PTLB 00152000 * AUDPSW(1:4) = DATPSW; /* SET UP DAT PSW */ 00153000 MVC AUDPSW(4),DATPSW 01S0209 00154000 * END; 01S0210 00155000 * PSWIA = RETREG; /* SET UP RETURN ADDR IN PSW */ 00156000 @RC00203 LA @15,AUDPSW 01S0211 00157000 ST RETREG,PSWIA(,@15) 01S0211 00158000 * 01S0212 00159000 * /*****************************************************************/ 00160000 * /* */ 00161000 * /* SET UP BASE REGISTER AND RESTORE ALL REGISTERS BEFORE GIVING */ 00162000 * /* CONTROL TO RCB EXIT ROUTINE */ 00163000 * /* */ 00164000 * /*****************************************************************/ 00165000 */*%BASE: D (YES,,NO,%AUDSAVE) SAVE AREA REGISTERS RESTORE ? */ 00166000 */* P RESTORE R15 - R10 FROM RCBSAVE */ 00167000 */* P ENTER MODE SET UP EARLIER */ 00168000 */* R RETURN TO OWNER VIA BR 14 */ 00169000 */*%AUDSAVE: P RESTORE REGISTERS FROM AUDSAVE AS ON ENTRY */ 00170000 */* P ENTER MODE SET UP EARLIER */ 00171000 */* R GIVE CONTROL TO RCB EXIT VIA BR 14 */ 00172000 * 01S0212 00173000 * RESPECIFY R10 RESTRICTED; 01S0212 00174000 * R10 = RCBSAVE; /* ADDRESS THE RCB VIA REGISTER 00175000 * 10 */ 00176000 L R10,RCBSAVE(,RCBADDR) 01S0213 00177000 * RESPECIFY REGLOCAL BASED (ADDR(AUDSAVE)); 01S0214 00178000 * IF R10 ^= REGL13 THEN 01S0215 00179000 LA @15,AUDSAVE 01S0215 00180000 C R10,REGL13(,@15) 01S0215 00181000 BE @RF00215 01S0215 00182000 * DO; 01S0216 00183000 * IF R10 > VCTLPA THEN /* VIRTUAL SAVE AREA ADDRESS */ 00184000 L @15,VCTLPA(,VCCTREG) 01S0217 00185000 CR R10,@15 01S0217 00186000 BNH @RF00217 01S0217 00187000 * DO; /* YES - */ 00188000 * R10 = R10 - VCTLPA; /* GET REAL ADDRESS */ 00189000 SR R10,@15 01S0219 00190000 * VCCTREG = VCTVCCTV; /* SET UP VIRTUAL VCCT ADDRESS */ 00191000 L VCCTREG,VCTVCCTV(,VCCTREG) 01S0220 00192000 * END; 01S0221 00193000 * BASEREG = RCBBASE; /* SET UP BASE REGISTER */ 00194000 @RF00217 L BASEREG,RCBBASE(,RCBADDR) 01S0222 00195000 * GENERATE REFS(R10) SETS(R15,R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10); 00196000 LM R15,R10,16(R10) RESTORE REST OF OWNERS REGS 00197000 * LPSW (AUDPSW); /* GIVE CONTROL TO RCB EXIT */ 00198000 LPSW AUDPSW 01S0224 00199000 * END; 01S0225 00200000 * GENERATE REFS(AUDSAVE) 01S0226 00201000 * SETS(R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15); 00202000 @RF00215 DS 0H 01S0226 00203000 LM R0,R15,AUDSAVE RESTORE OWNERS REGISTERS 00204000 * LPSW (AUDPSW); /* GIVE CONTROL TO RCB EXIT */ 00205000 LPSW AUDPSW 01S0227 00206000 * RESPECIFY (R10,RETREG,R13) UNRESTRICTED; 01S0228 00207000 * 01S0229 00208000 *AUDUMP: 01S0229 00209000 * PROC OPTIONS(NOSAVE); 01S0229 00210000 * 01S0229 00211000 B @PB00002 01S0229 00212000 AUDUMP DS 0H 01S0230 00213000 * /*****************************************************************/ 00214000 * /* */ 00215000 * /* THIS ROUTINE PERFORMS THE DUMPING FUNCTION FOR VIRTUAL DUMP TO*/ 00216000 * /* TAKE STAND-ALONE DUMPS OF AMDSADMP */ 00217000 * /* */ 00218000 * /*****************************************************************/ 00219000 * /*****************************************************************/ 00220000 * /* */ 00221000 * /* AUDUMP DECLARED CONSTANTS */ 00222000 * /* */ 00223000 * /*****************************************************************/ 00224000 * 01S0230 00225000 * DCL 01S0230 00226000 * IODBOUT PTR (31) EXTERNAL NONLOCAL; /* USED FOR REFERENCE 00227000 * TO OUTPUT IODB */ 00228000 * DCL 01S0231 00229000 * DUMPLOC FIXED (31); /* CURRENT DUMP LOCATION COUNTER */ 00230000 * DCL 01S0232 00231000 * DUMPINCR FIXED(31) CONSTANT(4096); /* DUMP INCREMENTS */ 00232000 * DCL 01S0233 00233000 * MAXDUMP FIXED (31) CONSTANT (131072); /* HIGHEST SADUMP 00234000 * LOCATION DUMPED */ 00235000 * DCL 01S0234 00236000 * INITLOC FIXED (8) CONSTANT(0); /* INITIAL DUMP LOCATION */ 00237000 * DCL 01S0235 00238000 * ASID17I CHAR(4) EXTERNAL NONLOCAL; /* ASID FOR MSG 17I */ 00239000 * DCL 01S0236 00240000 * MOD17I CHAR(8) EXTERNAL NONLOCAL; /* MODULE FOR MSG 17I */ 00241000 * DCL 01S0237 00242000 * LNG17I CHAR(1) EXTERNAL NONLOCAL; /* LENGTH FOR MSG 17I */ 00243000 * DCL 01S0238 00244000 * 1 MODNME17 CHAR(8), 01S0238 00245000 * 3 * CHAR(5) INIT('AMDSA'), 01S0238 00246000 * 3 MODNAME CHAR(3); 01S0238 00247000 * DCL 01S0239 00248000 * UNKNOWN CHAR(8) INIT('UNKNOWN'); 01S0239 00249000 * DCL 01S0240 00250000 * 1 AUDSWTCH BIT(8) INIT('00'X), /* SWITCHES */ 00251000 * 3 AUDINT BIT(1); /* INTERRUPT RECEIVED DURING DUMP 00252000 * PROCESSING */ 00253000 * DCL 01S0241 00254000 * 1 SADUMP BDY(WORD), /* MAPPING FOR SADUMP HEADER FOR 00255000 * VIRTUAL DUMPS */ 00256000 * 3 SAKEY1 PTR(8) INIT('00'X), /* AMDSADMP STORAGE KEY 1 00257000 * - ALWAYS ZERO */ 00258000 * 3 SAKEY2 PTR(8) INIT('00'X), /* AMDSADMP STORAGE KEY 2 00259000 * - ALWAYS ZERO */ 00260000 * 3 SAASID FIXED (15), /* ASID OF AMDSADMP DUMP */ 00261000 * 3 SARADDR PTR (31); /* REAL ADDRESS OF STORAGE DUMPED*/ 00262000 * DCL 01S0242 00263000 * 1 AUDCCW BDY(DWORD), /* AUDIT DUMP CCW'S */ 00264000 * 3 AUDCCW1 BDY(DWORD), /* HEADER DUMP CCW */ 00265000 * 5 AUDCCWCD CHAR(1) INIT('01'X), /* TAPE WRITE 01S0242 00266000 * COMMAND */ 00267000 * 5 AUDCCWAD PTR(24) INIT(ADDR(SADUMP)), /* HEADER 00268000 * DEFINITION */ 00269000 * 5 AUDFLGS CHAR (4) INIT('A0000008'X), /* COMMAND 00270000 * CHAIN CCW WITH SUPRESS 01S0242 00271000 * INCORRECT LENGTH ON WRITING 00272000 * THE 8 BYTE HEADER */ 00273000 * 3 AUDCCW2 CHAR(8) BDY(DWORD) INIT('0100000020001000'X); 00274000 * /* A TAPE WRITE CCW WITH INCORECT 00275000 * LENGTH ON, WRITING A 4K 01S0243 00276000 * RECORD. THE ADDRESS IS FILLED 00277000 * IN DYNAMICALLY DURING THE DUMP 00278000 * CYCLE */ 00279000 * DCL 01S0243 00280000 * TIC BIT(8) CONSTANT('08'X); /* CCW TIC COMMAND */ 00281000 * DCL 01S0244 00282000 * NOP BIT(8) CONSTANT('03'X); /* CCW NOP COMMAND */ 00283000 * DCL 01S0245 00284000 * 1 CVTBLK BDY (WORD), /* CONVERT PARAMETER LIST */ 00285000 * 3 CVTBINA PTR(31) INIT 01S0245 00286000 * (ADDR(SAASID)), /* ASID TO CONVERT */ 00287000 * 3 CVTEBCA PTR(31), /* ASID ADDRESS */ 00288000 * 3 CVTBINL FIXED (15) INIT(2); /* LENGTH OF ASID TO 00289000 * CONVERT */ 00290000 * DCL 01S0246 00291000 * 1 AUDSAVEA BDY (WORD), /* CONVERT PARAMETER LIST */ 00292000 * 3 AUDSAVID CHAR(1) INIT('L'), /* SAVE AREA IDENTIFIER */ 00293000 * 3 AUDID CHAR(3) INIT('AUD'), /* SAVE AREA NAME */ 00294000 * 3 AUDREGS CHAR(68); /* SAVE AREA REGISTERS */ 00295000 * DCL 01S0247 00296000 * AUDR14 FIXED(31); /* SAVE AREA FOR R14 */ 00297000 * DCL 01S0248 00298000 * AUDCSW CHAR(LENGTH(CSW)); /* CSW SAVE AREA @YM08294*/ 00299000 * 01S0249 00300000 * /*****************************************************************/ 00301000 * /* */ 00302000 * /* INITIALLY OBTAIN THE OUTPUT IODB FOR OBTAINING DEVICE TYPE */ 00303000 * /* INFORMATION */ 00304000 * /* */ 00305000 * /*****************************************************************/ 00306000 */*AUDUMP: E AUDIT DUMP SUBROUTINE */ 00307000 */* P OBTAIN OUTPUT IODB */ 00308000 * 01S0249 00309000 * RESPECIFY IODB BASED (ADDR(IODBOUT)); 01S0249 00310000 * RESPECIFY R13 RESTRICTED; 01S0250 00311000 * RESPECIFY R14 RESTRICTED; 01S0251 00312000 * RESPECIFY SAVEFORM BASED(R13); 01S0252 00313000 * AUDR14 = RETREG; /* SET UP REGISTER 14 SAVE AREA 00314000 * FOR RETURN */ 00315000 LR AUDR14,RETREG 01S0253 00316000 * RESPECIFY R14 UNRESTRICTED; 01S0254 00317000 * R13 = ADDR(AUDSAVEA); /* SET UP R13 SAVE AREA */ 00318000 LA R13,AUDSAVEA 01S0255 00319000 * LNG17I = LENGTH(ASID17I) + 12; /* INITIALIZE SECONDARY LENGTH, 00320000 * INCLUDING DUMP ASID= PORTION */ 00321000 L @10,@CA00929 01S0256 00322000 MVI LNG17I-LNG17I(@10),X'10' 01S0256 00323000 * AUDINT = OFF; /* NO INTERRUPT RECEIVED YET */ 00324000 NI AUDINT,B'01111111' 01S0257 00325000 * 01S0258 00326000 * /*****************************************************************/ 00327000 * /* */ 00328000 * /* NOW THE DEVICE STATE MUST BE EXAMINED. IF A CATASTROPHIC ERROR*/ 00329000 * /* HAS OCCURRED ON THE DEVICE NO DUMP CAN BE TAKEN AND CONTROL */ 00330000 * /* WILL BE PASSED DIRECTLY TO AMDSAPGE FOR VIRTUAL DUMP */ 00331000 * /* TERMINATION AS NO FURTHER I/O CAN OCCUR ON THE OUTPUT DEVICE. */ 00332000 * /* ALSO TERMINATE IF TERMINATION I/O IS IN PROGRESS SINCE THE */ 00333000 * /* OUTPUT TAPE MAY HAVE BEEN REWOUND ALREADY. */ 00334000 * /* */ 00335000 * /*****************************************************************/ 00336000 */* D (NO,,YES,%PGERCB) CTIOTERM = 1 ? */ 00337000 */* D (YES,,NO,%TAKEDMP) IODBPTRM = 1 ? */ 00338000 */*%PGERCB: D (YES,%PGEWAIT,NO,) RCBNEXT = 0 ? */ 00339000 */* P OBTAIN RCB ADDRESS FROM RCBNEXT */ 00340000 */* D (YES,,NO,%PGERCB) RCB ADDRESS > VCTLPA ? */ 00341000 */* P (,%PGERCB) RCB ADDRESS = RCB ADDRESS - VCTLPA ADDRESS */ 00342000 */*%PGEWAIT: N (,%DMPRET2) THIS IS THE AMDSAPGE RCB */ 00343000 * 01S0258 00344000 * IF IODBPTRM = ON | CTIOTERM = ON THEN 01S0258 00345000 L @10,@CA00920 01S0258 00346000 TM IODBPTRM(@10),B'01000000' 01S0258 00347000 BO @RT00258 01S0258 00348000 LH @10,@CH00725 01S0258 00349000 TM CTIOTERM(@10),B'10000000' 01S0258 00350000 BNO @RF00258 01S0258 00351000 @RT00258 DS 0H 01S0259 00352000 * DO WHILE RCBNEXT ^= ZERO; 01S0259 00353000 B @DE00259 01S0259 00354000 @DL00259 DS 0H 01S0260 00355000 * RCBADDR = RCBNEXT; 01S0260 00356000 L RCBADDR,RCBNEXT(,RCBADDR) 01S0260 00357000 * IF RCBADDR > VCTLPA THEN 01S0261 00358000 L @10,VCTLPA(,VCCTREG) 01S0261 00359000 CR RCBADDR,@10 01S0261 00360000 BNH @RF00261 01S0261 00361000 * RCBADDR = RCBADDR - VCTLPA; 01S0262 00362000 SR RCBADDR,@10 01S0262 00363000 * END; 01S0263 00364000 @RF00261 DS 0H 01S0263 00365000 @DE00259 ICM @10,15,RCBNEXT(RCBADDR) 01S0263 00366000 BNZ @DL00259 01S0263 00367000 * 01S0264 00368000 * /*****************************************************************/ 00369000 * /* */ 00370000 * /* OTHERWISE A DUMP CAN BE TAKEN. THE CCT MUST BE INITIALIZED AND*/ 00371000 * /* REGISTERS SET UP FOR DUMPSIO IN AMDSAHSR TO PROCESS. IN */ 00372000 * /* ADDITION, AMDSATAP MUST BE CALLED TO INSURE THAT DUMPSIO */ 00373000 * /* RECEIVES CONTROL ON THE IPLED CPU FOR DUMPING TO THE OUTPUT */ 00374000 * /* TAPE. DUMPSIO WILL HANDLE ERROR RECOVERY */ 00375000 * /* */ 00376000 * /*****************************************************************/ 00377000 */*%TAKEDMP: L AMDSATAP: SVC 2 ENTER ON PROPER CPU */ 00378000 */* D (YES,,NO,NODUMP) ON PROPER CPU ? */ 00379000 */* P MOVE ASID FROM VCTRECVA INTO HDR */ 00380000 */* P VCTRECVA = VCTRECVA + 1 */ 00381000 */* P R12 = ADDRESS OF CCT */ 00382000 */* P R10 = CTOUTAD */ 00383000 */* P DUMPLOC = X'0000' */ 00384000 */* P CTDEVICE = 0 */ 00385000 */* N HDR FORMAT IS KEY1, KEY2, ASID, REAL ADDRESS */ 00386000 * 01S0264 00387000 * ELSE 01S0264 00388000 * 01S0264 00389000 *DMP: 01S0264 00390000 * DO; 01S0264 00391000 B @RC00258 01S0264 00392000 @RF00258 DS 0H 01S0264 00393000 DMP DS 0H 01S0265 00394000 * SAVECTIO = CTIOTYPE; /* SAVE ORIGINAL CTIOTYPE */ 00395000 LH @10,@CH00725 01S0265 00396000 SR SAVECTIO,SAVECTIO 01S0265 00397000 IC SAVECTIO,CTIOTYPE(,@10) 01S0265 00398000 * CTIOTYPE = OFF; /* RESET FLAGS FOR CALL TO 01S0266 00399000 * AMDSATAP */ 00400000 MVI CTIOTYPE(@10),B'00000000' 01S0266 00401000 * CTIOOUT = ON; /* OUTPUT I/O IN PROGRESS */ 00402000 OI CTIOOUT(@10),B'01000000' 01S0267 00403000 * SVC (TAPSVC); /* ENTER IPLED CPU */ 00404000 SVC 2 01S0268 00405000 * RESPECIFY RETCODE RESTRICTED; 01S0269 00406000 * CTIOTYPE = SAVECTIO; /* RESTORE ORIGINAL I/O REQUEST 00407000 * FLAGS */ 00408000 LH @14,@CH00725 01S0270 00409000 STC SAVECTIO,CTIOTYPE(,@14) 01S0270 00410000 * IF RETCODE = ZERO THEN 01S0271 00411000 * 01S0271 00412000 LTR RETCODE,RETCODE 01S0271 00413000 BNZ @RF00271 01S0271 00414000 *NMDMP: 01S0272 00415000 * DO; /* IF ON PROPER CPU THEN PERFORM 00416000 * DUMP */ 00417000 NMDMP DS 0H 01S0273 00418000 * RESPECIFY RETCODE UNRESTRICTED; 01S0273 00419000 * SAASID = VCTRECVA; /* SET UP DUMP ASID */ 00420000 SR @10,@10 01S0274 00421000 ICM @10,3,VCTRECVA(VCCTREG) 01S0274 00422000 STH @10,SAASID 01S0274 00423000 * VCTRECVA = VCTRECVA + 1; /* INCREMENT DUMP COUNTER BY ONE*/ 00424000 AH @10,@CH00067 01S0275 00425000 STH @10,VCTRECVA(,VCCTREG) 01S0275 00426000 * RESPECIFY (R10,R12) RESTRICTED; 01S0276 00427000 * R12 = CCTADDR; /* OBTAIN REAL ADDRESS OF CCT FOR 00428000 * AMDSAHSR */ 00429000 LH R12,@CH00725 01S0277 00430000 * R10 = CTOUTAD; /* SET UP DEVICE ADDRESS FOR 01S0278 00431000 * AMDSAHSR */ 00432000 LH @07,@CH00725 01S0278 00433000 LH R10,CTOUTAD(,@07) 01S0278 00434000 * DUMPLOC = INITLOC; /* INITIALIZE STARTING DUMP 01S0279 00435000 * LOCATION COUNTER */ 00436000 SR DUMPLOC,DUMPLOC 01S0279 00437000 * CTDEVICE = OFF; /* INDICATE I/O TO THE OUTPUT 00438000 * TAPE DEVICE */ 00439000 NI CTDEVICE(@07),B'10111111' 01S0280 00440000 * 01S0281 00441000 * /*****************************************************************/ 00442000 * /* */ 00443000 * /* THIS SECTION WAITS FOR COMPLETION OF I/O ON THE OUTPUT */ 00444000 * /* VOLUME, IF ANY I/O WAS ACTIVE. IF AN INTERRUPT IS RECEIVED, */ 00445000 * /* THE CSW IS SAVED SO THAT IT MAY BE PROCESSED BY AMDSAIOI. */ 00446000 * /* IF ANY I/O ERROR OCCURRED, NO DUMP IS TAKEN. */ 00447000 * /* */ 00448000 * /*****************************************************************/ 00449000 */*AUDTIO: I TEST I/O */ 00450000 */* D (NO,,YES,DUMPLOOP) AVAILABLE */ 00451000 */* D (YES,,NO,AUDTIO) CSW STORED */ 00452000 */* P INDICATE INTERRUPT RECEIVED */ 00453000 */* P SAVE CSW IN OUTPUT IODB */ 00454000 */* D (NO,,YES,NODUMP) I/O ERROR */ 00455000 */* D (YES,,NO,AUDTIO) DEVICE END RECEIVED */ 00456000 */* D (YES,,NO,DUMPLOOP) UNIT EXCEP */ 00457000 */* S DUMPUE: HANDLE END OF REEL */ 00458000 */* D (NO,,YES,NODUMP) ERROR DURING EOR */ 00459000 */* P RESET UNIT EXCEP FLAG IN CSW */ 00460000 */* D (NO,,YES,%UPDTCCW) CCW CMD = TIC */ 00461000 */* D (NO,DUMPLOOP,YES,) CCW CMD = NOP */ 00462000 */*%UPDTCCW: P POINT CSW TO NEXT CCW */ 00463000 * 01S0281 00464000 * 01S0281 00465000 *AUDTIO: 01S0281 00466000 * AUDINT = OFF; /* NO INTERRUPT */ 00467000 AUDTIO NI AUDINT,B'01111111' 01S0281 00468000 * TIO (R10); /* TEST I/O ON OUTPUT DEVICE */ 00469000 TIO 0(R10) 01S0282 00470000 * BC (8,DUMPLOOP); /* AVAILABLE - NO I/O ACTIVE */ 00471000 BC 8,DUMPLOOP 01S0283 00472000 * BC (3,AUDTIO); /* BUSY OR NOT OPER - CHECK AGAIN*/ 00473000 BC 3,AUDTIO 01S0284 00474000 * AUDCSW = FLCCSW; /* CSW STORED - SAVE FOR IOI @YM08294*/ 00475000 MVC AUDCSW(8),FLCCSW 01S0285 00476000 * RESPECIFY CSW BASED(ADDR(AUDCSW)); /*@YM08294*/ 00477000 * AUDINT = ON; /* INTERRUPT RECEIVED */ 00478000 OI AUDINT,B'10000000' 01S0287 00479000 * IF CSWATTN=ON|CSWUC=ON|CSWIL=ON|CSWPGC=ON|CSWPTC=ON|CSWCDC=ON| 00480000 * CSWCCC=ON|CSWICC=ON|CSWCHC=ON THEN /* ANY I/O ERROR */ 00481000 LA @07,AUDCSW 01S0288 00482000 TM CSWATTN(@07),B'10000010' 01S0288 00483000 BNZ @RT00288 01S0288 00484000 TM CSWIL(@07),B'01111111' 01S0288 00485000 BNZ @RT00288 01S0288 00486000 * GO TO NODUMP; /* YES - SKIP DUMP */ 00487000 * IF CSWDE ^= ON THEN /* DEVICE END RECEIVED YET */ 00488000 TM CSWDE(@07),B'00000100' 01S0290 00489000 BNO @RT00290 01S0290 00490000 * GO TO AUDTIO; /* NO - WAIT FOR DEVICE END */ 00491000 * IF CSWUE = ON THEN /* UNIT EXCEPTION */ 00492000 TM CSWUE(@07),B'00000001' 01S0292 00493000 BNO @RF00292 01S0292 00494000 * DO; /* YES - HANDLE END OF REEL */ 00495000 * CALL DUMPUE; /* HANDLE END OF REEL */ 00496000 BAL @14,DUMPUE 01S0294 00497000 * RESPECIFY RETCODE RESTRICTED; 01S0295 00498000 * IF RETCODE ^= 0 THEN /* ERROR DURING EOR */ 00499000 LTR RETCODE,RETCODE 01S0296 00500000 BNZ @RT00296 01S0296 00501000 * GO TO NODUMP; /* YES - SKIP DUMP */ 00502000 * CSWUE = OFF; /* END OF REEL HANDLED */ 00503000 LA @14,AUDCSW 01S0298 00504000 NI CSWUE(@14),B'11111110' 01S0298 00505000 * RESPECIFY CCW BASED(CSWCADDR); 01S0299 00506000 * IF (CCWCMD = TIC) | (CCWCMD = NOP) THEN /* DID EOR OCCUR ON 00507000 * A TIC OR NOP */ 00508000 SR @07,@07 01S0300 00509000 ICM @07,7,CSWCADDR(@14) 01S0300 00510000 CLI CCWCMD(@07),8 01S0300 00511000 BE @RT00300 01S0300 00512000 CLI CCWCMD(@07),3 01S0300 00513000 BNE @RF00300 01S0300 00514000 @RT00300 DS 0H 01S0301 00515000 * CSWCADDR = CSWCADDR + LENGTH(CCW); /* YES - POINT CSW TO NEXT 00516000 * CCW FOR AMDSAIOB */ 00517000 LA @14,AUDCSW 01S0301 00518000 LA @07,8 01S0301 00519000 SR @09,@09 01S0301 00520000 ICM @09,7,CSWCADDR(@14) 01S0301 00521000 AR @07,@09 01S0301 00522000 STCM @07,7,CSWCADDR(@14) 01S0301 00523000 * RESPECIFY RETCODE UNRESTRICTED; 01S0302 00524000 @RF00300 DS 0H 01S0303 00525000 * END; 01S0303 00526000 * 01S0303 00527000 * /*****************************************************************/ 00528000 * /* */ 00529000 * /* THE DUMPLOOP SECTION OF CODE WILL DUMP REAL STORAGE IN 4K */ 00530000 * /* BLOCKS */ 00531000 * /* */ 00532000 * /*****************************************************************/ 00533000 */*DUMPLOOP: N CCW'S ARE WRITE HDR, WRITE 4K DUMP RECORD */ 00534000 */* P STORE DUMPLOC INTO WRITE CCW ADDRESS FIELD */ 00535000 */* P STORE DUMPLOC INTO HEADER */ 00536000 * 01S0304 00537000 * RESPECIFY CCW BASED (ADDR(AUDCCW2)); 01S0304 00538000 * 01S0304 00539000 @RF00292 DS 0H 01S0305 00540000 *DUMPLOOP: 01S0305 00541000 * DO WHILE DUMPLOC < MAXDUMP; /* DUMP FROM 0 TO X'20000' */ 00542000 DUMPLOOP B @DE00305 01S0305 00543000 @DL00305 DS 0H 01S0306 00544000 * CCWDADDR = DUMPLOC; /* SET LOCATION TO DUMP FROM IN 00545000 * THE CCW */ 00546000 LA @07,AUDCCW2 01S0306 00547000 STCM DUMPLOC,7,CCWDADDR(@07) 01S0306 00548000 * SARADDR = DUMPLOC; /* SET REAL ADDRESS IN HEADER FOR 00549000 * AMDPRDMP */ 00550000 ST DUMPLOC,SARADDR 01S0307 00551000 * 01S0308 00552000 * /*****************************************************************/ 00553000 * /* */ 00554000 * /* NOW THE PROGRAM INTERFACES TO AMDSAHSR DUMPSIO ROUTINE- */ 00555000 * /* REGISTERS ARE SAVED AND RESTORED AROUND THE CALL */ 00556000 * /* */ 00557000 * /*****************************************************************/ 00558000 */* P CTERREC = 1 */ 00559000 */* P CTERROR = 0 */ 00560000 */* P SAVE AUDIT REGISTERS */ 00561000 */* P R11 = ADDRESS OF DUMP CCW'S */ 00562000 */* P R14 = CTCOMMIO */ 00563000 */* N R13 IS RETURN REGISTER */ 00564000 */* L AMDSAHSR: CALL DUMPSIO SUBROUTINE TO DUMP TO OUTPUT TAPE */ 00565000 */* P RESTORE AUDIT REGISTERS */ 00566000 * 01S0308 00567000 * RESPECIFY (BASEREG,RETREG,RETCODE) RESTRICTED; 01S0308 00568000 * CTERREC = ON; /* SET UP CATASTROPHIC ERRORS 00569000 * HANDLED BY AUDIT */ 00570000 * CTERROR = OFF; /* ALLOW NORMAL AMDSAHSR ERROR 00571000 * RECOVERY */ 00572000 LH @07,@CH00725 01S0310 00573000 OI CTERREC(@07),B'00000001' 01S0310 00574000 NI CTERROR(@07),B'01111111' 01S0310 00575000 * GENERATE SETS(LOWGRS) 01S0311 00576000 * REFS(R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15); 00577000 STM R0,R15,LOWGRS SAVE AUDIT REGISTERS 00578000 * ACROSS AMDSAHSR CALL 00579000 * RESPECIFY (BASEREG,RETREG) RESTRICTED; 01S0312 00580000 * BASEREG = ADDR(AUDCCW); /* DUMPSIO REQUIRES CCW ADDRESS 00581000 * IN R11 */ 00582000 LA BASEREG,AUDCCW 01S0313 00583000 * RETREG = R12 -> CTCOMMIO; /*DUMPSIO ADDRESS IN AMDSAHSR*/ 00584000 L RETREG,CTCOMMIO(,R12) 01S0314 00585000 * GEN REFS(RETREG) SETS(R13) (BALR R13,RETREG); /* GO TO 00586000 * DUMPSIO */ 00587000 BALR R13,RETREG 00588000 * GENERATE REFS(LOWGRS) 01S0316 00589000 * SETS(R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15); 00590000 LM R0,R15,LOWGRS RESTORE AUDIT REGISTERS 00591000 * ACROSS AMDSAHSR CALL 00592000 * 01S0317 00593000 * /*****************************************************************/ 00594000 * /* */ 00595000 * /* NOW WE MUST CHECK IF ANY CATASTROPHIC ERRORS OCCURRED, IF SO */ 00596000 * /* ONLY A PARTIAL DUMP HAS BEEN TAKEN, AND WE MUST TERMINATE, */ 00597000 * /* OTHERWISE, DUMPLOC CAN BE BUMPED BY 4K AND DUMPING CONTINUED */ 00598000 * /* UNTIL ALL AMDSADMP STORAGE HAS BEEN DUMPED. THE NORMAL ERROR */ 00599000 * /* CONDITION HANDLED IS END OF REEL. */ 00600000 * /* */ 00601000 * /*****************************************************************/ 00602000 */* D (YES,DUMPART,NO,) CTERREC = 0 ? */ 00603000 */* D (YES,,NO,%DI) EOR ? */ 00604000 */* S DUMPUE: HANDLE END OF REEL */ 00605000 */* D (YES,,NO,%DI) ERROR IN EOR ? */ 00606000 */* P (,MSGNAME) IODBTERM = ON */ 00607000 */*%DI: P DUMPLOC = DUMPLOC + X'1000' */ 00608000 */* D (YES,,NO,DUMPLOOP) DUMPLOC >= X'20000' ? */ 00609000 * 01S0317 00610000 * IF CTERREC = OFF THEN 01S0317 00611000 LH @07,@CH00725 01S0317 00612000 TM CTERREC(@07),B'00000001' 01S0317 00613000 BNZ @RF00317 01S0317 00614000 * DO; /* DID AN I/O ERROR OCCUR ? */ 00615000 * IODBTERM = ON; /* YES, SET TERMINAL ERROR ON 00616000 * OUTPUT TAPE */ 00617000 L @07,@CA00920 01S0319 00618000 OI IODBTERM(@07),B'10000000' 01S0319 00619000 * GO TO MSGNAME; /* TELL OPERATOR THE SITUATION */ 00620000 B MSGNAME 01S0320 00621000 * END; 01S0321 00622000 * ELSE 01S0322 00623000 * 01S0322 00624000 *DUMPDE: 01S0322 00625000 * DO; 01S0322 00626000 @RF00317 DS 0H 01S0322 00627000 DUMPDE DS 0H 01S0323 00628000 * RESPECIFY CSW BASED (ADDR(FLCCSW)); 01S0323 00629000 * IF CSWUE = ON THEN 01S0324 00630000 LA @07,FLCCSW 01S0324 00631000 TM CSWUE(@07),B'00000001' 01S0324 00632000 BNO @RF00324 01S0324 00633000 * DO; /* IF UNIT EXCEPTION = EOR, 01S0325 00634000 * HANDLE */ 00635000 * CALL DUMPUE; /* HANDLE EOR */ 00636000 BAL @14,DUMPUE 01S0326 00637000 * IF RETCODE ^= ZERO THEN 01S0327 00638000 LTR RETCODE,RETCODE 01S0327 00639000 BZ @RF00327 01S0327 00640000 * DO; /* EOR HANDLED OKAY ? */ 00641000 * IODBTERM = ON; /* NO CATASTROPHIC ERROR - 00642000 * SET UP TO TERMINATE VIRTUAL 00643000 * DUMP */ 00644000 L @07,@CA00920 01S0329 00645000 OI IODBTERM(@07),B'10000000' 01S0329 00646000 * GO TO MSGNAME; /* OUTPUT DIAGNOSTIC MESSAGE 00647000 * TO OPERATOR */ 00648000 B MSGNAME 01S0330 00649000 * END; 01S0331 00650000 * RESPECIFY (RETREG,RETCODE) UNRESTRICTED; 01S0332 00651000 @RF00327 DS 0H 01S0333 00652000 * END; 01S0333 00653000 * END DUMPDE; 01S0334 00654000 @RF00324 DS 0H 01S0335 00655000 * DUMPLOC = DUMPLOC + DUMPINCR; /* BUMP TO DUMP NEXT 4K 00656000 * INCREMENT */ 00657000 AH DUMPLOC,@CH00923 01S0335 00658000 * END DUMPLOOP; 01S0336 00659000 @DE00305 C DUMPLOC,@CF00925 01S0336 00660000 BL @DL00305 01S0336 00661000 * 01S0337 00662000 * /*****************************************************************/ 00663000 * /* */ 00664000 * /* WHEN ALL AMDSADMP STORAGE HAS BEEN DUMPED, THE MESSAGE WILL BE*/ 00665000 * /* PRODUCED. THEN A RETURN VIA A BR 14 WILL BE MADE TO THE CALLER*/ 00666000 * /* */ 00667000 * /*****************************************************************/ 00668000 */*MSGNAME: P MOVE MODULE NAME INTO MOD17I FROM ENTRY R13 SAVE AREA */ 00669000 */* L AMDSABIN: SVC 28 CONVERT ASID TO EBCDIC */ 00670000 */* P MOVE CONVERTED ASID INTO ASID17I */ 00671000 */* L (,%DMPRET) AMDSACON: OUTPUT MSG AMD017I TO CONSOLE */ 00672000 */*NODUMP: P (,MSGNAME) NO ASID IN MESSAGE */ 00673000 */*DUMPART: P (,MSGNAME) SET IODBTERM ON IN OUTPUT IODB */ 00674000 */*%DMPRET: D (NO,,YES,%RSTRTIO) WAS AN INTERRUPT RECEIVED */ 00675000 */*%DMPRET2: R RETURN TO CALLER */ 00676000 */*%RSTRTIO: P MOVE CSW FROM IODB TO LOW CORE */ 00677000 */* L AMDSAIOB: HANDLE INTERRUPT */ 00678000 */* R RETURN TO CALLER */ 00679000 * 01S0337 00680000 * END NMDMP; 01S0337 00681000 * ELSE 01S0338 00682000 * 01S0338 00683000 *NODUMP: 01S0338 00684000 * LNG17I = 0; /* INDICATE NO SECONDARY MESSAGE */ 00685000 * 01S0338 00686000 B @RC00271 01S0338 00687000 @RF00271 DS 0H 01S0338 00688000 NODUMP L @07,@CA00929 01S0338 00689000 MVI LNG17I-LNG17I(@07),X'00' 01S0338 00690000 *MSGNAME: 01S0339 00691000 * RESPECIFY R1 RESTRICTED; 01S0339 00692000 @RC00271 DS 0H 01S0339 00693000 MSGNAME DS 0H 01S0340 00694000 * RESPECIFY REGLOCAL BASED (ADDR(AUDSAVE)); 01S0340 00695000 * RESPECIFY SAVEFORM BASED (REGL13-R1); 01S0341 00696000 * VCCTREG = CTVCCT; /* GET ADDRESS OF VCCT */ 00697000 LH @07,@CH00725 01S0342 00698000 L VCCTREG,CTVCCT(,@07) 01S0342 00699000 * R1 = 0; /* ZERO DECREMENT */ 00700000 SR R1,R1 01S0343 00701000 * IF REGL13 >= VCTLPA THEN /* ERROR IN TRANSLATED MODE */ 00702000 LA @07,AUDSAVE 01S0344 00703000 L @05,VCTLPA(,VCCTREG) 01S0344 00704000 C @05,REGL13(,@07) 01S0344 00705000 BH @RF00344 01S0344 00706000 * R1 = VCTLPA; /* YES - SUBTRACT LPA ADDRESS */ 00707000 LR R1,@05 01S0345 00708000 * MOD17I = UNKNOWN; /* SET UP UNKNOWN MODULE NAME */ 00709000 @RF00344 L @07,@CA00928 01S0346 00710000 MVC MOD17I-MOD17I(8,@07),UNKNOWN 01S0346 00711000 * IF (SAVENAME >= 'AAA') & (SAVENAME <= 'ZZZ') THEN /* IS MODULE 00712000 * NAME EBCDIC */ 00713000 LA @05,AUDSAVE 01S0347 00714000 L @05,REGL13(,@05) 01S0347 00715000 SR @05,R1 01S0347 00716000 CLC SAVENAME(3,@05),@CC01001 01S0347 00717000 BL @RF00347 01S0347 00718000 CLC SAVENAME(3,@05),@CC01002 01S0347 00719000 BH @RF00347 01S0347 00720000 * DO; 01S0348 00721000 * MODNAME = SAVENAME; /* GET MODULE NAME */ 00722000 MVC MODNAME(3),SAVENAME(@05) 01S0349 00723000 * MOD17I = MODNME17; /* SET UP MODULE NAME */ 00724000 MVC MOD17I-MOD17I(8,@07),MODNME17 01S0350 00725000 * END; 01S0351 00726000 * CVTEBCA = ADDR (ASID17I); /* CONVERT ASID TO EBCDIC */ 00727000 @RF00347 L @07,@CA00927 01S0352 00728000 ST @07,CVTEBCA 01S0352 00729000 * R1 = ADDR(CVTBLK); /* ADDRESS OF CONVERT PARAMETER 00730000 * LIST */ 00731000 LA R1,CVTBLK 01S0353 00732000 * SVC (BINSVC); 01S0354 00733000 SVC 28 01S0354 00734000 * R1 = AMD017I; 01S0355 00735000 LA R1,17 01S0355 00736000 * SVC (CONSVC); 01S0356 00737000 SVC 3 01S0356 00738000 * RESPECIFY R1 UNRESTRICTED; 01S0357 00739000 * END DMP; 01S0358 00740000 * IF AUDINT = ON THEN /* WAS AN INTERRUPT RECEIVED */ 00741000 @RC00258 TM AUDINT,B'10000000' 01S0359 00742000 BNO @RF00359 01S0359 00743000 * DO; /* YES - HANDLE INTERRUPT */ 00744000 * FLCCSW = AUDCSW; /* RESTORE CSW TO LOW CORE */ 00745000 MVC FLCCSW(8),AUDCSW 01S0361 00746000 * SVC (IOBSVC); /* CALL AMDSAIOI VIA BRANCH ENTRY*/ 00747000 SVC 27 01S0362 00748000 * END; 01S0363 00749000 * RESPECIFY RETREG RESTRICTED; 01S0364 00750000 @RF00359 DS 0H 01S0365 00751000 * RETREG = AUDR14; /* RESTORE RETURN REGISTER TO 00752000 * CALLER */ 00753000 LR RETREG,AUDR14 01S0365 00754000 * RESPECIFY RETREG UNRESTRICTED; 01S0366 00755000 * END AUDUMP; /* RETURN TO CALLER */ 00756000 @EL00002 DS 0H 01S0367 00757000 @EF00002 DS 0H 01S0367 00758000 @ER00002 BR @14 01S0367 00759000 * 01S0368 00760000 * /*****************************************************************/ 00761000 * /* */ 00762000 * /* THIS SUBROUTINE PROVIDES AN INTERFACE TO THE END-OF-REEL */ 00763000 * /* (EOR) ROUTINE IN AMDSAHSR. THE RETURN CODE FROM EOR IS */ 00764000 * /* PASSED BACK TO THE CALLER. */ 00765000 * /* */ 00766000 * /*****************************************************************/ 00767000 */*DUMPUE: E EOR */ 00768000 */* P CTERREC = OFF */ 00769000 */* P CTERROR = OFF */ 00770000 */* P SAVE AUDIT'S REGISTERS */ 00771000 */* P R15 = CTEOR */ 00772000 */* S AMDSAHSR: CALL END OF REEL ROUTINE */ 00773000 */* R RETURN */ 00774000 */*AMDSAAUD: END */ 00775000 * 01S0368 00776000 * 01S0368 00777000 *DUMPUE: 01S0368 00778000 * PROC OPTIONS(NOSAVE,NOSAVEAREA); 01S0368 00779000 DUMPUE DS 0H 01S0369 00780000 * RESPECIFY (RETREG,RETCODE) RESTRICTED; 01S0369 00781000 * CTERREC = OFF; /* RESET ERROR FLAGS FOR EOR 00782000 * SUBROUTINE */ 00783000 * CTERROR = OFF; /* RESET ERROR FLAGS FOR EOR 00784000 * SUBROUTINE */ 00785000 LH @07,@CH00725 01S0371 00786000 NI CTERREC(@07),B'01111110' 01S0371 00787000 * GENERATE SETS(LOWGRS) 01S0372 00788000 * REFS(R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15); 00789000 STM R0,R15,LOWGRS SAVE AUDIT REGISTERS 00790000 * ACROSS AMDSAHSR (EOR) CALL 00791000 * RETCODE = CTEOR; /* SET UP BRANCH REGISTER FOR 00792000 * BALR TO EOR */ 00793000 LH @07,@CH00725 01S0373 00794000 L RETCODE,CTEOR(,@07) 01S0373 00795000 * GEN REFS(RETCODE) SETS(RETREG) (BALR RETREG,RETCODE); /* BALR TO 00796000 * EOR */ 00797000 BALR RETREG,RETCODE 00798000 * GENERATE REFS(LOWGRS) 01S0375 00799000 * SETS(R0,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14); 00800000 LM R0,R14,LOWGRS RESTORE AUDIT REGISTERS 00801000 * ACROSS AMDSAHSR (EOR) CALL 00802000 * END DUMPUE; 01S0376 00803000 @EL00003 DS 0H 01S0376 00804000 @EF00003 DS 0H 01S0376 00805000 @ER00003 BR @14 01S0376 00806000 @PB00003 DS 0H 01S0376 00807000 * END AMDSAAUD 01S0377 00808000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. * 00809000 */*%INCLUDE SYSLIB (IHAPSA ) * 00810000 */*%INCLUDE SYSLIB (AMDSARMK) * 00811000 *; 01S0377 00812000 @DATA DS 0H 00813000 @CH00067 DC H'1' 00814000 @CH00923 DC H'4096' 00815000 @CH00725 DC H'28672' 00816000 @CH00899 DC XL2'FFFF' 00817000 DS 0F 00818000 DS 0F 00819000 @CF00925 DC F'131072' 00820000 @CA00920 DC A(IODBOUT) 00821000 @CA00927 DC A(ASID17I) 00822000 @CA00928 DC A(MOD17I) 00823000 @CA00929 DC A(LNG17I) 00824000 DS 0D 00825000 WORKAREA DS F 00826000 @CC01001 DC C'AAA' 00827000 @CC01002 DC C'ZZZ' 00828000 NODATPSW DC X'010C0000' 00829000 DATPSW DC X'050C0000' 00830000 MODNME17 DS CL8 00831000 ORG MODNME17 00832000 @NM00055 DC CL5'AMDSA' 00833000 MODNAME DS CL3 00834000 ORG MODNME17+8 00835000 UNKNOWN DC CL8'UNKNOWN' 00836000 AUDSWTCH DC X'00' 00837000 ORG AUDSWTCH 00838000 AUDINT DS BL1 00839000 ORG AUDSWTCH+1 00840000 DS CL1 00841000 SADUMP DS CL8 00842000 ORG SADUMP 00843000 SAKEY1 DC XL1'00' 00844000 SAKEY2 DC XL1'00' 00845000 SAASID DS FL2 00846000 SARADDR DS AL4 00847000 ORG SADUMP+8 00848000 DS CL4 00849000 AUDCCW DS CL16 00850000 ORG AUDCCW 00851000 AUDCCW1 DS CL8 00852000 ORG AUDCCW1 00853000 AUDCCWCD DC X'01' 00854000 AUDCCWAD DC AL3(SADUMP) 00855000 AUDFLGS DC X'A0000008' 00856000 ORG AUDCCW+8 00857000 AUDCCW2 DC X'0100000020001000' 00858000 ORG AUDCCW+16 00859000 CVTBLK DS CL10 00860000 ORG CVTBLK 00861000 CVTBINA DC AL4(SAASID) 00862000 CVTEBCA DS AL4 00863000 CVTBINL DC H'2' 00864000 ORG CVTBLK+10 00865000 DS CL2 00866000 AUDSAVEA DS CL72 00867000 ORG AUDSAVEA 00868000 AUDSAVID DC CL1'L' 00869000 AUDID DC CL3'AUD' 00870000 AUDREGS DS CL68 00871000 ORG AUDSAVEA+72 00872000 AUDCSW DS CL8 00873000 AUDPATCH DC 20F'0' 00874000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 00875000 @01 EQU 01 00876000 @02 EQU 02 00877000 @03 EQU 03 00878000 @04 EQU 04 00879000 @05 EQU 05 00880000 @06 EQU 06 00881000 @07 EQU 07 00882000 @08 EQU 08 00883000 @09 EQU 09 00884000 @10 EQU 10 00885000 @11 EQU 11 00886000 @12 EQU 12 00887000 @13 EQU 13 00888000 @14 EQU 14 00889000 @15 EQU 15 00890000 AUDR14 EQU @06 00891000 DUMPLOC EQU @05 00892000 RCBADDR EQU @04 00893000 SAVECTIO EQU @02 00894000 VCCTREG EQU @12 00895000 RETREG EQU @14 00896000 RETCODE EQU @15 00897000 BASEREG EQU @11 00898000 R0 EQU @00 00899000 R1 EQU @01 00900000 R2 EQU @02 00901000 R3 EQU @03 00902000 R4 EQU @04 00903000 R5 EQU @05 00904000 R6 EQU @06 00905000 R7 EQU @07 00906000 R8 EQU @08 00907000 R9 EQU @09 00908000 R10 EQU @10 00909000 R11 EQU @11 00910000 R12 EQU @12 00911000 R13 EQU @13 00912000 R14 EQU @14 00913000 R15 EQU @15 00914000 EXTRN IODBOUT 00915000 EXTRN ASID17I 00916000 EXTRN MOD17I 00917000 EXTRN LNG17I 00918000 PSA EQU 0 00919000 FLCRNPSW EQU PSA 00920000 FLCROPSW EQU PSA+8 00921000 FLCICCW2 EQU PSA+16 00922000 FLCCSW EQU PSA+64 00923000 PSAEEPSW EQU PSA+132 00924000 PSAESPSW EQU PSA+136 00925000 FLCSVILC EQU PSAESPSW+1 00926000 PSAEPPSW EQU PSA+140 00927000 FLCPIILC EQU PSAEPPSW+1 00928000 FLCPICOD EQU PSAEPPSW+2 00929000 PSAPICOD EQU FLCPICOD+1 00930000 FLCTEA EQU PSAEPPSW+4 00931000 FLCPER EQU PSA+152 00932000 FLCMCLA EQU PSA+168 00933000 FLCIOEL EQU FLCMCLA+4 00934000 FLCIOA EQU FLCMCLA+16 00935000 FLCFSA EQU FLCMCLA+80 00936000 PSASUPER EQU PSA+552 00937000 PSASUP1 EQU PSASUPER 00938000 PSASUP2 EQU PSASUPER+1 00939000 PSASUP3 EQU PSASUPER+2 00940000 PSASUP4 EQU PSASUPER+3 00941000 PSACLHT EQU PSA+640 00942000 PSALKSA EQU PSA+696 00943000 PSAHLHI EQU PSA+760 00944000 PSADSSFL EQU PSA+836 00945000 PSADSSF1 EQU PSADSSFL 00946000 PSADSSF3 EQU PSADSSFL+2 00947000 PSADSSF4 EQU PSADSSFL+3 00948000 PSARSVT EQU PSA+896 00949000 SADMPLSD EQU 3312 00950000 AUDPSW EQU SADMPLSD+16 00951000 LOWGRS EQU SADMPLSD+32 00952000 AUDSAVE EQU SADMPLSD+476 00953000 ARB EQU 0 00954000 BCTH EQU 0 00955000 BCT EQU 0 00956000 BCTLPID EQU BCT+28 00957000 BCTFLGT EQU BCT+44 00958000 BCTFLGI EQU BCT+45 00959000 CCT EQU 0 00960000 CTWAIT EQU CCT 00961000 CTFLG1 EQU CCT+1 00962000 CTERROR EQU CTFLG1 00963000 CTDEVICE EQU CTFLG1 00964000 CTERREC EQU CTFLG1 00965000 CTFLG2 EQU CCT+2 00966000 CTOUTAD EQU CCT+42 00967000 CTLOWFLG EQU CCT+48 00968000 CTDMPTYP EQU CCT+52 00969000 CTIOTYPE EQU CTDMPTYP 00970000 CTIOTERM EQU CTIOTYPE 00971000 CTIOOUT EQU CTIOTYPE 00972000 CTCONFLG EQU CTDMPTYP+2 00973000 CTBUFTYP EQU CTDMPTYP+3 00974000 CTCOMMIO EQU CTDMPTYP+12 00975000 CTEOR EQU CTDMPTYP+16 00976000 CTVCCT EQU CTDMPTYP+20 00977000 CTPRMT1 EQU CTDMPTYP+24 00978000 CTPRMT2 EQU CTDMPTYP+26 00979000 CCW EQU 0 00980000 CCWCMD EQU CCW 00981000 CCWDADDR EQU CCW+1 00982000 CCWFLAGS EQU CCW+4 00983000 CSW EQU 0 00984000 CSWKEY00 EQU CSW 00985000 CSWCADDR EQU CSW+1 00986000 CSWUSTAT EQU CSW+4 00987000 CSWATTN EQU CSWUSTAT 00988000 CSWDE EQU CSWUSTAT 00989000 CSWUC EQU CSWUSTAT 00990000 CSWUE EQU CSWUSTAT 00991000 CSWCSTAT EQU CSW+5 00992000 CSWIL EQU CSWCSTAT 00993000 CSWPGC EQU CSWCSTAT 00994000 CSWPTC EQU CSWCSTAT 00995000 CSWCDC EQU CSWCSTAT 00996000 CSWCCC EQU CSWCSTAT 00997000 CSWICC EQU CSWCSTAT 00998000 CSWCHC EQU CSWCSTAT 00999000 DSCE EQU 0 01000000 IODB EQU 0 01001000 IODBFLAG EQU IODB+8 01002000 IODBTERM EQU IODBFLAG 01003000 IODBPTRM EQU IODBFLAG 01004000 IODBCCHH EQU IODB+32 01005000 IODBSRCH EQU IODBCCHH+3 01006000 MDCE EQU 0 01007000 MDCB EQU 0 01008000 MDCBGRS EQU MDCB+16 01009000 MDCBFLGS EQU MDCB+86 01010000 PSW EQU 0 01011000 PSWSM EQU PSW 01012000 @NM00047 EQU PSW+1 01013000 PSWCCPM EQU PSW+2 01014000 @NM00050 EQU PSW+3 01015000 PSWIA EQU PSW+4 01016000 PTRT EQU 0 01017000 PTRTRSA EQU 0 01018000 RCB EQU 0 01019000 RCBNEXT EQU RCB 01020000 RCBSTOR EQU RCB+4 01021000 RCBSAVE EQU RCB+8 01022000 RCBEXIT EQU RCB+12 01023000 RCBBASE EQU RCB+16 01024000 VCCT EQU 0 01025000 VCTRCB EQU VCCT+4 01026000 VCTRECSN EQU VCCT+8 01027000 VCTFLGS EQU VCCT+9 01028000 VCTSADMP EQU VCTFLGS 01029000 VCTRECVA EQU VCCT+10 01030000 VCTMDCE EQU VCCT+12 01031000 VCTDSCE EQU VCCT+20 01032000 VCTBCTH EQU VCCT+24 01033000 VCTCBID EQU VCCT+64 01034000 VCTLPA EQU VCCT+84 01035000 VCTVCCTV EQU VCCT+108 01036000 SDL EQU 0 01037000 REGLOCAL EQU 0 01038000 REGL13 EQU REGLOCAL+52 01039000 SAVEFORM EQU 0 01040000 SAVENAME EQU SAVEFORM+1 01041000 PTRTVSA EQU 0 01042000 PSARSVTE EQU PSARSVT 01043000 CTLOWDMP EQU CTDMPTYP 01044000 FLC EQU PSA 01045000 AGO .@UNREFD START UNREFERENCED COMPONENTS 01046000 CTADDRE EQU CTLOWDMP+4 01047000 CTADDRS EQU CTLOWDMP 01048000 PSARSAV EQU PSARSVTE+60 01049000 PSARSTK EQU PSARSVTE+56 01050000 PSAESAV3 EQU PSARSVTE+52 01051000 PSAESTK3 EQU PSARSVTE+48 01052000 PSAESAV2 EQU PSARSVTE+44 01053000 PSAESTK2 EQU PSARSVTE+40 01054000 PSAESAV1 EQU PSARSVTE+36 01055000 PSAESTK1 EQU PSARSVTE+32 01056000 PSAPSAV EQU PSARSVTE+28 01057000 PSAPSTK EQU PSARSVTE+24 01058000 PSAMSAV EQU PSARSVTE+20 01059000 PSAMSTK EQU PSARSVTE+16 01060000 PSASSAV EQU PSARSVTE+12 01061000 PSASSTK EQU PSARSVTE+8 01062000 PSANSTK EQU PSARSVTE+4 01063000 PSACSTK EQU PSARSVTE 01064000 SAVER12 EQU SAVEFORM+68 01065000 SAVER11 EQU SAVEFORM+64 01066000 SAVER10 EQU SAVEFORM+60 01067000 SAVER9 EQU SAVEFORM+56 01068000 SAVER8 EQU SAVEFORM+52 01069000 SAVER7 EQU SAVEFORM+48 01070000 SAVER6 EQU SAVEFORM+44 01071000 SAVER5 EQU SAVEFORM+40 01072000 SAVER4 EQU SAVEFORM+36 01073000 SAVER3 EQU SAVEFORM+32 01074000 SAVER2 EQU SAVEFORM+28 01075000 SAVER1 EQU SAVEFORM+24 01076000 SAVER0 EQU SAVEFORM+20 01077000 SAVER15 EQU SAVEFORM+16 01078000 SAVER14 EQU SAVEFORM+12 01079000 SAVENEXT EQU SAVEFORM+8 01080000 SAVEBACK EQU SAVEFORM+4 01081000 SAVEID EQU SAVEFORM 01082000 REGL15 EQU REGLOCAL+60 01083000 REGL14 EQU REGLOCAL+56 01084000 REGL12 EQU REGLOCAL+48 01085000 REGL11 EQU REGLOCAL+44 01086000 REGL10 EQU REGLOCAL+40 01087000 REGL9 EQU REGLOCAL+36 01088000 REGL8 EQU REGLOCAL+32 01089000 REGL7 EQU REGLOCAL+28 01090000 REGL6 EQU REGLOCAL+24 01091000 REGL5 EQU REGLOCAL+20 01092000 REGL4 EQU REGLOCAL+16 01093000 REGL3 EQU REGLOCAL+12 01094000 REGL2 EQU REGLOCAL+8 01095000 REGL1 EQU REGLOCAL+4 01096000 REGL0 EQU REGLOCAL 01097000 SDLSPN EQU SDL+1 01098000 SDLNUM EQU SDL 01099000 VCTCCTV EQU VCCT+104 01100000 @NM00054 EQU VCCT+102 01101000 VCTEXTRA EQU VCCT+100 01102000 VCTCPOUT EQU VCCT+96 01103000 VCTSVCTB EQU VCCT+92 01104000 VCTPGT EQU VCCT+88 01105000 VCTCBADR EQU VCCT+80 01106000 VCTJBNME EQU VCCT+72 01107000 VCTCBIDN EQU VCTCBID+7 01108000 @NM00053 EQU VCTCBID 01109000 VCTAUDIT EQU VCCT+62 01110000 VCTASID EQU VCCT+60 01111000 VCTPTRT EQU VCCT+56 01112000 VCTMASCB EQU VCCT+52 01113000 VCTASCB EQU VCCT+48 01114000 VCTCPUC EQU VCCT+46 01115000 VCTWKC EQU VCCT+45 01116000 VCTWKHI EQU VCCT+44 01117000 VCTSUBPL EQU VCCT+40 01118000 VCTARB EQU VCCT+36 01119000 VCTIODB EQU VCCT+32 01120000 VCTBCTC EQU VCCT+28 01121000 VCTSTOR EQU VCCT+16 01122000 @NM00052 EQU VCTFLGS 01123000 VCTNOI22 EQU VCTFLGS 01124000 VCTLRCLM EQU VCTFLGS 01125000 VCTARCLM EQU VCTFLGS 01126000 VCTASMIC EQU VCTFLGS 01127000 VCTMEMIN EQU VCTFLGS 01128000 @NM00051 EQU VCTRECSN 01129000 VCTRSMR EQU VCTRECSN 01130000 VCTEXIR EQU VCTRECSN 01131000 VCTUPDR EQU VCTRECSN 01132000 VCTPGIR EQU VCTRECSN 01133000 VCTVCT EQU VCCT 01134000 PTRTVS EQU PTRT+1032 01135000 PTRTRS EQU PTRT+8 01136000 PTRTLGID EQU PTRT+4 01137000 PTRTPTRT EQU PTRT 01138000 PSWEND EQU PSW+8 01139000 PSWSP EQU @NM00050 01140000 PSWSIG EQU PSWCCPM 01141000 PSWEU EQU PSWCCPM 01142000 PSWDO EQU PSWCCPM 01143000 PSWFPO EQU PSWCCPM 01144000 @NM00049 EQU PSWCCPM 01145000 @NM00048 EQU PSWCCPM 01146000 PSWPRBLM EQU @NM00047 01147000 PSWAIT EQU @NM00047 01148000 PSWMCH EQU @NM00047 01149000 PSWMODE EQU @NM00047 01150000 PSWKEY EQU @NM00047 01151000 PSWXTRNL EQU PSWSM 01152000 PSWIO EQU PSWSM 01153000 PSWDAT EQU PSWSM 01154000 @NM00046 EQU PSWSM 01155000 @NM00045 EQU PSWSM 01156000 @NM00044 EQU PSWSM 01157000 PSWPER EQU PSWSM 01158000 @NM00043 EQU PSWSM 01159000 @NM00042 EQU MDCB+87 01160000 @NM00041 EQU MDCBFLGS 01161000 MDCBDUMP EQU MDCBFLGS 01162000 MDCBASMI EQU MDCBFLGS 01163000 MDCBPI EQU MDCB+84 01164000 MDCBSTOR EQU MDCB+80 01165000 MDCBGR15 EQU MDCBGRS+60 01166000 MDCBGR14 EQU MDCBGRS+56 01167000 MDCBGR13 EQU MDCBGRS+52 01168000 MDCBGR12 EQU MDCBGRS+48 01169000 MDCBGR11 EQU MDCBGRS+44 01170000 MDCBGR10 EQU MDCBGRS+40 01171000 MDCBGR9 EQU MDCBGRS+36 01172000 MDCBGR8 EQU MDCBGRS+32 01173000 MDCBGR7 EQU MDCBGRS+28 01174000 MDCBGR6 EQU MDCBGRS+24 01175000 MDCBGR5 EQU MDCBGRS+20 01176000 MDCBGR4 EQU MDCBGRS+16 01177000 MDCBGR3 EQU MDCBGRS+12 01178000 MDCBGR2 EQU MDCBGRS+8 01179000 MDCBGR1 EQU MDCBGRS+4 01180000 MDCBGR0 EQU MDCBGRS 01181000 MDCBPSW EQU MDCB+8 01182000 MDCBNEXT EQU MDCB+4 01183000 MDCBMDCB EQU MDCB 01184000 MDCEAVIL EQU MDCE+8 01185000 MDCEACTV EQU MDCE+4 01186000 MDCEMDCE EQU MDCE 01187000 IODBSENS EQU IODB+40 01188000 IODBR EQU IODBCCHH+7 01189000 IODBHH EQU IODBSRCH+2 01190000 IODBCC EQU IODBSRCH 01191000 IODBSEEK EQU IODBCCHH+1 01192000 IODBM EQU IODBCCHH 01193000 IODBCSW EQU IODB+24 01194000 IODBCAW EQU IODB+20 01195000 IODBBCT EQU IODB+16 01196000 IODBCPU EQU IODB+14 01197000 IODBTYPE EQU IODB+13 01198000 IODBCLAS EQU IODB+12 01199000 IODBDEV EQU IODB+10 01200000 @NM00040 EQU IODBFLAG+1 01201000 IODBSTRT EQU IODBFLAG 01202000 IODBCONW EQU IODBFLAG 01203000 IODBACTV EQU IODBFLAG 01204000 IODBHALT EQU IODBFLAG 01205000 IODBIOC EQU IODBFLAG 01206000 IODBINT EQU IODBFLAG 01207000 IODBIDEN EQU IODB+4 01208000 IODBIODB EQU IODB 01209000 DSCETEND EQU DSCE+20 01210000 DSCETCUR EQU DSCE+16 01211000 DSCETBEG EQU DSCE+12 01212000 DSCENEXT EQU DSCE+8 01213000 DSCEBEGN EQU DSCE+4 01214000 DSCEDSCE EQU DSCE 01215000 CSWCNT EQU CSW+6 01216000 CSWPCI EQU CSWCSTAT 01217000 CSWCE EQU CSWUSTAT 01218000 CSWBUSY EQU CSWUSTAT 01219000 CSWCUE EQU CSWUSTAT 01220000 CSWSTMOD EQU CSWUSTAT 01221000 @NM00039 EQU CSWKEY00 01222000 CSWKEY EQU CSWKEY00 01223000 CCWCNT EQU CCW+6 01224000 @NM00038 EQU CCW+5 01225000 @NM00037 EQU CCWFLAGS 01226000 CCWIDA EQU CCWFLAGS 01227000 CCWPCI EQU CCWFLAGS 01228000 CCWSKIP EQU CCWFLAGS 01229000 CCWSLI EQU CCWFLAGS 01230000 CCWCC EQU CCWFLAGS 01231000 CCWDC EQU CCWFLAGS 01232000 CTHWMAX EQU CTDMPTYP+29 01233000 CTHWM EQU CTDMPTYP+28 01234000 CTPRMT2X EQU CTPRMT2+1 01235000 CTPRMT2Y EQU CTPRMT2 01236000 CTPRMT1X EQU CTPRMT1+1 01237000 CTPRMT1Y EQU CTPRMT1 01238000 CTLWKAD EQU CTDMPTYP+8 01239000 CTCONSOL EQU CTDMPTYP+4 01240000 @NM00036 EQU CTBUFTYP 01241000 CTDUMP EQU CTBUFTYP 01242000 CTLSQA EQU CTBUFTYP 01243000 CTASM EQU CTBUFTYP 01244000 CTPGT EQU CTBUFTYP 01245000 CTWKFLE EQU CTBUFTYP 01246000 @NM00035 EQU CTBUFTYP 01247000 @NM00034 EQU CTCONFLG 01248000 CTREAD EQU CTCONFLG 01249000 CTMSGOUT EQU CTCONFLG 01250000 @NM00033 EQU CTDMPTYP+1 01251000 @NM00032 EQU CTIOTYPE 01252000 CTIORSET EQU CTIOTYPE 01253000 CTIOINT EQU CTIOTYPE 01254000 CTIOCON EQU CTIOTYPE 01255000 CTIOWK EQU CTIOTYPE 01256000 CTIODA EQU CTIOTYPE 01257000 CTEBCOPR EQU CCT+49 01258000 @NM00031 EQU CTLOWFLG 01259000 CTWKSTUS EQU CTLOWFLG 01260000 CTINIT EQU CTLOWFLG 01261000 CTFP EQU CTLOWFLG 01262000 CTVIRTD EQU CTLOWFLG 01263000 CTEBCOPD EQU CCT+45 01264000 CTCONTYP EQU CCT+44 01265000 CTCPUI EQU CCT+40 01266000 CTERBCON EQU CCT+36 01267000 CTERBTPE EQU CCT+32 01268000 CTERBDA EQU CCT+28 01269000 CTCCHHW EQU CCT+24 01270000 CTCCHHE EQU CCT+20 01271000 CTCCHHS EQU CCT+16 01272000 CTPGECNT EQU CCT+15 01273000 CTCCHHR EQU CCT+8 01274000 CTINADDR EQU CCT+6 01275000 CTSENSE EQU CCT+4 01276000 CTDEVTYP EQU CCT+3 01277000 @NM00030 EQU CTFLG2 01278000 CTALTCON EQU CTFLG2 01279000 CTWKDONE EQU CTFLG2 01280000 CTVIRTR EQU CTFLG2 01281000 CTNOSTAT EQU CTFLG2 01282000 CTPGEFLT EQU CTFLG2 01283000 CTSTOR EQU CTFLG2 01284000 CTDUPSW EQU CTFLG2 01285000 CTMP EQU CTFLG1 01286000 @NM00029 EQU CTFLG1 01287000 CTDEFO EQU CTFLG1 01288000 CTWORK EQU CTFLG1 01289000 CTMORTPE EQU CTFLG1 01290000 @NM00028 EQU BCT+46 01291000 BCTRECLM EQU BCTFLGI 01292000 BCTIOERR EQU BCTFLGI 01293000 BCTALLOC EQU BCTFLGI 01294000 BCTCOMP EQU BCTFLGI 01295000 @NM00027 EQU BCTFLGT 01296000 BCTPGTF EQU BCTFLGT 01297000 BCTDUMP EQU BCTFLGT 01298000 BCTLSQA EQU BCTFLGT 01299000 BCTASM EQU BCTFLGT 01300000 BCTPGT EQU BCTFLGT 01301000 BCTWKFLE EQU BCTFLGT 01302000 @NM00026 EQU BCTFLGT 01303000 BCTRBA EQU BCT+40 01304000 BCTAMB EQU BCT+36 01305000 @NM00025 EQU BCTLPID+4 01306000 BCTLGN EQU BCTLPID 01307000 BCTMDCB EQU BCT+24 01308000 BCTPGTE EQU BCT+20 01309000 BCTRADDR EQU BCT+16 01310000 BCTVADDR EQU BCT+12 01311000 BCTASID EQU BCT+10 01312000 BCTKEY2 EQU BCT+9 01313000 BCTKEY1 EQU BCT+8 01314000 BCTNEXT EQU BCT+4 01315000 BCTBCT EQU BCT 01316000 BCTHLAST EQU BCTH+8 01317000 BCTHFRST EQU BCTH+4 01318000 BCTHBCTH EQU BCTH 01319000 ARBADDRE EQU ARB+4 01320000 ARBADDRB EQU ARB 01321000 GTMSAVE EQU SADMPLSD+684 01322000 GTMNAME EQU SADMPLSD+680 01323000 FRMSAVE EQU SADMPLSD+580 01324000 FRMNAME EQU SADMPLSD+576 01325000 AUDNAME EQU SADMPLSD+472 01326000 IOISAVE EQU SADMPLSD+372 01327000 IOINAME EQU SADMPLSD+368 01328000 PGISAVE EQU SADMPLSD+268 01329000 PGINAME EQU SADMPLSD+264 01330000 SVISAVE EQU SADMPLSD+164 01331000 SVINAME EQU SADMPLSD+160 01332000 LOWCRS EQU SADMPLSD+96 01333000 SAVEDUMP EQU SADMPLSD+24 01334000 SVIRPSW EQU SADMPLSD+8 01335000 PSWSADMP EQU SADMPLSD 01336000 @NM00024 EQU PSA+3412 01337000 PSASTAK EQU PSA+3072 01338000 @NM00023 EQU PSA+1032 01339000 PSAUSEND EQU PSA+1032 01340000 PSAPCPSW EQU PSA+1024 01341000 PSARV060 EQU PSA+1020 01342000 PSARV059 EQU PSA+1018 01343000 PSASVC13 EQU PSA+1016 01344000 PSALSFCC EQU PSA+1012 01345000 PSASFACC EQU PSA+1008 01346000 PSASTOP EQU PSA+992 01347000 PSASTART EQU PSA+976 01348000 PSARSPSW EQU PSA+968 01349000 PSASRPSW EQU PSA+960 01350000 PSARV045 EQU PSA+892 01351000 PSARV044 EQU PSA+888 01352000 PSARV043 EQU PSA+884 01353000 PSARV042 EQU PSA+880 01354000 PSARV041 EQU PSA+876 01355000 PSARV040 EQU PSA+872 01356000 PSARV025 EQU PSA+868 01357000 PSADSSED EQU PSA+868 01358000 PSADSSPR EQU PSA+864 01359000 PSADSSFW EQU PSA+860 01360000 PSADSS14 EQU PSA+856 01361000 PSADSSPP EQU PSA+848 01362000 PSADSSRP EQU PSA+840 01363000 PSADSS05 EQU PSADSSF4 01364000 PSADSS10 EQU PSADSSF4 01365000 PSADSSVE EQU PSADSSF4 01366000 PSADSSDE EQU PSADSSF4 01367000 PSADSSC0 EQU PSADSSF4 01368000 PSADSSIE EQU PSADSSF4 01369000 PSADSS12 EQU PSADSSF4 01370000 PSADSSRC EQU PSADSSF4 01371000 PSARV057 EQU PSADSSF3 01372000 PSARV056 EQU PSADSSF3 01373000 PSARV055 EQU PSADSSF3 01374000 PSADSSMC EQU PSADSSF3 01375000 PSADSSRW EQU PSADSSF3 01376000 PSADSSNM EQU PSADSSF3 01377000 PSADSSES EQU PSADSSF3 01378000 PSADSSGP EQU PSADSSF3 01379000 PSADSSF2 EQU PSADSSFL+1 01380000 PSADSSPI EQU PSADSSF1 01381000 PSADSSOI EQU PSADSSF1 01382000 PSADSSSP EQU PSADSSF1 01383000 PSADSSTP EQU PSADSSF1 01384000 PSADSSDW EQU PSADSSF1 01385000 PSADSSDD EQU PSADSSF1 01386000 PSADSSDM EQU PSADSSF1 01387000 PSADSSMV EQU PSADSSF1 01388000 PSADSSTS EQU PSA+816 01389000 PSADSSWK EQU PSA+812 01390000 PSADSSR3 EQU PSA+808 01391000 PSADSSR2 EQU PSA+804 01392000 PSADSSRS EQU PSA+800 01393000 PSASTOR EQU PSA+796 01394000 PSACPUSA EQU PSA+794 01395000 PSAVSTAP EQU PSA+792 01396000 PSAWKVAP EQU PSA+788 01397000 PSAWKRAP EQU PSA+784 01398000 PSAMCHIC EQU PSA+783 01399000 PSARV061 EQU PSA+782 01400000 PSASYMSK EQU PSA+781 01401000 PSAMCHFL EQU PSA+780 01402000 PSACR0 EQU PSA+776 01403000 PSAPSWSV EQU PSA+768 01404000 PSALITA EQU PSA+764 01405000 PSACLHS EQU PSAHLHI 01406000 PSALKR15 EQU PSALKSA+60 01407000 PSALKR14 EQU PSALKSA+56 01408000 PSALKR13 EQU PSALKSA+52 01409000 PSALKR12 EQU PSALKSA+48 01410000 PSALKR11 EQU PSALKSA+44 01411000 PSALKR10 EQU PSALKSA+40 01412000 PSALKR9 EQU PSALKSA+36 01413000 PSALKR8 EQU PSALKSA+32 01414000 PSALKR7 EQU PSALKSA+28 01415000 PSALKR6 EQU PSALKSA+24 01416000 PSALKR5 EQU PSALKSA+20 01417000 PSALKR4 EQU PSALKSA+16 01418000 PSALKR3 EQU PSALKSA+12 01419000 PSALKR2 EQU PSALKSA+8 01420000 PSALKR1 EQU PSALKSA+4 01421000 PSALKR0 EQU PSALKSA 01422000 PSARV023 EQU PSACLHT+52 01423000 PSALOCAL EQU PSACLHT+48 01424000 PSACMSL EQU PSACLHT+44 01425000 PSAOPTL EQU PSACLHT+40 01426000 PSATPACL EQU PSACLHT+36 01427000 PSATPDNL EQU PSACLHT+32 01428000 PSATPNCL EQU PSACLHT+28 01429000 PSAIOSLL EQU PSACLHT+24 01430000 PSAIOSUL EQU PSACLHT+20 01431000 PSAIOSCL EQU PSACLHT+16 01432000 PSAIOSSL EQU PSACLHT+12 01433000 PSASALCL EQU PSACLHT+8 01434000 PSAASML EQU PSACLHT+4 01435000 PSADISPL EQU PSACLHT 01436000 PSASRSA EQU PSA+636 01437000 PSARV050 EQU PSA+634 01438000 PSADSSGO EQU PSA+633 01439000 PSARECUR EQU PSA+632 01440000 PSAHLHIS EQU PSA+628 01441000 PSAIPCSA EQU PSA+624 01442000 @NM00022 EQU PSA+621 01443000 PSAIPCDM EQU PSA+620 01444000 PSAIPCD EQU PSA+616 01445000 @NM00021 EQU PSA+613 01446000 PSAIPCRM EQU PSA+612 01447000 PSAIPCR EQU PSA+608 01448000 PSAMCHEX EQU PSA+600 01449000 PSAMPSW EQU PSA+592 01450000 PSAEXPS2 EQU PSA+584 01451000 PSAEXPS1 EQU PSA+576 01452000 PSAPIREG EQU PSA+572 01453000 PSARSREG EQU PSA+568 01454000 PSAGPREG EQU PSA+556 01455000 PSARV022 EQU PSASUP4 01456000 PSARV021 EQU PSASUP4 01457000 PSARV020 EQU PSASUP4 01458000 PSARV019 EQU PSASUP4 01459000 PSARV018 EQU PSASUP4 01460000 PSARV017 EQU PSASUP4 01461000 PSARV016 EQU PSASUP4 01462000 PSARV015 EQU PSASUP4 01463000 PSARV014 EQU PSASUP3 01464000 PSARV013 EQU PSASUP3 01465000 PSARV012 EQU PSASUP3 01466000 PSARV011 EQU PSASUP3 01467000 PSARV010 EQU PSASUP3 01468000 PSARV009 EQU PSASUP3 01469000 PSARV008 EQU PSASUP3 01470000 PSAIOSUP EQU PSASUP3 01471000 PSALCR EQU PSASUP2 01472000 PSARTM EQU PSASUP2 01473000 PSAACR EQU PSASUP2 01474000 PSAIPCE2 EQU PSASUP2 01475000 PSAIPCES EQU PSASUP2 01476000 PSAIPCEC EQU PSASUP2 01477000 PSAGTF EQU PSASUP2 01478000 PSAIPCRI EQU PSASUP2 01479000 PSAIPCRP EQU PSASUP1 01480000 PSAIPCDR EQU PSASUP1 01481000 PSADISP EQU PSASUP1 01482000 PSALOCK EQU PSASUP1 01483000 PSAPI EQU PSASUP1 01484000 PSAEXT EQU PSASUP1 01485000 PSASVC EQU PSASUP1 01486000 PSAIO EQU PSASUP1 01487000 PSAAOLD EQU PSA+548 01488000 PSAANEW EQU PSA+544 01489000 PSATOLD EQU PSA+540 01490000 PSATNEW EQU PSA+536 01491000 PSALCCAR EQU PSA+532 01492000 PSALCCAV EQU PSA+528 01493000 PSAPCCAR EQU PSA+524 01494000 PSAPCCAV EQU PSA+520 01495000 PSACPULA EQU PSA+518 01496000 PSACPUPA EQU PSA+516 01497000 PSAPSA EQU PSA+512 01498000 FLCHDEND EQU PSA+512 01499000 FLCCRSAV EQU FLCMCLA+280 01500000 FLCGRSAV EQU FLCMCLA+216 01501000 FLCFPSAV EQU FLCMCLA+184 01502000 FLCFLA EQU FLCMCLA+88 01503000 FLCRGNCD EQU FLCMCLA+84 01504000 FLCFSAA EQU FLCFSA+1 01505000 @NM00020 EQU FLCFSA 01506000 @NM00019 EQU FLCMCLA+72 01507000 FLCMCIC EQU FLCMCLA+64 01508000 @NM00018 EQU FLCMCLA+20 01509000 FLCIOAA EQU FLCIOA+1 01510000 @NM00017 EQU FLCIOA 01511000 @NM00016 EQU FLCMCLA+15 01512000 @NM00015 EQU FLCMCLA+14 01513000 @NM00014 EQU FLCMCLA+12 01514000 FLCLCL EQU FLCMCLA+8 01515000 FLCIOELA EQU FLCIOEL+1 01516000 @NM00013 EQU FLCIOEL 01517000 FLCCHNID EQU FLCMCLA 01518000 @NM00012 EQU PSA+160 01519000 FLCMTRCD EQU PSA+157 01520000 @NM00011 EQU PSA+156 01521000 FLCPERA EQU FLCPER+1 01522000 @NM00010 EQU FLCPER 01523000 @NM00009 EQU PSA+151 01524000 FLCPERCD EQU PSA+150 01525000 FLCMCNUM EQU PSA+149 01526000 @NM00008 EQU PSA+148 01527000 FLCTEAA EQU FLCTEA+1 01528000 @NM00007 EQU FLCTEA 01529000 PSAPIPC EQU PSAPICOD 01530000 PSAPIMC EQU PSAPICOD 01531000 PSAPIPER EQU PSAPICOD 01532000 PSARV049 EQU FLCPICOD 01533000 FLCPILCB EQU FLCPIILC 01534000 @NM00006 EQU FLCPIILC 01535000 @NM00005 EQU PSAEPPSW 01536000 FLCSVCN EQU PSAESPSW+2 01537000 FLCSILCB EQU FLCSVILC 01538000 @NM00004 EQU FLCSVILC 01539000 @NM00003 EQU PSAESPSW 01540000 FLCEICOD EQU PSAEEPSW+2 01541000 PSASPAD EQU PSAEEPSW 01542000 @NM00002 EQU PSA+128 01543000 FLCINPSW EQU PSA+120 01544000 FLCMNPSW EQU PSA+112 01545000 FLCPNPSW EQU PSA+104 01546000 FLCSNPSW EQU PSA+96 01547000 FLCENPSW EQU PSA+88 01548000 FLCTRACE EQU PSA+84 01549000 FLCTIMER EQU PSA+80 01550000 FLCCVT2 EQU PSA+76 01551000 FLCCAW EQU PSA+72 01552000 FLCIOPSW EQU PSA+56 01553000 FLCMOPSW EQU PSA+48 01554000 FLCPOPSW EQU PSA+40 01555000 FLCSOPSW EQU PSA+32 01556000 FLCEOPSW EQU PSA+24 01557000 @NM00001 EQU FLCICCW2+4 01558000 FLCCVT EQU FLCICCW2 01559000 FLCICCW1 EQU FLCROPSW 01560000 FLCIPPSW EQU FLCRNPSW 01561000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 01562000 @RT00288 EQU NODUMP 01563000 @RT00290 EQU AUDTIO 01564000 @RT00296 EQU NODUMP 01565000 @PB00002 EQU @PB00003 01566000 @ENDDATA EQU * 01567000 END AMDSAAUD,(C'PL/S-II',0502,74107) 01568000