|
|
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: 3810 (0xee2)
Types: s3xseg
Names: »S$EMLA«
└─⟦d0bc1a931⟧ Bits:30009189 5704-sc1.V08.ccp
└─⟦64693a1c9⟧
└─⟦this⟧ »S$EMLA«
└─⟦4498c64f7⟧ Bits:30009191 5704-sc2.V05.ccp
└─⟦95ee7795b⟧
└─⟦this⟧ »S$EMLA«
MACRO 00010000
.********************************************************************** 00020000
.* * 00030000
.* NAME: $EMLA * 00040000
.* * 00050000
.* MODIFICATION LEVEL: VERSION 0, MODIFICATION LEVEL 0 * 00060000
.* * 00070000
.* FUNCTION: * 00080000
.* * 00090000
.* . CCP GENERATION FIRST PASS MACRO INSTRUCTION -- DEFINE * 00100000
.* MLTA ADAPTER AND MLTA SUPPORT * 00110000
.* * 00120000
.* INPUT OPERANDS: * 00130000
.* * 00140000
.* . LINES-NUMBER * 00150000
.* * 00160000
.* SPECIFIES NUMBER OF LINES ON MLTA ADAPTER TO BE SUPPORTED. * 00170000
.* OPERAND REQUIRED IF STATEMENT USED. LINES-0 VALID TO SIGNIFY * 00180000
.* NO MLTA SUPPORT. * 00190000
.* * 00200000
.* . XLATE-YES/NO * 00210000
.* * 00220000
.* 'YES' SPECIFIES *ALL* MLTA OPERATIONS PERFORMED BY USER * 00230000
.* PROGRAMS WILL TRANSLATE TO/FROM EBCDIC. 'NO' SPECIFIES SOME * 00240000
.* OPERATIONS WILL *NOT* TRANSLATE. DEFAULT IS 'YES'. * 00250000
.* * 00260000
.********************************************************************** 00270000
$EMLA &LINES-,&XLATE-YES 00280000
.* 00290000
GBLA &SEQ . SEQUENCE CONTROL: 00300000
.* . MUST BE 5 UPON ENTRY 00310000
.* . IS MADE 6 AFTER PROCESSING 00320000
GBLB &TERR . TERMINATION ERROR SWITCH 00330000
GBLA &MLA . SET TO NUMBER MLTA LINES 00340000
GBLB &MNOX . 1=MOVE-ONLY PERMITTED 00350000
LCLA &NUM . TO TEST NUMERIC OPERANDS 00360000
.* 00370000
TABLE &XLATE 00380000
YES TABDF 0 00390000
Y TABDF 0 00400000
NO TABDF 1 00410000
N TABDF 1 00420000
TABDF * . ERROR PARAMETER 00430000
TEXT 00440000
.* 00450000
.*--------- CHECK STATEMENT SEQUENCE -------------------------------* 00460000
.* 00470000
AIF (&SEQ EQ '5').SEQOK . SKIP IF GOOD SEQUENCE 00480000
.* 00490000
*!250E $EMLA STATEMENT OUT OF SEQUENCE -- OR PRECEDING STATEMENT ERROR 00500000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00510000
&MNOX SETB 0 . MAKE NULL PREVIOUS SPEC 00520000
.* 00530000
.SEQOK ANOP . STATEMENT IN SEQUENCE 00540000
.* 00550000
.*--------- LINES-0/N ----------------------------------------------* 00560000
.* 00570000
AIF (T'&LINES NE 'O').MA100 . SKIP IF OPERAND SPECIFIED 00580000
.* 00590000
*!260E MISSING 'LINES' OPERAND -- MUST BE SPECIFIED IF STATEMENT USED 00600000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00610000
&MLA SETA 0 . SET AS IF LINES-0 00620000
AGO .LIEND 00630000
.* 00640000
.MA100 ANOP 00650000
AIF (T'&LINES NE 'N').LI900 . SKIP IF PARM NOT NUMERIC 00660000
AIF (K'&LINES GT '4').LI900 . SKIP IF MORE THAN 4 DIGITS-ERR 00670000
&NUM SETA &LINES . SET NUMERIC VALUE 00680000
AIF (&NUM LE '8').LI200 . SKIP IF RANGE 0-8 00690000
.* 00700000
.LI900 ANOP 00710000
*!255E INVALID 'LINES' PARAMETER -- MUST BE NUMBER IN RANGE 0-8 00720000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00730000
&MLA SETA 0 . SET AS IF LINES-0 00740000
AGO .LIEND 00750000
.* 00760000
.LI200 ANOP 00770000
&MLA SETA &LINES 00780000
.* 00790000
.LIEND ANOP . END OPERAND 'LINES' 00800000
.* 00810000
.*--------- XLATE-YES/Y/NO/N ---------------------------------------* 00820000
.* 00830000
AIF (&XLATE NE '*').XLOK . SKIP IF VALID PARAMETER 00840000
.* 00850000
*!270E INVALID 'XLATE' PARAMETER -- MUST BE YES/Y/NO/N 00860000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00870000
AGO .END 00880000
.* 00890000
.XLOK ANOP . VALID PARAMETER 00900000
AIF (&XLATE EQ '0').XL0 . SKIP IF XLATE-YES 00910000
.* 00920000
&MNOX SETB 1 . XLATE-NO 00930000
AIF (&LINES NE '0').XLEND . SKIP UNLESS LINES-0 00940000
.* 00950000
*!265E LINES-0, BUT OTHER KEYWORD SPECIFIED WITH NON-DEFAULT PARAMETER 00960000
&TERR SETB 1 . SET TERMINATION ERROR SWITCH 00970000
AGO .XLEND 00980000
.* 00990000
.XL0 ANOP . XLATE-YES 01000000
&MNOX SETB 0 01010000
.* 01020000
.XLEND ANOP . END OPERAND 'XLATE' 01030000
.* 01040000
.*--------- SET STATEMENT SEQUENCE ---------------------------------* 01050000
.* 01060000
.END ANOP 01070000
&SEQ SETA 6 . INDICATE $EMLA PROCESSED 01080000
.* 01090000
MEND 01100000