MACRO 00001000 &NAME CALL &SUBR,&PARM=,&AFF 00002000 GBLB &AP SINGLE/MULTIPLE PROCESSOR EXPANSION 00002100 AIF ('&NAME' EQ '').S1 LABEL OMITTED? 00004000 &NAME DS 0H 00005000 .S1 AIF ('&PARM' EQ '').S2 "PARM" NOT GIVEN? 00006000 LA R2,&PARM 00007000 .S2 AIF (T'&SUBR(1) NE 'N').S4 IS '&SUBR' NUMERIC ? 00008110 AIF (&SUBR(1) EQ 15).S3A FOR &SUBR NUMERIC IS IT 15? 00008200 LR R15,R&SUBR(1) 00008300 .S3A AIF ('&AFF' NE 'AFFINITY' OR NOT &AP).S8 CALL SVC 00008400 O R15,=A(X'80000000') AFFINITY FLAG 00008500 AGO .S8 GO CALL VIA SVC 00008600 .* CHECK FOR ROUTINES CALLED VIA BALR USING ADCON IN PSA: 00010000 .S4 AIF ('&SUBR' EQ 'DMKFREE').S9 ... 00011100 AIF ('&SUBR' EQ 'DMKPTRLK').S9A ... 00011200 AIF ('&SUBR' EQ 'DMKFRET').S10 ... 00012000 AIF ('&SUBR' EQ 'DMKFRERC').S9B ... 00012100 .* CHECK FOR ROUTINES CALLED VIA BALR (ADCON NOT IN PSA): 00024000 .S5 AIF ('&SUBR'(1,6) EQ 'DMKSCN').S11 ... 00025000 AIF ('&SUBR'(1,6) EQ 'DMKFRE').S11 ... 00026100 AIF ('&SUBR'(1,6) EQ 'DMKCVT').S11 ... 00027000 AIF ('&SUBR'(1,6) EQ 'DMKPSA').S11 ... 00028000 AIF ('&SUBR'(1,6) EQ 'DMKLOC').S11 ... 00029000 AIF ('&SUBR'(1,6) EQ 'DMKLOK').S11 ... 00029030 AIF ('&SUBR'(1,6) EQ 'DMKMCT').S11 ... 00029050 AIF ('&SUBR'(1,6) EQ 'DMKSTK').S11 ... 00029100 AIF ('&SUBR'(1,6) EQ 'DMKPGT').S11 ... 00029200 AIF ('&SUBR'(1,6) EQ 'DMKOPR').S11 00029300 AIF ('&SUBR'(1,6) EQ 'DMKVSQ').S11 00029450 AIF ('&SUBR' EQ 'DMKUNTRN').S11 ... 00030000 AIF ('&SUBR' EQ 'DMKUNTRS').S11 ... 00031000 AIF ('&SUBR' EQ 'DMKSCHDL').S11 ... 00035000 AIF ('&SUBR' EQ 'DMKSCHST').S11 ... 00036000 AIF ('&SUBR' EQ 'DMKSCHRT').S11 ... 00037000 AIF ('&SUBR' EQ 'DMKQCNCL').S11 ... 00038000 AIF ('&SUBR' EQ 'DMKQCNET').S11 ... 00038500 AIF ('&SUBR' EQ 'DMKCFMAT').S11 ... 00039000 AIF ('&SUBR' EQ 'DMKVMASH').S11 ... 00040100 AIF ('&SUBR' EQ 'DMKVMASO').S11 ... 00040200 AIF ('&SUBR' EQ 'DMKVMASW').S11 00040300 AIF ('&SUBR' EQ 'DMKPTRUL').S11 ... 00041100 AIF ('&SUBR' EQ 'DMKPTRFT').S11 ... 00044000 AIF ('&SUBR' EQ 'DMKPTRRS').S11 ... @V408246 00044100 AIF ('&SUBR' EQ 'DMKVATAB').S11 ... 00045000 AIF ('&SUBR' EQ 'DMKVATMD').S11 ... 00046000 AIF ('&SUBR' EQ 'DMKVATBC').S11 ... 00047000 AIF ('&SUBR' EQ 'DMKTMRPT').S11 ... 00048500 AIF ('&SUBR' EQ 'DMKCNSED').S11 ... 00049000 AIF ('&SUBR' EQ 'DMKGRTAB').S11 ... 00049100 AIF ('&SUBR' EQ 'DMKVSCVR').S11 ... @VA09849 00049250 AIF ('&AFF' NE 'AFFINITY' OR NOT &AP).S5A CHECK PSA 00049500 L R15,=A(&SUBR.+X'80000000') 00049550 AGO .S8 00049600 .* CHECK FOR ROUTINES CALLED VIA SVC USING ADCON IN PSA 00049650 .S5A AIF ('&SUBR' EQ 'DMKQCNWT').S6 ... 00049700 AIF ('&SUBR' EQ 'DMKPTRAN').S7 00049750 L R15,=A(&SUBR) 00049800 AGO .S8 GO CALL VIA SVC IF NONE OF THE ABOVE. 00050000 .S6 L R15,AQCNWT 00051100 AGO .S8 GO CALL VIA SVC 00053000 .S7 L R15,APTRAN 00054100 .S8 SVC 8 00056100 MEXIT 00058000 .S9 L R15,AFREE 00059100 AGO .S12 GO CALL VIA BALR 00061100 .S9A L R15,APTRLK 00062000 AGO .S12 GO CALL VIA BALR 00063050 .S9B L R15,=A(DMKFRERC) ADDR DMKFREE WITH RETURN CODE 00063100 AGO .S12 GO CALL VIA BALR 00063250 .S10 L R15,AFRET 00064100 AGO .S12 GO CALL VIA BALR 00064300 .S11 L R15,=A(&SUBR) 00065300 .S12 BALR R14,R15 00066300 MEND 00070000