X TITLE 'XASM2CG - ASM2 é LOADER é GO B OäHOM ûAçE' M2CG0001 * * * ðOCìEäHññ KOPPEKTéPOBKA: äATA 19.07.89 BPEMñ 12.35 * æOKõC M2CG0002 * PARM='[<ðAPAMETPù ASM2>/<ðAPAMETPù IEWL>/<ðAPAMETPù ðP-Mù>] M2CG0003 * ìEHéHçPAä éBã çõT OTä. 23 ìATùûKO T: 219-07-07 * M2CG0004 SPACE 2 M2CG0005 MACRO M2CG0006 &NAME NEXTPARM &PAR M2CG0007 &NAME LA 0,L'&PAR M2CG0008 LA 1,&PAR M2CG0009 BAL 14,NEXTPARM M2CG0010 MEND M2CG0011 SPACE 2 M2CG0012 PRINT NOGEN M2CG0013 REQU R0,0,R1,1,R2,2,R3,3,R4,4,R5,5,R6,6,R7,7,R8,8,R9,9, +M2CG0014 R10,10,R11,11,R12,12,R13,13,R14,14,R15,15,RBAL,14 M2CG0015 SPACE 2 M2CG0016 DSA PRINT=NOGEN M2CG0017 SVAREA2 DS 18F M2CG0018 ABENDCOD DS F M2CG0019 SAVEPARM DS 2F M2CG0020 PPPLIST DS F M2CG0021 * M2CG0022 PARML DS H M2CG0023 PARM DS CL100 M2CG0024 SPACE 2 M2CG0025 XASM2CG @START BASE=11,RPARM=2,PRINT=,ID=* M2CG0026 LOAD#ST SLBLDMSG,BLDMSGAD M2CG0027 STADR SVAREA2,SVAADR M2CG0028 L 15,=V(PRINTDCB) M2CG0029 MVC 40(8,15),=CL8'DBGPRINT' M2CG0030 L 2,0(2) M2CG0031 LH 3,0(2) M2CG0032 LA 2,2(2) M2CG0033 STM 2,3,SAVEPARM M2CG0034 SPACE 2 M2CG0035 *********************************************************************** M2CG0036 * BùúOB ACCEMâìEPA * M2CG0037 *********************************************************************** M2CG0038 NEXTPARM PARM M2CG0039 STH 15,PARML M2CG0040 STADR PARML,ASMPLIST M2CG0041 LA 1,ASMPLIST M2CG0042 LINK EP=IUM90 M2CG0043 CHB 15,=H'4',H,END M2CG0044 SPACE 2 M2CG0045 *********************************************************************** M2CG0046 * BùúOB úAçPõúþéKA * M2CG0047 *********************************************************************** M2CG0048 NEXTPARM PARM M2CG0049 STH 15,PARML M2CG0050 STADR PARML,IEWPLIST M2CG0051 @LOAD IEWLOAD M2CG0052 @CALL IEWLOAD,IEWPLIST M2CG0053 CHB 15,=H'4',H,END .? M2CG0054 LR 2,0 2 - TOþKA BXOäA M2CG0055 LR 3,1 3 - AäPEC éMEHé M2CG0056 @DELETE IEWLOAD M2CG0057 MVC PGMNAME,0(3) M2CG0058 SPACE 2 M2CG0059 *********************************************************************** M2CG0060 * BùúOB OTTPAHCìéPOBAHHOê ðPOçPAMMù * M2CG0061 *********************************************************************** M2CG0062 NEXTPARM PARM M2CG0063 STH 15,PARML M2CG0064 STADR PARML,PPPLIST,X'80' M2CG0065 * M2CG0066 @GETDD 'DBGPRINT' M2CG0067 IFREG 15,Z,ATTACH M2CG0068 @PUTMSG (' '),TC=(CALL,BLDMSGAD) M2CG0069 IFREG 15,NZ,ATTACH M2CG0070 SWOFF ABPRSW M2CG0071 * M2CG0072 ATTACH LA 1,PPPLIST M2CG0073 ATTACH EPLOC=PGMNAME,ECB=EOTECB,STAI=ABEXIT M2CG0074 ST 1,TCBADR M2CG0075 WAIT ECBLIST=ECBLIST M2CG0076 TMB ABENDECB,X'7F',NZ,ABEDUMP M2CG0077 DETACH DETACH TCBADR M2CG0078 L 15,EOTECB M2CG0079 LA 15,0(15) M2CG0080 B END M2CG0081 SPACE 2 M2CG0082 *********************************************************************** M2CG0083 * úABEPûEHéE PAâOTù é BOúBPAT õðPABìEHéñ * M2CG0084 *********************************************************************** M2CG0085 END @RETURN RC=(15) M2CG0086 SPACE 2 M2CG0087 *********************************************************************** M2CG0088 * ðEþATø äAMðA (çOìOBHOê úAäAþEê) * M2CG0089 *********************************************************************** M2CG0090 ABEDUMP DS 0H M2CG0091 @GETDD 'DBGDUMP' M2CG0092 IFREG 15,Z,SNAP M2CG0093 MVC SNAPDCB+40(8),=CL8'DBGDUMP' M2CG0094 @OPEN MF=(E,OPENSNAP) M2CG0095 SNAP DCB=SNAPDCB,TCB=TCBADR, +M2CG0096 SDATA=(Q,CB),PDATA=(SA,ALLPA,SPLS) M2CG0097 CLOSE MF=(E,CLOSESNP) M2CG0098 B POSTEOD M2CG0099 * M2CG0100 SNAP @GETDD 'DBGSNAP' M2CG0101 IFREG 15,Z,POSTEOD M2CG0102 MVC SNAPDCB+40(8),=CL8'DBGSNAP' M2CG0103 @OPEN MF=(E,OPENSNAP) M2CG0104 SNAP DCB=SNAPDCB,TCB=TCBADR, +M2CG0105 SDATA=(Q,CB),PDATA=(SA) M2CG0106 CLOSE MF=(E,CLOSESNP) M2CG0107 B POSTEOD M2CG0108 * M2CG0109 POSTEOD POST EODMPECB M2CG0110 WAIT ECB=EOTECB M2CG0111 B DETACH M2CG0112 SPACE 2 M2CG0113 *********************************************************************** M2CG0114 * ðð STAI * M2CG0115 *********************************************************************** M2CG0116 ABEXIT DS 0H M2CG0117 USING *,15 M2CG0118 L 11,=A(XASM2CG) M2CG0119 L 13,SVAADR M2CG0120 DROP 15 M2CG0121 ABPRSW BC 15,$ABEEXEE M2CG0122 LR R2,R0 M2CG0123 LR R3,R1 M2CG0124 * M2CG0125 @PUTMSG ('-',('*',15,*),+S,'ABEND DIAGNOSTICS',('*',15,*)) M2CG0126 * M2CG0127 LR R0,R3 R0 - KOä úABEPûEHéñ ? M2CG0128 CHB R2,=H'12',E,*+8 M2CG0129 L R0,4(R3) R0 - KOä úABEPûEHéñ M2CG0130 STH R0,ABENDCOD+2(2) M2CG0131 NI ABENDCOD+2,X'0F' USER M2CG0132 SLL R0,8 M2CG0133 SRL R0,20 M2CG0134 STH R0,ABENDCOD SYSTEM M2CG0135 CHB R2,=H'12',NE,$ABERINF M2CG0136 @PUTMSG (,+S,'; NO STORAGE FOR STAE') M2CG0137 XR R15,R15 M2CG0138 SVC 3 M2CG0139 * M2CG0140 ABEMSG0 MESSAGE$ ('0',+S,'ABEND S',(ABENDCOD,3,X1),'U', +M2CG0141 (ABENDCOD+2,4,D2)) M2CG0142 * M2CG0143 $ABERINF DS 0H M2CG0144 LR R8,R3 COXPAHéTø R3 B R8 M2CG0145 L R9,20(R3) M2CG0146 N R9,=X'00FFFFFE' M2CG0147 XR R0,R0 M2CG0148 IC R0,20(R3) 4-ê âAêT PSW M2CG0149 SRL R0,6 2 âéTA - KOä äìéHù M2CG0150 SLL R0,1 * 2 M2CG0151 SR R9,R0 R9 - ABAPéêHAñ KOMAHäA M2CG0152 * M2CG0153 LR R0,R9 R0 <- R9 M2CG0154 BAL RBAL,$WHEREAD -> R1 - AäPEC CDE M2CG0155 LR R2,R9 R2 - ABEND M2CG0156 LR R3,R1 R3 - CDE M2CG0157 IFREG R3,Z,*+12 CDE HAûìé ? M2CG0158 L R6,20(R3) R6 - XL M2CG0159 S R2,12(R6) R2 - CMEýEHéE M2CG0160 * M2CG0161 @PUTMSG (+S,,' AT',(0(R9),,A),'=',(8(R3),8,,E), +M2CG0162 '+',(0(R2),,A),'(EP=',-S,(17(R3),6,X),')') M2CG0163 @PUTMSG ('0 ABEND PSW:',+S,(8(R8),16,X), +M2CG0164 ' LAST USER PSW:',(16(R8),16,X)) M2CG0165 * M2CG0166 @PRINT '-GR CONTENTS POINTS TO' M2CG0167 @PRINT ' ' M2CG0168 XC RNUM,RNUM M2CG0169 REGSLOOP LH R6,RNUM M2CG0170 SLL R6,2 M2CG0171 LA R6,24(R8,R6) R6 - AäPEC COäEPöéMOçO PEçéCTPA M2CG0172 L R0,0(R6) M2CG0173 BAL RBAL,$WHEREAD M2CG0174 L R2,0(R6) R2 - COäEPöéMOE M2CG0175 LA R2,0(R2) M2CG0176 LR R3,R1 R3 - CDE M2CG0177 IFREG R3,Z,*+12 M2CG0178 L R7,20(R3) R7 - XL M2CG0179 S R2,12(R7) R2 - CMEýEHéE M2CG0180 @PUTMSG (+S,(RNUM,2,D2,E),' ',(0(R6),8,X),' ',(8(R3),8,,E), +M2CG0181 '+',(0(R2),,A),'(EP=',-S,(17(R3),6,X),')') M2CG0182 INCR RNUM M2CG0183 CHB 0,=H'15',NH,REGSLOOP M2CG0184 * M2CG0185 L R7,16 M2CG0186 L R7,164(R7) R7 - MAKCéMAìøHùê AäPEC M2CG0187 SH R7,=H'6' MéHõC 6 M2CG0188 CRB R9,R7,NL,$ABEEXE0 M2CG0189 @PRINT '- ADDR OBJECT CODE INSTR' M2CG0190 @PRINT ' ' M2CG0191 SH R7,=H'10' R7 - äìñ ðPOBEPKé çPAHéãù M2CG0192 N R9,=X'00FFFFF0' OKPõçìéTø äO 16 âAêT M2CG0193 SH R9,=H'32' HAþAìøHùê AäPEC PEACCEMâìEPA M2CG0194 IFREG R9,NM,*+6 HE CìéûKOM MHOçO Bùþìé ? M2CG0195 XR R9,R9 M2CG0196 LA R5,5 - 5 CTPOK äAMðA M2CG0197 IFREG R3,Z,$ABEDMPH CDE ECTø ? (MOöHO ìé EýE ðPOBEPKõ ?) M2CG0198 CB R9,12(R6),NL,$ABEDMPH HAþAìøHùê AäPEC HE úA çPAHéãEê M? M2CG0199 L R9,12(R6) õCTAHOBéM HéöHàà çPAHéãõ M2CG0200 $ABEDMPH LA R0,64(R9) M2CG0201 CRB R0,R7,NH,*+6 M2CG0202 LR R0,R7 M2CG0203 @CALL SLREASMC,(9),(0) M2CG0204 * M2CG0205 $ABEEXE0 @PRINT 0 - CLOSE M2CG0206 $ABEEXEE DS 0H M2CG0207 POST ABENDECB M2CG0208 WAIT ECB=EODMPECB M2CG0209 XR 15,15 M2CG0210 SVC 3 M2CG0211 * M2CG0212 $ABEREGS MESSAGE$ (+S,(0(R2),8,X),(4(R2),8,X),(8(R2),8,X),(12(R2),8,X),+M2CG0213 (16(R2),8,X),(20(R2),8,X),(24(R2),8,X),(28(R2),8,X)) M2CG0214 SPACE 2 M2CG0215 *********************************************************************** M2CG0216 * ðð ðOéCKA CDE ðO AäPECõ KOMAHäù * M2CG0217 *********************************************************************** M2CG0218 $WHEREAD DS 0H * ðOéCK CDE äìñ ðO AäPECõ KOMAHäù * M2CG0219 L R2,16 R0-AäPEC, RBAL-BOúBPAT; ðOPTéT 2-5 !!! M2CG0220 L R2,0(R2) M2CG0221 L R2,4(R2) R2 - TCB M2CG0222 * M2CG0223 $WHFSTRB L R3,0(R2) R3 - RB M2CG0224 $WHTSTRB L R1,12(R3) R1 - CDE M2CG0225 LA R1,0(R1) M2CG0226 IFREG R1,Z,$WHNXTRB M2CG0227 BAL R15,$WHWTCDE ðPOBEPéTø CDE M2CG0228 $WHNXTRB TMB 11(R3),X'80',O,$WHWFLLE ðOCìEäHéê RB ? M2CG0229 L R3,28(R3) CìEä. RB M2CG0230 B $WHTSTRB M2CG0231 * M2CG0232 $WHWFLLE L R3,36(R2) R2 - LLE M2CG0233 $WHWTLLE IFREG R3,Z,$WHNXTCB M2CG0234 L R1,4(R3) M2CG0235 BAL R15,$WHWTCDE M2CG0236 L R3,0(R3) M2CG0237 B $WHWTLLE M2CG0238 * M2CG0239 $WHNXTCB XR R1,R1 OâHõìéTø R1 HA BCñKéê CìõþAê M2CG0240 CB R2,132(R2),E,(RBAL) CAMAñ CTAPûAñ úAäAþA ? M2CG0241 L R2,132(R2) R2 - TCB CTAPûEê úAäAþé M2CG0242 B $WHFSTRB é BCE CHAþAìA ! M2CG0243 * M2CG0244 $WHWTCDE TMB 0(R1),X'04',Z,*+8 äOð. CDE ? M2CG0245 L R1,20(R1) R1 - çìABHùê CDE M2CG0246 L R5,20(R1) R5 - XL 'PACCùðHùE' HE âEPET ! M2CG0247 CB R0,12(R5),L,(R15) M2CG0248 L R4,8(R5) äìéHA M2CG0249 LA R4,0(R4) M2CG0250 A R4,12(R5) +AäPEC M2CG0251 CRB R0,R4,NH,(RBAL) --> BùXOä: R1 - CDE M2CG0252 BR R15 M2CG0253 SPACE 2 M2CG0254 *********************************************************************** M2CG0255 * ðð BùâOPA CìEäõàýEçO ðAPAMETPA * M2CG0256 *********************************************************************** M2CG0257 NEXTPARM STM 2,5,12(13) ** BXOä: R1-AäPEC, R0-MAKC.äìéHA ** M2CG0258 * ** BùXOä: R15-äEêCT. äìéHA ** M2CG0259 * M2CG0260 LM 2,3,SAVEPARM AäPEC TEK. âAêTA, OCT. äìéHA M2CG0261 LR 4,2 COXPAHEHéE AäPECA 'FROM' M2CG0262 * M2CG0263 XR 15,15 ðPEäBAPéT. OâHõìEHéE äìéHù M2CG0264 XR 5,5 M2CG0265 IFREG 3,NP,NEXTPARE EýE OCTAìéCø âAêTù B BùX. CTPOKE ? M2CG0266 * M2CG0267 LR 5,0 R5 <- äìéHA ðOìñ M2CG0268 LR 15,1 R15 <- AäPEC 'TO' M2CG0269 MVI 0(15),C' ' úAðOìHEHéE M2CG0270 LA 15,1(15) BùXOäHOçO ðOìñ M2CG0271 BCT 5,*-8 ðPOâEìAMé M2CG0272 * M2CG0273 XR 15,15 ðPEäBAPéT. OâHõìEHéE äìéHù M2CG0274 XR 5,5 M2CG0275 * M2CG0276 NEXTPARC CLIB 0(2),C'/',E,NEXTPARS Cìüû ? M2CG0277 LA 2,1(2) AäPEC CìEäõàýEçO âAêTA M2CG0278 LA 5,1(5) äìéHA ðAPAMETPA M2CG0279 BCT 3,NEXTPARC CìEä. âAêT, ECìé ECTø M2CG0280 * M2CG0281 NEXTPARS LA 2,1(2) AäPEC -> úA Cìüû, M2CG0282 BCTR 3,0 OCT. äìéHA -1 M2CG0283 STM 2,3,SAVEPARM COXPAHéM äìñ ðOTOMCTBA M2CG0284 * M2CG0285 LR 15,5 R15 <- R5 - PEAìøHAñ äìéHA M2CG0286 CRB 5,0,NH,*+6 CPABHéM C äìéHOê ðOìñ M2CG0287 LR 5,0 R5 <- äìéHõ ðOìñ M2CG0288 * M2CG0289 IFREG 5,NP,NEXTPARE äìéHõ 0 HéKTO HE ðOäCõHõì ? M2CG0290 BCTR 5,0 KOä äìéHù äìñ MVC M2CG0291 EX 5,MVCPARM ðEPEHECìé ! M2CG0292 * M2CG0293 NEXTPARE LM 2,5,12(13) BOCCT. PEçéCTPù M2CG0294 CR 15,0 õCT. KOä õCìOBéñ M2CG0295 BR 14 BOúBPAT M2CG0296 * M2CG0297 MVCPARM MVC 0(1,1),0(4) M2CG0298 SPACE 2 M2CG0299 *********************************************************************** M2CG0300 * KOHCTAHTù * M2CG0301 *********************************************************************** M2CG0302 SNAPDCB SNAPDCB DDNAME=DBGSNAP M2CG0303 * M2CG0304 OPENSNAP OPEN (SNAPDCB,(OUTPUT)),MF=L M2CG0305 CLOSESNP CLOSE SNAPDCB,MF=L M2CG0306 * M2CG0307 ECBLIST DC A(EOTECB) M2CG0308 DC X'80',AL3(ABENDECB) M2CG0309 * M2CG0310 PGMNAME DS CL8 M2CG0311 RNUM DS H M2CG0312 BLDMSGAD DS F M2CG0313 SVAADR DS F M2CG0314 TCBADR DS F M2CG0315 EOTECB DC F'0' M2CG0316 ABENDECB DC F'0' M2CG0317 EODMPECB DC F'0' M2CG0318 * M2CG0319 ASMPLIST DS F - AäPEC PARM M2CG0320 DC X'80',AL3(ASMDDTAB) - AäPEC TAâìéãù DD M2CG0321 * M2CG0322 ASMDDTAB DC Y(ASMDDTL) M2CG0323 DC CL8'SYSOBJ' M2CG0324 DC 2XL8'0' M2CG0325 DC CL8'ASMLIB' M2CG0326 DC CL8'ASMIN' M2CG0327 DC CL8'ASMPRINT' M2CG0328 DC CL8'ASMPUNCH' M2CG0329 DC CL8'ASMUT1' M2CG0330 DC CL8'ASMTERM' M2CG0331 DC CL8'ASMEDECK' M2CG0332 ASMDDTL EQU *-ASMDDTAB M2CG0333 SPACE 2 M2CG0334 IEWPLIST DS F - AäPEC PARM M2CG0335 DC X'80',AL3(IEWDDTAB) - AäPEC TAâìéãù DD M2CG0336 * M2CG0337 IEWDDTAB DC Y(IEWDDTL) M2CG0338 DC CL8'SYSOBJ' M2CG0339 DC 2XL8'0' M2CG0340 DC CL8'IEWLIB' M2CG0341 DC XL8'0' M2CG0342 DC CL8'IEWPRINT' M2CG0343 DC 5XL8'0' M2CG0344 DC CL8'IEWTERM' M2CG0345 IEWDDTL EQU *-IEWDDTAB M2CG0346 SPACE 2 M2CG0347 @END M2CG0348 * M2CG0349 * M2CG0350 * M2CG0351 * M2CG0352 * M2CG0353 * M2CG0354 * M2CG0355 * M2CG0356 * M2CG0357 * M2CG0358 * M2CG0359 * M2CG0360 * M2CG0361 * M2CG0362 * M2CG0363 * M2CG0364 * M2CG0365 * M2CG0366 * M2CG0367 * M2CG0368 * M2CG0369 * M2CG0370