MACRO 00001000
&LABEL RDTERM &BUFFER,&EDIT=YES,&LENGTH=,&ATTREST=YES 00002100
LCLC &ADDR,&CODE,&LENG 00002200
&LENG SETC '0' 00002300
&LABEL DS 0H 00005000
AIF (T'&BUFFER EQ 'O').ERR1 00006000
AIF ('&EDIT' EQ 'YES').EDIT4 00007000
AIF ('&EDIT' EQ 'PAD').EDIT3 00008000
AIF ('&EDIT' EQ 'UPCASE').EDIT2 00009000
AIF ('&EDIT' EQ 'NO').EDIT1 00010000
AIF ('&EDIT' EQ 'PHYS').EDIT0 00011000
MNOTE 4,'INVALID EDIT SPECIFICATION - ''YES'' ASSUMED' @VA04128 00012000
AGO .EDIT4 00013000
.EDIT0 AIF (T'&LENGTH NE 'O').EDITL0 00014100
&CODE SETC 'X' 00014150
AIF ('&ATTREST' NE 'NO').CONT1C @VA04128 00014175
&LENG SETC '130' @VA04128 00014200
AGO .EDITL4 @VA04128 00014225
.EDITL0 AIF ('&LENGTH'(1,1) EQ '(').EDITL1 00014250
&LENG SETC '&LENGTH' 00014300
.EDITL4 ANOP @VA04128 00014325
MVC DMS&SYSNDX.B+2(2),=AL2(&LENG) 00014350
AGO .EDITL2 00014400
.EDITL1 STH &LENGTH(1),DMS&SYSNDX.B+2 00014450
.EDITL2 AIF ('&ATTREST' EQ 'NO').EDITL3 @VA04128 00014500
&CODE SETC '*' @VA04128 00014550
AGO .CONT1C @VA04128 00014600
.EDITL3 ANOP 00014800
&CODE SETC '$' 00014850
AGO .CONT1B 00014900
.EDIT1 ANOP 00017000
&CODE SETC 'T' 00018000
AGO .CONT1 00019000
.EDIT2 ANOP 00020000
&CODE SETC 'V' 00021000
AGO .CONT1 00022000
.EDIT3 ANOP 00023000
&CODE SETC 'S' 00024000
AGO .CONT1 00025000
.EDIT4 ANOP 00026000
&CODE SETC 'U' 00027000
.CONT1 AIF (T'&LENGTH EQ 'O').CONT1A 00028100
MNOTE 4,'LENGTH SPECIFICATION IGNORED WHEN EDIT NOT ''PHYS''' @VA04128 00028140
.CONT1A AIF ('&ATTREST' EQ 'YES').CONT1B @VA04128 00028180
AIF ('&ATTREST' NE 'NO').CONT1D @VA04128 00028220
MNOTE 4,'ATTREST ASSUMED ''YES'' WHEN EDIT NOT ''PHYS''' @VA04128 00028260
AGO .CONT1B @VA04128 00028300
.CONT1C AIF ('&ATTREST' EQ 'YES').CONT1B @VA04128 00028340
.CONT1D ANOP @VA04128 00028380
MNOTE 4,'INVALID ATTREST SPECIFICATION - ''YES'' ASSUMED' @VA04128 00028420
.CONT1B ANOP 00028500
&ADDR SETC '&BUFFER' 00029000
AIF ('&BUFFER'(1,1) NE '(').CONT2 00030000
&ADDR SETC '0' 00031000
ST &BUFFER(1),DMS&SYSNDX.A 00032000
MVI DMS&SYSNDX.A,X'01' 00033000
.CONT2 ANOP 00034000
CNOP 0,4 00034100
BAL 1,DMS&SYSNDX.C 00035000
DC CL8'WAITRD' 00036000
DMS&SYSNDX.A DC X'01',AL3(&ADDR) 00037000
DMS&SYSNDX.B DC C'&CODE',AL3(&LENG) 00038100
DMS&SYSNDX.C SVC 202 00039000
DC AL4(*+4) 00040000
LH 0,DMS&SYSNDX.B+2 00041000
MEXIT 00042000
.ERR1 MNOTE 8,'BUFFER ADDRESS NOT SPECIFIED' 00043000
MEND 00044000