MACRO 00001000
&NM GETFST &PLIST,&FN,&ADT=,&ERR=,&MODE= 00002000
AIF ('&NM' EQ '').NN 00003000
&NM DS 0H 00004000
.NN ANOP 00005000
AIF ('&PLIST'(1,1) EQ '(').PLR 00006000
LA 1,&PLIST POINT TO PLIST 00007000
AIF ('&FN' EQ 'F' OR '&FN' EQ '').ONEOK 00008000
AGO .O 00009000
.PLR ANOP 00010000
LR 1,&PLIST REG 1 -> PLIST 00011000
AIF ('&FN' EQ 'F' OR '&FN' EQ '').L 00012000
.O ANOP 00013000
O 1,=AL1(X'80',0,0,0) NEG INDICATES 'NEXT' 00014000
AGO .ONEOK 00015000
.L ANOP 00016000
LA 1,0(,1) HIGH BYTE ZERO ('FIRST') 00017000
.ONEOK ANOP 00018000
AIF ('&ADT' EQ '').ADTE 00019000
AIF ('&ADT'(1,1) EQ '(').ADR 00020000
L 0,&ADT POINT TO ADT 00021000
AGO .ADTE 00022000
.ADR ANOP 00023000
LR 0,&ADT(1) POINT TO ADT 00024000
.ADTE ANOP 00025000
AIF ('&MODE' EQ 'W').W 00026000
SYSLOAD 15,FSTLKP 00027000
AGO .BALR 00028000
.W SYSLOAD 15,FSTLKW 00029000
.BALR BALR 14,15 CALL ROUTINE 00030000
AIF ('&ERR' EQ '').NOERR 00031000
LTR 15,15 ERROR RETURN? 00032000
BNZ &ERR GO IF YES 00033000
.NOERR ANOP 00034000
MEND 00035000