|
|
DataMuseum.dkPresents historical artifacts from the history of: IBM System/3 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about IBM System/3 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11176 (0x2ba8)
Types: s3xseg
Names: »S$EFIL«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$EFIL«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EFIL * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 2, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE THE * 00100000
.* SPACE REQUIREMENTS OF THE USER'S $CCPFILE AND $CCPDUMP. * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . FLUNIT-R1/F1/R2/F2 * 00150000
.* * 00160000
.* DISK UNIT ONTO WHICH AN INITIALIZED (BUT EMPTY) $CCPFILE IS * 00170000
.* TO BE CREATED BY GENERATION. REQUIRED OPERAND. * 00180000
.* * 00190000
.* . FLPACK-PACKNAME * 00200000
.* * 00210000
.* VOLUME ID OF THE PACK ONTO WHICH $CCPFILE IS TO BE GENERATED. * 00220000
.* REQUIRED OPERAND. * 00230000
.* * 00240000
.* . SETS-1/N * 00250000
.* * 00260000
.* NUMBER OF ASSIGNMENT SETS PLANNED. DEFAULT IS 1. * 00270000
.* * 00280000
.* . PROGS-10/N * 00290000
.* * 00300000
.* PLANNED NUMBER OF PROGRAMS PER ASSIGNMENT SET. DEFAULT IS 10. * 00310000
.* * 00320000
.* . DFILES-5/N * 00330000
.* * 00340000
.* NUMBER OF DISK FILES PLANNED PER ASSIGNMENT SET. DEFAULT IS 5.* 00350000
.* * 00360000
.* . TERMS-1/N * 00370000
.* * 00380000
.* NUMBER OF TERMINALS PLANNED PER ASSIGNMENT SET. DEFAULT IS 1. * 00390000
.* * 00400000
.* . DUMPS-1/N * 00410000
.* * 00420000
.* MAXIMUM NUMBER OF DUMPS TO DISK PER CCP EXECUTION. DEFAULT * 00430000
.* IS 1. * 00440000
.* * 00450000
.* . CORE-96K/128K/160K/192K/224K/256K/384K/512K * 00460000
.* * 00470000
.* MAIN STORAGE SIZE OF CPU ON WHICH CCP WILL BE EXECUTED. * 00480000
.* DEFAULT IS 96K. * 00490000
.* * 00500000
.* . TRKLOC-TRACKNUMBER * 00510000
.* * 00520000
.* NUMBER OF THE TRACK ON WHICH $CCPFILE SHOULD BE GENERATED. * 00530000
.* IF NOT SPECIFIED, THE STANDARD ALLOCATION ALGORITHM OF * 00540000
.* DISK SYSTEM MANAGEMENT WILL BE USED TO ASSIGN THE LOCATION ON * 00550000
.* THE SPECIFIED PACK. * 00560000
.* * 00570000
.* . DPTRAC-NUMBER OF TRACKS * 00571000
.* * 00572000
.* NUMBER OF THE TRACKS ON THE $CCPDUMP FILE ALLOCATED FOR THE * 00573000
.* TRACE DUMP AREA. THE DEFAULT IS ZERO. * 00574000
.* * 00575000
.* * 00576000
.********************************************************************** 00580000
$EFIL &SETS-1,&PROGS-10,&DFILES-5,&TERMS-1,&DUMPS-1, X00590000
&CORE-96K,&FLUNIT-,&FLPACK-,&TRKLOC-,&DPTRAC-0 00600000
.* 00610000
GBLA &SEQ . SEQUENCE CONTROL: 00620000
.* . MUST BE 3 OR 4 UPON ENTRY 00630000
.* . IS MADE 5 AFTER PROCESSING 00640000
GBLB &TERR . TERMINATION ERROR SWITCH 00650000
GBLA &NS . NUMBER OF SETS 00660000
GBLA &NPM . NUMBER OF PROGRAMS 00670000
GBLA &NDF . NUMBER OF DISK FILES 00680000
GBLA &NT . NUMBER OF TERMINALS 00690000
GBLA &DMP . NUMBER OF DUMPS 00700000
GBLA &COR . CORE SIZE IN BYTES-- 00710000
GBLA &DP . # TRACKS IN $CCPDUMP 00713000
.* . FOR TRACE 00716000
GBLA &TFIL . TRACK LOCATION 00720000
GBLC &UFIL . UNIT FOR $CCPFILE 00730000
GBLC &PFIL . PACK FOR $CCPFILE 00740000
LCLA &N . USED TO COUNT CHARACTERS 00750000
LCLA &NUM TO TEST NUMERIC OPERANDS 00760000
.* 00770000
TABLE &CORE . MAIN STORAGE SIZE 00780000
96K TABDF 384 96K 00790000
128K TABDF 512 128K 00800000
160K TABDF 640 160K 00810000
192K TABDF 768 192K 00820000
224K TABDF 896 224K 00830000
256K TABDF 1024 256K 00840000
384K TABDF 1536 384K 00843000
512K TABDF 2048 512K 00846000
TABDF * 00850000
.* 00860000
TABLE &FLUNIT . UNIT FOR $CCPFILE 00870000
R1 TABDF R1 00880000
F1 TABDF F1 00890000
R2 TABDF R2 00900000
F2 TABDF F2 00910000
'' TABDF ?? . MISSING OPERAND 00920000
TABDF ** . ERROR PARAMETER 00930000
.* 00940000
TEXT 00950000
.* 00960000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00970000
.* 00980000
AIF (&SEQ EQ '3').SEQOK 00990000
AIF (&SEQ EQ '4').SEQOK 01000000
.* 01010000
*!200E $EFIL STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 01020000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01030000
.* 01040000
.SEQOK ANOP . STATEMENT IN PROPER SEQUENCE 01050000
.* 01060000
.*--------- SETS-1/N (N = 1-25) ------------------------------------* 01070000
.* 01080000
AIF (T'&SETS NE 'N').SEERR . SKIP IF SETS NOT NUMERIC 01090000
AIF (K'&SETS GT '4').SEERR ERR IF MORE THAN 4 DIGITS 01100000
&NUM SETA &SETS SET NUMERIC VALUE 01110000
AIF (&NUM LT '1').SEERR . SKIP IF SETS-0 -- ERROR 01120000
AIF (&NUM LE '25').SEOK . SKIP IF IN RANGE 1-25 01130000
.* 01140000
.SEERR ANOP 01150000
*!205E INVALID 'SETS' PARAMETER -- MUST BE NUMBER IN RANGE 1-25 01160000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01170000
AGO .SEEND 01180000
.* 01190000
.SEOK ANOP . VALID PARAMETER 01200000
&NS SETA &SETS 01210000
.* 01220000
.SEEND ANOP . END OPERAND 'SETS' 01230000
.* 01240000
.*--------- PROGS-1/N ( N = 1-999 ) --------------------------------* 01250000
.* 01260000
AIF (T'&PROGS NE 'N').PRERR . SKIP IF NOT NUMERIC 01270000
AIF (K'&PROGS GT '4').PRERR . SKIP IF MORE THAN 4 DIGITS-ERR 01280000
&NUM SETA &PROGS . SET NUMERIC VALUE 01290000
AIF (&NUM LT '1').PRERR . ERROR IF PROGS < 1 01300000
AIF (&NUM LE '999').PROK . OK IF PROGS < 999 01305000
.* 01320000
.PRERR ANOP 01330000
*!210E INVALID 'PROGS' PARAMETER -- MUST BE NUMBER IN RANGE 1-999 01340000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01350000
AGO .PREND 01360000
.* 01370000
.PROK ANOP . VALID PARAMETER 01380000
&NPM SETA &PROGS 01390000
.* 01400000
.PREND ANOP . END OPERAND 'PROGS' 01410000
.* 01420000
.*--------- DFILES-0/N (N = 0-192) ----------------------------------* 01430000
.* 01440000
AIF (T'&DFILES NE 'N').DFERR . SKIP IF NOT NUMERIC 01450000
AIF (K'&DFILES GT '4').DFERR . SKIP IF MORE THAN 4 DIGITS-ERR 01460000
&NUM SETA &DFILES . SET NUMERIC VALUE 01470000
AIF (&NUM LE '192').DFOK . SKIP IF IN RANGE 0-192 01480000
.* 01490000
.DFERR ANOP 01500000
*!215E INVALID 'DFILES' PARAMETER -- MUST BE NUMBER IN RANGE 0-192 01510000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01520000
AGO .DFEND 01530000
.* 01540000
.DFOK ANOP . VALID PARAMETER 01550000
&NDF SETA &DFILES 01560000
.* 01570000
.DFEND ANOP . END OPERAND 'DFILES' 01580000
.* 01590000
.*--------- TERMS-1/N (N = 1-254) ----------------------------------* 01600000
.* 01610000
AIF (T'&TERMS NE 'N').TEERR . SKIP IF NOT NUMERIC 01620000
AIF (K'&TERMS GT '4').TEERR . SKIP IF MORE THAN 4 DIGITS-ERR 01630000
&NUM SETA &TERMS . SET NUMERIC VALUE 01640000
AIF (&NUM LT '1').TEERR . SKIP IF TERMS-0 01650000
AIF (&NUM LE '254').TEOK . SKIP IF IN RANGE 1-254 01660000
.* 01670000
.TEERR ANOP 01680000
*!220E INVALID 'TERMS' PARAMETER -- MUST BE NUMBER IN RANGE 1-254 01690000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01700000
AGO .TEEND 01710000
.TEOK ANOP . VALID PARAMETER 01720000
&NT SETA &TERMS 01730000
.* 01740000
.TEEND ANOP . END OPERAND 'TERMS' 01750000
.* 01760000
.*--------- DUMPS-1/N (N = 1-99) -----------------------------------* 01770000
.* 01780000
AIF (T'&DUMPS NE 'N').DUERR . SKIP IF NOT NUMERIC 01790000
AIF (K'&DUMPS GT '2').DUERR . SKIP IF MORE THAN 2 DIGITS-ERR 01800000
&NUM SETA &DUMPS . SET NUMERIC VALUE 01810000
AIF (&NUM LE '99').DUOK . SKIP IF IN RANGE 1-99 01830000
.* 01840000
.DUERR ANOP 01850000
*!225E INVALID 'DUMPS' PARAMETER -- MUST BE NUMBER IN RANGE 1-99 01860000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01870000
AGO .DUEND 01880000
.* 01890000
.DUOK ANOP . VALID PARAMETER 01900000
&DMP SETA &DUMPS 01910000
.* 01920000
.DUEND ANOP . END OPERAND 'DUMPS' 01930000
.* 01940000
.*--------- CORE-96K,128K,160K,192K,224K,256K,384K,512K ------------* 01950000
.* 01960000
AIF (&CORE NE '*').COOK . SKIP IF VALID PARAMETER 01970000
.* 01980000
*!230E INVALID 'CORE' -- MUST BE 96K/128K/160K/192K 01990000
*!230E 224K/256K/384K/512K 01995000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02000000
AGO .COEND 02010000
.* 02020000
.COOK ANOP . VALID PARAMETER 02030000
&COR SETA &CORE 02040000
.* 02050000
.COEND ANOP . END OPERAND 'CORE' 02060000
.* 02070000
.*--------- FLUNIT-R1/F1/R2/F2 -------------------------------------* 02080000
.* 02090000
AIF (&FLUNIT NE '??').FU001 . SKIP IF OPERAND SPECIFIED 02100000
.* 02110000
*!240E MISSING 'FLUNIT' OPERAND -- MUST BE SPECIFIED 02120000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02130000
AGO .FUEND 02140000
.* 02150000
.FU001 AIF (&FLUNIT NE '**').FU002 . SKIP IF VALID PARAMETER 02160000
.* 02170000
*!242E INVALID 'FLUNIT' PARAMETER -- MUST BE R1/F1/R2/F2 02180000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02190000
AGO .FUEND 02200000
.* 02210000
.FU002 ANOP . VALID PARAMETER 02220000
&UFIL SETC '&FLUNIT' 02230000
.* 02240000
.FUEND ANOP . END OPERAND 'FLUNIT' 02250000
.* 02260000
.*--------- FLPACK-PACKANME (1-6 CHARACTERS) ----------------------* 02270000
.* 02280000
AIF (T'&FLPACK NE 'O').FP001 . SKIP IF OPERAND SPECIFIED 02290000
.* 02300000
*!244E MISSING 'FLPACK' OPERAND -- MUST BE SPECIFIED 02310000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02320000
AGO .FPEND 02330000
.* 02340000
.FP001 ANOP . OPERAND SPECIFIED 02350000
&N SETA K'&FLPACK . NUMBER OF CHARS SPECIFIED 02360000
AIF (&N LE '6').FPOK . SKIP IF 1-6 CHARACTERS 02370000
.* 02380000
*!246E INVALID 'FLPACK' PARAMETER -- MUST BE 1-6 CHARACTERS 02390000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02400000
AGO .FPEND 02410000
.* 02420000
.FPOK ANOP . VALID PARAMETER 02430000
&PFIL SETC '&FLPACK' 02440000
.* 02450000
.FPEND ANOP . END OPERAND 'FLPACK' 02460000
.* 02470000
.*--------- TRKLOC-NNN (N = 8-405) --------------------------------* 02480000
.* 02490000
AIF (T'&TRKLOC EQ 'O').TLEND . SKIP IF NOT SPECIFIED 02500000
.* 02510000
AIF (T'&TRKLOC NE 'N').TLERR . SKIP IF NOT NUMERIC 02520000
AIF (K'&TRKLOC GT '4').TLERR . SKIP IF MORE THAN 4 DIGITS-ERR 02530000
&NUM SETA &TRKLOC . SET NUMERIC VALUE 02540000
AIF (&NUM LT '8').TLERR . SKIP IF BELOW 8 02550000
AIF (&NUM LE '405').TLOK . SKIP IF IN RANGE 8-405 02560000
.* 02570000
.TLERR ANOP 02580000
*!248E INVALID 'TRKLOC' PARAMETER -- MUST BE NUMBER IN RANGE 8-405 02590000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02600000
AGO .TLEND 02610000
.* 02620000
.TLOK ANOP . VALID PARAMETER SPECIFIED 02630000
&TFIL SETA &TRKLOC 02640000
.* 02650000
.TLEND ANOP . END OPERAND 'TRKLOC' 02660000
.* 02670000
.*--------- DPTRAC-NN (N = 1-3320 ) --------------------------------* 02670400
.* 02670800
AIF (T'&DPTRAC NE 'N').DPERR . SKIP IF 'DPTRAC' NOT NUMERIC 02671200
AIF (K'&DPTRAC GT '4').DPERR . ERR IF MORE THAN 4 DIGITS 02671600
&NUM SETA &DPTRAC SET NUMERIC VALUE 02672000
AIF (&NUM EQ '0').DPOK . SKIP IF DPTRAC = 0 02672400
AIF (&NUM LE '3320').DPCK . SKIP IF LESS THAN 3320 02672800
AGO .DPERR 02673200
.DPCK ANOP 02673600
AIF (&NUM GT '5').DPOK . SKIP IF IN RANGE 6-3320 02674000
.* 02674400
.DPERR ANOP 02674800
*!207E INVALID 'DPTRAC' PARAMETER -- MUST BE IN RANGE 6-3320 OR 0 02675200
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02675600
AGO .DPEND 02676000
.* 02676400
.DPOK ANOP . VALID PARAMETER 02676800
&DP SETA &DPTRAC 02677200
.* 02677600
.DPEND ANOP . END OPERAND 'DPTRAC' 02678000
.* 02678400
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 02680000
.* 02690000
&SEQ SETA 5 . INDICATE $EFIL PROCESSED 02700000
.* 02710000
MEND 02720000