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