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