|
|
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: 10160 (0x27b0)
Types: s3xseg
Names: »S$EFIL«
└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
└─⟦64693a1c9⟧
└─⟦this⟧ »S$EFIL«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EFIL * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 0, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO-INSTRUCTION -- DEFINE THE * 00100000
.* SPACE REQUIREMENTS OF THE USER'S $CCPFILE. * 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-48K/64K/96K/128K * 00460000
.* * 00470000
.* MAIN STORAGE SIZE OF CPU ON WHICH CCP WILL BE EXECUTED. * 00480000
.* DEFAULT IS 48K. * 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
.********************************************************************** 00580000
$EFIL &SETS-1,&PROGS-10,&DFILES-5,&TERMS-1,&DUMPS-1, X00590000
&CORE-48K,&FLUNIT-,&FLPACK-,&TRKLOC- 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 &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
48K TABDF 192 48K 00790000
64K TABDF 256 64K 00800000
96K TABDF 384 96K 00810000
128K TABDF 512 128K 00820000
160K TABDF 640 160K 00830000
192K TABDF 768 192K 00840000
224K TABDF 896 224K 00850000
256K TABDF 1024 256K 00860000
TABDF * 00870000
.* 00880000
TABLE &FLUNIT . UNIT FOR $CCPFILE 00890000
R1 TABDF R1 00900000
F1 TABDF F1 00910000
R2 TABDF R2 00920000
F2 TABDF F2 00930000
'' TABDF ?? . MISSING OPERAND 00940000
TABDF ** . ERROR PARAMETER 00950000
.* 00960000
TEXT 00970000
.* 00980000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00990000
.* 01000000
AIF (&SEQ EQ '3').SEQOK 01010000
AIF (&SEQ EQ '4').SEQOK 01020000
.* 01030000
*!200E $EFIL STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 01040000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01050000
.* 01060000
.SEQOK ANOP . STATEMENT IN PROPER SEQUENCE 01070000
.* 01080000
.*--------- SETS-1/N (N = 1-25) ------------------------------------* 01090000
.* 01100000
AIF (T'&SETS NE 'N').SEERR . SKIP IF SETS NOT NUMERIC 01110000
AIF (K'&SETS GT '4').SEERR ERR IF MORE THAN 4 DIGITS 01120000
&NUM SETA &SETS SET NUMERIC VALUE 01130000
AIF (&NUM LT '1').SEERR . SKIP IF SETS-0 -- ERROR 01140000
AIF (&NUM LE '25').SEOK . SKIP IF IN RANGE 1-25 01150000
.* 01160000
.SEERR ANOP 01170000
*!205E INVALID 'SETS' PARAMETER -- MUST BE NUMBER IN RANGE 1-25 01180000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01190000
AGO .SEEND 01200000
.* 01210000
.SEOK ANOP . VALID PARAMETER 01220000
&NS SETA &SETS 01230000
.* 01240000
.SEEND ANOP . END OPERAND 'SETS' 01250000
.* 01260000
.*--------- PROGS-1/N (N = 1-255) ----------------------------------* 01270000
.* 01280000
AIF (T'&PROGS NE 'N').PRERR . SKIP IF NOT NUMERIC 01290000
AIF (K'&PROGS GT '4').PRERR . SKIP IF MORE THAN 4 DIGITS-ERR 01300000
&NUM SETA &PROGS . SET NUMERIC VALUE 01310000
AIF (&NUM LT '1').PRERR . SKIP IF PROGS-0 01320000
AIF (&NUM LE '255').PROK . SKIP IF IN RANGE 1-255 01330000
.* 01340000
.PRERR ANOP 01350000
*!210E INVALID 'PROGS' PARAMETER -- MUST BE NUMBER IN RANGE 1-255 01360000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01370000
AGO .PREND 01380000
.* 01390000
.PROK ANOP . VALID PARAMETER 01400000
&NPM SETA &PROGS 01410000
.* 01420000
.PREND ANOP . END OPERAND 'PROGS' 01430000
.* 01440000
.*--------- DFILES-0/N (N = 0-50) ----------------------------------* 01450000
.* 01460000
AIF (T'&DFILES NE 'N').DFERR . SKIP IF NOT NUMERIC 01470000
AIF (K'&DFILES GT '4').DFERR . SKIP IF MORE THAN 4 DIGITS-ERR 01480000
&NUM SETA &DFILES . SET NUMERIC VALUE 01490000
AIF (&NUM LE '50').DFOK . SKIP IF IN RANGE 0-50 01500000
.* 01510000
.DFERR ANOP 01520000
*!215E INVALID 'DFILES' PARAMETER -- MUST BE NUMBER IN RANGE 0-50 01530000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01540000
AGO .DFEND 01550000
.* 01560000
.DFOK ANOP . VALID PARAMETER 01570000
&NDF SETA &DFILES 01580000
.* 01590000
.DFEND ANOP . END OPERAND 'DFILES' 01600000
.* 01610000
.*--------- TERMS-1/N (N = 1-254) ----------------------------------* 01620000
.* 01630000
AIF (T'&TERMS NE 'N').TEERR . SKIP IF NOT NUMERIC 01640000
AIF (K'&TERMS GT '4').TEERR . SKIP IF MORE THAN 4 DIGITS-ERR 01650000
&NUM SETA &TERMS . SET NUMERIC VALUE 01660000
AIF (&NUM LT '1').TEERR . SKIP IF TERMS-0 01670000
AIF (&NUM LE '254').TEOK . SKIP IF IN RANGE 1-254 01680000
.* 01690000
.TEERR ANOP 01700000
*!220E INVALID 'TERMS' PARAMETER -- MUST BE NUMBER IN RANGE 1-254 01710000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01720000
AGO .TEEND 01730000
.TEOK ANOP . VALID PARAMETER 01740000
&NT SETA &TERMS 01750000
.* 01760000
.TEEND ANOP . END OPERAND 'TERMS' 01770000
.* 01780000
.*--------- DUMPS-1/N (N = 1-9) ------------------------------------* 01790000
.* 01800000
AIF (T'&DUMPS NE 'N').DUERR . SKIP IF NOT NUMERIC 01810000
AIF (K'&DUMPS GT '4').DUERR . SKIP IF MORE THAN 4 DIGITS-ERR 01820000
&NUM SETA &DUMPS . SET NUMERIC VALUE 01830000
AIF (&NUM LT '1').DUERR . SKIP IF DUMPS-0 01840000
AIF (&NUM LE '9').DUOK . SKIP IF IN RANGE 1-9 01850000
.* 01860000
.DUERR ANOP 01870000
*!225E INVALID 'DUMPS' PARAMETER -- MUST BE NUMBER IN RANGE 1-9 01880000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 01890000
AGO .DUEND 01900000
.* 01910000
.DUOK ANOP . VALID PARAMETER 01920000
&DMP SETA &DUMPS 01930000
.* 01940000
.DUEND ANOP . END OPERAND 'DUMPS' 01950000
.* 01960000
.*--------- CORE-48K/64K/96K/128K ---------------------------------* 01970000
.* 01980000
AIF (&CORE NE '*').COOK . SKIP IF VALID PARAMETER 01990000
.* 02000000
*!230E INVALID 'CORE' -- MUST BE 48K/64K/96K/128K 02010000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02020000
AGO .COEND 02030000
.* 02040000
.COOK ANOP . VALID PARAMETER 02050000
&COR SETA &CORE 02060000
.* 02070000
.COEND ANOP . END OPERAND 'CORE' 02080000
.* 02090000
.*--------- FLUNIT-R1/F1/R2/F2 -------------------------------------* 02100000
.* 02110000
AIF (&FLUNIT NE '??').FU001 . SKIP IF OPERAND SPECIFIED 02120000
.* 02130000
*!240E MISSING 'FLUNIT' OPERAND -- MUST BE SPECIFIED 02140000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02150000
AGO .FUEND 02160000
.* 02170000
.FU001 AIF (&FLUNIT NE '**').FU002 . SKIP IF VALID PARAMETER 02180000
.* 02190000
*!242E INVALID 'FLUNIT' PARAMETER -- MUST BE R1/F1/R2/F2 02200000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02210000
AGO .FUEND 02220000
.* 02230000
.FU002 ANOP . VALID PARAMETER 02240000
&UFIL SETC '&FLUNIT' 02250000
.* 02260000
.FUEND ANOP . END OPERAND 'FLUNIT' 02270000
.* 02280000
.*--------- FLPACK-PACKANME (1-6 CHARACTERS) ----------------------* 02290000
.* 02300000
AIF (T'&FLPACK NE 'O').FP001 . SKIP IF OPERAND SPECIFIED 02310000
.* 02320000
*!244E MISSING 'FLPACK' OPERAND -- MUST BE SPECIFIED 02330000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02340000
AGO .FPEND 02350000
.* 02360000
.FP001 ANOP . OPERAND SPECIFIED 02370000
&N SETA K'&FLPACK . NUMBER OF CHARS SPECIFIED 02380000
AIF (&N LE '6').FPOK . SKIP IF 1-6 CHARACTERS 02390000
.* 02400000
*!246E INVALID 'FLPACK' PARAMETER -- MUST BE 1-6 CHARACTERS 02410000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02420000
AGO .FPEND 02430000
.* 02440000
.FPOK ANOP . VALID PARAMETER 02450000
&PFIL SETC '&FLPACK' 02460000
.* 02470000
.FPEND ANOP . END OPERAND 'FLPACK' 02480000
.* 02490000
.*--------- TRKLOC-NNN (N = 8-405) --------------------------------* 02500000
.* 02510000
AIF (T'&TRKLOC EQ 'O').TLEND . SKIP IF NOT SPECIFIED 02520000
.* 02530000
AIF (T'&TRKLOC NE 'N').TLERR . SKIP IF NOT NUMERIC 02540000
AIF (K'&TRKLOC GT '4').TLERR . SKIP IF MORE THAN 4 DIGITS-ERR 02550000
&NUM SETA &TRKLOC . SET NUMERIC VALUE 02560000
AIF (&NUM LT '8').TLERR . SKIP IF BELOW 8 02570000
AIF (&NUM LE '405').TLOK . SKIP IF IN RANGE 8-405 02580000
.* 02590000
.TLERR ANOP 02600000
*!248E INVALID 'TRKLOC' PARAMETER -- MUST BE NUMBER IN RANGE 8-405 02610000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 02620000
AGO .TLEND 02630000
.* 02640000
.TLOK ANOP . VALID PARAMETER SPECIFIED 02650000
&TFIL SETA &TRKLOC 02660000
.* 02670000
.TLEND ANOP . END OPERAND 'TRKLOC' 02680000
.* 02690000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 02700000
.* 02710000
&SEQ SETA 5 . INDICATE $EFIL PROCESSED 02720000
.* 02730000
MEND 02740000