MACRO 00004000
&LABEL NAMESYS &SYSNAME=,&SYSSIZE=,&VSYSRES=, X00005000
&VSYSADR=,&SYSCYL=,&SYSVOL=,&SYSSTRT=,&SYSPGCT=, X00006000
&PROTECT=,&SYSPGNM=,&SYSHRSG= 00007000
GBLA &SW 00008000
LCLA &PCT,&SCT,&A,&B,&K2,&K3,&K4(16),&K5 00009000
LCLA &T1,&T2,&T3,&T4 00009100
LCLC &LOCTR 00009200
LCLC &CSIZE,&C1 00010000
LCLA &SEG,&SEGB(78),&SEGE(78),&S @VA11206 00010010
DMKSNTBL CSECT 00011100
AIF ('&SW' NE '1').BEG 00012100
ORG *-4 00015000
.BEG ANOP 00016000
&SW SETA 1 00016500
S&SYSNDX EQU * 00017000
DC AL4(E&SYSNDX-S&SYSNDX) DISPLACEMENT TO NEXT ENT. 00018000
AIF ('&SYSSIZE' EQ '').SIZERR 00019000
&A SETA 1 00020000
&B SETA K'&SYSSIZE 00021000
.SZLOOP ANOP 00022000
AIF ('&SYSSIZE'(&A,1) EQ 'K').S1 00023000
&A SETA &A+1 00024000
AIF ('&A' GT '&B').SIZERR 00025000
AGO .SZLOOP 00026000
.S1 ANOP 00027000
&A SETA &A-1 00028000
&CSIZE SETC '&SYSSIZE'(1,&A) 00029000
DC AL4(&CSIZE*1024) 00030000
AIF ('&SYSNAME' EQ '').NAMERR 00031000
&A SETA 1 00032000
&B SETA K'&SYSNAME 00033000
AIF (&B GT 3).NAMOK 00034000
.NAMLOOP ANOP 00035000
AIF ('&SYSNAME'(&A,1) GT 'F').NAMOK 00036000
&A SETA &A+1 00037000
AIF ('&A' GT '&B').NAMER1 00038000
AGO .NAMLOOP 00039000
.NAMOK ANOP 00040000
DC CL8'&SYSNAME' SYSTEM NAME 00041000
AIF ('&VSYSADR' NE 'IGNORE').VLDRES 00042100
DC XL6'FFFFFFFFFFFF' VOLUME NOT REQUIRED ONLINE 00042200
AGO .SKIPRES 00042300
.VLDRES ANOP 00042400
AIF ('&VSYSRES' EQ '').VSYSERR 00042500
DC CL6'&VSYSRES' VOLUME SERIAL CONTAINING VSYSRES 00042600
.SKIPRES ANOP 00042700
AIF ('&VSYSADR' EQ '').VADRERR 00042800
AIF ('&VSYSADR' NE 'IGNORE').VLDADR 00042900
DC X'FFFF' NOT REQUIRED ONLINE(VSYSRES) 00043000
AGO .SKIPADR 00043100
.VLDADR ANOP 00043200
DC XL2'&VSYSADR' VIRTUAL ADDRESS OF VSYSRES 00043300
.SKIPADR ANOP 00043400
AIF ('&SYSVOL' EQ '').SVOLERR 00043500
DC CL6'&SYSVOL' VOLUME CONTAINING SAVED SYSTEM 00043600
AIF ('&VSYSADR' NE 'IGNORE').VLDCYL 00043700
DC XL2'FFFF' VOLUME NOT REQUIRED ONLINE 00043800
AGO .SKIPCYL 00043900
.VLDCYL ANOP 00044000
AIF ('&SYSCYL' EQ '').CYLERR 00044100
DC AL2(&SYSCYL) CYLINDER DISPLACEMENT FOR VSYSRES 00044200
.SKIPCYL ANOP 00044300
AIF ('&SYSSTRT' EQ '').STRTERR 00050000
&A SETA 1 00051000
DC AL2(&SYSSTRT(&A)) CYLINDER 00052000
&A SETA &A+1 00053000
AIF ('&SYSSTRT(&A)' EQ '0').PERR 00054000
DC AL1(&SYSSTRT(&A)) PAGE NUMBER 00055000
DC AL1(0) 00056000
&T4 SETA 0 00057100
AIF ('&SYSPGCT' EQ '').NOPGCT 00057200
&T4 SETA &SYSPGCT 00057300
.NOPGCT ANOP 00057400
X&SYSNDX DC AL4(&T4) NUMBER OF SAVED PAGES 00057500
&LOCTR SETC 'X'.'&SYSNDX' 00057600
AIF ('&SYSPGNM' EQ '').PGNMERR 00059000
AIF ('&SYSPGNM'(1,1) EQ '(').PARMX1 00059100
MNOTE 8,'(SYSPGNM) OPERAND NOT ENCLOSED WITHIN PARENTHESES' 00059200
.PARMX1 ANOP 00059300
&PCT SETA N'&SYSPGNM NUMBER OF ENTRIES 00060000
&K2 SETA 1 00061000
.Q1 ANOP 00062000
&K4(&K2) SETA K'&SYSPGNM(&K2) 00063000
AIF ('&K2' EQ '&PCT').Q2 00064000
&K2 SETA &K2+1 00065000
AGO .Q1 00066000
.Q2 ANOP 00067000
DC AL2(&PCT) NUMBER OF ENTRIES 00068000
AIF ('&PROTECT' EQ '').NOPROCT 00068100
AIF ('&PROTECT' EQ 'ON').NOPROCT 00068150
AIF ('&PROTECT' NE 'OFF').PROTERR 00068200
DC AL1(0) RESERVED 00068225
DC AL1(128) NAMED SYSTEM FLAG 00068250
AGO .BLDPGNM 00068300
.NOPROCT ANOP 00068350
DC AL1(0) RESERVED 00068375
DC AL1(0) NAMED SYSTEM FLAG 00068400
.BLDPGNM ANOP 00068450
DS 0F 00069000
&K2 SETA 1 00070000
.Q3 ANOP 00071000
&K3 SETA 1 00072000
.Q4 ANOP 00073000
AIF ('&SYSPGNM(&K2)'(&K3,1) EQ '-').Q5 00074000
AIF ('&K3' EQ '&K4(&K2)').SING 00075000
&K3 SETA &K3+1 00076000
AGO .Q4 00077000
.SING ANOP 00078000
&C1 SETC '&SYSPGNM(&K2)' 00079000
&SEG SETA &C1 @VA11206 00079010
&SEG SETA &SEG/16 @VA11206 00079020
&SEGB(&K2) SETA &SEG @VA11206 00079030
&SEGE(&K2) SETA &SEG @VA11206 00079040
DC 2AL2(&C1) SINGLE PAGE 00080000
&T3 SETA &T3+1 00080100
AGO .NXTIT 00081000
.Q5 ANOP 00082000
&K5 SETA &K3-1 00083000
&C1 SETC '&SYSPGNM(&K2)'(1,&K5) 00084000
&SEG SETA &C1 @VA11206 00084010
&SEGB(&K2) SETA &SEG/16 @VA11206 00084020
DC AL2(&C1) START PAGE NUMBER 00085000
&T1 SETA &C1 00085100
&K5 SETA &K4(&K2)-&K3 00086000
&K3 SETA &K3+1 00087000
&C1 SETC '&SYSPGNM(&K2)'(&K3,&K5) 00088000
&SEG SETA &C1 @VA11206 00088010
&SEGE(&K2) SETA &SEG/16 @VA11206 00088020
DC AL2(&C1) END PAGE NUMBER 00089000
&T2 SETA &C1+1 00089100
&T3 SETA &T2-&T1+&T3 00089200
.NXTIT ANOP 00090000
AIF ('&K2' EQ '&PCT').Q6 00091000
&K2 SETA &K2+1 00092000
AGO .Q3 00093000
.Q6 ANOP 00094000
&A SETA 1 00095000
&B SETA 1 00096000
AIF ('&T4' EQ '&T3').OKPGCT 00096100
ORG &LOCTR 00096200
DC AL4(&T3) NUMBER OF SAVED PAGES 00096300
ORG 00096450
AIF ('&SYSPGCT' EQ '').OKPGCT 00096500
AIF ('&SYSPGCT' EQ '&T3').OKPGCT 00096600
MNOTE 4,'(SYSPGCT) NOT EQUAL TO NUMBER OF SAVED PAGES' 00096700
MNOTE *,'NUMBER OF SAVED PAGES HAS BEEN SET TO &T3' 00096800
.OKPGCT ANOP 00096900
AIF ('&SYSHRSG' EQ '').NOSEG 00097000
AIF ('&SYSHRSG'(1,1) EQ '(').PARMX2 00097100
MNOTE 8,'(SYSHRSG) OPERAND NOT ENCLOSED WITHIN PARENTHESES' 00097200
.PARMX2 ANOP 00097300
&SCT SETA N'&SYSHRSG 00098000
DC AL2(&SCT) 00099000
.SEGLOOP ANOP 00100000
AIF ('&B' GT '&SCT').END 00101000
&C1 SETC '&SYSHRSG(&A)' @VA11206 00101005
&SEG SETA &C1 @VA11206 00101010
&S SETA 1 @VA11206 00101015
.SEGCK ANOP 00101020
AIF (&S GT &PCT).SEGERR @VA11206 00101025
AIF (&SEG LT &SEGB(&S)).SEGINCR @VA11206 00101030
AIF (&SEG GT &SEGE(&S)).SEGINCR @VA11206 00101035
AGO .SEGGD @VA11206 00101040
.SEGINCR ANOP 00101045
&S SETA &S+1 @VA11206 00101050
AGO .SEGCK @VA11206 00101055
.SEGERR ANOP 00101060
MNOTE 12,'(SYSHRSG) NOT WITHIN (SYSPGNM) RANGE' @VA11206 00101065
.SEGGD ANOP 00101070
DC AL1(&SYSHRSG(&A)) 00102000
&A SETA &A+1 00103000
&B SETA &B+1 00104000
AGO .SEGLOOP 00105000
.NOSEG DC AL2(0) 00106000
.END ANOP 00107000
DS 0F 00108000
E&SYSNDX EQU * 00109000
DC X'00000000' 00110000
AGO .EXIT 00111000
.NAMERR ANOP 00112000
MNOTE 12,'NO SYSNAME SPECIFIED' 00113000
MEXIT 00114000
.NAMER1 ANOP 00115000
MNOTE 12,'INVALID SYSNAME SPECIFIED' 00116000
MEXIT 00117000
.SIZERR ANOP 00118000
MNOTE 12,'NO MINIMUM CORE SIZE SPECIFIED' 00119000
MEXIT 00120000
.VSYSERR ANOP 00121000
MNOTE 12,'NO VIRTUAL SYSRES SPECIFIED' 00122000
MEXIT 00123000
.VADRERR ANOP 00124000
MNOTE 12,'NO VIRTUAL SYSRES ADDRESS SPECIFIED' 00125000
MEXIT 00126000
.CYLERR ANOP 00127000
MNOTE 12,'NO SYSRES CYLINDER SPECIFIED' 00128000
MEXIT 00129000
.SVOLERR ANOP 00130000
MNOTE 12,'NO VOL SER FOR SYSVOL SPECIFIED' 00131000
MEXIT 00132000
.STRTERR ANOP 00133000
MNOTE 12,'NO STARTING ADDRESS FOR SAVED SYSTEM SPECIFIED' 00134000
MEXIT 00135000
.PERR ANOP 00136000
MNOTE 12,'DASD PAGE NUMBER MUST BE "1" OR MORE' 00137000
MEXIT 00138000
.PAGERR ANOP 00142000
MNOTE 12,'INVALID PAGE NUMBER' 00143000
MEXIT 00144000
.PGNMERR ANOP 00145000
MNOTE 12,'NO PAGE NUMBERS SPECIFIED' 00146000
MEXIT 00147000
.PROTERR ANOP 00147100
MNOTE 12,'INVALID PROTECT KEYWORD SPECIFIED' 00147300
MEXIT 00147500
.EXIT ANOP 00148000
MEND 00149000